From e2b4a2ce555fa3e283321a8599f9e92a3a0af10e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergi=20Hern=C3=A1ndez?= <shernand@iri.upc.edu> Date: Thu, 6 Oct 2016 00:13:06 +0200 Subject: [PATCH] Updated the stairs example to use the motion librray and the actual GPIO ports. --- examples/stairs/Makefile | 2 +- examples/stairs/stairs.c | 161 +-------------------------------------- 2 files changed, 3 insertions(+), 160 deletions(-) diff --git a/examples/stairs/Makefile b/examples/stairs/Makefile index 09812e8..0bde160 100644 --- a/examples/stairs/Makefile +++ b/examples/stairs/Makefile @@ -2,7 +2,7 @@ PROJECT=stairs ######################################################## # afegir tots els fitxers que s'han de compilar aquà ######################################################## -SOURCES=stairs.c ../mtn_library.c +SOURCES=stairs.c OBJS=$(SOURCES:.c=.o) SRC_DIR=./ diff --git a/examples/stairs/stairs.c b/examples/stairs/stairs.c index c9587e4..f847f9d 100644 --- a/examples/stairs/stairs.c +++ b/examples/stairs/stairs.c @@ -6,162 +6,6 @@ #include "mtn_library.h" typedef enum {wait_start,wait_ready,walk_to_stairs1,wait_stop1,up_stairs1} main_states; -typedef enum {up_idle,up_wait_stop,up_wait_step1,up_delay1,up_wait_step2,up_wait_step3,up_wait_step4,wait_ready_up} stairs_up_states; -typedef enum {down_idle,down_wait_stop,down_wait_step1,down_wait_step2,down_wait_step3,wait_ready_down} stairs_down_states; - -uint8_t stairs_up_process(void) -{ - static stairs_up_states state=up_idle; - uint8_t done=0x00; - - switch(state) - { - case up_idle: if(is_action_running()) - { - action_stop_page(); - state = up_wait_stop; - } - else - { - action_set_page(227); - action_start_page(); - state = up_wait_step1; - } - break; - case up_wait_stop: if(is_action_running()) - state = up_wait_stop; - else - { - action_set_page(227); - action_start_page(); - state = up_wait_step1; - } - break; - case up_wait_step1: if(is_action_running()) - state = up_wait_step1; - else - { - user_time_set_one_time(1500); - state = up_delay1; - } - break; - case up_delay1: if(user_time_is_done()) - { - action_set_page(224); - action_start_page(); - state = up_wait_step2; - } - else - state = up_delay1; - break; - case up_wait_step2: if(is_action_running()) - state = up_wait_step2; - else - { - action_set_page(225); - action_start_page(); - state = up_wait_step3; - } - break; - case up_wait_step3: if(is_action_running()) - state = up_wait_step3; - else - { - action_set_page(226); - action_start_page(); - state = up_wait_step4; - } - break; - case up_wait_step4: if(is_action_running()) - state = up_wait_step4; - else - { - action_set_page(31); - action_start_page(); - state = wait_ready_up; - } - break; - case wait_ready_up: if(is_action_running()) - state = wait_ready_up; - else - { - state=up_idle; - done=0x01; - } - break; - } - - return done; -} - - -uint8_t stairs_down_process(void) -{ - static stairs_down_states state=down_idle; - uint8_t done=0x00; - - switch(state) - { - case down_idle: if(is_action_running()) - { - action_stop_page(); - state = down_wait_stop; - } - else - { - action_set_page(228); - action_start_page(); - state = down_wait_step1; - } - break; - case down_wait_stop: if(is_action_running()) - state = down_wait_stop; - else - { - action_set_page(228); - action_start_page(); - state = down_wait_step1; - } - break; - case down_wait_step1: if(is_action_running()) - state = down_wait_step1; - else - { - action_set_page(229); - action_start_page(); - state = down_wait_step2; - } - break; - case down_wait_step2: if(is_action_running()) - state = down_wait_step2; - else - { - action_set_page(230); - action_start_page(); - state = down_wait_step3; - } - break; - case down_wait_step3: if(is_action_running()) - state = down_wait_step3; - else - { - action_set_page(31); - action_start_page(); - state = wait_ready_down; - } - break; - case wait_ready_down: if(is_action_running()) - state = wait_ready_down; - else - { - state=down_idle; - done=0x01; - } - break; - } - - return done; -} void user_init(void) { @@ -170,7 +14,6 @@ void user_init(void) balance_calibrate_gyro(); balance_enable_gyro(); user_time_set_period(100); - mtn_lib_init(); } void user_loop(void) @@ -196,7 +39,7 @@ void user_loop(void) state=walk_to_stairs1; } break; - case walk_to_stairs1: if(exp_gpio_get_value(GPIO0) || exp_gpio_get_value(GPIO3)) + case walk_to_stairs1: if(exp_gpio_get_value(GPIO1)==0x00 || exp_gpio_get_value(GPIO18)==0x00) { mtn_lib_stop_mtn(); state=wait_stop1; @@ -210,7 +53,7 @@ void user_loop(void) else state=wait_stop1; break; - case up_stairs1: if(stairs_up_process()) + case up_stairs1: if(stairs_up_process(robot_standing)) state=wait_start; else state=up_stairs1; -- GitLab