Commit Graph
1772 Commits
Author SHA1 Message Date
TMRh20 1cc7454d97 txStandby() function modified completely
txStandBy() now either works in two modes. The main mode will block
until success or fail. Using txStandBy(1) will block and retry forever
until succesful. Using a while loop with the function is no longer
required. See the updated class reference at
http://tmrh20.github.io/RF24/class_r_f24.html
2014-03-22 20:32:31 -06:00
TMRh20 4340d9339a Lib now passes all tests
Added back original startWrite function for when users want to use
manual methods. The library uses startFastWrite for its internal
functions. Provides compatibility with prev. code while still using the
new methods for everything else.
2014-03-22 18:39:46 -06:00
Bruce Lacey c5661caf17 Increased the ACK_SEND_DELAY from 5 milliseconds to 10 milliseconds to resolve soft ACK timeouts. 2014-03-22 14:41:28 -07:00
Henrik Ekblad a51e025788 Removed powerUp. No longer needed. 2014-03-22 16:48:11 +01:00
Henrik Ekblad 1503004e8c Increased the startup delay after powerup. 2014-03-22 16:26:52 +01:00
Henrik Ekblad 0da770a374 Changed order. 2014-03-22 16:08:19 +01:00
Henrik Ekblad 893fbc6457 Ok, had to introduce a small delay on the ack-sensing side to let ack-recieving side have to to switch to listening mode. 2014-03-22 14:31:01 +01:00
TMRh20 f3b3fb1f44 Fix: txStandBy hang. Updated Transfer example
- txStandBy was hanging if the last of the data timed out. Now clears
the MAX_RT flag if timed out
- Finished updating example file Transfer.ino for demonstrating
half-rate transfers using the FIFO buffers
2014-03-22 01:52:22 -06:00
Bruce Lacey f44098259d A-lurkers changes that attempt to resolve the presentation message sending failures. Creating an experimentation branch for joint investigation. 2014-03-21 22:22:44 -07:00
Henrik Ekblad ef5f00e7ef Merge pull request #6 from bblacey/example-versioning
Sketch reporting of name and versioning added
2014-03-21 23:48:59 +01:00
Bruce Lacey 67b52ec95b Tweaked sketch info formatting in two examples for consistency... 2014-03-21 13:41:21 -07:00
Bruce Lacey f828eec251 Modified all example sketches to report the sketch info to the gateway/controller. 2014-03-21 13:39:02 -07:00
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 77b1e2c140 - Slight modification to reUseTX cmd
- put the CE HIGH, LOW changes in the cmd for non-internal use
- Put the clearing of MAX_RT in the reUse cmd for non-internal use
- Removed unneeded delay from writeBlocking()
2014-03-19 03:43:13 -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 dfc75db8e6 Update readme temporarily
- advisory of non-compliance with current documentation
2014-03-18 08:32:10 -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
Henrik Ekblad 64048992cc Merge branch 'master' of https://github.com/mysensors/Arduino 2014-03-15 08:23:01 +01:00
Henrik Ekblad 6304c7ae77 Addded missing semicolon. 2014-03-15 08:22:48 +01:00
henrikekblad 799a80e265 Merge pull request #3 from bblacey/config-fix
Removed call to gw.setPALevel(RF24_PA_LOW) because the gateway PA Level ...
2014-03-13 09:09:02 +01:00
Bruce Lacey a182a1c05e Removed call to gw.setPALevel(RF24_PA_LOW) because the gateway PA Level is set by RF24_PA_LEVEL_GW in Config.h that is used by the gw.begin() method to set the PA_Level for the gateway. Users should change the PA_Level for the gateway using RF24_PA_LEVEL_GW in Config.h 2014-03-12 22:53:41 -07:00
Henrik Ekblad c270a9ec2c Setting default values from Config.h 2014-03-10 00:52:56 +01:00
henrikekblad 713245305a Merge pull request #2 from bblacey/net-config
Centralize sensor network configuration and debug flag feature
2014-03-09 23:58:49 +01:00
Bruce Lacey 2195a8c952 Added centralized sensor network configuration file to control channel, power level and data rate. 2014-03-09 15:30:33 -07:00
Bruce Lacey f1fe7062c6 Turn on DEBUG by default in my config 2014-03-09 09:23:08 -07:00
Bruce Lacey 830c9908f6 This contains my sensor net configuration. 2014-03-09 09:05:51 -07:00
Henrik Ekblad c1441dca4a fixed crlf for project 2014-03-07 21:17:56 +01:00
Henrik Ekblad 586a4d6239 Debug disabled by default 2014-03-07 18:58:15 +01:00
Bruce Lacey 89e3c4f0ef Sensor nodes can now report their sketch name and version to the gateway for informational purposes. Added class methods sendSketchName(), sendSketchVersion() and sendSketchInfo() that invokes the aforementioned as a convenience method. Sensor nodes report their sketch information to the gateway by calling sendSketchInfo(const char *name, const char *version) in the Arduino sketch setup() method after initializing the radio by invoking the Sensor::begin() method. 2014-03-07 09:05:25 -08:00
Henrik Ekblad 8681e37f48 Renamed of sketch to be recognized by Arduino IDE 2014-03-07 08:49:57 +01:00
Henrik Ekblad 1583e9c6b8 Renaming of sketch to be recognizable by Arduino IDE 2014-03-07 08:49:11 +01:00
Henrik Ekblad 85b7e3e009 Added contribution instruction file 2014-03-06 01:17:23 +01:00
Henrik Ekblad 98666c8288 Renaming sensors not following normal pattern 2014-03-05 16:48:05 +01:00
Henrik Ekblad 292e12965e This is a new simple binary switch example that can be uses for window/door sensors or trigger buttons (like a doorbell).
The example takes advantage of  the internal pull up resistor of the Arduino board (no need for external pull-up resistor) when connecting a button or reed switch.

Debounce library is also used to minimize debounce problems.
2014-03-05 10:56:44 +01:00
Henrik Ekblad b223879d12 Added the forgotten dataRate to begin() default speed is 2MBPS 2014-03-04 21:54:21 +01:00
Henrik Ekblad a684a49501 This example is not yet aopted to MySensor. But could be a good inspirations for how to receive 433Mhz stuff. 2014-03-04 19:15:49 +01:00
Henrik Ekblad 0506187e27 Default channel should be 76 (not the presumed 70) 2014-03-04 19:11:54 +01:00
Henrik Ekblad a5422954e6 Example of a battery powered sensor sending in battery level value in percent. 2014-03-04 17:08:54 +01:00
Henrik Ekblad 06ec39cc72 Adding git attributes for handling lineendings 2014-03-04 16:31:15 +01:00
Henrik Ekblad 546ed1d4ae Added new (optional) arguments to begin where you can set PA level and radio channel in sketches and gateway. Default values for constructor and begin arguments also made it possible to simplify all sketches when using defualt ce/cs pins (9,10) for radio and AUTO radion Id mode. 2014-03-04 00:24:26 +01:00
Henrik Ekblad f5215c9db3 Moved to library 2014-03-04 00:19:59 +01:00
Henrik Ekblad 4befc8a471 Added detech functionality. Contribution Derek Macias 2014-03-02 18:08:37 +01:00
Henrik Ekblad 1cb1143c94 Added example for BH1750 lux sensor 2014-03-02 18:07:40 +01:00
Henrik Ekblad 1d6ebad67e Fixed bug reported by a-lurker 2014-03-02 18:06:36 +01:00