diff --git a/docs/Safety.md b/docs/Safety.md index e8c4d59a3c..09219d7f69 100644 --- a/docs/Safety.md +++ b/docs/Safety.md @@ -4,5 +4,14 @@ As many can attest, multirotors and RC models in general can be very dangerous, * **NEVER** arm your model with propellers fitted unless you intend to fly! * **Always** remove your propellers if you are setting up for the first time, flashing firmware, or if in any doubt. +## Before installing the Flight Controller in your craft + +Please consult the Cli.md, Controls.md, Failsafe.md and Modes.md, documentations for further important information and familiarisation with CleanFlight's terminolgies. + +You are highly advised to use the Receiver tab in CleanFlight Configurator, making sure your Rx channel values are centered at 1500 (1520 for Futaba RC) and Min/Max values are reached when controls are operated. +The referenced values for each channel, have marked impact on the operation of Flight Controller and its Flight Modes. + +You may have to adjust your channel endpoints and trims/sub-trims, on your RC transmitter, to achieve the expected values. + ## Feature MOTOR_STOP The default Cleanflight configuration has the MOTOR_STOP feature DISABLED by default. What this means is that as soon as the controller is armed, the propellers *WILL* begin spinning at low speed. It is recommended that this setting be retained as it provides a good visual indication that the craft is armed. You can read more about arming and setting the MOTOR_STOP feature if desired in the relevant sections of the manual. diff --git a/src/main/io/serial_msp.c b/src/main/io/serial_msp.c index fd5e070c73..037f231e95 100644 --- a/src/main/io/serial_msp.c +++ b/src/main/io/serial_msp.c @@ -890,7 +890,7 @@ static bool processOutCommand(uint8_t cmdMSP) serialize16((int16_t)constrain(amperage, -0x8000, 0x7FFF)); // send amperage in 0.01 A steps, range is -320A to 320A break; case MSP_RC_TUNING: - headSerialReply(8); + headSerialReply(8 + 2);//allow for returning tpa_breakpoint serialize8(currentControlRateProfile->rcRate8); serialize8(currentControlRateProfile->rcExpo8); for (i = 0 ; i < 3; i++) { @@ -899,6 +899,8 @@ static bool processOutCommand(uint8_t cmdMSP) serialize8(currentControlRateProfile->dynThrPID); serialize8(currentControlRateProfile->thrMid8); serialize8(currentControlRateProfile->thrExpo8); + //Configurator pid-tuning can allow tpa_breakpoint update, agnostic if older Configurator versions are used + serialize16(currentControlRateProfile->tpa_breakpoint); break; case MSP_PID: headSerialReply(3 * PID_ITEM_COUNT); @@ -1326,7 +1328,7 @@ static bool processInCommand(void) break; case MSP_SET_RC_TUNING: - if (currentPort->dataSize == 8) { + if (currentPort->dataSize == 10) {//allow for tpa_breakpoint currentControlRateProfile->rcRate8 = read8(); currentControlRateProfile->rcExpo8 = read8(); for (i = 0; i < 3; i++) { @@ -1335,6 +1337,7 @@ static bool processInCommand(void) currentControlRateProfile->dynThrPID = read8(); currentControlRateProfile->thrMid8 = read8(); currentControlRateProfile->thrExpo8 = read8(); + currentControlRateProfile->tpa_breakpoint = read16(); } else { headSerialError(0); }