diff options
author | Keith Packard <keithp@keithp.com> | 2012-08-26 09:45:03 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2012-08-26 09:45:03 -0700 |
commit | ea4db73328e865fd658b573da256ca0004c69c61 (patch) | |
tree | 2889e3637b2c172f83ac27bd0637d18b414539af | |
parent | 89f1a685a02c7808cf03853aa9a5ee50c6baf49e (diff) |
altos: Add debug command for 74hc597 driver
This dumps the current state of the 74hc597 chip.
Note that this shows that the 74hc597 driver doesn't work, and that
the circuit used in telefire v0.1 can't work.
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r-- | src/drivers/ao_74hc497.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/drivers/ao_74hc497.c b/src/drivers/ao_74hc497.c index 93c544c3..4c13ee71 100644 --- a/src/drivers/ao_74hc497.c +++ b/src/drivers/ao_74hc497.c @@ -28,13 +28,28 @@ ao_74hc497_read(void) { static __xdata state; ao_spi_get_bit(AO_74HC497_CS_PORT, AO_74HC497_CS_PIN, AO_74HC497_CS, AO_74HC497_SPI_BUS, AO_SPI_SPEED_FAST); - ao_spi_send(&state, 1, AO_74HC497_SPI_BUS); + ao_spi_recv(&state, 1, AO_74HC497_SPI_BUS); ao_spi_put_bit(AO_74HC497_CS_PORT, AO_74HC497_CS_PIN, AO_74HC497_CS, AO_74HC497_SPI_BUS); return state; } +static void +ao_74hc497_cmd(void) +{ + uint8_t v; + + v = ao_74hc497_read(); + printf ("Switches: 0x%02x\n", v); +} + +static const struct ao_cmds ao_74hc497_cmds[] = { + { ao_74hc497_cmd, "L\0Show 74hc497" }, + { 0, NULL } +}; + void ao_74hc497_init(void) { ao_enable_output(AO_74HC497_CS_PORT, AO_74HC497_CS_PIN, AO_74HC497_CS, 1); + ao_cmd_register(&ao_74hc497_cmds[0]); } |