I had the opportunity to play with this extensively for the last two days. It works as expected now.
Notes:
NoSocketAvailable may be raised when reading / writing to the data logger even when the auto-reconnect
is activated. The request should be retried in such case.
The short frames (14 bytes) are now logged on debug as [<logger serial>] COUNTER: <hex>
These counter frames appear to be independent from the data stream i.e. such frame may be received
even when a request has been sent to the data logger and a response is expected.
0x4710 - frames info
Report/Counter frame - 14 bytes, without CRC check code. Such frame is sent by the data logger approximately at two minute intervals.
The structure of the frame is as follows:
Start - 0xA5 always
Payload Length (2 bytes) - always 1 (0x01)
Control Code (2 bytes) - 0x4710
Sequence No (2 bytes) - 1st byte is our last sequence number sent to the data logger, 2nd byte is incremented by 1 from the last response
Logger Serial (4 bytes)
Payload (2 bytes) - message counter (only one byte is used). The difference between the payload value of two consecutive 0x4710 frames shows the messages processed by the data logger (in both directions) in this interval
I had the opportunity to play with this extensively for the last two days. It works as expected now. Notes:
[<logger serial>] COUNTER: <hex>
0x4710 - frames info
Report/Counter frame - 14 bytes, without CRC check code. Such frame is sent by the data logger approximately at two minute intervals. The structure of the frame is as follows:
Counter frame as hex: a5 01 00 10 47 8d 69 b5 b5 0a a2 00 64 15