void Finger::open_close(void) { open_close(!readDir()); }
int main(int argc, char** argv) { (void)(argc); (void)(argv); test_fsm fsm; std::cout << std::endl << "Test fsm" << std::endl; std::cout << "sizeof(test_fsm): " << sizeof(test_fsm) << std::endl; struct ev_1 ev1; struct ev_2 ev2; struct ev_3 ev3; struct ev_4 ev4; struct ev_5 ev5; struct ev_6 ev6; st s; std::cout << "TEST 1" << std::endl; std::cout << "initial state: "; out_state(fsm.state()); // 1 -> 2 -> 3 -> 4 -> 5 -> 1 s = fsm.process_event(ev1); out_state(s); s = fsm.process_event(ev2); out_state(s); s = fsm.process_event(ev3); out_state(s); s = fsm.process_event(ev4); out_state(s); s = fsm.process_event(ev5); out_state(s); std::cout << std::endl << "TEST 2" << std::endl; std::cout << "initial state: "; out_state(fsm.state()); // 1 -> 2 -> 4 -> 5 -> 5 s = fsm.process_event(ev1); out_state(s); s = fsm.process_event(ev6); out_state(s); s = fsm.process_event(ev4); out_state(s); s = fsm.process_event(ev6); out_state(s); fsm.reset(); std::cout << std::endl << "TEST 3" << std::endl; std::cout << "initial state: "; out_state(fsm.state()); // 1 -> 2 -> 3 s = fsm.process_event(ev1); out_state(s); s = fsm.process_event(ev2); out_state(s); s = fsm.process_event(ev6); out_state(s); std::cout << std::endl << "Player fsm" << std::endl; player p; std::cout << "sizeof(player): " << sizeof(player) << std::endl; p.process_event(open_close()); // user opens CD player p.process_event(open_close()); // inserts CD and closes std::vector<float> tracks(7); tracks[0] = 3.08; tracks[1] = 4.34; tracks[2] = 2.58; tracks[3] = 5.01; tracks[4] = 4.12; tracks[5] = 3.24; tracks[6] = 1.23; p.process_event( // CD is detected cd_detected( "CD disk" , tracks ) ); p.process_event(play()); // etc. p.process_event(pause()); p.process_event(play()); p.process_event(stop()); }