summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-06-19 22:44:16 -0700
committerKeith Packard <keithp@keithp.com>2013-06-19 22:44:16 -0700
commitd90c2fa650de4cdb008d5e2559463c08da8db934 (patch)
treedb452cc83135b716dc823a9da0001ab0a1a6f77a /src
parent572faa19b9a496866e3b589d5eb9f37a680206ab (diff)
altos: PCA9922 LED driver needs Enable driven low to latch values
Driving Enable high means anything going past on the clock and data pair is reflected on the LEDs, which isn't terribly useful Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src')
-rw-r--r--src/drivers/ao_pca9922.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/drivers/ao_pca9922.c b/src/drivers/ao_pca9922.c
index 6d8d18d8..fe070b88 100644
--- a/src/drivers/ao_pca9922.c
+++ b/src/drivers/ao_pca9922.c
@@ -30,9 +30,12 @@ ao_led_apply(void)
/* Don't try the SPI bus during initialization */
if (!ao_cur_task)
return;
- ao_spi_get_bit(AO_PCA9922_CS_PORT, AO_PCA9922_CS_PIN, AO_PCA9922_CS, AO_PCA9922_SPI_BUS, AO_SPI_SPEED_FAST);
+ ao_mutex_get(&ao_spi_mutex);
+ ao_spi_set_speed(AO_SPI_SPEED_FAST);
+ AO_PCA9922_CS = 1;
ao_spi_send(&ao_led_state, 1, AO_PCA9922_SPI_BUS);
- ao_spi_put_bit(AO_PCA9922_CS_PORT, AO_PCA9922_CS_PIN, AO_PCA9922_CS, AO_PCA9922_SPI_BUS);
+ AO_PCA9922_CS = 0;
+ ao_mutex_put(&ao_spi_mutex);
}
void