1- //!
2- //! uint8_t up_rssi_ant1; // Uplink RSSI Antenna 1 (dBm * -1)
3- //! uint8_t up_rssi_ant2; // Uplink RSSI Antenna 2 (dBm * -1)
4- //! uint8_t up_link_quality; // Uplink Package success rate / Link quality (%)
5- //! int8_t up_snr; // Uplink SNR (dB)
6- //! uint8_t active_antenna; // number of currently best antenna
7- //! uint8_t rf_profile; // enum {4fps = 0 , 50fps, 150fps}
8- //! uint8_t up_rf_power; // enum {0mW = 0, 10mW, 25mW, 100mW,
9- //! // 500mW, 1000mW, 2000mW, 250mW, 50mW}
10- //! uint8_t down_rssi; // Downlink RSSI (dBm * -1)
11- //! uint8_t down_link_quality; // Downlink Package success rate / Link quality (%)
12- //! int8_t down_snr; // Downlink SNR (dB)
131use crate :: packets:: CrsfPacket ;
142use crate :: packets:: PacketType ;
153use crate :: CrsfParsingError ;
@@ -49,9 +37,7 @@ impl CrsfPacket for VtxTelemetry {
4937 }
5038
5139 fn from_bytes ( data : & [ u8 ] ) -> Result < Self , CrsfParsingError > {
52- if data. len ( ) != Self :: MIN_PAYLOAD_SIZE {
53- Err ( CrsfParsingError :: InvalidPayloadLength )
54- } else {
40+ if data. len ( ) == Self :: MIN_PAYLOAD_SIZE {
5541 Ok ( Self {
5642 up_rssi_ant1 : data[ 0 ] ,
5743 up_rssi_ant2 : data[ 1 ] ,
@@ -64,6 +50,8 @@ impl CrsfPacket for VtxTelemetry {
6450 down_link_quality : data[ 8 ] ,
6551 down_snr : data[ 9 ] as i8 ,
6652 } )
53+ } else {
54+ Err ( CrsfParsingError :: InvalidPayloadLength )
6755 }
6856 }
6957}
0 commit comments