SierraWireless / octave-orp

Octave Resource Protocol
MIT License
1 stars 4 forks source link

[C client] ORP version can not be set in 'sync synack' command #11

Closed fdur closed 1 year ago

fdur commented 1 year ago

According the ORP documentation:

Sync-Acknowledge (SYNACK): Response to a sync packet, used when the recipient of the sync wishes to negotiate part of the handshake. The recipient is acknowledging the sync packet but wishes to use some value other than the default or what was sent in the original sync packet.

Response:     <packet type[1]><version[1]><sequence[2]>[,<MTU>]
packet type:  'y'
version:      ORP version supported
sequence:     unused
MTU:          'M'<mtu size>. Requested MTU size, optional (ASCII decimal, NOT null terminated)

If version is set using sync synack command:

$ ./bin/orp -d /dev/ttyUSB0 -b 460800
ORP Serial Client - "h" for help, "q" to exit
Using device: /dev/ttyUSB0, Baud: 460800, Mode HDLC
Protocol codec initialized

orp > 
Received: 'Y100T1668000056.000000', (28 bytes)
    Type     : Synchronization, sync
    Data type: 5
    Sequence : 0
    Timestamp: 1668000056.000000

orp > sync ack
Sending: '~z00~', (8 bytes)
    Type     : Synchronization, ack
    Data type: 0
    Sequence : 0

orp > sync synack -v 2
Sending: '~y100W~', (8 bytes)
    Type     : Synchronization, sync-ack
    Data type: 0
    Sequence : 0

orp > ERRO | src/orpProtocol.c, line: 857 | Failed to decode packet byte 1: 1
ERRO | src/orpProtocol.c, line: 1084 | Failed to decode: 15 5 0000 T1668000056.000000
ERRO | src/orpProtocol.c, line: 1088 | Error near byte 1