Add more info about the communication protocol
authorAntonio Ospite <ospite@studenti.unina.it>
Wed, 13 Mar 2013 11:37:14 +0000 (12:37 +0100)
committerAntonio Ospite <ospite@studenti.unina.it>
Wed, 13 Mar 2013 11:37:14 +0000 (12:37 +0100)
README

diff --git a/README b/README
index 2e14271..07c9332 100644 (file)
--- a/README
+++ b/README
@@ -19,14 +19,28 @@ This could be fixed adding a quirk to the cdc_acm driver in linux, but there
 is not much of a point for this as the data is downloaded using USB bulk
 communication anyways.
 
 is not much of a point for this as the data is downloaded using USB bulk
 communication anyways.
 
-A data packet starts with the STX control character, and ends with ETX.
+Each data packet starts with the STX control character, and ends with ETX.
 
 
-The payload is something like this:
+There are at least two kind of packets: requests and responses.
 
 
-  M106100101120211511021201001011208115610711610010112030103065073440601132001130680661001011311012708406610010112030106068066M20710010112031155111116100101120201170700764406011312012807107244060113170126050065440601131901140630661001011400011407007113031211450121080072
+A request can be used to send command codes to the device.
 
 
-The structure can be better visualized when split it in fields:
+EEPROM data request:
   
   
+  R00
+
+Date and time request:
+
+  R02
+
+A response can be read after a request has been sent.
+
+The payload of a response to a "R00" request is something like this:
+
+  M106100101120211511021201001011208115610711610010112030103065073440601132001130680661001011311012708406610010112030106068066M20710010112031155111116100101120201170700764406011312012807107244060113170126050065440601131901140630661001011400011407007113031211450121080072
+
+The structure can be better visualized when split in fields:
+
   M  # start of a Memory block
   1  # memory block index, corresponding to a "User ID"
   06 # number of records in this memory block
   M  # start of a Memory block
   1  # memory block index, corresponding to a "User ID"
   06 # number of records in this memory block
@@ -42,7 +56,7 @@ The structure can be better visualized when split it in fields:
     100101 1203     0106       068    066
 
   # Same structure for the other memory block
     100101 1203     0106       068    066
 
   # Same structure for the other memory block
-  M 
+  M
   2
   07
   100101 1203 1155 111 116
   2
   07
   100101 1203 1155 111 116