Karmon communication prototocl

What needs to be communicated

  • RPM
    • Every .5 secs
    • No Ack
  • Motor Temp
    • Every minutes or when peaks are reached
    • No Ack
  • Battery cells voltages
    • Whenever updated
    • No Ack
  • Lap count trigger (From remote to car)
    • Each time button is pressed
    • No Ack
  • New lap (from kar to screen)
    • Each time detected
    • No Ack

Payloads

Representation
  • lowercase means bit
  • Uppercase means byte
  • letter link to description
  • example :
    • [ttttRR] means 4 bits for message type followed by 2 bytes for rpm.
Message types
  • RPM : [0001RR]
    • 4 bits for message type
    • 2 bytes for RPM (unsigned int)
  • Motor Temperature : [0010TT]
    • 4 bits for message type
    • 2 bytes for temperature (unsigned int = T*100)
  • Cell voltage : [0011(nnnV){1,8}]
    • 4 bits for message type
    • repetition of 1 to 8 times
      • 3 bits for cell number
      • 1 byte for voltage (unsigned char = (V-2.5) * 100)
        • Range from 2.5V to 5V with 2 digit precision
  • Lap Trigger : [0100]
  • New Lap : [0101]