This PR is to better handle sending and receiving of data, especially when close together in time. To have any sort of multi-sensor network this must be done cleanly. The state machine is changed such that we disable polling inputs when we are receiving. This wasn't done properly before. Obviously, we don't want to transmit in the middle of a reception. Some of the delays are removed to make the code faster. The python scripts are improved. A bug is fixed for the Raspberry Pi Zero where the service wouldn't start because systemd needed a file with the process ID inside. One other major change is we have separate buffers for sending and receiving data.
This PR is to better handle sending and receiving of data, especially when close together in time. To have any sort of multi-sensor network this must be done cleanly. The state machine is changed such that we disable polling inputs when we are receiving. This wasn't done properly before. Obviously, we don't want to transmit in the middle of a reception. Some of the delays are removed to make the code faster. The python scripts are improved. A bug is fixed for the Raspberry Pi Zero where the service wouldn't start because systemd needed a file with the process ID inside. One other major change is we have separate buffers for sending and receiving data.