The functional mechanism of ACK and Checksum
At the beginning of the communication with a 'linksetup' order we have to set up the communication. After the setting up of the communication the ACK and the Checksum settings remain.
Serial communication from the PC's point of view:
-
ACK ON, Checksum ON:
-> c=linksetup&ack=on&checksum=fletcher16&t=2&id=sf6z34 <- c=ack&checksum=d293&t=2&id=sf6z34 <- c=linksetup_resp&ack=on&checksum=fletcher16&id=sf6z34&t=3 -> c=go&x=34&y=18&a=2&spd=3343.73&eas=1&t=4&id=c3v3rD&s=8B72 <- c=ack&checksum=8B72&id=c3v3rD&t=4 <- c=go_resp&x=34&y=18&a=2&id=c3v3rD&t=5
-
ACK ON, Checksum OFF:
-> c=linksetup&ack=on&checksum=none&t=2&id=sf6z34 <- c=ack&checksum=null&t=2&id=sf6z34 <- c=linksetup_resp&ack=on&checksum=none&fletcher16&id=sf6z34&t=3 -> c=go&x=34&y=18&a=2&spd=3343.73&eas=1&t=4&id=c3v3rD <- c=ack&checksum=null&id=c3v3rD&t=4 <- c=go_resp&x=34&y=18&a=2&id=c3v3rD&t=5
-
ACK OFF, Checksum ON:
-> c=linksetup&ack=off&checksum=fletcher16&t=2&id=sf6z34 <- c=linksetup_resp&ack=on&checksum=fletcher16&id=sf6z34&t=3 -> c=go&x=34&y=18&a=2&spd=3343.73&eas=1&t=4&id=c3v3rD&s=8B72 <- c=go_resp&x=34&y=18&a=2&id=c3v3rD&t=5
-
ACK OFF, Checksum OFF (DEFAULT, this is why we do not have to set up separately):
-> c=go&x=34&y=18&a=2&spd=3343.73&eas=1&t=2&id=c3v3rD <- c=go_resp&x=34&y=18&a=2&id=c3v3rD&t=3
More information
- Fletcher 16 Checksum generator
- CRC 16 Checksum generator
- The functional mechanism of ACK and Checksum example