I Use This!

Commits : Listings

Analyzed about 12 hours ago. based on code collected 1 day ago.
Mar 23, 2022 — Mar 23, 2023
Commit Message Contributor Files Modified Lines Added Lines Removed Code Location Date
Moved node configuration proto file into interface folder. Minor updates to MeshController from unit testing. More... over 3 years ago
Updated documentation to reflect changes in python API including new functionality. More... over 3 years ago
Updated unittests for recently added functionality. More... over 3 years ago
Updated python demo execution script to match new mesh interface. More... over 3 years ago
-Updated block transmit to pass block transmit data to host even if packets were missed. The block tx output now has a dataComplete flag along with the data itself. The network hosts now have the option to use the partial data if it is useful or request a new transfer of a smaller subset potentially. More... over 3 years ago
TDMAComm unit tests updated and passed. More... over 3 years ago
-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. More... over 3 years ago
Added block transmit parameters to NodeConfig. More... over 3 years ago
-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. More... over 3 years ago
Small update to documentation to document network adminstration functionality additions. More... over 3 years ago
Updates to some python unit tests. Also small updates to comm and radio classes to track sent and received data metrics. More... over 3 years ago
Updated network polls to have a timeout. If the timeout expires before the poll is completed, the poll is cleared and the action is not taken. More... over 3 years ago
-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. More... over 3 years ago
-Updated NodeThreadMsg protocol buffer message definition to interface with updated TDMAComm messaging interface. -Added DemoController class to demonstrate use of new TDMAComm messaging interface. More... almost 4 years ago
-Updated node link status logic in checkNodeLinks method of NodeParams to reflect the changes to the node message header and relay logic. -Added logic to TDMAComm to update cmd counter values in tdmaCmds. This will prevent periodic messages from appearing to be stale due to old cmd counter values. -Updated mesh network documentation. More... almost 4 years ago
-Added Dijkstra-based search algorithm to find the shortest paths between nodes in the network. -Modified the time offset logic to return an offset value of zero when no offset method is specified.-Relocated updateStatus and checkNodeLinks methods from NodeController to NodeParams. -Corrected bug with tdmaComm meshQueueIn that was incorrectly storing messages for Node 1 as broadcast messages to all nodes. -Added call of processMsgs method in TDMAComm to sleep method so that all received messages are processed by the node after completion of cycle. More... almost 4 years ago
Mesh message architecture changes to implement updated message relay capability. Mesh messages are now packaged into packets with source and destination information. Each node now maintains a graph of the mesh architecture which is used to determine shortest paths for transmission (Dijkstra's algorithm). This path information is used to make message relaying decisions. More... about 4 years ago
Corrected HDLC to 16-bit CRC. Added END_TDMA byte definition and escape sequence. More... about 4 years ago
Adding HDLC python implementation. Also refactored MsgParser to remove need to subclass it. An instance of the specific message type is now provided to MsgParser, and it handles proper parsing per that type. More... about 4 years ago
Reduced SLIP CRC length from 16 to 8 in preparation of adding new mesh packet structure which will include another CRC. More... about 4 years ago
Adding miscellaneous small changes to support files. More... about 4 years ago
Bugfix to SLIPMsg that would cause incorrect messaging parsing if only part of an escape sequence was received. More... about 4 years ago
Updated C++ implementation to match current python version. Added new and updated C++ unit tests. Updates made as a result of unit testing. More... about 4 years ago
Updates to python code as a result of unit test changes. More... about 4 years ago
Fixed typo in name of NodeController method. More... over 4 years ago
Removing logTime from python NodeController definition. If needed, can be added by child classes. More... over 4 years ago
Updated python Radio unit tests and added UDPRadio unit tests. More... over 4 years ago
Changed default value of maxBytesToSend parameter of Radio::sendBuffer method to 0 instead of None. More... over 4 years ago
Removed .o and .a files erroneously added to tracked files. More... over 4 years ago
Removed specific node application information from NodeController and made methods more generic. More... over 4 years ago