-
Notifications
You must be signed in to change notification settings - Fork 86
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
163 additions
and
154 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
include CHANGELOG.txt | ||
include LICENSE.txt | ||
include README.rst | ||
include README.md | ||
include setup.py | ||
recursive-include fanshim *.py |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,149 @@ | ||
# Fan Shim for Raspberry Pi | ||
|
||
[![Build Status](https://travis-ci.com/pimoroni/fanshim-python.svg?branch=master)](https://travis-ci.com/pimoroni/fanshim-python) | ||
[![Coverage Status](https://coveralls.io/repos/github/pimoroni/fanshim-python/badge.svg?branch=master)](https://coveralls.io/github/pimoroni/fanshim-python?branch=master) | ||
[![PyPi Package](https://img.shields.io/pypi/v/fanshim.svg)](https://pypi.python.org/pypi/fanshim) | ||
[![Python Versions](https://img.shields.io/pypi/pyversions/fanshim.svg)](https://pypi.python.org/pypi/fanshim) | ||
|
||
# Installing | ||
|
||
Stable library from PyPi: | ||
|
||
* Just run `sudo pip install fanshim` | ||
|
||
Latest/development library from GitHub: | ||
|
||
* `git clone https://github.com/pimoroni/fanshim-python` | ||
* `cd fanshim-python` | ||
* `sudo ./install.sh` | ||
|
||
# Reference | ||
|
||
You should first set up an instance of the `FANShim` class, eg: | ||
|
||
```python | ||
from fanshim import FanShim | ||
fanshim = FanShim() | ||
``` | ||
|
||
## Fan | ||
|
||
Turn the fan on with: | ||
|
||
```python | ||
fanshim.set_fan(True) | ||
``` | ||
|
||
Turn it off with: | ||
|
||
```python | ||
fanshim.set_fan(False) | ||
``` | ||
|
||
You can also toggle the fan with: | ||
|
||
```python | ||
fanshim.toggle_fan() | ||
``` | ||
|
||
You can check the status of the fan with: | ||
|
||
```python | ||
fanshim.get_fan() # returns 1 for 'on', 0 for 'off' | ||
``` | ||
|
||
## LED | ||
|
||
Fan Shim includes one RGB APA-102 LED. | ||
|
||
Set it to any colour with: | ||
|
||
```python | ||
fanshim.set_light(r, g, b) | ||
``` | ||
|
||
Arguments r, g and b should be numbers between 0 and 255 that describe the colour you want. | ||
|
||
For example, full red: | ||
|
||
``` | ||
fanshim.set_light(255, 0, 0) | ||
``` | ||
|
||
## Button | ||
|
||
Fan Shim includes a button, you can bind actions to press, release and hold events. | ||
|
||
Do something when the button is pressed: | ||
|
||
```python | ||
@fanshim.on_press() | ||
def button_pressed(): | ||
print("The button has been pressed!") | ||
``` | ||
|
||
Or when it has been released: | ||
|
||
```python | ||
@fanshim.on_release() | ||
def button_released(was_held): | ||
print("The button has been pressed!") | ||
``` | ||
|
||
Or when it's been pressed long enough to trigger a hold: | ||
|
||
```python | ||
fanshim.set_hold_time(2.0) | ||
|
||
@fanshim.on_hold() | ||
def button_held(): | ||
print("The button was held for 2 seconds") | ||
``` | ||
|
||
The function you bind to `on_release()` is passed a `was_held` parameter, | ||
this lets you know if the button was held down for longer than the configured | ||
hold time. If you want to bind an action to "press" and another to "hold" you | ||
should check this flag and perform your action in the `on_release()` handler: | ||
|
||
```python | ||
@fanshim.on_release() | ||
def button_released(was_held): | ||
if was_held: | ||
print("Long press!") | ||
else: | ||
print("Short press!") | ||
``` | ||
|
||
To configure the amount of time the button should be held (in seconds), use: | ||
|
||
```python | ||
fanshim.set_hold_time(number_of_seconds) | ||
``` | ||
|
||
If you need to stop Fan Shim from polling the button, use: | ||
|
||
```python | ||
fanshim.stop_polling() | ||
``` | ||
|
||
You can start it again with: | ||
|
||
```python | ||
fanshim.start_polling() | ||
``` | ||
|
||
|
||
0.0.3 | ||
----- | ||
|
||
* Fix: lower polling frequency and make customisable, for PR #6 | ||
|
||
0.0.2 | ||
----- | ||
|
||
* Fix: Fix error on exit | ||
|
||
0.0.1 | ||
----- | ||
|
||
* Initial Release |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,11 @@ | ||
[metadata] | ||
name = fanshim | ||
version = 0.0.2 | ||
version = 0.0.3 | ||
author = Philip Howard | ||
author_email = [email protected] | ||
description = Python library for the Pimoroni Fan Shim for Raspberry Pi | ||
long_description = file: README.rst | ||
long_description = file: README.md | ||
long_description_content_type = text/markdown | ||
keywords = Raspberry Pi | ||
url = https://www.pimoroni.com | ||
project_urls = | ||
|