These 10 commits are when the Protocol Buffers files have changed:
Commit: | ff4bd66 | |
---|---|---|
Author: | Chris Becker |
Moved node configuration proto file into interface folder. Minor updates to MeshController from unit testing.
The documentation is generated from this commit.
Commit: | 5d538ea | |
---|---|---|
Author: | Chris Becker |
Updated python demo execution script to match new mesh interface.
Commit: | 0ed7297 | |
---|---|---|
Author: | Chris Becker |
-Added limits for maximum admin bytes size in mesh packet (adminBytesMaxLength) and maximum payload bytes size (msgPayloadMaxLength) in a packet. These are both configurable parameters. During the admin period, the maximum admin bytes size in the packet is equal to the sum of these two parameters since only admin bytes will be transmitted. -Corrected bug in UDPRadio. Bufsize argument to recvfrom method was incorrectly sized. -Reimplemented maximum network slot transmission limit. Limit is enforced in the sendMsgs method of TDMAComm by limiting the total output to be less than maxTransferSize config parameter. Once the limit is reached, pending messages in meshQueueIn will have to wait until the next frame for transmission. For admin period transmission, the maximum output is already limited by the admin bytes limitation since only one message will be sent.
Commit: | f22951d | |
---|---|---|
Author: | Chris Becker |
Added block transmit parameters to NodeConfig.
Commit: | 724ded5 | |
---|---|---|
Author: | Chris Becker |
-Implemented TDMA admin period. Admin period control is rotated in sequence to each node. Admin period is used to send large mesh administration messages, so that slot bandwidth is not used up by network adminstration. Admin period is also used for block transmit. -Added TDMA admin configuration and poll timeout parameters to NodeConfig. -Initial implementation of block transmit functionality. Host sends a block request to its node. The node then issues a block transmit request to the network. If the request is accepted, the sending node breaks the block into packets which are received by the other nodes. Packet receipts are sent back to the sending node for all received packets. If a receipt is not received, the sending node will resend the packet. Once the entire block is received, the receiving nodes will reassemble the block from the individual packets and pass to their hosts if they are the intended destination. Currently block transmits are single hop only, meaning the destination must be within a single hop from the sender to receive the block. Multi-hop functionality is forward work. -Modified getMsgs method of MeshController to facilite returning different message types. It now returns a list with entries of type MeshMsg. MeshMsgs can be data blocks, standard mesh received bytes, or mesh status messages. -Removed capability to detect and end mesh reads early. Functionality was implemented by adding a specific end byte and scanning all read bytes for that byte. Implementation was inefficient and has limited value for mesh configurations with short slots. Could potentially be useful if slots were longer. Will explore a better implementation if functionality is requested in the future.
Commit: | 8df5209 | |
---|---|---|
Author: | Chris Becker |
-Renamed existing sendMsg method in TDMAComm to sendMsgs so that it wasn't overrding method of same name in parent class SerialComm. -Created MeshController to act as higher level interface for controlling mesh network actions and user interaction to TDMAComm. -Implemented network polling functionality to allow the network to make decisions on whether to perform commanded options. Currently all polling must be unanimous for the action to be implemented. ConfigUpdate and NetworkRestart commands are the commands currently subject to network poll. Poll answers are sent via the CmdResponse command. -Updated NodeConfig with methods to allow for configuration updates. Configuration updates are transmitted as serial data using Protocol Buffers. -Refactored message processors moving some of the initial parsing into SerialComm. This allows the message processors to be used without having to have fully serialized command data. -Refactored deserialize methods to handle command data that has raw bytes elements, like the ConfigUpdate command. deserialize can now return parsed and raw portions of the command. -Modified config update methods of NodeParams to return new config instead of storing it. This was part of the network polling implementation. Also added network restart fields to implement mesh network restart functionality. -Added command response queue in NodeParams to store received polling responses before processing by MeshController.
Commit: | 6e56de5 | |
---|---|---|
Author: | Chris Becker |
-Updated NodeThreadMsg protocol buffer message definition to interface with updated TDMAComm messaging interface. -Added DemoController class to demonstrate use of new TDMAComm messaging interface.
Commit: | 89d32a0 | |
---|---|---|
Author: | Chris Becker |
Adding C++ mesh network implementation. Also moved protocol buffer interface code up out of the python directory.
Commit: | 4207642 | |
---|---|---|
Author: | Chris Becker |
Moving Python code into separate directory.
Commit: | cab6879 | |
---|---|---|
Author: | Chris Becker |
Adding python generic mesh code and unittests.