Skip to content

Releases: adafruit/Adafruit_CircuitPython_RFM69

2.1.6 - Use supervisor.ticks_ms() instead of time.monotonic() if available

08 Dec 21:18
9ac4909
Compare
Choose a tag to compare

To use in CircuitPython, simply install the Adafruit CircuitPython Bundle.

To use in CPython, pip3 install adafruit-circuitpython-rfm69.

Read the docs for info on how to use it.

2.1.5 - Updated pylint version, linted

15 Nov 18:18
Compare
Choose a tag to compare

To use in CircuitPython, simply install the Adafruit CircuitPython Bundle.

To use in CPython, pip3 install adafruit-circuitpython-rfm69.

Read the docs for info on how to use it.

2.1.4 - Moved pylint from build.yml to .pre-commit-config.yml

02 Mar 23:57
Compare
Choose a tag to compare

To use in CircuitPython, simply install the Adafruit CircuitPython bundle.

To use in CPython, pip3 install adafruit-circuitpython-rfm69.

Read the docs for info on how to use it.

2.1.3 - Fixed issue with Black and Pylint versions in the pre-commit config

10 Feb 22:36
Compare
Choose a tag to compare

To use in CircuitPython, simply install the Adafruit CircuitPython bundle.

To use in CPython, pip3 install adafruit-circuitpython-rfm69.

Read the docs for info on how to use it.

2.1.2 - Added timeout to operation_mode setter to avoid infinite loop

09 Feb 20:57
7385419
Compare
Choose a tag to compare

Thanks @BiffoBear

To use in CircuitPython, simply install the Adafruit CircuitPython bundle.

To use in CPython, pip3 install adafruit-circuitpython-rfm69.

Read the docs for info on how to use it.

2.1.1 - Moved to pre-commit, added licensing info

22 Jan 02:38
f7027e9
Compare
Choose a tag to compare

pre-commit has been added to the GitHub Actions workflow in this repository. pre-commit allows you to run multiple checks, such as black and checking the REUSE licensing compliance, both locally and on GitHub Actions with one command.

You can run pre-commit locally with pre-commit run --all-files

To use in CircuitPython, simply install the Adafruit CircuitPython bundle.

To use in CPython, pip3 install adafruit-circuitpython-rfm69.

Read the docs for info on how to use it.

Code size reductions - change default baud rate

09 Sep 17:46
c0b9bdf
Compare
Choose a tag to compare

The default SPI Baud rate has been changed to 2MHz ( was 5MHz) -- this eliminated some issues that were resulting in occasional transmission errors.

Some internal changes were made to reduce the code size.

2.0.1 - Fixed discord invite link

09 Jul 20:42
Compare
Choose a tag to compare

To use in CircuitPython, simply install the Adafruit CircuitPython bundle.

To use in CPython, pip3 install adafruit-circuitpython-rfm69.

Read the docs for info on how to use it.

Implement "reliable datagram" mode

14 Apr 09:48
1d4c764
Compare
Choose a tag to compare

Implemented compatibility with the RadioHead library "Reliable DataGram" mode.
Received packets are "ACKed" and Transmitted packets wait for ACK response.

BREAKING CHANGES

There are "breaking changes" for anyone that had been setting the RadioHead headers directly.
There are now attributes for setting the header parameters and the rx_filter parameter for the receive function has been removed.

for send() the kwarg tx_header has been replaced by 4 individual kwargs: destination, node, identifier, flags

It is not normally necessary use the destination, node, identifier or flags awards when calling send()
They should be set during initialization using the attributes node and destination as in the examples.
The identifier and flags attributes are set automatically when using send_with_ack()
For a non-acked send() they may be set manually either via the attributes or kwargs

send() now returns a boolean status - if True, the send was completed, if False, the send timed out. Perviously a Runtime error was thrown on the time out.

Notes

It has been difficult to make this work reliably. Packets will still be missed occasionally but now they will be reported. There are attributes taht can be "tweaked" to help

rfm69.ack_delay -- set a delay before the ACK packet is sent - this is necessary when the receive unit an MCU communication to a Raspberry Pi . The MCU can send it's ACK packet before the Raspberry Pi has resumed "listening". The default setting is "None" but setting it to .1 seconds may be necessary. The Arduino RadioHead library does not allow for this "ack_delay" and it it may be difficult to get this to work, especially with a Raspberry Pi.

rfm69.retries -- set the number of ack retries

All of the existing examples will still execute without change.

There are examples for using this mode in rfm69_node1_ack.py and rfm69_node2_ack.py

other new examples
rfm69_header.py -- receive packets and display the header and packet contents
rfm69_node1.py -- uses adresses without ACK
rfm69_node2.py -- companion to rfm69_node1.py
rfm68_rpi_simpletest.py - no LED and set pins for RaspBerry Pi
rfm69_node1_bonnet.py -- similar to rfm69_node1.py but for use with RPi and bonnet -- uses buttons to sent packets

To use in CircuitPython, simply install the Adafruit CircuitPython bundle.

To use in CPython, pip3 install adafruit-circuitpython-rfm69.

Read the docs for info on how to use it.

1.5.1 - Added Black check, reran Black with Python 3 target.

10 Apr 18:10
f1b0001
Compare
Choose a tag to compare

To use in CircuitPython, simply install the Adafruit CircuitPython bundle.

To use in CPython, pip3 install adafruit-circuitpython-rfm69.

Read the docs for info on how to use it.