diff options
author | Daniel Garcia <danielgarcia@gmail.com> | 2014-10-02 08:55:19 +0400 |
---|---|---|
committer | Daniel Garcia <danielgarcia@gmail.com> | 2014-10-02 08:55:19 +0400 |
commit | f08fb6679f0c8b6c659713eb087275925be6a4b4 (patch) | |
tree | 3ea033b43e29120666f2d525dd72e610a1a15169 | |
parent | fec8a89aa8e6930e77ae735cc33ad3a9bf5d2098 (diff) |
Tweak k20 timing for clockless chipsets, adjust for T3/3.1 clock speed
-rw-r--r-- | clockless_arm_k20.h | 10 |
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); } } |