X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Ftests%2Fbeacon_tsop%2Fcommands.c;h=253c8861afef0d43e1e4561a7cce3da8152296b3;hp=e938a73f1e41370272e4bd312e4db5107f80a3e6;hb=aeae9ffbe911b68824da692179a990e8e358a994;hpb=dccae820e0f5c68a3a9c496b63eb8d02102d6ebc diff --git a/projects/microb2010/tests/beacon_tsop/commands.c b/projects/microb2010/tests/beacon_tsop/commands.c index e938a73..253c886 100644 --- a/projects/microb2010/tests/beacon_tsop/commands.c +++ b/projects/microb2010/tests/beacon_tsop/commands.c @@ -32,7 +32,11 @@ #include #include #include +#include +#include +#include +#include "trigo.h" #include "main.h" /**********************************************************/ @@ -146,6 +150,52 @@ parse_pgm_inst_t cmd_debug_speed = { }, }; +/**********************************************************/ +/* Test */ + +/* this structure is filled when cmd_test is parsed successfully */ +struct cmd_test_result { + fixed_string_t arg0; +}; + +/* function called when cmd_test is parsed successfully */ +static void cmd_test_parsed(__attribute__((unused)) void *parsed_result, + __attribute__((unused)) void *data) +{ + point_t pos; + double a01 = 1.65; + double a12 = 2.12; + double a20 = 2.53; + uint16_t time1, time2; + + cli(); + time1 = TCNT3; + sei(); + + if (angles_to_posxy(&pos, a01, a12, a20) < 0) + printf_P(PSTR("error\n")); + + cli(); + time2 = TCNT3; + sei(); + + printf_P(PSTR("%2.2f %2.2f (t=%d)\n"), pos.x, pos.y, time2-time1); +} + +prog_char str_test_arg0[] = "test"; +parse_pgm_token_string_t cmd_test_arg0 = TOKEN_STRING_INITIALIZER(struct cmd_test_result, arg0, str_test_arg0); + +prog_char help_test[] = "Test the board"; +parse_pgm_inst_t cmd_test = { + .f = cmd_test_parsed, /* function to call */ + .data = NULL, /* 2nd arg of func */ + .help_str = help_test, + .tokens = { /* token list, NULL terminated */ + (prog_void *)&cmd_test_arg0, + NULL, + }, +}; + /**********************************************************/ /* in progmem */ @@ -155,5 +205,6 @@ parse_pgm_ctx_t main_ctx[] = { (parse_pgm_inst_t *)&cmd_reset, (parse_pgm_inst_t *)&cmd_debug_frame, (parse_pgm_inst_t *)&cmd_debug_speed, + (parse_pgm_inst_t *)&cmd_test, NULL, };