pub fn encode_controller_data( writer: &mut Vec<u8>, packet_number: u32, controller_data: ControllerData, ) -> Result<()>