#if HAS_MMA655X
-#if 1
+#if 0
#define PRINTD(...) do { printf ("\r%5u %s: ", ao_tick_count, __func__); printf(__VA_ARGS__); } while(0)
#else
#define PRINTD(...)
ao_mma655x_reg_write(AO_MMA655X_AXISCFG,
AXISCFG_VALUE |
(1 << AO_MMA655X_AXISCFG_ST));
- for (i = 0; i < 10; i++) {
- a_st = ao_mma655x_value();
- printf ("SELF-TEST %2d = %6d\n", i, a_st);
- }
+ a_st = ao_mma655x_value();
stdefl = ao_mma655x_reg_read(AO_MMA655X_STDEFL);
(0 << AO_MMA655X_AXISCFG_ST));
a = ao_mma655x_value();
- for (i = 0; i < 10; i++) {
- a = ao_mma655x_value();
- printf("NORMAL %2d = %6d\n", i, a);
- }
-
ao_mma655x_reg_write(AO_MMA655X_DEVCFG,
DEVCFG_VALUE | (1 << AO_MMA655X_DEVCFG_ENDINIT));
s0 = ao_mma655x_reg_read(AO_MMA655X_SN0);
serial = lot & 0x1fff;
lot >>= 12;
pn = ao_mma655x_reg_read(AO_MMA655X_PN);
- printf ("MMA655X lot %d serial %d number %d\n", lot, serial, pn);
-
}
+uint16_t ao_mma655x_current;
+
static void
ao_mma655x_dump(void)
{
- ao_mma655x_setup();
- printf ("MMA655X value %d\n", ao_mma655x_value());
+ printf ("MMA655X value %d\n", ao_mma655x_current);
}
__code struct ao_cmds ao_mma655x_cmds[] = {
{
ao_mma655x_setup();
for (;;) {
- ao_data_ring[ao_data_head].mma655x = ao_mma655x_value();
+ ao_mma655x_current = ao_mma655x_value();
ao_arch_critical(
AO_DATA_PRESENT(AO_DATA_MMA655X);
AO_DATA_WAIT();
ao_cmd_register(&ao_mma655x_cmds[0]);
ao_spi_init_cs(AO_MMA655X_CS_PORT, (1 << AO_MMA655X_CS_PIN));
-// ao_add_task(&ao_mma655x_task, ao_mma655x, "mma655x");
+ ao_add_task(&ao_mma655x_task, ao_mma655x, "mma655x");
}
#endif