Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FastLED/FastLED.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Garcia <danielgarcia@gmail.com>2014-10-02 08:55:19 +0400
committerDaniel Garcia <danielgarcia@gmail.com>2014-10-02 08:55:19 +0400
commitf08fb6679f0c8b6c659713eb087275925be6a4b4 (patch)
tree3ea033b43e29120666f2d525dd72e610a1a15169
parentfec8a89aa8e6930e77ae735cc33ad3a9bf5d2098 (diff)
Tweak k20 timing for clockless chipsets, adjust for T3/3.1 clock speed
-rw-r--r--clockless_arm_k20.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/clockless_arm_k20.h b/clockless_arm_k20.h
index 366c46f1..b7f45ad6 100644
--- a/clockless_arm_k20.h
+++ b/clockless_arm_k20.h
@@ -24,7 +24,7 @@ public:
}
protected:
-
+
// set all the leds on the controller to a given color
virtual void showColor(const struct CRGB & rgbdata, int nLeds, CRGB scale) {
PixelController<RGB_ORDER> pixels(rgbdata, nLeds, scale, getDither());
@@ -79,10 +79,10 @@ protected:
next_mark = ARM_DWT_CYCCNT + (T1+T2+T3);
FastPin<DATA_PIN>::fastset(port, hi);
if(b&0x80) {
- while((next_mark - ARM_DWT_CYCCNT) > T3);
+ while((next_mark - ARM_DWT_CYCCNT) > (T3+(3*(F_CPU/24000000))));
FastPin<DATA_PIN>::fastset(port, lo);
} else {
- while((next_mark - ARM_DWT_CYCCNT) > (T2+T3+1));
+ while((next_mark - ARM_DWT_CYCCNT) > (T2+T3+(2*(F_CPU/24000000))));
FastPin<DATA_PIN>::fastset(port, lo);
}
b <<= 1;
@@ -93,10 +93,10 @@ protected:
FastPin<DATA_PIN>::fastset(port, hi);
if(b&0x80) {
- while((next_mark - ARM_DWT_CYCCNT) > T3);
+ while((next_mark - ARM_DWT_CYCCNT) > (T3+(3*(F_CPU/24000000))));
FastPin<DATA_PIN>::fastset(port, lo);
} else {
- while((next_mark - ARM_DWT_CYCCNT) > (T2+T3+1));
+ while((next_mark - ARM_DWT_CYCCNT) > (T2+T3+(2*(F_CPU/24000000))));
FastPin<DATA_PIN>::fastset(port, lo);
}
}