trajectories on hostsim
[aversive.git] / projects / microb2010 / mainboard / commands_cs.c
index a39ab07..272f1e9 100644 (file)
 #include <aversive/wait.h>
 #include <aversive/error.h>
 
+#include <hostsim.h>
 #include <ax12.h>
 #include <uart.h>
 #include <pwm_ng.h>
-#include <time.h>
+#include <clock_time.h>
 
 #include <pid.h>
 #include <quadramp.h>
@@ -60,9 +61,13 @@ struct csb_list {
 
 prog_char csb_angle_str[] = "angle";
 prog_char csb_distance_str[] = "distance";
+prog_char csb_left_cobroller_str[] = "left_cobroller";
+prog_char csb_right_cobroller_str[] = "right_cobroller";
 struct csb_list csb_list[] = {
        { .name = csb_angle_str, .csb = &mainboard.angle },
        { .name = csb_distance_str, .csb = &mainboard.distance },
+       { .name = csb_left_cobroller_str, .csb = &mainboard.left_cobroller },
+       { .name = csb_right_cobroller_str, .csb = &mainboard.right_cobroller },
 };
 
 struct cmd_cs_result {
@@ -71,7 +76,7 @@ struct cmd_cs_result {
 };
 
 /* token to be used for all cs-related commands */
-prog_char str_csb_name[] = "angle#distance";
+prog_char str_csb_name[] = "angle#distance#left_cobroller#right_cobroller";
 parse_pgm_token_string_t cmd_csb_name_tok = TOKEN_STRING_INITIALIZER(struct cmd_cs_result, csname, str_csb_name);
 
 struct cs_block *cs_from_name(const char *name)
@@ -189,7 +194,7 @@ static void cmd_speed_parsed(void *parsed_result, void *show)
        if (!show) 
                ramp_set_vars(&csb->ramp, res->s, res->s); /* set speed */
 
-       printf_P(PSTR("%s %lu\r\n"), 
+       printf_P(PSTR("%s %"PRIu32"\r\n"), 
                 res->cs.csname,
                 ext.r_b.var_pos);
 #else
@@ -376,7 +381,7 @@ static void cmd_maximum_parsed(void *parsed_result, void *show)
        if (!show)
                pid_set_maximums(&csb->pid, res->in, res->i, res->out);
 
-       printf_P(PSTR("maximum %s %lu %lu %lu\r\n"), 
+       printf_P(PSTR("maximum %s %"PRIu32" %"PRIu32" %"PRIu32"\r\n"), 
                 res->cs.csname,
                 pid_get_max_in(&csb->pid),
                 pid_get_max_I(&csb->pid),
@@ -457,7 +462,7 @@ static void cmd_quadramp_parsed(void *parsed_result, void *show)
                quadramp_set_2nd_order_vars(&csb->qr, res->ap, res->an);
        }
 
-       printf_P(PSTR("quadramp %s %ld %ld %ld %ld\r\n"), 
+       printf_P(PSTR("quadramp %s %"PRIi32" %"PRIi32" %"PRIi32" %"PRIi32"\r\n"), 
                 res->cs.csname,
                 csb->qr.var_2nd_ord_pos,
                 csb->qr.var_2nd_ord_neg,
@@ -619,7 +624,7 @@ static void cmd_blocking_i_parsed(void *parsed_result, void *show)
                bd_set_current_thresholds(&csb->bd, res->k1, res->k2,
                                          res->i, res->cpt);
 
-       printf_P(PSTR("%s %s %ld %ld %ld %d\r\n"), 
+       printf_P(PSTR("%s %s %"PRIi32" %"PRIi32" %"PRIi32" %d\r\n"), 
                 res->cs.cmdname,
                 res->cs.csname,
                 csb->bd.k1,