X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=projects%2Fmicrob2010%2Fcobboard%2Fcs.c;h=31fa5e7e70b3ddcb20320bb69e68ad317b9d3597;hb=HEAD;hp=f8c71233cda4c39f4fdc81afd75cf7fbb20fb06d;hpb=2ec8afa4255b002db5cbcedaabfe2d2f0c924a16;p=aversive.git diff --git a/projects/microb2010/cobboard/cs.c b/projects/microb2010/cobboard/cs.c index f8c7123..31fa5e7 100644 --- a/projects/microb2010/cobboard/cs.c +++ b/projects/microb2010/cobboard/cs.c @@ -46,6 +46,7 @@ #include "main.h" #include "actuator.h" #include "spickle.h" +#include "shovel.h" /* called every 5 ms */ static void do_cs(__attribute__((unused)) void *dummy) @@ -124,8 +125,14 @@ void microb_cs_init(void) pid_set_out_shift(&cobboard.left_spickle.pid, 10); pid_set_derivate_filter(&cobboard.left_spickle.pid, 4); + /* quadramp */ + quadramp_init(&cobboard.left_spickle.qr); + quadramp_set_1st_order_vars(&cobboard.left_spickle.qr, 3000, 3000); /* set speed */ + quadramp_set_2nd_order_vars(&cobboard.left_spickle.qr, 0, 0); /* set accel */ + /* CS */ cs_init(&cobboard.left_spickle.cs); + cs_set_consign_filter(&cobboard.left_spickle.cs, quadramp_do_filter, &cobboard.left_spickle.qr); cs_set_correct_filter(&cobboard.left_spickle.cs, pid_do_filter, &cobboard.left_spickle.pid); cs_set_process_in(&cobboard.left_spickle.cs, spickle_set, LEFT_SPICKLE_PWM); cs_set_process_out(&cobboard.left_spickle.cs, encoders_spi_get_value, LEFT_SPICKLE_ENCODER); @@ -144,8 +151,14 @@ void microb_cs_init(void) pid_set_out_shift(&cobboard.right_spickle.pid, 10); pid_set_derivate_filter(&cobboard.right_spickle.pid, 4); + /* quadramp */ + quadramp_init(&cobboard.right_spickle.qr); + quadramp_set_1st_order_vars(&cobboard.right_spickle.qr, 0, 0); /* set speed */ + quadramp_set_2nd_order_vars(&cobboard.right_spickle.qr, 0, 0); /* set accel */ + /* CS */ cs_init(&cobboard.right_spickle.cs); + cs_set_consign_filter(&cobboard.right_spickle.cs, quadramp_do_filter, &cobboard.right_spickle.qr); cs_set_correct_filter(&cobboard.right_spickle.cs, pid_do_filter, &cobboard.right_spickle.pid); cs_set_process_in(&cobboard.right_spickle.cs, spickle_set, RIGHT_SPICKLE_PWM); cs_set_process_out(&cobboard.right_spickle.cs, encoders_spi_get_value, RIGHT_SPICKLE_ENCODER); @@ -173,7 +186,7 @@ void microb_cs_init(void) cs_init(&cobboard.shovel.cs); cs_set_consign_filter(&cobboard.shovel.cs, quadramp_do_filter, &cobboard.shovel.qr); cs_set_correct_filter(&cobboard.shovel.cs, pid_do_filter, &cobboard.shovel.pid); - cs_set_process_in(&cobboard.shovel.cs, pwm_ng_set, SHOVEL_PWM); + cs_set_process_in(&cobboard.shovel.cs, shovel_set, SHOVEL_PWM); cs_set_process_out(&cobboard.shovel.cs, encoders_spi_get_value, SHOVEL_ENCODER); cs_set_consign(&cobboard.shovel.cs, 0);