This library adapts the Raspberry Pi SAME decoder board to user-level functionality so that you can focus on your application. It has error handling! It has unit tests! It has events! Callbacks!
See the Presentation slides.
Here's what you need to do to turn this repository into something that works for you.
You need a few parts:
sudo apt-get update
sudo apt-get install git python-dev python-smbus i2c-tools python-rpi.gpio python3-rpi.gpio libxml2-dev libxslt1-dev python-shapely
# Follow instructions to install i2c kernel support:
# https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c
git clone https://github.com/nioinnovation/Adafruit_Python_GPIO.git
(cd Adafruit_Python_GPIO; sudo python3 setup.py install)
# now CD to where you cloned this project
sudo ./setup.py test
python3 -m RPiNWR.demo --transmitter WXL58
You can specify the transmitter or not, but if you do and the transmitter is listed in nwr_data.py, error correction is more robust.
See demo.py and its tests for information about command line options.
At the moment, this radio implementation lets you subscribe to events and observe status of the radio over time. Further development will add functionality and bring the demo code up to a more practical implementation.
It's on the dev branch. It's fresh, really fresh. So you're encouraged to help with development and testing or just to try it out, but the examples there aren't fully baked yet or else they'd be on the master branch! As of October 24, 2016, It's pretty close, so stay tuned.
Check out the issues in WaffleIO:
Please submit your log files as issues! Messages and RSSI reports are especially useful at the moment.
Also, see the next section...
Have a look at # TODO
items in the code and the issues to see what
needs to be done. Pull requests and issues are most welcome!
Adding an Si4707 in a new environment (not RPi, or not the AIWI board) is straightforward. Just create a new context that provides the same functionality as AIWIBoardContext.py for your environment. Name that context when you start the radio, and you're up and running. Please consider contributing your context via a pull request.
GNU GPL v. 3 - see the LICENSE file for details