Bug fix
This commit is contained in:
@@ -173,33 +173,24 @@ void FlightController::stopAllRotors() {
|
||||
|
||||
void FlightController::setHeightControllerParams(float p, float i, float d) {
|
||||
if (_status == DeviceStatus::Idle) {
|
||||
_heightController->Kp = p;
|
||||
_heightController->Ki = i;
|
||||
_heightController->Kd = d;
|
||||
_heightController->save();
|
||||
_heightController->setParams({.p = p, .i = i, .d = d});
|
||||
}
|
||||
}
|
||||
|
||||
void FlightController::setYawControllerParams(float p, float i, float d) {
|
||||
if (_status == DeviceStatus::Idle) {
|
||||
_yawController->Kp = p;
|
||||
_yawController->Ki = i;
|
||||
_yawController->Kd = d;
|
||||
_heightController->save();
|
||||
_heightController->setParams({.p = p, .i = i, .d = d});
|
||||
}
|
||||
}
|
||||
|
||||
void FlightController::setPitchControllerParams(float p, float i, float d) {
|
||||
if (_status == DeviceStatus::Idle) {
|
||||
_tailRotorController->Kp = p;
|
||||
_tailRotorController->Ki = i;
|
||||
_tailRotorController->Kd = d;
|
||||
_heightController->save();
|
||||
_heightController->setParams({.p = p, .i = i, .d = d});
|
||||
}
|
||||
}
|
||||
|
||||
PidSettings FlightController::pidSettings() const {
|
||||
PidSettings settings;
|
||||
PidSettings settings{};
|
||||
settings.flightController = {.p = _heightController->Kp, .i = _heightController->Ki, .d = _heightController->Kd};
|
||||
settings.yawController = {.p = _yawController->Kp, .i = _yawController->Ki, .d = _yawController->Kd};
|
||||
settings.pitchController = {.p = _tailRotorController->Kp, .i = _tailRotorController->Ki, .d = _tailRotorController->Kd};
|
||||
|
||||
@@ -26,13 +26,14 @@ public:
|
||||
this->Kp = params.p;
|
||||
this->Ki = params.i;
|
||||
this->Kd = params.d;
|
||||
save();
|
||||
}
|
||||
|
||||
std::shared_ptr<PidParams> getParams() {
|
||||
std::shared_ptr params = std::make_unique<PidParams>();
|
||||
params->p = Kp;
|
||||
params->i = Ki;
|
||||
params->d = Kd;
|
||||
PidParams getParams() {
|
||||
PidParams params{};
|
||||
params.p = Kp;
|
||||
params.i = Ki;
|
||||
params.d = Kd;
|
||||
return params;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,11 +17,11 @@ void setup() {
|
||||
new MPU(new MPU6050(MPU6050_DEFAULT_ADDRESS, &i2c)),
|
||||
new Kalman2DFilter(10.f, 1.f, 1.8f),
|
||||
new BatteryController(BATTERY_DATA_PIN, BATTERY_DATA_SWITCH_PIN)),
|
||||
new SavedPidRegulator(3.5f, 0.0015f, 0.01f, "HeightController"), // height
|
||||
new SavedPidRegulator(2.f, 12.f, 0.f, "YawController"), // yaw
|
||||
new SavedPidRegulator(3.5f, 0.0015f, 0.01f, "HeightControl"), // height
|
||||
new SavedPidRegulator(2.f, 12.f, 0.f, "YawControl"), // yaw
|
||||
new BrushedMotor(1, 2, 3, 4, 1),
|
||||
new BrushedMotor(1, 2, 3, 4, 1),
|
||||
new PIDController(0.6f, 3.5f, 0.03f, new BrushedMotor(1, 2, 3, 4, 3), "RollController"), // pitch
|
||||
new PIDController(0.6f, 3.5f, 0.03f, new BrushedMotor(1, 2, 3, 4, 3), "RollControl"), // pitch
|
||||
true)));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user