diff options
author | Daniel Garcia <dgarcia@dgarcia.net> | 2019-01-22 03:07:28 +0300 |
---|---|---|
committer | Daniel Garcia <dgarcia@dgarcia.net> | 2019-01-22 03:07:28 +0300 |
commit | 9a82836645ba806724c7fe8edc5f6b94c7642dfe (patch) | |
tree | d67eee89c95c89cf752eebbf041927545cbfd736 | |
parent | cb2ec1f45845d61d6c47faae83d2dde1120a2216 (diff) |
Get rid of Dx defines in trinket code for platforms that insist on using defines for their Dx pins
-rw-r--r-- | platforms/avr/clockless_trinket.h | 86 |
1 files changed, 43 insertions, 43 deletions
diff --git a/platforms/avr/clockless_trinket.h b/platforms/avr/clockless_trinket.h index 09546790..69f33d6a 100644 --- a/platforms/avr/clockless_trinket.h +++ b/platforms/avr/clockless_trinket.h @@ -71,9 +71,9 @@ template<> __attribute__((always_inline)) inline void _dc<20>(register uint8_t & #define DINTPIN(T,ADJ,PINADJ) (T-(PINADJ+ADJ)>0) ? _dc<T-(PINADJ+ADJ)>(loopvar) : _dc<0>(loopvar); #define DINT(T,ADJ) if(AVR_PIN_CYCLES(DATA_PIN)==1) { DINTPIN(T,ADJ,1) } else { DINTPIN(T,ADJ,2); } -#define D1(ADJ) DINT(T1,ADJ) -#define D2(ADJ) DINT(T2,ADJ) -#define D3(ADJ) DINT(T3,ADJ) +#define _D1(ADJ) DINT(T1,ADJ) +#define _D2(ADJ) DINT(T2,ADJ) +#define _D3(ADJ) DINT(T3,ADJ) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // @@ -394,56 +394,56 @@ protected: // Inline scaling - RGB ordering // DNOP - HI1 D1(1) QLO2(b0, 7) LDSCL4(b1,O1) D2(4) LO1 PRESCALEA2(d1) D3(2) - HI1 D1(1) QLO2(b0, 6) PRESCALEB4(d1) D2(4) LO1 SCALE12(b1,0) D3(2) - HI1 D1(1) QLO2(b0, 5) RORSC14(b1,1) D2(4) LO1 RORCLC2(b1) D3(2) - HI1 D1(1) QLO2(b0, 4) SCROR14(b1,2) D2(4) LO1 SCALE12(b1,3) D3(2) - HI1 D1(1) QLO2(b0, 3) RORSC14(b1,4) D2(4) LO1 RORCLC2(b1) D3(2) - 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 RORCLC2(b1) D3(2) - HI1 D1(1) QLO2(b0, 0) + HI1 _D1(1) QLO2(b0, 7) LDSCL4(b1,O1) _D2(4) LO1 PRESCALEA2(d1) _D3(2) + HI1 _D1(1) QLO2(b0, 6) PRESCALEB4(d1) _D2(4) LO1 SCALE12(b1,0) _D3(2) + HI1 _D1(1) QLO2(b0, 5) RORSC14(b1,1) _D2(4) LO1 RORCLC2(b1) _D3(2) + HI1 _D1(1) QLO2(b0, 4) SCROR14(b1,2) _D2(4) LO1 SCALE12(b1,3) _D3(2) + HI1 _D1(1) QLO2(b0, 3) RORSC14(b1,4) _D2(4) LO1 RORCLC2(b1) _D3(2) + 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 RORCLC2(b1) _D3(2) + HI1 _D1(1) QLO2(b0, 0) switch(XTRA0) { - case 4: D2(0) LO1 D3(0) HI1 D1(1) QLO2(b0,0) - case 3: D2(0) LO1 D3(0) HI1 D1(1) QLO2(b0,0) - case 2: D2(0) LO1 D3(0) HI1 D1(1) QLO2(b0,0) - case 1: D2(0) LO1 D3(0) HI1 D1(1) QLO2(b0,0) + case 4: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0) + case 3: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0) + case 2: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0) + case 1: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0) } - MOV_ADDDE14(b0,b1,d1,e1) D2(4) LO1 D3(0) - - HI1 D1(1) QLO2(b0, 7) LDSCL4(b1,O2) D2(4) LO1 PRESCALEA2(d2) D3(2) - HI1 D1(1) QLO2(b0, 6) PSBIDATA4(d2) D2(4) LO1 SCALE22(b1,0) D3(2) - HI1 D1(1) QLO2(b0, 5) RORSC24(b1,1) D2(4) LO1 RORCLC2(b1) D3(2) - HI1 D1(1) QLO2(b0, 4) SCROR24(b1,2) D2(4) LO1 SCALE22(b1,3) D3(2) - HI1 D1(1) QLO2(b0, 3) RORSC24(b1,4) D2(4) LO1 RORCLC2(b1) D3(2) - HI1 D1(1) QLO2(b0, 2) SCROR24(b1,5) D2(4) LO1 SCALE22(b1,6) D3(2) - HI1 D1(1) QLO2(b0, 1) RORSC24(b1,7) D2(4) LO1 RORCLC2(b1) D3(2) - HI1 D1(1) QLO2(b0, 0) + MOV_ADDDE14(b0,b1,d1,e1) _D2(4) LO1 _D3(0) + + HI1 _D1(1) QLO2(b0, 7) LDSCL4(b1,O2) _D2(4) LO1 PRESCALEA2(d2) _D3(2) + HI1 _D1(1) QLO2(b0, 6) PSBIDATA4(d2) _D2(4) LO1 SCALE22(b1,0) _D3(2) + HI1 _D1(1) QLO2(b0, 5) RORSC24(b1,1) _D2(4) LO1 RORCLC2(b1) _D3(2) + HI1 _D1(1) QLO2(b0, 4) SCROR24(b1,2) _D2(4) LO1 SCALE22(b1,3) _D3(2) + HI1 _D1(1) QLO2(b0, 3) RORSC24(b1,4) _D2(4) LO1 RORCLC2(b1) _D3(2) + HI1 _D1(1) QLO2(b0, 2) SCROR24(b1,5) _D2(4) LO1 SCALE22(b1,6) _D3(2) + HI1 _D1(1) QLO2(b0, 1) RORSC24(b1,7) _D2(4) LO1 RORCLC2(b1) _D3(2) + HI1 _D1(1) QLO2(b0, 0) switch(XTRA0) { - case 4: D2(0) LO1 D3(0) HI1 D1(1) QLO2(b0,0) - case 3: D2(0) LO1 D3(0) HI1 D1(1) QLO2(b0,0) - case 2: D2(0) LO1 D3(0) HI1 D1(1) QLO2(b0,0) - case 1: D2(0) LO1 D3(0) HI1 D1(1) QLO2(b0,0) + case 4: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0) + case 3: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0) + case 2: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0) + case 1: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0) } // Because Prescale on the middle byte also increments the data counter, // we have to do both halves of updating d2 here - negating it (in the // MOV_NEGD24 macro) and then adding E back into it - MOV_NEGD24(b0,b1,d2) D2(4) LO1 ADDDE1(d2,e2) D3(1) - HI1 D1(1) QLO2(b0, 7) LDSCL4(b1,O0) D2(4) LO1 PRESCALEA2(d0) D3(2) - HI1 D1(1) QLO2(b0, 6) PRESCALEB4(d0) D2(4) LO1 SCALE02(b1,0) D3(2) - HI1 D1(1) QLO2(b0, 5) RORSC04(b1,1) D2(4) LO1 RORCLC2(b1) D3(2) - HI1 D1(1) QLO2(b0, 4) SCROR04(b1,2) D2(4) LO1 SCALE02(b1,3) D3(2) - HI1 D1(1) QLO2(b0, 3) RORSC04(b1,4) D2(4) LO1 RORCLC2(b1) D3(2) - HI1 D1(1) QLO2(b0, 2) SCROR04(b1,5) D2(4) LO1 SCALE02(b1,6) D3(2) - HI1 D1(1) QLO2(b0, 1) RORSC04(b1,7) D2(4) LO1 RORCLC2(b1) D3(2) - HI1 D1(1) QLO2(b0, 0) + MOV_NEGD24(b0,b1,d2) _D2(4) LO1 ADDDE1(d2,e2) _D3(1) + HI1 _D1(1) QLO2(b0, 7) LDSCL4(b1,O0) _D2(4) LO1 PRESCALEA2(d0) _D3(2) + HI1 _D1(1) QLO2(b0, 6) PRESCALEB4(d0) _D2(4) LO1 SCALE02(b1,0) _D3(2) + HI1 _D1(1) QLO2(b0, 5) RORSC04(b1,1) _D2(4) LO1 RORCLC2(b1) _D3(2) + HI1 _D1(1) QLO2(b0, 4) SCROR04(b1,2) _D2(4) LO1 SCALE02(b1,3) _D3(2) + HI1 _D1(1) QLO2(b0, 3) RORSC04(b1,4) _D2(4) LO1 RORCLC2(b1) _D3(2) + HI1 _D1(1) QLO2(b0, 2) SCROR04(b1,5) _D2(4) LO1 SCALE02(b1,6) _D3(2) + HI1 _D1(1) QLO2(b0, 1) RORSC04(b1,7) _D2(4) LO1 RORCLC2(b1) _D3(2) + HI1 _D1(1) QLO2(b0, 0) switch(XTRA0) { - case 4: D2(0) LO1 D3(0) HI1 D1(1) QLO2(b0,0) - case 3: D2(0) LO1 D3(0) HI1 D1(1) QLO2(b0,0) - case 2: D2(0) LO1 D3(0) HI1 D1(1) QLO2(b0,0) - case 1: D2(0) LO1 D3(0) HI1 D1(1) QLO2(b0,0) + case 4: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0) + case 3: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0) + case 2: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0) + case 1: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0) } - MOV_ADDDE04(b0,b1,d0,e0) D2(4) LO1 D3(5) + MOV_ADDDE04(b0,b1,d0,e0) _D2(4) LO1 _D3(5) ENDLOOP5 } DONE; |