DreamTeam/thinkgear

From Noisebridge
Revision as of 20:01, 29 May 2013 by Danf (talk | contribs) (alpha parser)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

syncpos = 0
synclen = 2

syncval = 0xaa
synced = (syncval == packet[0] == packet[1]) 
assert synced

lenpos = syncpos + synclen
lenlen = 1

paylen = packet[lenpos]
assert paylen < 170  #  note 170 is 0xaa - just coincidentally?

loadpos = lenpos + lenlen
checkpos = loadpos + paylen 

payload = packet[loadpos:checkpos]
paycheck = packet[checkpos]

assert paycheck == ~( sum(payload) & 0xff )

codons = {
  (0x02, 'POOR_SIGNAL', 1),
  (0x04, 'ATTENTION', 1),
  (0x05, 'MEDITATION', 1),
  (0x16, 'BLINK EVENT', 1),
  (0x55, 'EXTENDED_CODE', 1),
  (0x80, 'RAW_EEG', 2),
  (0x83, 'ASIC_POWER', 24),
  (0xaa, 'SYNC', 172) }