diff --git a/examples/movements/movements.c b/examples/movements/movements.c index de6943ac253b50518502fcce310e01bfed94bed9..af81f3ffe70a7ab555e1d6437621e22fecf784b1 100644 --- a/examples/movements/movements.c +++ b/examples/movements/movements.c @@ -6,7 +6,7 @@ #include "mtn_library.h" #include <stdlib.h> -typedef enum {wait_start,wait_walk_ready,wait_cmd,walk} main_states; +typedef enum {wait_start,wait_walk_ready,wait_cmd,walk,walk2} main_states; void user_init(void) { @@ -15,9 +15,19 @@ void user_init(void) balance_calibrate_gyro(); balance_enable_gyro(); mtn_lib_init(); - mtn_lib_set_start_foot(left_foot); } +typedef uint8_t (*fnct_ptr)(void); + +fnct_ptr fnct1=fast_walk_forward; +//fnct_ptr fnct1=walk_forward; +//fnct_ptr fnct1=walk_right; +//fnct_ptr fnct1=walk_backward_turn_left; + +fnct_ptr fnct2=turn_left; +//fnct_ptr fnct2=walk_left; +//fnct_ptr fnct2=walk_backward_turn_right; + void user_loop(void) { static main_states state=wait_start; @@ -26,37 +36,45 @@ void user_loop(void) { case wait_start: if(is_button_rising_edge(BTN_START)) { - action_set_page(31); + action_set_page(30); action_start_page(); state=wait_walk_ready; } else state=wait_start; - printf("state: wait_start\n"); break; case wait_walk_ready: if(is_action_running()) state=wait_walk_ready; else state=wait_cmd; - printf("state: wait_walk_ready\n"); break; case wait_cmd: if(is_button_rising_edge(BTN_UP)) { - fast_walk_forward(); + fnct1(); state=walk; } + else if(is_button_rising_edge(BTN_LEFT)) + { + fnct2(); + state=walk2; + } else state=wait_cmd; - printf("state: wait_cmd\n"); break; case walk: if(is_button_rising_edge(BTN_DOWN)) mtn_lib_stop_mtn(); - if(fast_walk_forward()==0x01) + if(fnct1()==0x01) state=wait_cmd; else state=walk; - printf("state: walk\n"); break; + case walk2: if(is_button_rising_edge(BTN_RIGHT)) + mtn_lib_stop_mtn(); + if(fnct2()==0x01) + state=wait_cmd; + else + state=walk2; + break; } } diff --git a/examples/movements/mtn_library.c b/examples/movements/mtn_library.c index 44a2fb553dc7c5da32f6215e0bbdb5c82c767b2b..63cb4cba312f48d827de8b82ffeedd92d687bfde 100644 --- a/examples/movements/mtn_library.c +++ b/examples/movements/mtn_library.c @@ -36,7 +36,7 @@ TPages mtn_pages[]={{F_S_L,F_S_R,F_M_L,F_M_R,F_E_L,F_E_R}, {FR_S_L,FR_S_R,FR_M_L,FR_M_R,FR_E_L,FR_E_R}, {BL_S_L,BL_S_R,BL_M_L,BL_M_R,BL_E_L,BL_E_R}, {BR_S_L,BR_S_R,BR_M_L,BR_M_R,BR_E_L,BR_E_R}, - {fst_F_L_S,fst_F_R_S,fst_F_R_L_M,fst_F_L_R_M,fst_F_L_E,fst_F_R_E}, + {fst_F_L_S,fst_F_R_S,fst_F_R_L_M,fst_F_L_R_M,fst_F_R_E,fst_F_L_E}, {fst_B_L_S,fst_B_R_S,fst_B_L_M,fst_B_R_M,fst_B_L_E,fst_B_R_E}}; /* private functions */ diff --git a/examples/sensors/sensors.c b/examples/sensors/sensors.c index ba3feb8153c41f2cccc352585bfb8a3a86a76843..a983364fd8a22a685263c61eff9c65af62814bba 100644 --- a/examples/sensors/sensors.c +++ b/examples/sensors/sensors.c @@ -37,7 +37,7 @@ void user_loop(void) else state=read_sensors; break; - case read_sensors: printf("CM510 ADC port 1: %d\n",get_adc_avg_channel(ADC_PORT_1)); + case read_sensors: printf("CM510 ADC port 1: %d\n",get_adc_avg_channel(ADC_PORT_2)); printf("Exp. Board compass: %d\n",exp_compass_get_avg_heading()); printf("Exp. Board ADC port 7: %d\n",exp_adc_get_avg_channel(ADC7)); break;