The protocol will be based on messages of 32 octets, like this:
T MA N[0-9] D[0-9] d[0-9]
T
represent the kind of message. It could be movements messages or administration messages. 1 octetMA
represent the administration messages (wrong place for the head, loss of tracking...). 1 octetN[0-9]
represent the size of the displacement vectors of each fingers. 10 octetsD[0-9]
represent the direction of the displacement vectors of each fingers. Unimportant if the size is 0. 10 octetsd[0-9]
represent the shape and the position of each fingers (open, close, in contact with others...). d0 stand for the right little finger and d5 for the left thumb. 10 octets
All the indications are given in front of the person.
The angles are given in the trigonometrical circle, and in function of the octet : 0 stand for the right direction, 63 for the top, 127 for the left and 191 for the down.
The sizes of the vectors are in function of the software, 255 stand for the all screen.
If the vector sizes are at 0 (or below a given threshold), that would say that we are in the shape recognition mode.
The administration messages will be added during the development of the software, if they are useful.
In the firsts versions of the software, N0=...=N4 and N5=...=N9, D0=...=D4 and D5=...=D9, and d0=...=d4 and d5=...=d9. Indeed, the recognition will be done only on the hands and not on the fingers.