Commit 69d38e40 authored by Lorenz Meier's avatar Lorenz Meier

Add support for new bus config message

parent 8aac00ff
...@@ -263,6 +263,37 @@ QGCView { ...@@ -263,6 +263,37 @@ QGCView {
} }
} }
QGCLabel {
text: "UAVCAN ESC Configuration"
font.pixelSize: ScreenTools.mediumFontPixelSize
}
Rectangle {
width: parent.width
height: 140
color: palette.windowShade
Column {
anchors.margins: 10
anchors.fill: parent
spacing: 10
QGCLabel {
color: "yellow"
text: "<font color=\"yellow\">WARNING: Propellers must be removed from vehicle prior to performing UAVCAN ESC configuration.</font>"
}
QGCLabel {
text: "You must use USB connection for this operation."
}
QGCButton {
text: "Configure"
onClicked: controller.busConfigureActuators()
}
}
}
/* /*
* This is disabled for now * This is disabled for now
Row { Row {
......
...@@ -49,11 +49,23 @@ void PowerComponentController::calibrateEsc(void) ...@@ -49,11 +49,23 @@ void PowerComponentController::calibrateEsc(void)
_uas->startCalibration(UASInterface::StartCalibrationEsc); _uas->startCalibration(UASInterface::StartCalibrationEsc);
} }
void PowerComponentController::busConfigureActuators(void)
{
_warningMessages.clear();
connect(_uas, &UASInterface::textMessageReceived, this, &PowerComponentController::_handleUASTextMessage);
_uas->startBusConfig(UASInterface::StartBusConfigActuators);
}
void PowerComponentController::_stopCalibration(void) void PowerComponentController::_stopCalibration(void)
{ {
disconnect(_uas, &UASInterface::textMessageReceived, this, &PowerComponentController::_handleUASTextMessage); disconnect(_uas, &UASInterface::textMessageReceived, this, &PowerComponentController::_handleUASTextMessage);
} }
void PowerComponentController::_stopBusConfig(void)
{
_stopCalibration();
}
void PowerComponentController::_handleUASTextMessage(int uasId, int compId, int severity, QString text) void PowerComponentController::_handleUASTextMessage(int uasId, int compId, int severity, QString text)
{ {
Q_UNUSED(compId); Q_UNUSED(compId);
...@@ -130,8 +142,28 @@ void PowerComponentController::_handleUASTextMessage(int uasId, int compId, int ...@@ -130,8 +142,28 @@ void PowerComponentController::_handleUASTextMessage(int uasId, int compId, int
return; return;
} }
QString warningPrefix("calibration warning: "); QString warningPrefix("config warning: ");
if (text.startsWith(warningPrefix)) { if (text.startsWith(warningPrefix)) {
_warningMessages << text.right(text.length() - warningPrefix.length()); _warningMessages << text.right(text.length() - warningPrefix.length());
} }
QString busFailedPrefix("bus conf fail:");
if (text.startsWith(busFailedPrefix)) {
_stopBusConfig();
emit calibrationFailed(text.right(text.length() - failedPrefix.length()));
return;
}
QString busCompletePrefix("bus conf done:");
if (text.startsWith(calCompletePrefix)) {
_stopBusConfig();
emit calibrationSuccess(_warningMessages);
return;
}
QString busWarningPrefix("bus conf warn: ");
if (text.startsWith(busWarningPrefix)) {
_warningMessages << text.right(text.length() - warningPrefix.length());
}
} }
...@@ -43,6 +43,7 @@ public: ...@@ -43,6 +43,7 @@ public:
~PowerComponentController(); ~PowerComponentController();
Q_INVOKABLE void calibrateEsc(void); Q_INVOKABLE void calibrateEsc(void);
Q_INVOKABLE void busConfigureActuators(void);
signals: signals:
void oldFirmware(void); void oldFirmware(void);
...@@ -59,6 +60,7 @@ private slots: ...@@ -59,6 +60,7 @@ private slots:
private: private:
void _stopCalibration(void); void _stopCalibration(void);
void _stopBusConfig(void);
QStringList _warningMessages; QStringList _warningMessages;
static const int _neededFirmwareRev = 1; static const int _neededFirmwareRev = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment