OSI Layer 2 driver for nRF24L01 on Arduino & Raspberry Pi/Linux Devices
GPL-2.0 License
Bot releases are visible (Hide)
Gpio::isr()
for IRQ support by @2bndy5 in https://github.com/nRF24/RF24/pull/970
wiringPiISRStop()
in driver API by @2bndy5 in https://github.com/nRF24/RF24/pull/968
Full Changelog: https://github.com/nRF24/RF24/compare/v1.4.8...v1.4.9
Published by 2bndy5 about 1 year ago
Full Changelog: https://github.com/nRF24/RF24/compare/v1.4.7...v1.4.8
Published by TMRh20 over 1 year ago
Full Changelog: https://github.com/nRF24/RF24/compare/v1.4.6...v1.4.7
Published by 2bndy5 about 2 years ago
pgm_read_ptr()
: 'const void*' is not a pointer-to-object type by @bblanchon in https://github.com/nRF24/RF24/pull/864
pgm_read_byte/word()
definitions by @2bndy5 in https://github.com/nRF24/RF24/pull/871
Full Changelog: https://github.com/nRF24/RF24/compare/v1.4.5...v1.4.6
Published by 2bndy5 over 2 years ago
sprintf()
to respective arch_configsFull Changelog: https://github.com/nRF24/RF24/compare/v1.4.4...v1.4.5
Published by TMRh20 over 2 years ago
EDIT: This did not fix the mentioned issue as intended. Please use v1.4.5 instead
Published by 2bndy5 over 2 years ago
Full Changelog: https://github.com/nRF24/RF24/compare/v1.4.2...v1.4.3
Published by TMRh20 almost 3 years ago
toggleAllPipes()
function (as opposed to individually opening/closing pipes)setRadiation()
function (which combines setPALevel()
and setDataRate()
into 1 SPI transaction)toggleAllPipes()
and setRadiation()
to python wrapperIf you have previously installed the library from source code using the traditional ./configure; make; sudo make install
, then you will need to uninstall it manually to avoid runtime conflicts.
sudo rm /usr/local/lib/librf24.*
sudo rm /usr/local/lib/librf24-bcm.so
sudo rm -r /usr/local/include/RF24
This is because the Linux package manager puts the newly installed library into a /usr/lib and /usr/include folders. Installing from source will put the lib in /usr/local/lib and /usr/local/include folders.
Published by 2bndy5 over 3 years ago
This release reverts the changes made to SoftSPI
implementation in v1.4.0. Also has a slight adjustment of a code snippet in the docs. Thank you @bifferos
Published by 2bndy5 over 3 years ago
begin()
begin(_SPI*)
function for Arduino based platforms (but not Due, ATTiny, LittleWire, or SPI_UART
) that allows the user to specify a non-default SPI bus object
begin(_SPI*)
(as demonstrated in example snippet)SPIClass::begin()
function must be called before calling RF24::begin()
as warned in /docs/arduino.md page and the RF24::begin(_SPI*)
function's docs (which also defers to the Arduino support page).RF24_SPI_PTR
which is only defined when _SPI
is used as a datatype (as opposed to the actual SPI
object for a platform).begin(_cepin, _cspin)
to implement feature request from #539. This applies to all supported platforms. This implementation also provides an overloaded c'tor that accepts only the _spi_speed
parameter (that still defaults to RF24_SPI_SPEED
- so it could essentially be used as an empty c'tor). Note that begin()
returns false
if CE & CSN pins are never specified (either with c'tor or new overloaded begin(_cepin, _cspin)
/begin(_SPI*, _cepin, _cspin)
methods). This feature is extended to the python wrapper as well.begin(_SPI*, _cepin, _cspin)
on Arduino based platforms (but not Due, ATTiny, LittleWire, or SPI_UART
) to allow also specifying a SPI bus from feature request #743 when combined with feature request from #539ARDUINO_ARCH_SAMD
about internally using printf()
. This fix is only appicable to the adafruit fork of the ArduinoCore-samd. Original ArduinoCore-samd does not use avr/pgmspace.h and doesn't declare printf()
as accessible method from the Serial object(s).isValid()
to check if private members ce_pin
& csn_pin
are 0xFFFF
because it seems it wasn't updated when the c'tor parameters changed their datatype from uint8_t
to uint16_t
Published by TMRh20 over 3 years ago
millis()
issues for Linux devicesprintPrettyDetails()
(concerning "Primary Role" and "Auto-ACK" outputs)payloadSize
and channel
)setRetries()
now properly clamps input values to valid range (not just truncate unused bits)begin()
and enableAckPayload()
Published by TMRh20 almost 4 years ago
stopListening()
must be called before write()
Published by TMRh20 almost 4 years ago
Published by TMRh20 about 4 years ago
Fix broken compilation for some devices due to recent changes
Published by TMRh20 about 4 years ago
Published by TMRh20 about 4 years ago
Published by TMRh20 over 4 years ago
Arduino:
Fix problems with detection of SPI_HAS_TRANSACTION define affecting a number of platforms including Arduino Uno, ESP32, STM32 etc. Problems getting the driver working or working along with other SPI devices should be resolved with this update.
Linux:
Update Linux SPI drivers to support setting the SPI speed in HZ. RF24 radio(22,0,8000000); will configure a speed of 8Mhz or users can modify RF24_config.h #define RF24_SPI_SPEED to set a default for all devices.
Published by TMRh20 over 4 years ago
Linux:
Support multiple instances of SPIDEV
Minor fixes/changes
Arduino:
Fix ESP32 progmem error/warning
Cleanup/Update some examples & printf usage
Revert compatibility changes for digitalWrite required due to the new API due to support being added for the 'old' methods
Minor bug fixes
Published by Avamander over 4 years ago
Published by Avamander over 5 years ago