From 2e769e007add6caeb1804f03a69fee7bd2018f0e Mon Sep 17 00:00:00 2001 From: Daniel Garcia Date: Tue, 11 Mar 2014 16:46:08 -0700 Subject: Re-enable the extra bit output in the trinket code --- clockless_arm_sam.h | 7 ++++--- clockless_trinket.h | 40 +++++++++++++++++++--------------------- 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/clockless_arm_sam.h b/clockless_arm_sam.h index 5c418509..a09e0b3d 100644 --- a/clockless_arm_sam.h +++ b/clockless_arm_sam.h @@ -6,9 +6,10 @@ #if defined(__SAM3X8E__) -#define TOTAL ( (T1+2) + (T2+2) + (T3+2) ) -#define T1_MARK (TOTAL - (T1+2)) -#define T2_MARK (T1_MARK - (T2+2)) +#define TADJUST 1 +#define TOTAL ( (T1+TADJUST) + (T2+TADJUST) + (T3+TADJUST) ) +#define T1_MARK (TOTAL - (T1+TADJUST)) +#define T2_MARK (T1_MARK - (T2+TADJUST)) #define SCALE(S,V) scale8_video(S,V) // #define SCALE(S,V) scale8(S,V) diff --git a/clockless_trinket.h b/clockless_trinket.h index 259683ae..c2d9bf54 100644 --- a/clockless_trinket.h +++ b/clockless_trinket.h @@ -244,11 +244,9 @@ public: { // Loop beginning, does some stuff that's outside of the pixel write cycle, namely incrementing d0-2 and masking off // by the E values (see the definition ) - // LOOP; ADJDITHER2(d0,e0); ADJDITHER2(d1,e1); ADJDITHER2(d2,e2); - // CLC1; // Sum of the clock counts across each row should be 10 for 8Mhz, WS2811 // The values in the D1/D2/D3 indicate how many cycles the previous column takes // to allow things to line back up. @@ -267,12 +265,12 @@ public: HI1 D1(1) QLO2(b0, 2) SCROR14(b1,5) D2(4) LO1 SCALE12(b1,6) D3(2) HI1 D1(1) QLO2(b0, 1) RORSC14(b1,7) D2(4) LO1 ROR1(b1) CLC1 D3(2) HI1 D1(1) QLO2(b0, 0) D2(0) LO1 D3(0) - // switch(XTRA0) { - // case 4: HI1 D1(1) QLO2(b0,0) D2(0) LO1 D3(0); - // case 3: HI1 D1(1) QLO2(b0,0) D2(0) LO1 D3(0); - // case 2: HI1 D1(1) QLO2(b0,0) D2(0) LO1 D3(0); - // case 1: HI1 D1(1) QLO2(b0,0) D2(0) LO1 D3(0); - // } + switch(XTRA0) { + case 4: HI1 D1(1) QLO2(b0,0) D2(0) LO1 D3(0); + case 3: HI1 D1(1) QLO2(b0,0) D2(0) LO1 D3(0); + case 2: HI1 D1(1) QLO2(b0,0) D2(0) LO1 D3(0); + case 1: HI1 D1(1) QLO2(b0,0) D2(0) LO1 D3(0); + } HI1 D1(1) QLO2(b1, 7) LDSCL4(b2,O2) D2(3) LO1 PRESCALEA2(d2) D3(2) HI1 D1(1) QLO2(b1, 6) PRESCALEB3(d2) D2(3) LO1 SCALE22(b2,0) D3(2) HI1 D1(1) QLO2(b1, 5) RORSC24(b2,1) D2(4) LO1 ROR1(b2) CLC1 D3(2) @@ -281,12 +279,12 @@ public: HI1 D1(1) QLO2(b1, 2) SCROR24(b2,5) D2(4) LO1 SCALE22(b2,6) D3(2) HI1 D1(1) QLO2(b1, 1) RORSC24(b2,7) D2(4) LO1 ROR1(b2) CLC1 D3(2) HI1 D1(1) QLO2(b1, 0) IDATA2 CLC1 D2(3) LO1 D3(0) - // switch(XTRA0) { - // case 4: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); - // case 3: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); - // case 2: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); - // case 1: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); - // } + switch(XTRA0) { + case 4: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); + case 3: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); + case 2: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); + case 1: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); + } HI1 D1(1) QLO2(b2, 7) LDSCL4(b0,O0) D2(3) LO1 PRESCALEA2(d0) D3(2) HI1 D1(1) QLO2(b2, 6) PRESCALEB3(d0) D2(3) LO1 SCALE02(b0,0) D3(2) HI1 D1(1) QLO2(b2, 5) RORSC04(b0,1) D2(4) LO1 ROR1(b0) CLC1 D3(2) @@ -296,12 +294,12 @@ public: HI1 D1(1) QLO2(b2, 1) RORSC04(b0,7) D2(4) LO1 ROR1(b0) CLC1 D3(2) // HI1 D1(1) QLO2(b2, 0) DCOUNT2 BRLOOP1 D2(3) LO1 D3(2) JMPLOOP2 HI1 D1(1) QLO2(b2, 0) D2(0) LO1 D3(0) - // switch(XTRA0) { - // case 4: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); - // case 3: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); - // case 2: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); - // case 1: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); - // } + switch(XTRA0) { + case 4: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); + case 3: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); + case 2: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); + case 1: HI1 D1(1) QLO2(b1,0) D2(0) LO1 D3(0); + } #else // no inline scaling - non-straight RGB ordering HI1 D1(1) QLO2(b0, 7) LD2(b1,O1) D2(2) LO1 D3(0) @@ -327,7 +325,7 @@ public: HI1 D1(1) QLO2(b2, 3) D2(0) LO1 D3(0) HI1 D1(1) QLO2(b2, 2) D2(0) LO1 D3(0) HI1 D1(1) QLO2(b2, 1) D2(0) LO1 D3(0) - HI1 D1(1) QLO2(b2, 0) DCOUNT2 BRLOOP1 D2(3) LO1 D3(2) JMPLOOP2 + HI1 D1(1) QLO2(b2, 0) D2(0) LO1 D3(0) #endif // DONE // D2(4) LO1 D3(0) -- cgit v1.2.3