1. 27 Feb, 2021 4 commits
  2. 26 Feb, 2021 1 commit
    • Brendan's avatar
      Community appreciation (#735) · 57ab538a
      Brendan authored
      * fix changes that sparked frustration in the community
      
      * disable building WiringPi in CI
      
      build works locally, but only on armhf hardware.
      57ab538a
  3. 21 Feb, 2021 1 commit
  4. 15 Feb, 2021 1 commit
  5. 08 Jan, 2021 3 commits
  6. 07 Jan, 2021 1 commit
    • TMRh20's avatar
      Fix millis() functionality · 61a3ffc1
      TMRh20 authored
      - Change millis() functionality to rely on chrono library instead of time. Fixes millis() for SPIDEV, RPi and MRAA drivers.
      61a3ffc1
  7. 22 Dec, 2020 1 commit
  8. 18 Dec, 2020 3 commits
    • TMRh20's avatar
      Update library.properties · 045a6898
      TMRh20 authored
      045a6898
    • TMRh20's avatar
      Update library.json · a965e6ae
      TMRh20 authored
      a965e6ae
    • Brendan's avatar
      follow-up fixes from #691 (#697) · 5af6d422
      Brendan authored
      * fix outdated install instruction in python wrapper docs
      
      since I rewrote all the linux examples I noticed the install instructions for the python wrapper direct the user to edit/run an example that no longer exists.
      
      This is a quick fix for just that. (changes tested/rendered correctly on my local machine)
      
      * removed atrifacts from gettingStarted.cpp about cmd args
      
      * ackPl.cpp isn't using anything from cstring.h
      
      * remove CLI artifacts from irqConfig.cpp example
      
      * rem CLI artifacts from manAck.cpp example
      
      * change call to getDynPaylSize() to getPayloadSize() in getStarted.ino
      
      * change call to getDynPaylSize() to getPayloadSize() in getStarted.cpp
      5af6d422
  9. 14 Dec, 2020 3 commits
    • Brendan's avatar
      new examples and more (#691) · d69f7512
      Brendan authored
      * don't hide EN_ACK_PAY reqs; adjust examples & docs
      
      * removed duplicated calls in examples/tests
      
      * too many examples
      
      * update docs about reUseTx()
      
      * deprecate enableDynamicAck()
      
      * clarify reUseTx()
      
      * typo in func ref
      
      * append setAutoAck() about pipe 0
      
      * consistent casing in "auto-ack"
      
      * fix typo
      
      * revert this "see also" changes
      
      * use ack_payloads_enabled to full potential
      
      * undeprecate flush_rx()
      
      * isPVariant return internal var; default dyn_pl on
      
      addresses the following issues:
      - nRF24#401
      - nRf24#641
      - nRf24#660
      
      * oops, readdress nRF24#401 nRF24#641 nRF24#660
      
      * address nRF24#640
      
      * deprecate isAckPayloadAvailable() nRF24#664
      
      * try to ignore return value; trigger forked actions
      
      attempting to address nRF24#636
      
      * this is why I can't have nice things
      
      * retrying to ignore return value; fix init order
      
      * add CI for avr compiling examples
      
      * build doxygen with latest release ver number
      
      * revert doxyfile, fix doxygen.yml, make2 = install
      
      * build examples changes, doxygen.yml bad indent
      
      * remove unnecessary pipe chars in doxygen.yml
      
      * linux CI changed, pde->ino files
      
      * platform specific examples; fix WiringPi build
      
      * fix using void return value
      
      * remove gemma & lilypad; fix certain example vars
      
      * wiringPi may be broken nRF24#669
      
      * 8 paragraphs that say keep auto-ack enabled
      
      nRF24#667
      
      * reverted examples folders; exclude maple & 3pin
      
      * exclude didn't work
      
      * trigger arduino build on workflow changes
      
      * explicit examples' paths
      
      * no wildcards in explicit paths
      
      * no quotes in yaml sequence
      
      * try using a pipe char
      
      * arduino build "needs" A-style check
      
      * applied arduino IDE's auto formatting
      
      * remove format checker
      
      * fine let the example terminate
      
      * all official arduino cores to build_arduino.yml
      
      * backup examples; new GettingStarted
      
      * no explicit examples; compile all
      
      * new InterruptConfigure example
      
      * // about when IRQ flags get cleared; & a fix typo
      
      * new StreamingData & MulticeiverDemo examples
      
      * reduce streamData compilation size
      
      * tested GetStarted, AckPayloads, Streaming
      
      * IRQ & Multicceiver examples tested
      
      * undo nRF24#646; add broken FakeBLE example
      
      * fix arduino build CI
      
      * forgot to use pipe char
      
      * typo
      
      * 2nd job should run on ubuntu-latest
      
      * fqbn arch-type is wrong?!
      
      * uncomment #define IRQ_PIN from testing artifacts
      
      * use SpenceKonde core released zip file
      
      * use SpenceKonde board definitions
      
      * use correct vendor name?!
      
      * use lower case?!
      
      * platform name should match the fqbn
      
      * what am I doing wrong? use SpenceKonde attiny core
      
      * under "platforms" not "with"
      
      * yml formatted "platforms" options
      
      * "with: platforms:"
      
      * source-path uses relative path
      
      * use trailing / in source-path
      
      * clear advice from per1234 about yml syntax
      
      * fixing source-path and version number
      
      * use direct download link to SpenceKonde release
      
      * adjust source-path again
      
      * no source-path
      
      * redo-ing nRF24#646
      
      * timingSearch3pin includes stdio
      
      * don't ignore rf24_ATTiny examples
      
      * separate job for separate ATTiny examples
      
      * timingSearch3pin uses redefined spi funcs
      
      * drop testing on attiny43, install core from json
      
      * keywords updated removed duplicate examples
      
      * CallResponse was duplicate; (+) ManualAck example
      
      * doc updates nRF24#671 tested new manAck example
      
      * FakeBLE crc calc not checking out
      
      * add per1234's action to check formatting
      
      * did not find expected alphanumeric char?!
      
      * add manualAcknowledgements example to docs
      
      * don't remove comment block prefix
      
      * restored comment prefix in old examples also
      
      * less confusing comments about addresses
      
      * clarify docs on return value for all write-related
      
      * remove broken fakeBLE example
      
      * forgot to remove fakeBLE from arduino workflow
      
      * test deploy to gh-pages
      
      * bad yml format
      
      * something's wrong with the doxygen build CI
      
      * lack of new line in end of  doxyfile
      
      * remove debug prompt; deploy on publish released
      
      * deploy on any release event
      
      * fix main page useful links
      
      * only clear RX_DR flag in read()
      
      * typo
      
      * doc updates; new python examples
      
      * new gettingstarted example for linux
      
      * add micros() to applicable utilities compatiblity
      
      * define micros() in arch_config.h
      
      * printDetails() in linux
      
      * pipe number not printing correctly
      
      * oops it was a non-printable char
      
      * avoid keyboard interrupt
      
      * build wiringPi examples also
      
      * linux build CI for SPIDEV
      
      * ignore return value in utilty/SPIDEV/interrupt.c
      
      * trying rf24_micros()
      
      * ammend example to use rf24_micros()
      
      * let micros() be defined in examples for linux
      
      * need cstdio
      
      * ported arduino examples to linux (& python)
      
      * oops
      
      * should probably declare i huh
      
      * copy n paste much?
      
      * don't use stoi for a char
      
      * typo, expose digitalRead(), ifdef RF24_WIRINGPI
      
      * ifdef WIRINGPI didn't help, fix inline condition
      
      * testing round 1; fix pyRf24/setup.py
      
      * bug fixes in py examples prompt fixes in linux
      
      * fix irqConf for arduino, rename stream_data.py
      
      * copy n paste artifact
      
      * debugging streamingData
      
      * testing round 2
      
      * oops
      
      * timing output changes; printDetails() also
      
      * debugging IRQ configure example
      
      * debugging IRQ_config.py also
      
      * declare timer stuff for micros in manACK example
      
      * typo
      
      * doc read() for python; add flush_rx() to py wrap
      
      * remove cap on how many bytes to read in python!!!
      
      * don't cap bytes read() from RX FIFO in C++
      
      * supposed to be decode() not encode()
      
      * fix typos; better python doc about read()
      
      * py wrapper omits len args for buf-related funcs
      
      * fix streaming_data.py master()
      
      * duplicate prompt in ackPay.py
      
      * prompt format changes
      
      * big commit
      
      - reverted defaults about Dynamic Payloads and Dynamic ACKs per @TMRh20 suggestions about Si24R1 in nRF24#658. This reverts nRF24#660 & nRF24#661
      - ammended docs & all examples about above suggestions
      - re-wrote InterruptConfigure examples to use attachInterrupt(); py example uses RPi.GPIO equivalant.
      - removed MKR-based boards from Arduino build CI as pin 2 on those boards don't support interrupt requests, and InterruptConfigure.ino uses pin 2 for exactly that.
      - added building of python wrapper to Linux workflow; it now also runs pylint on python examples
      - removed my attempt to port digitalRead() to various Linux drivers as it is no longer needed in the interruptConfigure.cpp example.
      - addressed nRF24#674 about RX_PW_Px registers manipulation.
      - remove and ignore my VSCode folder as it is machine-specific
      - removed contradicting "examples_linux" ignores and added "examples_linux/__pycache__"  folder
      - RF24::begin() now brute forces a soft reset. It does not reset addresses set to the pipes, but it does close all pipes. This helps address nRF24#401
      - fixed some typos/copy-n-paste issues in the docs.
      - added instructions on how to run the python example scripts
      
      * Linux build CI use pip3 to install RPi.GPIO
      
      * workflow uses python 3.7 x86
      
      * workflow uses python 3.x x86
      
      * python needs x32 called in workflow
      
      * fix address assignment in linux examples
      
      * don't check python examples in workflow
      
      * define INPUT in RPi-BCM driver
      
      * remove GPIO.cleanup() from py examples
      
      * payloadSize is an attribute in python
      
      * fix python examples about getPLsize()
      
      * use RuntimeError in python examples when begin() is false
      
      * testing round 3
      
      * streamData uses write(); python examples need 3.7+
      
      * fix ellapsedTime in streamingData
      
      * status byte saved as private member
      
      addresses nRF24#678 nRF24#679 nRF24#677
      
      removed comments in build_linux.yml about building/testing the python wrapper
      
      added a fail fast prompt to the streaming examples when failures >= 100
      
      * simplify logic about _is_p_variant
      
      * testing round 4 & address nRF24#680
      
      * fix irq examples
      
      * fix compilation errors for IRQ examples
      
      * fix irq example for linux
      
      * tweak IRQ py example; writeAckPayload returns bool
      
      * final tweaks to IRQ examples; some doc updates
      
      * leave closeReadingPipe(0) in startListening()
      
      * arduino examples work
      
      address 2 new issues
      1. nRF24#687 added printPrettyDetails(); updated python wrapper and keywords.txt
      2. nRf24#686 centralizing all SPI access to write_*() and read_*() functions
      
      Also reverted changes to gitignore about examples_linux folder while adding/ignoring some things about building the python wrapper (venv, *.pyc, __pycache__)
      
      * remove volatile from radio declaration
      
      * datasheets; fix man_ack.py example
      
      updated comment proceeding radio object in python examples
      
      documented enums and linked references to them. Also linked references in COMMON_ISSUES.md & main page's changelog.
      
      * ATTiny examples should work on SpenceKonde core
      
      * exclude ATTinyx313 from timingSearch3pin example
      
      * oops, bad indent
      
      * Astyle indent for #ifdef is 0
      
      * (+) CLI args to examples. pwr down radio on ctrl+c
      
      * fail if no valid arg is specified
      
      * fix parsing args in python examples
      
      * make py examples behave like c++ examples
      
      * found a bug in py examples' -r arg
      
      * testing round 5
      
      * adjust manpage descriptions
      
      * don't use signal.h in cpp examples
      
      * del cli args from all linux examples except 2
      
      * edit doxyfile OUTPUT_DIR
      
      * only run doxygen on master branch
      
      * redirect doc links to nRF24 org
      
      * missed a link
      
      * remove use of timeout bool in manAck.ino
      
      * self-reviewed PR changes
      
      * ATTinyCore adjustments
      
      - use macros from SpenceKonde ATTinyCore
      - add macros for CSN settling times for when using the ATTinyCore
      
      * some more self-reviewed PR changes
      
      * exclude root README from doxygen output
      
      * exclude GPIO & SPI classes from doc'd classes
      
      * add Arduino & Linux build badges to readme
      
      * Change link to docs in readme
      d69f7512
    • TMRh20's avatar
      Update library.json · c7cfbea6
      TMRh20 authored
      c7cfbea6
    • TMRh20's avatar
      Update library.properties · 7debc6f6
      TMRh20 authored
      7debc6f6
  10. 29 Nov, 2020 1 commit
    • Stephen Crane's avatar
      Make RF24_POWERUP_DELAY configurable in RF24_config.h (#690) · 8b2f2a95
      Stephen Crane authored
      * available() could be slightly faster #631
      
      * allow skipping delay(5) in powerUp()
      
      * allow skipping delay(5) in powerUp()
      
      * Revert "allow skipping delay(5) in powerUp()"
      
      This reverts commit ffd7524a8c787507f820c7c5384874e232cdb4f4.
      
      * Revert "allow skipping delay(5) in powerUp()"
      
      This reverts commit ffd7524a8c787507f820c7c5384874e232cdb4f4.
      
      * add RF24_POWERUP_DELAY_MS to RF24_config.h
      
      * delayMicroseconds()
      
      * update doc comment
      8b2f2a95
  11. 03 Nov, 2020 1 commit
  12. 27 Oct, 2020 1 commit
  13. 11 Oct, 2020 1 commit
  14. 10 Oct, 2020 1 commit
  15. 24 Sep, 2020 2 commits
  16. 21 Sep, 2020 1 commit
  17. 19 Sep, 2020 1 commit
  18. 23 Aug, 2020 2 commits
  19. 22 Aug, 2020 1 commit
    • TMRh20's avatar
      Fix compilation errors · c0440e0b
      TMRh20 authored
      - Recent changes broke compilation for some devices
      - Update for release
      c0440e0b
  20. 17 Aug, 2020 1 commit
  21. 11 Aug, 2020 1 commit
  22. 10 Aug, 2020 1 commit
  23. 09 Aug, 2020 2 commits
    • TMRh20's avatar
      Improve switching from TX->RX · a7798280
      TMRh20 authored
      - This change minimizes SPI transactions in functions modifying the NRF_CONFIG register
      - Removes 3-4 SPI transactions from the startListening() function by using variables instead of SPI
      - Decreases time required to switch into RX mode
      - Change NOT applied to stopListening() function because it will require changes to the txDelay variable
      - Slower Arduino devices should be updated with the new code before updating stopListening() due to potential timing issues
      - Note to finish this change just prior to release after next: see line 693
      a7798280
    • TMRh20's avatar
      Clean up begin() function · 3272facf
      TMRh20 authored
      - Move all calls to set CRC length, power up, and disable PRIM_RX into a single call using the proper constants
      - Move detection of P Variants from radio.begin() to isPVariant() function
      - Have return value check for exact configuration of NRF_CONFIG register
      - Cleanup indentations/spacing
      - Reduces program size by a nice bit
      3272facf
  24. 01 Aug, 2020 3 commits
    • TMRh20's avatar
      Update version for release · 4c6c106f
      TMRh20 authored
      4c6c106f
    • TMRh20's avatar
      Update version & supported architectures · 64b51038
      TMRh20 authored
      - Change supported architectures to all because the goal is to support all Arduino devices and more
      64b51038
    • TMRh20's avatar
      Bug Fix! Super Awesome Bug Fix!!!!! · 3af80f8f
      TMRh20 authored
      OMG, this bug has been plaguing me and RF24 for so long I don't remember.
      - When using writeFast(), if the FIFO becomes full because of failed TX, the function would return false and clear the MAX_RT flag. The problem with this, is that it causes the next function call txStandby(); to return true...
      - This appears to cause issues with payloads not being flushed accordingly and can result in a hang, which is resolved via radio failure handling. I haven't figured out all the problems associated with the bug, but I am fixing it
      3af80f8f
  25. 31 Jul, 2020 1 commit
    • TMRh20's avatar
      Cleanup of warnings/errors · 5d6a02af
      TMRh20 authored
      - Remove potential warnings/errors in printDetails()
      - Add a whole bunch of #ifndef calls to prevent redefining things
      5d6a02af
  26. 27 Jul, 2020 1 commit