Commit Graph
77 Commits
Author SHA1 Message Date
TMRh20 4d8da2f01d Fixed link 2014-03-19 21:16:38 -06:00
TMRh20 bcd48f2f47 Fix: Standby after regular write cmd
Realized that the normal write command should always drop to standby-I
mode immediately since the FIFO cannot be filled using this method, and
TX will be complete.
2014-03-19 20:47:37 -06:00
TMRh20 99571d6530 Updated some examples to show the new lib usage
Updated GettingStarted, pingpair, added medium speed version of transfer
rate test
2014-03-19 20:23:33 -06:00
TMRh20 63ee0ce2c0 Corrected part of the documentation 2014-03-19 19:27:07 -06:00
TMRh20 14187cd1a1 Updated readme and h file for doxygen
See http://tmrh20.github.io/RF24/class_r_f24.html for the class
documenation.
2014-03-19 19:13:26 -06:00
TMRh20 1e2f41c3f8 Inspired idea to change TX standby code
Realised that data would be lost if dropping to standby or power down
mode before the FIFO is empty.
txStandby now returns a boolean value to indicate whether the
transmission is complete. If there is data in the TX FIFO the radio will
not drop out of TX mode. eg: while(  !txStandBy()  ){}
2014-03-19 08:26:59 -06:00
TMRh20 281ace4ba2 Added writeFast() cmd - fill FIFO or return 0
- WriteFast allows the FIFO buffers to be filled up before returning 0
- The current payload will be dropped, and the previous payload resent
- The user should just keep trying to send the same data if a 0 is
received
2014-03-19 03:19:39 -06:00
TMRh20 d0ec0c461c Changed writing modes
- Changed writeClear to the default radio.write() option
- Changed write() to writeBlock() - uses the auto-retry functionality of
the chip and will block forever until successful
2014-03-19 00:46:47 -06:00
TMRh20 4cf0fb0c5a High Speed Data Transfers/Optimization
Changes:

- Enable PTX at radio begin, in standby-I mode
- Enable PTX at radio stopListening(); in standy-I mode

- Radio startListening
- removed delay. What is there to wait for when the radio will just be
listening anyway?

- Radio powerUp
- radio will need to be powered up after configuration
- radio will not power down unless instructed to
- need to issue radio.txStandBy(); when finished transmitting to engage
standby-I mode

- Added txStandBy() to drop to standBy-I mode if not switching to RX
mode

- Radio Write: Sped up
- radio previously did not use standby mode effectively, after TX
sending of each packet, the radio is
powered down introducing a 1.5ms delay in addition to the 130us delay
from standby.
- No observe-tx code, a simple NOP cmd is sent to get the status info
- No millis() timeout, hanging condition should only occur because of
faulty code
- Simplified whatHappened() code
- Flush TX FIFO if MAX_RT met as lib does not support re-transmit
instead of flush every time.
- Remove ack size monitoring
- No powerdown needed,

- Added writeClear() function for writes that need the interrupt flags
cleared (ack payloads, etc). Same as write() otherwise

- Radio startWrite: Sped up
- Enable PTX mode is now done in stopListening() code. Enter TX mode by
writing CE high.
This brings the data transfer capabilities up to a reasonable level
- No need to power up, already in Standby-I mode
- No need for delayMicroseconds() in write functon.
- No need for delay after writing CE high
- Does not enter Standby-I mode be default. It is up to the MCU to call
the new txStandBy() function to enter standby-I mode from PTX if not
switching back to PRX

- Radio available:
- Now checks the FIFO buffer instead of the interrupt flag (no missed
data)
- Moved clearing of interrupt flags to Read()

- Radio read:
- No longer returns any value - use available to check for more data

- Radio isAckPayloadAvailable() now checks the FIFO directly

- Radio getDynamicPayloadSize() - Per the datasheet, added fix to flush
corrupted packets
2014-03-18 07:07:03 -06:00
maniacbug ebcd0d1d0b Add isValid 2013-10-03 06:53:28 -07:00
maniacbug f6e59b9de8 Remove prog_char, for compliance with gcc 4.6.1 2012-01-17 22:05:11 -08:00
maniacbug e31f8c8211 Update docs and comments for new nordic fob blog post 2012-01-08 08:30:01 -08:00
maniacbug b3f7f51510 docupdate 2012-01-04 21:20:39 -08:00
maniacbug 07a4bcf425 Use latest copyright 2011-12-24 10:07:16 -08:00
maniacbug fc06760736 Documentation update. 1.0 fully supported, Maple works, more examples, links and pictures for proejcts 2011-12-21 10:17:16 -08:00
maniacbug bc7e422083 Merge branch 'master' of github.com:maniacbug/RF24 2011-12-18 12:29:03 -08:00
maniacbug 53cb579400 Moved environment-specific checking out to RF24_config.h 2011-12-10 15:52:33 -08:00
maniacbug 291621c291 Merge branch 'master' of github.com:maniacbug/RF24 2011-11-21 11:07:50 -08:00
maniacbug d4371639e6 Added new example to documentation 2011-11-02 21:54:30 -07:00
maniacbug 8ea84e7f77 Update docs for 1.0 2011-10-19 15:30:33 -07:00
maniacbug 7aeaf0d373 Added FAQ page to docs 2011-08-04 20:46:24 -07:00
maniacbug 8f17e63a22 Add getDataRate, add DISABLED to data rate enum 2011-08-04 20:14:27 -07:00
maniacbug 483361029e Reorganize header file to better group the now very large list of methods 2011-08-02 21:35:45 -07:00
maniacbug 3aab74ae8f Merge master with static payload fixes 2011-08-02 16:38:14 -07:00
maniacbug a31cafcc88 Static and dynamic payloads now fully fixed and interoperable 2011-08-02 16:31:18 -07:00
maniacbug c9d64fd088 More doc tweaks 2011-08-01 09:52:35 -07:00
maniacbug fcc3dfbedb Fix up some doc bugs 2011-08-01 09:46:13 -07:00
maniacbug cd3b0b3ccb Merge cleanups 2011-07-31 10:00:21 -07:00
maniacbug 956b63a4dc sed s/boolean/bool/g 2011-07-31 10:00:09 -07:00
maniacbug 14c34ca2e4 astyle -A1 -s2 2011-07-31 09:47:41 -07:00
maniacbug 602d96264a Merge gcopeland/constremove 2011-07-31 09:45:40 -07:00
Greg Copeland 0c2515df19 As a just in case I misunderstood some of the constant-ness changes, I
completely took out all of the constant correctness enahcements. Also
added a powerUp() method.
2011-07-19 11:05:18 -05:00
Greg Copeland 542c46c0c6 Merge branch 'p_enable' into constremove 2011-07-18 15:42:14 -05:00
Greg Copeland 158164746b Adds explicit CRC width and PA level. Changes hardware initialization
order to minimize noisy/false message reception. Removed begin call
from constructor as begin now has delay which creates timer race
initialization. The delay exists to allow for power on/reset radio
settling which can otherwise prevent CONFIG bits from holding. Added a
method to allow CRC hardware validation to be disabled. This is a
requirement for various promiscuous listening RF applications. Setting
CRC width now forces CRC hardware validation enable.
2011-07-18 15:37:30 -05:00
Greg Copeland 85c0f57e3f Removed method argument const qualifiers. 2011-07-16 11:36:10 -05:00
Greg Copeland b491480dde Reverted constructor changes. Changed SPI bus speed. Fixed setAutoAck
for specific pipelines per suggestion.
2011-07-16 10:36:36 -05:00
maniacbug a783ed38da Fixed missing includes, thanks to Spoiler for reporting the problem. 2011-07-10 20:55:25 -07:00
maniacbug 42bf3e8cd2 Purge 'boolean' type, use 'bool' instead 2011-07-10 08:22:30 -07:00
maniacbug 63eb62ebc3 Implement dynamic payloads, with an example 2011-07-10 08:00:58 -07:00
maniacbug 32e8b3fbbb astyle -A1 -s2 2011-07-08 22:29:16 -07:00
maniacbug f8e6984ccc docupdate 2011-07-08 22:19:54 -07:00
maniacbug d3fff68a7c Created a non-blocking write and an example for how to use it. 2011-07-06 20:49:59 -07:00
maniacbug fbae441249 Factored out status-checking from write() into a public method 2011-07-06 19:51:30 -07:00
maniacbug ca4820cd27 Documented some questionable behaviour as pointed out by mdenzien 2011-06-28 21:21:45 -07:00
maniacbug a22906f961 Added setRetries() 2011-06-28 06:44:41 -07:00
maniacbug 1c6cc96fb7 docupdate 2011-06-28 06:31:16 -07:00
maniacbug 81f85bd521 Prettied up printDetails some more 2011-06-28 06:27:36 -07:00
maniacbug 92373ba7f5 Refactor repeated parts of printDetails into own methods 2011-06-27 14:17:00 -07:00
Greg Copeland 059efa5ffa Re-organized nRF24L01.h file to place 'P' features in one
location. Changed some bit value interpretation.

Now auto-detects P-vaiants and is queryable. setDataRate now returns a
boolean indicating success or failure of the new data rate
request. The wide_band state indicator has been added and now tracks
the state, including on error fallback. Its now possible to query the
current data rate via getDataRate().

The AA retry duration has been changed to 1500us, which is the lowest
interval allowed when running at 250Kbs, with AA enabled, and 32-byte
packets.
2011-06-27 15:02:33 -05:00
Greg Copeland 634d0efde5 Moved the wide_band variable and initializer cleanup. 2011-06-21 15:01:10 -05:00