Reads encoder input
(kind: &Kind, data: &[u8])
| 98 | |
| 99 | /// Reads encoder input |
| 100 | pub fn read_encoder_input(kind: &Kind, data: &[u8]) -> Result<StreamDeckInput, StreamDeckError> { |
| 101 | match &data[4] { |
| 102 | 0x0 => Ok(StreamDeckInput::EncoderStateChange(data[5..5 + kind.encoder_count() as usize].iter().map(|s| *s != 0).collect())), |
| 103 | |
| 104 | 0x1 => Ok(StreamDeckInput::EncoderTwist( |
| 105 | data[5..5 + kind.encoder_count() as usize].iter().map(|s| i8::from_le_bytes([*s])).collect(), |
| 106 | )), |
| 107 | |
| 108 | _ => Err(StreamDeckError::BadData), |
| 109 | } |
| 110 | } |
no test coverage detected