+ ; receive routine (byte stored in uart_rxtx)
+ rcall UART_RX
+
+ ; loop back the received byte
+ rcall UART_TX
+
+ ;
+ ; drive the motor
+ ;
+
+ ; stop it first
+ rcall MOTOR_STOP
+
+ ; fwd
+ cpi uart_rxtx,CTRL_FWD
+ brne CTRL1
+ rcall MOTOR_FWD
+ rjmp CTRL4
+
+ ; bwd
+ CTRL1:
+ cpi uart_rxtx,CTRL_BWD
+ brne CTRL2
+ rcall MOTOR_BWD
+ rjmp CTRL4
+
+ ; right
+ CTRL2:
+ cpi uart_rxtx,CTRL_RIGHT
+ brne CTRL3
+ rcall MOTOR_RIGHT
+ rjmp CTRL4
+
+ ; left
+ CTRL3:
+ cpi uart_rxtx,CTRL_LEFT
+ brne CTRL4
+ rcall MOTOR_LEFT
+ CTRL4: