summaryrefslogtreecommitdiff
path: root/shared-module
diff options
context:
space:
mode:
authorScott Shawcroft <scott.shawcroft@gmail.com>2016-12-09 19:27:41 -0800
committerScott Shawcroft <scott.shawcroft@gmail.com>2016-12-09 19:35:56 -0800
commitb6f1eebab30b0e687e07cc3e42d9db9fd48aab05 (patch)
tree0cbd3edb2a81de4df6d33a5775d9f9cb99b48e91 /shared-module
parent6225b89c764f8e9e44fc03f9544e9d2162bb0659 (diff)
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
Diffstat (limited to 'shared-module')
-rw-r--r--shared-module/bitbangio/SPI.c11
1 files changed, 4 insertions, 7 deletions
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);
}