Packet max length is 72 bytes.

First 2 bytes of payload of ANY packet are:

  • app_type
  • app_uuid

Packet Types

Coordinator to Wand

app_available

  • timeout
  • button_id

app_config

  • accel_config
  • button_config
  • IR_config
  • RGB_config

accel_config

  • Mode
    • 0 – none
    • 1 – explict poll
    • 2 – timed
    • 3 – trigger
  • Data
    • 0 – none
    • 1 – none
    • 2 – 1/8 seconds
    • 3 – threshold (sum of squares)

button_config

  • Enabled Mask: which buttons are enabled (button0 is LSB)
  • Mode (for enabled buttons)
    • momentary on – LEDs initially off, press and hold to stay on
    • momentary off – LEDs initially on, press and hold to stay off
    • select – press on, stay on, press off, stay off; only one LED ever on, if another button selected, all other LEDs off
    • toggle – press on, stay on, press off, stay off;
    • blink – LEDs initially blinking, press on

IR_config

  • 0 – off
  • 1 – on

RGB_config

  • R/G/B (LSB is Red)
    • on/off
  • Mode
    • 0 – off
    • 1 – set
    • 2 – cycle
    • 3 – button

resync

kill

Wand to Coordinator

accell_data

  • x
  • y
  • z

button_press

  • button_id

WTF

  • is app_uuid of cur_app or app in recieved packed?

App to Server Packets

0 - Registration

* 0: Packet Type * 1: App UUID * 2: Max Users (0 for unlimited)