1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-03-01 18:29:16 +01:00

Refactor name of legacy servos, remove PID hard coding from the config

helper
This commit is contained in:
Fredrik Larson 2014-08-18 03:47:16 +10:00
parent 00ed28c983
commit 137a6e4308
5 changed files with 9 additions and 53 deletions

View File

@ -47,7 +47,7 @@ bool OutputPageFixedwing::validatePage()
if (ui->ServoTypeButton->isChecked()) { if (ui->ServoTypeButton->isChecked()) {
getWizard()->setActuatorType(SetupWizard::SERVO_DIGITAL); getWizard()->setActuatorType(SetupWizard::SERVO_DIGITAL);
} else { } else {
getWizard()->setActuatorType(SetupWizard::SERVO_LEGACY); getWizard()->setActuatorType(SetupWizard::SERVO_ANALOG);
} }
return true; return true;

View File

@ -314,7 +314,7 @@ QString SetupWizard::getSummaryText()
case ESC_RAPID: case ESC_RAPID:
summary.append(tr("Rapid ESC (400 Hz)")); summary.append(tr("Rapid ESC (400 Hz)"));
break; break;
case SERVO_LEGACY: case SERVO_ANALOG:
summary.append(tr("Analog Servos (50 Hz)")); summary.append(tr("Analog Servos (50 Hz)"));
break; break;
case SERVO_DIGITAL: case SERVO_DIGITAL:

View File

@ -42,7 +42,7 @@
const qint16 VehicleConfigurationHelper::LEGACY_ESC_FREQUENCE = 50; const qint16 VehicleConfigurationHelper::LEGACY_ESC_FREQUENCE = 50;
const qint16 VehicleConfigurationHelper::RAPID_ESC_FREQUENCE = 400; const qint16 VehicleConfigurationHelper::RAPID_ESC_FREQUENCE = 400;
const qint16 VehicleConfigurationHelper::LEGACY_SERVO_FREQUENCE = 50; const qint16 VehicleConfigurationHelper::ANALOG_SERVO_FREQUENCE = 50;
const qint16 VehicleConfigurationHelper::DIGITAL_SERVO_FREQUENCE = 333; const qint16 VehicleConfigurationHelper::DIGITAL_SERVO_FREQUENCE = 333;
VehicleConfigurationHelper::VehicleConfigurationHelper(VehicleConfigurationSource *configSource) VehicleConfigurationHelper::VehicleConfigurationHelper(VehicleConfigurationSource *configSource)
@ -336,13 +336,13 @@ void VehicleConfigurationHelper::applyActuatorConfiguration()
} }
for (quint16 i = 0; i < ActuatorSettings::CHANNELUPDATEFREQ_NUMELEM; i++) { for (quint16 i = 0; i < ActuatorSettings::CHANNELUPDATEFREQ_NUMELEM; i++) {
data.ChannelUpdateFreq[i] = LEGACY_SERVO_FREQUENCE; data.ChannelUpdateFreq[i] = ANALOG_SERVO_FREQUENCE;
} }
qint16 updateFrequence = LEGACY_SERVO_FREQUENCE; qint16 updateFrequence = ANALOG_SERVO_FREQUENCE;
switch (m_configSource->getActuatorType()) { switch (m_configSource->getActuatorType()) {
case VehicleConfigurationSource::SERVO_LEGACY: case VehicleConfigurationSource::SERVO_ANALOG:
updateFrequence = LEGACY_SERVO_FREQUENCE; updateFrequence = ANALOG_SERVO_FREQUENCE;
break; break;
case VehicleConfigurationSource::SERVO_DIGITAL: case VehicleConfigurationSource::SERVO_DIGITAL:
updateFrequence = DIGITAL_SERVO_FREQUENCE; updateFrequence = DIGITAL_SERVO_FREQUENCE;
@ -354,50 +354,6 @@ void VehicleConfigurationHelper::applyActuatorConfiguration()
actSettings->setData(data); actSettings->setData(data);
addModifiedObject(actSettings, tr("Writing actuator settings")); addModifiedObject(actSettings, tr("Writing actuator settings"));
// I think I need to add a saved stabilizationsettings object also.
// unfortunately not sure this is the right way to do it!
qDebug() << "Saving Fixed Wing Default PID Data\n";
/*
qDebug() << "Save Fixed Wing StabilizationBank object\n";
StabilizationBank *stabilizationBank = StabilizationBank::GetInstance(m_uavoManager);
StabilizationBank::DataFields stabBank = stabilizationBank->getData();
Values pulled from ./build/uavobject-synthetics/gcs/stabilizationbank.h
stabBank.PitchPI[StabilizationBank::PITCHPI_ILIMIT] = 1.123;
stabilizationBank->setData(stabBank);
addModifiedObject(stabilizationBank, tr("Writing stabilization bank"));
*/
qDebug() << "Save Fixed Wing StabilizationSettingsBank1 object\n";
// Values pulled from ./build/uavobject-synthetics/gcs/stabilizationsettingsbank1.h
StabilizationSettingsBank1 *stabilizationSettingsBank = StabilizationSettingsBank1::GetInstance(m_uavoManager);
StabilizationSettingsBank1::DataFields stabSettingsBank = stabilizationSettingsBank->getData();
stabSettingsBank.RollRatePID[StabilizationSettingsBank1::ROLLRATEPID_KP] = 2.420;
stabSettingsBank.RollRatePID[StabilizationSettingsBank1::ROLLRATEPID_KI] = 2.420;
stabSettingsBank.RollPI[StabilizationSettingsBank1::ROLLPI_KP] = 2.420;
stabSettingsBank.RollPI[StabilizationSettingsBank1::ROLLPI_KI] = 2.420;
stabSettingsBank.PitchRatePID[StabilizationSettingsBank1::PITCHRATEPID_KP] = 2.420;
stabSettingsBank.PitchRatePID[StabilizationSettingsBank1::PITCHRATEPID_KI] = 2.420;
stabSettingsBank.PitchPI[StabilizationSettingsBank1::PITCHPI_KP] = 2.420;
stabSettingsBank.PitchPI[StabilizationSettingsBank1::PITCHPI_KI] = 2.420;
stabSettingsBank.YawRatePID[StabilizationSettingsBank1::YAWRATEPID_KP] = 2.420;
stabSettingsBank.YawRatePID[StabilizationSettingsBank1::YAWRATEPID_KI] = 2.420;
stabSettingsBank.YawPI[StabilizationSettingsBank1::YAWPI_KP] = 2.420;
stabSettingsBank.YawPI[StabilizationSettingsBank1::YAWPI_KI] = 2.420;
// need to set max servo throw via iLimit here per my notes in http://forums.openpilot.org/topic/32356-gonna-give-revo-a-run-on-my-bixler-v1-any-suggestions/#entry252556
stabSettingsBank.PitchPI[StabilizationSettingsBank1::PITCHPI_ILIMIT] = 1.420;
stabSettingsBank.RollPI[StabilizationSettingsBank1::ROLLPI_ILIMIT] = 1.420;
stabSettingsBank.YawPI[StabilizationSettingsBank1::YAWPI_ILIMIT] = 1.420;
stabilizationSettingsBank->setData(stabSettingsBank);
addModifiedObject(stabilizationSettingsBank, tr("Writing stabilization bank 1 settings"));
// Set up model view image here? // Set up model view image here?
// loop through all the window instances and check which are of the type ModelViewGadget. // loop through all the window instances and check which are of the type ModelViewGadget.
// per m_thread on each instance setAcFileName(QString model_file_name) and then call reloadScene() on the same object. // per m_thread on each instance setAcFileName(QString model_file_name) and then call reloadScene() on the same object.

View File

@ -59,7 +59,7 @@ public:
bool setupHardwareSettings(bool save = true); bool setupHardwareSettings(bool save = true);
static const qint16 LEGACY_ESC_FREQUENCE; static const qint16 LEGACY_ESC_FREQUENCE;
static const qint16 RAPID_ESC_FREQUENCE; static const qint16 RAPID_ESC_FREQUENCE;
static const qint16 LEGACY_SERVO_FREQUENCE; static const qint16 ANALOG_SERVO_FREQUENCE;
static const qint16 DIGITAL_SERVO_FREQUENCE; static const qint16 DIGITAL_SERVO_FREQUENCE;

View File

@ -61,7 +61,7 @@ public:
MULTI_ROTOR_HEXA, MULTI_ROTOR_HEXA_H, MULTI_ROTOR_HEXA_X, MULTI_ROTOR_HEXA_COAX_Y, MULTI_ROTOR_OCTO, MULTI_ROTOR_HEXA, MULTI_ROTOR_HEXA_H, MULTI_ROTOR_HEXA_X, MULTI_ROTOR_HEXA_COAX_Y, MULTI_ROTOR_OCTO,
MULTI_ROTOR_OCTO_X, MULTI_ROTOR_OCTO_V, MULTI_ROTOR_OCTO_COAX_X, MULTI_ROTOR_OCTO_COAX_PLUS, MULTI_ROTOR_OCTO_X, MULTI_ROTOR_OCTO_V, MULTI_ROTOR_OCTO_COAX_X, MULTI_ROTOR_OCTO_COAX_PLUS,
FIXED_WING_AILERON, FIXED_WING_VTAIL, FIXED_WING_ELEVON, HELI_CCPM }; FIXED_WING_AILERON, FIXED_WING_VTAIL, FIXED_WING_ELEVON, HELI_CCPM };
enum ACTUATOR_TYPE { ESC_RAPID, ESC_LEGACY, SERVO_LEGACY, SERVO_DIGITAL, ESC_UNKNOWN }; enum ACTUATOR_TYPE { ESC_RAPID, ESC_LEGACY, SERVO_ANALOG, SERVO_DIGITAL, ESC_UNKNOWN };
enum INPUT_TYPE { INPUT_PWM, INPUT_PPM, INPUT_SBUS, INPUT_DSMX10, INPUT_DSMX11, INPUT_DSM2, INPUT_UNKNOWN }; enum INPUT_TYPE { INPUT_PWM, INPUT_PPM, INPUT_SBUS, INPUT_DSMX10, INPUT_DSMX11, INPUT_DSM2, INPUT_UNKNOWN };
enum GPS_SETTING { GPS_UBX, GPS_NMEA, GPS_DISABLED }; enum GPS_SETTING { GPS_UBX, GPS_NMEA, GPS_DISABLED };