Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void FSM_set_current_direction(){
- puts("FSM_set_current_direction");
- if (qSys_is_order_array_empty()){
- puts("order array empty...");
- FSM_current_direction = 0;
- return;
- }
- if(elev_get_floor_sensor_signal() == -1 ){
- if(FSM_current_direction == DIRN_UP){
- if(FSM_orders_above())
- FSM_current_direction = DIRN_UP;
- else if(FSM_orders_below())
- FSM_current_direction = DIRN_DOWN;
- else
- FSM_current_direction = DIRN_DOWN;
- }
- else if (FSM_current_direction == DIRN_DOWN){
- if(FSM_orders_above())
- FSM_current_direction = DIRN_UP;
- else if(FSM_orders_below())
- FSM_current_direction = DIRN_DOWN;
- else
- FSM_current_direction = DIRN_DOWN;
- }
- }
- if(FSM_current_direction == DIRN_UP){
- puts("On its way up...\n");
- if(FSM_orders_above()){
- puts("dir set to up");
- return;
- }
- else if (FSM_orders_below()){
- FSM_current_direction = DIRN_STOP;
- puts("dir set to down");
- return;
- }
- else{
- FSM_current_direction = DIRN_STOP;
- puts("dir set to stop");
- return;
- }
- }
- else if(FSM_current_direction == DIRN_DOWN){
- puts("On its way down...\n");
- if(FSM_orders_below()){
- puts("dir set to down");
- return;
- }
- else if (FSM_orders_above){
- FSM_current_direction = DIRN_UP;
- puts("dir set to up");
- return;
- }
- else{
- FSM_current_direction = DIRN_STOP;
- puts("dir set to stop");
- return;
- }
- }
- else{
- if(FSM_orders_above()){
- puts("On its way nowhere...\n");
- FSM_current_direction = DIRN_UP;
- puts("dir set to up");
- return;
- }
- else if (FSM_orders_below()){
- FSM_current_direction = DIRN_DOWN;
- puts("dir set to down");
- return;
- }
- else{
- FSM_current_direction = DIRN_STOP;
- puts("dir set to stop");
- return;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement