1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-16 21:05:35 +03:00

Merge pull request #601 from tricopterY/tricopterY-patch-1

Update serial_msp.c
This commit is contained in:
Dominic Clifton 2015-03-11 20:15:24 +01:00
commit f62b5c883d
2 changed files with 14 additions and 2 deletions

View file

@ -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.

View file

@ -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);
}