X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fdrivers%2Fao_quadrature.c;fp=src%2Fdrivers%2Fao_quadrature.c;h=b50f1bf5c90b4c1e52f0ac73a77ca55a47b26203;hp=97e67aa07bfd72f5cf934fbb33516afd363a509b;hb=c49bd3cb0c31a51fae79ddc92237cc309be9a242;hpb=d225adc3af9e5726d436cbbdbf8dcc5837e50804 diff --git a/src/drivers/ao_quadrature.c b/src/drivers/ao_quadrature.c index 97e67aa0..b50f1bf5 100644 --- a/src/drivers/ao_quadrature.c +++ b/src/drivers/ao_quadrature.c @@ -73,7 +73,7 @@ ao_quadrature_read(struct stm_gpio *gpio, uint8_t pin_a, uint8_t pin_b, struct a a = ao_debounce(a, &debounce_state[0]); b = ao_debounce(b, &debounce_state[1]); - return a | (b << 1); + return (uint16_t) (a | (b << 1)); } #define _ao_quadrature_get(q) ao_quadrature_read(port(q), bita(q), bitb(q), ao_debounce_state[q]) @@ -130,10 +130,10 @@ static void ao_quadrature_isr(void) { #if AO_QUADRATURE_COUNT > 0 - _ao_quadrature_set(0, _ao_quadrature_get(0)); + _ao_quadrature_set(0, (uint8_t) _ao_quadrature_get(0)); #endif #if AO_QUADRATURE_COUNT > 1 - _ao_quadrature_set(1, _ao_quadrature_get(1)); + _ao_quadrature_set(1, (uint8_t) _ao_quadrature_get(1)); #endif } @@ -163,7 +163,7 @@ ao_quadrature_wait(uint8_t q) static void ao_quadrature_test(void) { - uint8_t q; + uint32_t q; int32_t c; uint8_t s; #ifndef AO_QUADRATURE_SINGLE_CODE @@ -215,7 +215,7 @@ static const struct ao_cmds ao_quadrature_cmds[] = { #define init(q) do { \ ao_enable_input(port(q), bita(q), 0); \ ao_enable_input(port(q), bitb(q), 0); \ - _ao_quadrature_start_one(q, _ao_quadrature_get(q)); \ + _ao_quadrature_start_one(q, (uint8_t) _ao_quadrature_get(q)); \ } while (0) void