From a6b3ca9418e9fb69a32ed2ac81e5fe8b2d439ca7 Mon Sep 17 00:00:00 2001 From: Olivier Matz Date: Sat, 6 Mar 2010 22:54:18 +0100 Subject: [PATCH] test board 2008 --- .../microb2010/tests/test_board2008/.config | 4 ++- .../tests/test_board2008/actuator.c | 4 +-- .../microb2010/tests/test_board2008/cmdline.c | 2 +- .../tests/test_board2008/commands_ax12.c | 2 +- .../tests/test_board2008/commands_cs.c | 2 +- .../tests/test_board2008/commands_gen.c | 2 +- .../tests/test_board2008/commands_mainboard.c | 2 +- .../tests/test_board2008/commands_traj.c | 2 +- projects/microb2010/tests/test_board2008/cs.c | 15 ++++++----- .../microb2010/tests/test_board2008/main.bin | Bin 68622 -> 70100 bytes .../microb2010/tests/test_board2008/main.c | 2 +- .../tests/test_board2008/strat_base.c | 2 +- .../tests/test_board2008/strat_utils.c | 24 +++++++++--------- 13 files changed, 33 insertions(+), 30 deletions(-) diff --git a/projects/microb2010/tests/test_board2008/.config b/projects/microb2010/tests/test_board2008/.config index f1528d4..9ce152f 100644 --- a/projects/microb2010/tests/test_board2008/.config +++ b/projects/microb2010/tests/test_board2008/.config @@ -83,6 +83,7 @@ CONFIG_MODULE_CIRBUF=y CONFIG_MODULE_FIXED_POINT=y CONFIG_MODULE_VECT2=y CONFIG_MODULE_GEOMETRY=y +# CONFIG_MODULE_HOSTSIM is not set CONFIG_MODULE_SCHEDULER=y CONFIG_MODULE_SCHEDULER_STATS=y # CONFIG_MODULE_SCHEDULER_CREATE_CONFIG is not set @@ -169,9 +170,10 @@ CONFIG_MODULE_ENCODERS_MICROB_CREATE_CONFIG=y # CONFIG_MODULE_ENCODERS_SPI_CREATE_CONFIG is not set # -# Robot specific modules +# Robot specific modules (fixed point lib may be needed) # CONFIG_MODULE_ROBOT_SYSTEM=y +# CONFIG_MODULE_ROBOT_SYSTEM_USE_F64 is not set # CONFIG_MODULE_ROBOT_SYSTEM_MOT_AND_EXT is not set CONFIG_MODULE_POSITION_MANAGER=y CONFIG_MODULE_COMPENSATE_CENTRIFUGAL_FORCE=y diff --git a/projects/microb2010/tests/test_board2008/actuator.c b/projects/microb2010/tests/test_board2008/actuator.c index 5e2f39a..8c09231 100644 --- a/projects/microb2010/tests/test_board2008/actuator.c +++ b/projects/microb2010/tests/test_board2008/actuator.c @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include #include @@ -51,7 +51,7 @@ static volatile uint8_t fessor_state = OFF; static volatile uint32_t fessor_pos_up = 35000; -static volatile uint32_t fessor_pos_down = 63500; +static volatile uint32_t fessor_pos_down = 0; static volatile uint32_t fessor_delay_up = 500; static volatile uint32_t fessor_delay_down = 2000; static volatile uint32_t delay = 0; diff --git a/projects/microb2010/tests/test_board2008/cmdline.c b/projects/microb2010/tests/test_board2008/cmdline.c index c584222..483d4b8 100644 --- a/projects/microb2010/tests/test_board2008/cmdline.c +++ b/projects/microb2010/tests/test_board2008/cmdline.c @@ -30,7 +30,7 @@ #include #include #include -#include +#include #include #include diff --git a/projects/microb2010/tests/test_board2008/commands_ax12.c b/projects/microb2010/tests/test_board2008/commands_ax12.c index 804e084..75616f7 100644 --- a/projects/microb2010/tests/test_board2008/commands_ax12.c +++ b/projects/microb2010/tests/test_board2008/commands_ax12.c @@ -30,7 +30,7 @@ #include #include #include -#include +#include #include #include diff --git a/projects/microb2010/tests/test_board2008/commands_cs.c b/projects/microb2010/tests/test_board2008/commands_cs.c index 7af6205..5bd97d3 100644 --- a/projects/microb2010/tests/test_board2008/commands_cs.c +++ b/projects/microb2010/tests/test_board2008/commands_cs.c @@ -29,7 +29,7 @@ #include #include -#include +#include #include #include diff --git a/projects/microb2010/tests/test_board2008/commands_gen.c b/projects/microb2010/tests/test_board2008/commands_gen.c index 084d2cb..8438f38 100644 --- a/projects/microb2010/tests/test_board2008/commands_gen.c +++ b/projects/microb2010/tests/test_board2008/commands_gen.c @@ -29,7 +29,7 @@ #include #include -#include +#include #include #include diff --git a/projects/microb2010/tests/test_board2008/commands_mainboard.c b/projects/microb2010/tests/test_board2008/commands_mainboard.c index de3e936..1fb35a7 100644 --- a/projects/microb2010/tests/test_board2008/commands_mainboard.c +++ b/projects/microb2010/tests/test_board2008/commands_mainboard.c @@ -30,7 +30,7 @@ #include #include -#include +#include #include #include diff --git a/projects/microb2010/tests/test_board2008/commands_traj.c b/projects/microb2010/tests/test_board2008/commands_traj.c index 691b8c0..74d116d 100644 --- a/projects/microb2010/tests/test_board2008/commands_traj.c +++ b/projects/microb2010/tests/test_board2008/commands_traj.c @@ -29,7 +29,7 @@ #include #include -#include +#include #include #include diff --git a/projects/microb2010/tests/test_board2008/cs.c b/projects/microb2010/tests/test_board2008/cs.c index 9736646..c2409a1 100644 --- a/projects/microb2010/tests/test_board2008/cs.c +++ b/projects/microb2010/tests/test_board2008/cs.c @@ -31,7 +31,7 @@ #include #include #include -#include +#include #include #include @@ -99,15 +99,16 @@ static void do_cs(void *dummy) cs_manage(&mainboard.angle.cs); if (mainboard.distance.on) cs_manage(&mainboard.distance.cs); - if (mainboard.fessor.on) + if (mainboard.fessor.on) { cs_manage(&mainboard.fessor.cs); + fessor_manage(); + } if (mainboard.wheel.on) cs_manage(&mainboard.wheel.cs); - if (mainboard.elevator.on) + if (mainboard.elevator.on) { cs_manage(&mainboard.elevator.cs); - - fessor_manage(); - elevator_manage(); + elevator_manage(); + } } if ((cpt & 1) && (mainboard.flags & DO_POS)) { /* about 1.5ms (worst case without centrifugal force @@ -305,7 +306,7 @@ void microb_cs_init(void) mainboard.angle.on = 0; mainboard.distance.on = 0; mainboard.fessor.on = 1; - mainboard.elevator.on = 1; + mainboard.elevator.on = 0; mainboard.wheel.on = 1; mainboard.flags |= DO_CS; diff --git a/projects/microb2010/tests/test_board2008/main.bin b/projects/microb2010/tests/test_board2008/main.bin index 253898008afc991e16a3e58d0888d4e3c8562e64..22a4acca72a0b5fbf29ef77e5aecdc5de24297fd 100755 GIT binary patch delta 29451 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 delta 28165 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 diff --git a/projects/microb2010/tests/test_board2008/main.c b/projects/microb2010/tests/test_board2008/main.c index 732bd73..c9a3293 100755 --- a/projects/microb2010/tests/test_board2008/main.c +++ b/projects/microb2010/tests/test_board2008/main.c @@ -33,7 +33,7 @@ #include #include #include -#include +#include #include #include diff --git a/projects/microb2010/tests/test_board2008/strat_base.c b/projects/microb2010/tests/test_board2008/strat_base.c index 9945e2c..ffd801e 100644 --- a/projects/microb2010/tests/test_board2008/strat_base.c +++ b/projects/microb2010/tests/test_board2008/strat_base.c @@ -30,7 +30,7 @@ #include #include -#include +#include #include #include diff --git a/projects/microb2010/tests/test_board2008/strat_utils.c b/projects/microb2010/tests/test_board2008/strat_utils.c index edd795a..2816744 100644 --- a/projects/microb2010/tests/test_board2008/strat_utils.c +++ b/projects/microb2010/tests/test_board2008/strat_utils.c @@ -29,7 +29,7 @@ #include #include -#include +#include #include #include @@ -77,17 +77,17 @@ int16_t simple_modulo_360(int16_t a) return a; } -/** do a modulo 2.pi -> [-Pi,+Pi], knowing that 'a' is in [-3Pi,+3Pi] */ -double simple_modulo_2pi(double a) -{ - if (a < -M_PI) { - a += M_2PI; - } - else if (a > M_PI) { - a -= M_2PI; - } - return a; -} +/* /\** do a modulo 2.pi -> [-Pi,+Pi], knowing that 'a' is in [-3Pi,+3Pi] *\/ */ +/* double simple_modulo_2pi(double a) */ +/* { */ +/* if (a < -M_PI) { */ +/* a += M_2PI; */ +/* } */ +/* else if (a > M_PI) { */ +/* a -= M_2PI; */ +/* } */ +/* return a; */ +/* } */ /* return the distance to a point in the area */ int16_t angle_abs_to_rel(int16_t a_abs) -- 2.20.1