diff options
author | Keith Packard <keithp@keithp.com> | 2013-06-19 22:44:16 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2013-06-19 22:44:16 -0700 |
commit | d90c2fa650de4cdb008d5e2559463c08da8db934 (patch) | |
tree | db452cc83135b716dc823a9da0001ab0a1a6f77a /src | |
parent | 572faa19b9a496866e3b589d5eb9f37a680206ab (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.c | 7 |
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 |