Closed weixingsun closed 5 years ago
You need to (1) activate USE_RX_MSP
in the firmware (which you did) and (2) enable the features via the CLI: feature RX_MSP
(see Sending and Receiving RC commands
in the README).
To see if USE_RX_MSP
is enabled, have a look at the message definition for MSP_RC
:
https://github.com/christianrauch/msp/blob/7ec316286cd20a0ecc9245e5c033fa055ea2923c/inc/msp/msp_msg.hpp#L424-L426
I.e. if USE_RX_MSP
is not enabled, but RX_MSP
is, you will get MSP_RC
messages with empty channels.
Great information, I would suggest to add these lines to README for anybody else to understand it clearly, thanks a lot!
The required settings for using MSP_SET_RAW_RC
are mentioned in the README.
That the MSP_RC
message has empty channels if USE_RX_MSP
is enabled, but RX_MSP
is not, is a betaflight specific behaviour and not part of the standard MSP protocol. I.e. the MSP_RC
message should always have the the correct number of channels. I am not documenting this behaviour since it's also not documented in betaflight and therefore not part of the public interface. It might change anytime without notification.
Hello I have problem when doing MSP_SET_RAW_RC via USB serial for my OMNIBUS F4 board (cleanflight) added #define USE_RX_MSP to src/main/target/OMNIBUSF4/target.h recompiled cleanflight 2.5 for my board, and flashed it to my board successfully. most MSP get codes work, but MSP_SET_RAW_RC function looks not working yet, how can I see if MSP_SET_RAW_RC is enabled for my board ? Thanks a lot!