projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ao-tools: don't do 'm 0' after 'E 0' since EasyMotor doesn't support it
[fw/altos]
/
src
/
drivers
/
ao_quadrature.c
diff --git
a/src/drivers/ao_quadrature.c
b/src/drivers/ao_quadrature.c
index 250e035fc3171f167c438da9ef92ba35e8668cd5..b50f1bf5c90b4c1e52f0ac73a77ca55a47b26203 100644
(file)
--- a/
src/drivers/ao_quadrature.c
+++ b/
src/drivers/ao_quadrature.c
@@
-22,7
+22,7
@@
#include <ao_fast_timer.h>
#include <ao_event.h>
#include <ao_fast_timer.h>
#include <ao_event.h>
-
__xdata
int32_t ao_quadrature_count[AO_QUADRATURE_COUNT];
+int32_t ao_quadrature_count[AO_QUADRATURE_COUNT];
#ifndef AO_QUADRATURE_SINGLE_CODE
static int8_t ao_quadrature_step[AO_QUADRATURE_COUNT];
#endif
#ifndef AO_QUADRATURE_SINGLE_CODE
static int8_t ao_quadrature_step[AO_QUADRATURE_COUNT];
#endif
@@
-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]);
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])
}
#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_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
#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
}
#endif
}
@@
-163,15
+163,14
@@
ao_quadrature_wait(uint8_t q)
static void
ao_quadrature_test(void)
{
static void
ao_quadrature_test(void)
{
- uint
8
_t q;
+ uint
32
_t q;
int32_t c;
uint8_t s;
#ifndef AO_QUADRATURE_SINGLE_CODE
int8_t t = 0;
#endif
int32_t c;
uint8_t s;
#ifndef AO_QUADRATURE_SINGLE_CODE
int8_t t = 0;
#endif
- ao_cmd_decimal();
- q = ao_cmd_lex_i;
+ q = ao_cmd_decimal();
if (q >= AO_QUADRATURE_COUNT)
ao_cmd_status = ao_cmd_syntax_error;
if (ao_cmd_status != ao_cmd_success)
if (q >= AO_QUADRATURE_COUNT)
ao_cmd_status = ao_cmd_syntax_error;
if (ao_cmd_status != ao_cmd_success)
@@
-192,7
+191,7
@@
ao_quadrature_test(void)
t = ao_quadrature_step[q];
printf("step %3d ", t);
#endif
t = ao_quadrature_step[q];
printf("step %3d ", t);
#endif
- printf ("count %3
d state %2x\n",
c, s);
+ printf ("count %3
ld state %2x\n", (long)
c, s);
flush();
}
}
flush();
}
}
@@
-216,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); \
#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
} while (0)
void