diff --git a/src/lib.rs b/src/lib.rs index 790cc58..99dc2a2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -28,13 +28,13 @@ where } fn write_color_channel(&self, data: u8) { - let (mut data, port_data) = (data, P::read()); + let mut data = data; unsafe { for _ in 0..8 { - P::write(port_data | P::PIN_POS); + P::set_high(); asm!("rjmp +0"); if data & MSB == 0 { - P::write(port_data & !P::PIN_POS); + P::set_low(); } asm!( " @@ -42,7 +42,7 @@ where rjmp +0 " ); - P::write(port_data & !P::PIN_POS); + P::set_low(); asm!( " rjmp +0 @@ -78,4 +78,3 @@ where Ok(()) } } -