Skip to content

Commit

Permalink
Update version due to major bugfix
Browse files Browse the repository at this point in the history
  • Loading branch information
TMRh20 committed Mar 27, 2016
1 parent 0450c5c commit b420fbc
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name=RF24Mesh
version=1.0.4
version=1.0.5
author=TMRh20
maintainer=TMRh20
sentence=A library for NRF24L01(+) devices mesh.
Expand Down

8 comments on commit b420fbc

@robertiko07
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really is working? i update mesh 1.0.5 and Network 1.0.5, but the master static is hard to detected nodes.
i have 7 nodes id-1,id-197,id-89,id-32,id4-0,id-251,id99 y id-15
just 1 time detected 3 nodes.

@TMRh20
Copy link
Member Author

@TMRh20 TMRh20 commented on b420fbc Mar 29, 2016 via email

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@robertiko07
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I commented that I updated all libraries both master nodes now work with 1.0.5 vercion

Now I want to share some very rudimentary changes I make in the old libraries 1.0.

the prinipal idea is to provide support for more than 255 nodes
here is the code

****************************************************************************************************************************
**rf24mesh.h**

  uint16_t addrListTop;       /**< The number of entries in the assigned address list */
      ^

**rf24mesh.cpp**
bool RF24Mesh::write(const void* data, uint8_t msg_type, size_t size, uint16_t nodeID){

                                       ^
int16_t RF24Mesh::getAddress(uint16_t nodeID){      
                             ^

int16_t RF24Mesh::getNodeID(uint16_t address){
                ^

void RF24Mesh::setNodeID(uint16_t nodeID){
                  ^

void RF24Mesh::setStaticAddress(uint16_t nodeID, uint16_t address){
                    ^

void RF24Mesh::setAddress(uint16_t nodeID, uint16_t address){
                  ^

  uint16_t position = addrListTop;
      ^

addrList[addrListTop].nodeID = 65535
                   ^^^^^    

addrList[addrListTop].address = 05555;  
                ^^^^^        

**rf24mesh.h**



  bool write(const void* data, uint8_t msg_type, size_t size, uint16_t nodeID=0);
                                      ^

  void setNodeID(uint16_t nodeID);

              ^
  int16_t getAddress(uint16_t nodeID);
             ^

  void setAddress(uint16_t nodeID, uint16_t address);
              ^

  uint16_t _nodeID;
      ^

   uint16_t nodeID;       /**< NodeIDs and addresses are stored in the addrList array using this structure */
    ^

  void setStaticAddress(uint16_t nodeID, uint16_t address);
                 ^




**NETWORK.CCP**

   uint16_t digit = node & 0B111;
***********************************************************************************************************************************

with the arrival of your new libs, I decided to forget about the old modifications and start again with new modifications based on 1.0.5 vercion the purpose is to increase the maximum number of nodes, changing (uint8_t nodeID by uint16_t nodeID)..

I have seen a possible fault in the libs I'm also working with this bug, the problem is that when we turn off any of the nodes, the teacher continues to report that there is still that node. when the truth is that it does not exist.

note
do not forget that these changes were made in version 1.0 I'm still studying the new library to make changes

here is more about
http://forum.arduino.cc/index.php?topic=387977.0

@TMRh20
Copy link
Member Author

@TMRh20 TMRh20 commented on b420fbc Mar 30, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool. Looking at what you have done, it probably wouldn't be too hard to add a define or something in the config.h file to allow users to choose between an 8-bit and 16-bit address space.

The main thing I'm not sure about is how the mesh would perform with that many nodes. I've never tested with even 100 nodes.

I typically have the nodes check their connection every 30 seconds, but with even 30 nodes, this results in about 1 request/second, so the extra traffic etc. will probably be one of the main concerns. The RF24Mesh/Network address space allows for up to 425 nodes, but it is possible to extend that by using a 5th level, brining it from 425 nodes to 1705, but again, I have my doubts that many radios will work together, except over a huge distance.

It never hurts to try though! I'd be very interested in your test results if you get it working with a large number of nodes.

@TMRh20
Copy link
Member Author

@TMRh20 TMRh20 commented on b420fbc Mar 30, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See http://tmrh20.github.io/RF24Mesh/classRF24Mesh.html#a70e5a2a2a393bc13d63c97a62bf311b1

Nodes need to release their address if going offline. This has not been tested extensively and may need some work.

@robertiko07
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hi i´m still working on this example,
i´m send email
can you answer?

@robertiko07
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hello again Mr. TMRH20
What's your name??
i´m roberto ..
I have been working in your library to increase the number of nodes that the system can withstand
more than 1000 nodes.
in the libs I modified
uint8_t reserved; <-> Uint16_t reserved;
uint16_t frame_buffer [MAX_FRAME_SIZE]; <-> Uint16_t frame_buffer [MAX_FRAME_SIZE];
(All lavels) uint8_t nodeID <-> uint16_t nodeID
uint8_t _nodeID; <-> Uint16_t nodeID;
uint8_t addr Top List; <-> Uint16_t addr ListTop;
addrList [addrListTop] .nodeID = 255; <-> AddrList [addrListTop] .nodeID = 1000;

but now I have an error

RF24Network.cpp: 552: 33: error: can not convert 'uint16_t * {aka} unsigned int *' to 'uint8_t * {aka} unsigned char *' in assignment frag_queue.message_buffer = frame_buffer + sizeof (RF24NetworkHeader);

Could you help me in this error

@robertiko07
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also intend to also add AES encryption.

but for this I have to increase the size of all the header boxes so they can contain the encrypted code.

you can help me with some idea?

Please sign in to comment.