summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Halbert <halbert@halwitz.org>2018-08-07 21:33:12 -0400
committerGitHub <noreply@github.com>2018-08-07 21:33:12 -0400
commit2e80f37709c9fd7b168b684452ec436c24651973 (patch)
treecb28ea07917cdc267a97f4e491be40abb7ca5ff3
parent08def6b51ecb9853ccbe21fc6feecbb18cc3e387 (diff)
parentb0dd645e27219f8a593f7c5af1339cebffeebfe8 (diff)
Merge pull request #1096 from tannewt/tune_neopixel
Retune neopixel timings on SAMD51. They were too slow.
-rw-r--r--ports/atmel-samd/common-hal/neopixel_write/__init__.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ports/atmel-samd/common-hal/neopixel_write/__init__.c b/ports/atmel-samd/common-hal/neopixel_write/__init__.c
index 5530d0408..31de2c207 100644
--- a/ports/atmel-samd/common-hal/neopixel_write/__init__.c
+++ b/ports/atmel-samd/common-hal/neopixel_write/__init__.c
@@ -111,14 +111,14 @@ void common_hal_neopixel_write(const digitalio_digitalinout_obj_t* digitalinout,
#ifdef SAMD51
delay_cycles(3);
#endif
- if(p & bitMask) {
+ if((p & bitMask) != 0) {
// This is the high delay unique to a one bit.
// For the SK6812 its 0.3us
#ifdef SAMD21
asm("nop; nop; nop; nop; nop; nop; nop;");
#endif
#ifdef SAMD51
- delay_cycles(11);
+ delay_cycles(3);
#endif
*clr = pinMask;
} else {
@@ -140,7 +140,7 @@ void common_hal_neopixel_write(const digitalio_digitalinout_obj_t* digitalinout,
asm("nop; nop; nop; nop; nop;");
#endif
#ifdef SAMD51
- delay_cycles(20);
+ delay_cycles(4);
#endif
} else {
if(ptr >= end) break;
@@ -151,7 +151,7 @@ void common_hal_neopixel_write(const digitalio_digitalinout_obj_t* digitalinout,
// above operations take.
// For the SK6812 its 0.6us +- 0.15us
#ifdef SAMD51
- delay_cycles(15);
+ delay_cycles(3);
#endif
}
}