X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2009%2Fmainboard%2Fcs.c;fp=projects%2Fmicrob2009%2Fmainboard%2Fcs.c;h=1fb83463fa48334d0df8089b344394537398735a;hp=ec70f9a2ecebf748b7c6fdb8e6f594ac7f8b1fb5;hb=fca037e03b1b0fe462ad19e848cd77fce7719e3c;hpb=4a33e94c3809e67674577509044653bac4a4d87a diff --git a/projects/microb2009/mainboard/cs.c b/projects/microb2009/mainboard/cs.c index ec70f9a..1fb8346 100644 --- a/projects/microb2009/mainboard/cs.c +++ b/projects/microb2009/mainboard/cs.c @@ -136,6 +136,13 @@ void dump_cs(const char *name, struct cs *cs) cs_get_out(cs)); } +uint32_t encmask = 0xFFFFFFFF; +int32_t my_encoders_get_value(void *enc) +{ + int32_t tmp = encoders_spi_get_value(enc); + return tmp & encmask; +} + void dump_pid(const char *name, struct pid_filter *pid) { printf_P(PSTR("%s P=% .8ld I=% .8ld D=% .8ld out=% .8ld\r\n"), @@ -153,9 +160,9 @@ void microb_cs_init(void) rs_set_left_pwm(&mainboard.rs, pwm_set_and_save, LEFT_PWM); rs_set_right_pwm(&mainboard.rs, pwm_set_and_save, RIGHT_PWM); /* increase gain to decrease dist, increase left and it will turn more left */ - rs_set_left_ext_encoder(&mainboard.rs, encoders_spi_get_value, + rs_set_left_ext_encoder(&mainboard.rs, my_encoders_get_value, LEFT_ENCODER, IMP_COEF * 1.0015); - rs_set_right_ext_encoder(&mainboard.rs, encoders_spi_get_value, + rs_set_right_ext_encoder(&mainboard.rs, my_encoders_get_value, RIGHT_ENCODER, IMP_COEF * -1.006); /* rs will use external encoders */ rs_set_flags(&mainboard.rs, RS_USE_EXT);