File tree Expand file tree Collapse file tree 1 file changed +8
-7
lines changed Expand file tree Collapse file tree 1 file changed +8
-7
lines changed Original file line number Diff line number Diff line change @@ -27,20 +27,21 @@ where
27
27
/// Write a single color for ws2812 devices
28
28
fn write_color ( & mut self , data : Color ) {
29
29
let mut serial_bits = ( data. g as u32 ) << 16 | ( data. r as u32 ) << 8 | ( data. b as u32 ) << 0 ;
30
- // Wait until a timer period has gone by, so we have clean timing
31
- block ! ( self . timer. wait( ) ) . ok ( ) ;
32
30
for _ in 0 ..24 {
33
- self . pin . set_high ( ) ;
34
- block ! ( self . timer. wait( ) ) . ok ( ) ;
35
31
if ( serial_bits & 0x00800000 ) != 0 {
32
+ block ! ( self . timer. wait( ) ) . ok ( ) ;
36
33
self . pin . set_high ( ) ;
34
+ block ! ( self . timer. wait( ) ) . ok ( ) ;
35
+ block ! ( self . timer. wait( ) ) . ok ( ) ;
36
+ self . pin . set_low ( ) ;
37
37
} else {
38
+ block ! ( self . timer. wait( ) ) . ok ( ) ;
39
+ self . pin . set_high ( ) ;
40
+ block ! ( self . timer. wait( ) ) . ok ( ) ;
38
41
self . pin . set_low ( ) ;
42
+ block ! ( self . timer. wait( ) ) . ok ( ) ;
39
43
}
40
- block ! ( self . timer. wait( ) ) . ok ( ) ;
41
- self . pin . set_low ( ) ;
42
44
serial_bits <<= 1 ;
43
- block ! ( self . timer. wait( ) ) . ok ( ) ;
44
45
}
45
46
}
46
47
}
You can’t perform that action at this time.
0 commit comments