Set the value of a single bit.
(&mut self, offset: usize, bit: u8, value: bool)
| 192 | |
| 193 | /// Set the value of a single bit. |
| 194 | fn set_bit(&mut self, offset: usize, bit: u8, value: bool) { |
| 195 | let byte = &mut self.bytes[offset]; |
| 196 | let mask = 1 << bit; |
| 197 | if value { |
| 198 | *byte |= mask; |
| 199 | } else { |
| 200 | *byte &= !mask; |
| 201 | } |
| 202 | } |
| 203 | |
| 204 | /// Apply a preset. The argument is a slice of (mask, value) bytes. |
| 205 | fn apply_preset(&mut self, values: &[(u8, u8)]) { |