for led jacket
Fork of WS2812 by
Diff: WS2812.cpp
- Revision:
- 2:645ab1279245
- Parent:
- 1:8910a1fcbdb0
diff -r 8910a1fcbdb0 -r 645ab1279245 WS2812.cpp --- a/WS2812.cpp Sat Dec 10 09:18:10 2016 +0000 +++ b/WS2812.cpp Wed Aug 16 23:24:49 2017 +0000 @@ -29,11 +29,28 @@ void WS2812::send0() { dataOut = 1; - //asm("nop"); -// asm("nop"); -// asm("nop"); - -//--------------hitung manual +//0.4uS (28 nops) + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); asm("nop"); asm("nop"); asm("nop"); @@ -42,62 +59,17 @@ asm("nop"); asm("nop"); dataOut = 0; - //asm("nop"); -// asm("nop"); -// asm("nop"); -// asm("nop"); -// asm("nop"); -// asm("nop"); -// -// asm("nop"); -// asm("nop"); -// asm("nop"); - -//-----------------hitung manual - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - +//0.85uS (59 nops) asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); - - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); - - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - - asm("nop"); - asm("nop"); asm("nop"); asm("nop"); asm("nop"); @@ -106,121 +78,133 @@ asm("nop"); asm("nop"); asm("nop"); - + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); - + asm("nop"); + asm("nop"); + asm("nop"); asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); asm("nop"); asm("nop"); } void WS2812::send1() { dataOut = 1; - //asm("nop"); -// asm("nop"); -// asm("nop"); -// asm("nop"); -// -// asm("nop"); -// asm("nop"); -// asm("nop"); -//----------------------------------- +//0.8uS (55nops) + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); - asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); - + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); - + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); + asm("nop"); asm("nop"); - + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); - - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); dataOut = 0; - // asm("nop"); -// asm("nop"); -// asm("nop"); -// -// asm("nop"); -// asm("nop"); -// asm("nop"); -//-----------------hitung manual +//0.45uS (30 nops) asm("nop"); - asm("nop"); - asm("nop"); + asm("nop"); asm("nop"); - asm("nop"); - - asm("nop"); + asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); - - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - asm("nop"); - - asm("nop"); + asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); - - asm("nop"); + asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); - + asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); - asm("nop"); - + asm("nop"); asm("nop"); asm("nop"); asm("nop");