Skip to content

Commit

Permalink
Minor doc change, Fix example topology
Browse files Browse the repository at this point in the history
- Update main documentation page
- Fix topology shown in example files
  • Loading branch information
TMRh20 committed Apr 3, 2014
1 parent e8df6e9 commit 3494280
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 30 deletions.
28 changes: 12 additions & 16 deletions RF24Network.h
Original file line number Diff line number Diff line change
Expand Up @@ -248,11 +248,11 @@ class RF24Network
/**
* @example Network_Sleep_Timeouts.ino
*
* Example: This is almost exactly the same as the Network_Ping example, but with use
* of the integrated sleep mode and extended timeout periods.
*
* Example: This is almost exactly the same as the Network_Ping example, but with use
* of the integrated sleep mode and extended timeout periods.
*
* <br><br>
* <b> &nbsp;&nbsp;&nbsp; SLEEP_MODE: </b>
* <b> &nbsp;&nbsp;&nbsp; SLEEP_MODE: </b>
* - Sleep mode is set with the command radio.sleepNode(<seconds>, <interrupt pin>); <br>
* - The node itself will sleep, with the radio in Standby-I mode, drawing 22uA compared to .9uA in powerdown mode. <br>
* - Sleep mode uses the WatchDog Timer (WDT) to sleep in 1-second intervals, or is awoken by the radio interrupt pin going <br>
Expand Down Expand Up @@ -308,7 +308,7 @@ class RF24Network
* StandBy-I mode uses 22uA compared to 0.9uA in full power down mode. The Arduino is allowed to sleep,
* and is awoken via interrupt when payloads are received, or via a user defined time period. See the docs.
* @li <b>New</b> (2014): Extended timeouts. The maximum timeout period is approximately 60ms per payload with max delay between retries, and
* max retries set. Ths new txTimeout variable allows fully automated extended timeout periods via auto-retry/auto-reUse of payloads.
* max retries set. Ths new txTimeout variable allows fully automated extended timeout periods via auto-retry/auto-reUse of payloads.
* @li <b>New</b> (2014): Optimization to the core library provides improvements to reliability, speed and efficiency. See https://github.com/TMRh20/RF24 for more info.
* @li Host Addressing. Each node has a logical address on the local network.
* @li Message Forwarding. Messages can be sent from one node to any other, and
Expand Down Expand Up @@ -352,14 +352,14 @@ class RF24Network
* @li The largest node address is 05555, so 3,125 nodes are allowed on a single channel.
* An example topology is shown below, with 5 nodes in direct communication with the master node,
* and multiple leaf nodes spread out at a distance, using intermediate nodes to reach other nodes.
*
*
*| | | 00 | | | 00 | | | | Master Node (00) |
*|---|----|----|----|----|----|----|----|----|-----------------------------------------------------|
*| | | 01 | | | 04 | | | | 1st level children of master (00) |
*| | 011| |021 | | |014 | | | 2nd level children of master. Children of 1st level.|
*|111| | | |121 | | | 114| | 3rd level children of master. Children of 2nd level.|
*| | | | |1114| |1114|2114|3114| 4th level children of master. Children of 3rd level.|
*
*
* @section Routing How routing is handled
*
* When sending a message using RF24Network::write(), you fill in the header with the logical
Expand All @@ -383,16 +383,12 @@ class RF24Network
* By default all nodes are always listening, so messages will quickly reach
* their destination.
*
* You may choose to sleep any nodes which do not have any active children on the network
* (i.e. leaf nodes). This is useful in a case where
* the leaf nodes are operating on batteries and need to sleep.
* This is useful for a sensor network. The leaf nodes can sleep most of the time, and wake
* every few minutes to send in a reading. However, messages cannot be sent to these
* sleeping nodes.
* You may choose to sleep any nodes on the network. This is useful in a case where the
* leaf nodes are operating on batteries and need to sleep. This is useful for a sensor
* network. The leaf nodes can sleep most of the time, and wake every few minutes to
* send in a reading, or awake if data is received. See sleepNode() in the class
* documentation.
*
* In the future, I plan to write a system where messages can still be passed upward from
* the base, and get delivered when a sleeping node is ready to receive them. The radio
* and underlying driver support 'ack payloads', which will be a handy mechanism for this.
*
* @page Zigbee Comparison to ZigBee
*
Expand Down
11 changes: 4 additions & 7 deletions examples/Network_Ping/Network_Ping.ino
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,10 @@
* Below that are children 5 (022) and 6 (025), and so on as shown below
* The tree below represents the possible network topology with the addresses defined lower down
*
* Addresses/Topology Node Numbers (To simplify address assignment in this demonstration)
* 00 - Master Node ( 0 )
* 02 05 - 1st Level children ( 1,2 )
* 12 15 - 2nd Level children ( 3,4 )
* 22 25 - 3rd Level children ( 5,6 )
* 32 35 - 4th Level ( 7,8 )
* 45
* Addresses/Topology Node Numbers (To simplify address assignment in this demonstration)
* 00 - Master Node ( 0 )
* 02 05 - 1st Level children ( 1,2 )
* 32 22 12 15 25 35 45 - 2nd Level children (7,5,3-4,6,8)
*
* eg:
* For node 4 (Address 015) to contact node 1 (address 02), it will send through node 2 (address 05) which relays the payload
Expand Down
11 changes: 4 additions & 7 deletions examples/Network_Sleep_Timeouts/Network_Sleep_Timeouts.ino
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,10 @@
* Below that are children 5 (022) and 6 (025), and so on as shown below
* The tree below represents the possible network topology with the addresses defined lower down
*
* Addresses/Topology Node Numbers (To simplify address assignment in this demonstration)
* 00 - Master Node ( 0 )
* 02 05 - 1st Level children ( 1,2 )
* 12 15 - 2nd Level children ( 3,4 )
* 22 25 - 3rd Level children ( 5,6 )
* 32 35 - 4th Level ( 7,8 )
* 45
* Addresses/Topology Node Numbers (To simplify address assignment in this demonstration)
* 00 - Master Node ( 0 )
* 02 05 - 1st Level children ( 1,2 )
* 32 22 12 15 25 35 45 - 2nd Level children (7,5,3-4,6,8)
*
* eg:
* For node 4 (Address 015) to contact node 1 (address 02), it will send through node 2 (address 05) which relays the payload
Expand Down

0 comments on commit 3494280

Please sign in to comment.