fsm works for data/command/delay