solid
	// 1=bitfield, 2=timeout-set, 4=state, 5=hue, 6=sat, 7=val
	// bitfield:
	// 7: blank / off
	// 3: override altcolor (if bit 1 is not set)
	// 1: override hsv
	// 0: flash


flicker
	// 0=speed, 1=bitfield, 2=timeout-set, 4=state, 6=max-val, 7=min-val
	// bitfield:
	// 7: min-val is not half range (0-255); if unset min-val is half range (128-255)
	// 6: apply a random hue instead of favcolor
	// 5: do not apply LED remapping (results in a cross update pattern)
	// 4: fades out all LEDs at speed setting (only if bit 1 SET)
	// 3: same flicker throughout (only if bit 1 NOT SET)
	// 2: make the LED random instead of sequential (only if bit 1 SET)
	// 1: only process one LED per update
	// 0: in single LED mode, reverse direction
	// speed: fadeout speed

circles
	// 0=speed, 1=bitfield, 2=timeout-set, 4=state, 5=hue, 6=sat, 7=val
	// bitfield:
	// 7: apply specified hue instead of favcolor
	// 6: apply a random hue
	// 5: trails desaturate
	// 4: secondary value is half of primary
	// 3: opposing is same hue as primary (unset is alt color hue/sat; is always primary val)
	// 2: enable opposing ball
	// 1: enable fading trails
	// 0: direction
	// others:
	// a[0][7:4]: fade rate of trails
	// a[0][0:3]: how many ticks until extra increment on secondary; 0 disables, 0xf sets opposing

waving
	// 0=wait-delay, 1=bitfield, 2=timeout-set, 456=work
	// bitfield:
	// 5 trails desaturate
	// 1 enable fading trails
	// others:
	// a[0][7:4]: fade rate of trails
	// a[0][0:3]: movement rate of up-down (stall)

rainbow
	// 0=angle-rate, 1=bitfield, 2=timeout-set, 45=angle-work, 6=sat, 7=val
	// bitfield:
	// 7:4 hue angle division (360 divided by 1-6; all other values mean 1, except 0 which means no offset)
	// 3
	// 2
	// 1
	// 0 direction

copmode
	// 0=work, 1=bitfield, 2=timeout-set, 3=timeout-work, 4=work, 56=steps, 7=val
	// bitfield:
	// 7 sync to tick 0
	// 6 skip pattern 2
	// 5 skip pattern 1
	// 4 don't override sat/val to maximums (not implemented)
	// 3 use different colors on either half during pattern 2
	// 2 use different colors on either half during pattern 1
	// 1 repeat subpattern 1
	// 0 use cop colors instead of pri/alt
	// others:
	// a[5][7:4] amount of time to delay in pattern 2
	// a[5][0:3] amount of times to repeat pattern 2 (solid color alternate)
	// a[6][7:4] amount of strobe pulses in pattern 1
	// a[6][0:3] amount of times to repeat pattern 1 (strobes)