I2C:

command:
00: motor off
02: controller off
03: controller on
04: setpwm 
	<data1>: dir
	<data2>: hi (bits 9:8)
	<data3>: lo (bits 7:0)
05: setvel
	<data1>: vel
08: setP
	<data1>: Kp
09: setI
	<data1>: Ki
0a: setD
	<data1>: Kd

All data sent from master will be ACK'd by slave. ACK of a byte means byte received, but not action taken. After every command, master has to initiate a read, and read one OK byte from the slave. This byte will contain status information regarding actual command completion.

readback:
15: readvel
	<reply1>: current velocity
18: readP
	<reply1>: Kp
19: readI
	<reply1>: Ki
1a: readD
	<reply1>: Kd

For all readbacks, slave will tx 1 data byte to master. Master initiates write to slave, writes command, initiates read, reads one OK byte and one data byte, then closes connection.

Serial:
After every command, slave will transmit OK, or ERROR to reflect status.