From b6f1eebab30b0e687e07cc3e42d9db9fd48aab05 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Fri, 9 Dec 2016 19:27:41 -0800 Subject: atmel-samd: Add APA102 support and flash more advanced status. The new sequence is as follows: * Solid blue during the boot/settings script. * Solid green during the main/code script. * After main while waiting to enter repl or reset: * Fading green once main is done successfully. * On error produce a series of flashes: * Long flash color of script. * Long flash color of error: * Green = IndentationError * Cyan = SyntaxError * White = NameError * Orange = OSError * Yellow = Other error * Line number of the exception by digit. Number of flashes represents value. * Thousands = White * Hundreds = Blue * Tens = Yellow * Ones = Cyan * Off for a period and then repeats. At any point a write to the flash storage will flicker red. Fixes #63 --- shared-module/bitbangio/SPI.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'shared-module') diff --git a/shared-module/bitbangio/SPI.c b/shared-module/bitbangio/SPI.c index e1a5f7c27..5e8d73122 100644 --- a/shared-module/bitbangio/SPI.c +++ b/shared-module/bitbangio/SPI.c @@ -38,7 +38,7 @@ void shared_module_bitbangio_spi_construct(bitbangio_spi_obj_t *self, const mcu_pin_obj_t * clock, const mcu_pin_obj_t * mosi, - const mcu_pin_obj_t * miso, uint32_t baudrate) { + const mcu_pin_obj_t * miso) { digitalinout_result_t result = common_hal_nativeio_digitalinout_construct(&self->clock, clock); if (result != DIGITALINOUT_OK) { nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, @@ -81,7 +81,7 @@ void shared_module_bitbangio_spi_deinit(bitbangio_spi_obj_t *self) { } void shared_module_bitbangio_spi_configure(bitbangio_spi_obj_t *self, - uint32_t baudrate, uint8_t polarity, uint8_t phase) { + uint32_t baudrate, uint8_t polarity, uint8_t phase, uint8_t bits) { self->delay_half = 500000 / baudrate; // round delay_half up so that: actual_baudrate <= requested_baudrate if (500000 % baudrate != 0) { @@ -148,14 +148,11 @@ bool shared_module_bitbangio_spi_write(bitbangio_spi_obj_t *self, const uint8_t if (self->phase == 0) { common_hal_mcu_delay_us(delay_half); common_hal_nativeio_digitalinout_set_value(&self->clock, 1 - self->polarity); - } else { - common_hal_nativeio_digitalinout_set_value(&self->clock, 1 - self->polarity); - common_hal_mcu_delay_us(delay_half); - } - if (self->phase == 0) { common_hal_mcu_delay_us(delay_half); common_hal_nativeio_digitalinout_set_value(&self->clock, self->polarity); } else { + common_hal_nativeio_digitalinout_set_value(&self->clock, 1 - self->polarity); + common_hal_mcu_delay_us(delay_half); common_hal_nativeio_digitalinout_set_value(&self->clock, self->polarity); common_hal_mcu_delay_us(delay_half); } -- cgit v1.2.3