Do you have the HEX sample before the error?
Yes I have:
2023-09-06 19:00:45 INFO: [T114c5dde: satsol < 178.178.94.108] 78b82c8a1d8b020057009af9000003e10b5e4c000800ffffffffffffffff0000000000000000069c8301006382f8644c000800ffffffffffffffff00000000000000000686>
2023-09-06 19:00:45 INFO: [T114c5dde] error - Latitude out of range - IllegalArgumentException (Position:236 < SatsolProtocolDecoder:70 < ExtendedObjectDecoder:75 < ...)
2023-09-06 19:00:45 INFO: [T114c5dde] disconnected
It doesn't match the protocol, so it must be using some different format.
I use last modification SAT-LITE4 with usual protocol, and got error:
2023-09-07 15:52:54 INFO: [T5d3b4d22: satsol < 178.178.95.254] f7312c8a208b0200aa059af9000003e10b5e4c000800ffffffffffffffff000000000000000006de4d01002ee20b5e4c000800ffffffffffffffff00000000000000000e8a>
2023-09-07 15:52:54 INFO: [T5d3b4d22] error - Adjusted frame length exceeds 1400: 1460 - discarded - TooLongFrameException (... < WrapperInboundHandler:57 < ... < StandardLoggingHandler:44 < ... < Netw>
2023-09-07 15:52:54 INFO: [T5d3b4d22] disconnected
I found error in parser.
In potocol guide we can look at stuct:
typedef struct {
uint16_t crc;
uint16_t serial_id;
uint32_t timestamp;
uint16_t packet_type;
uint16_t packet_len;
uint32_t x_coord;
uint32_t y_coord;
uint8_t sf;
} t_common_data_header;
In server code:
List<Position> positions = new LinkedList<>();
while (buf.isReadable()) {
buf.readUnsignedShortLE(); // checksum
buf.readUnsignedShortLE(); // checksum
// THERE YOU MUST READ TIMESTAMP double word size
buf.readUnsignedShortLE(); // type
int length = buf.readUnsignedShortLE();
Code from class: "SatsolProtocolDecoder "
protocol guide: http://satsol.ru/static/devices/files/satlite3/protocol.pdf
There's no in parser. It's just a completely different protocol.
Could u give me link to protocol (pdf) description that matches the current parser "SatsolProtocolDecoder" ?
I found that the traccar supports SAT-LITE 4 devices.
I tried to connect the device.
But in server log I see error:
Any ideas ?