From: Keith Packard Date: Mon, 27 Aug 2012 20:41:13 +0000 (-0700) Subject: altos: Test multiple quadrature devices. Export quadrature count. X-Git-Tag: 1.1~67^2~7 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=708d49e498bbdc59bb5af9bf4ca5fcea5689547a altos: Test multiple quadrature devices. Export quadrature count. Signed-off-by: Keith Packard --- diff --git a/src/drivers/ao_quadrature.c b/src/drivers/ao_quadrature.c index 6a2c1bba..6cc2467a 100644 --- a/src/drivers/ao_quadrature.c +++ b/src/drivers/ao_quadrature.c @@ -88,38 +88,22 @@ ao_quadrature_wait(uint8_t q) static void ao_quadrature_test(void) { -#if 1 + uint8_t q; + + ao_cmd_decimal(); + q = ao_cmd_lex_i; for (;;) { int32_t c; flush(); - c = ao_quadrature_wait(0); + c = ao_quadrature_wait(q); printf ("new count %6d\n", c); if (c == 100) break; } -#endif -#if 0 - uint8_t a, old_a, b, old_b; - - old_a = 2; old_b = 2; - for (;;) { - a = ao_gpio_get(AO_QUADRATURE_PORT, AO_QUADRATURE_A, AO_QUADRATURE_A_PIN); - b = ao_gpio_get(AO_QUADRATURE_PORT, AO_QUADRATURE_B, AO_QUADRATURE_B_PIN); - if (a != old_a || b != old_b) { - printf ("A %d B %d count %ld\n", a, b, ao_quadrature_count); - flush(); - ao_yield(); - old_a = a; - old_b = b; - } - if (ao_stdin_ready) - break; - } -#endif } static const struct ao_cmds ao_quadrature_cmds[] = { - { ao_quadrature_test, "q\0Test quadrature" }, + { ao_quadrature_test, "q \0Test quadrature" }, { 0, NULL } }; diff --git a/src/drivers/ao_quadrature.h b/src/drivers/ao_quadrature.h index f0b73b68..d7dda682 100644 --- a/src/drivers/ao_quadrature.h +++ b/src/drivers/ao_quadrature.h @@ -18,6 +18,8 @@ #ifndef _AO_QUADRATURE_H_ #define _AO_QUADRATURE_H_ +extern __xdata int32_t ao_quadrature_count[AO_QUADRATURE_COUNT]; + int32_t ao_quadrature_wait(uint8_t q);