@@ -436,16 +436,33 @@ uint8_t 255 (Max MSP Parameter)
436436uint8_t 0x01 (Parameter version 1)
437437*/
438438#ifdef USE_AOA
439- static void crsfFrameAoa (sbuf_t * dst )
439+ #define CRSF_AOA_MSP_SEQ_INCREMENT 1
440+
441+ static void crsfFrameAoaMsp (sbuf_t * dst )
440442{
441443 int16_t aoa = 0 ;
442- int16_t sideslip = 0 ;
443- aoaGetLatestData (& aoa , & sideslip );
444+ int16_t unused = 0 ;
445+ aoaGetLatestData (& aoa , & unused );
446+
447+ static uint8_t aoaMspSeq = 0 ;
448+
449+ uint8_t mspPayload [8 ];
450+ mspPayload [0 ] = 0x50 | (aoaMspSeq & 0x0F );
451+ mspPayload [1 ] = 0x00 ;
452+ mspPayload [2 ] = 0x08 ;
453+ mspPayload [3 ] = 0x1F ;
454+ mspPayload [4 ] = 0x02 ;
455+ mspPayload [5 ] = 0x00 ;
456+ mspPayload [6 ] = (uint8_t )(aoa & 0xFF );
457+ mspPayload [7 ] = (uint8_t )((aoa >> 8 ) & 0xFF );
458+
459+ aoaMspSeq += CRSF_AOA_MSP_SEQ_INCREMENT ;
444460
445- sbufWriteU8 (dst , CRSF_FRAME_AOA_PAYLOAD_SIZE + CRSF_FRAME_LENGTH_TYPE_CRC );
446- crsfSerialize8 (dst , CRSF_FRAMETYPE_AOA );
447- crsfSerialize16 (dst , (uint16_t )aoa );
448- crsfSerialize16 (dst , (uint16_t )sideslip );
461+ sbufWriteU8 (dst , sizeof (mspPayload ) + CRSF_FRAME_LENGTH_EXT_TYPE_CRC );
462+ crsfSerialize8 (dst , CRSF_FRAMETYPE_MSP_RESP );
463+ crsfSerialize8 (dst , CRSF_ADDRESS_RADIO_TRANSMITTER );
464+ crsfSerialize8 (dst , CRSF_ADDRESS_FLIGHT_CONTROLLER );
465+ crsfSerializeData (dst , mspPayload , sizeof (mspPayload ));
449466}
450467#endif
451468
@@ -566,7 +583,7 @@ static void processCrsf(void)
566583#ifdef USE_AOA
567584 if (currentSchedule & BV (CRSF_FRAME_AOA_INDEX )) {
568585 crsfInitializeFrame (dst );
569- crsfFrameAoa (dst );
586+ crsfFrameAoaMsp (dst );
570587 crsfFinalize (dst );
571588 }
572589#endif
@@ -690,8 +707,8 @@ int getCrsfFrame(uint8_t *frame, crsfFrameType_e frameType)
690707 crsfFrameVarioSensor (sbuf );
691708 break ;
692709#ifdef USE_AOA
693- case CRSF_FRAMETYPE_AOA :
694- crsfFrameAoa (sbuf );
710+ case CRSF_FRAMETYPE_MSP_RESP :
711+ crsfFrameAoaMsp (sbuf );
695712 break ;
696713#endif
697714 }
0 commit comments