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

Add support for new bus config message

parent 8aac00ff
......@@ -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
Row {
......
......@@ -49,11 +49,23 @@ void PowerComponentController::calibrateEsc(void)
_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)
{
disconnect(_uas, &UASInterface::textMessageReceived, this, &PowerComponentController::_handleUASTextMessage);
}
void PowerComponentController::_stopBusConfig(void)
{
_stopCalibration();
}
void PowerComponentController::_handleUASTextMessage(int uasId, int compId, int severity, QString text)
{
Q_UNUSED(compId);
......@@ -130,8 +142,28 @@ void PowerComponentController::_handleUASTextMessage(int uasId, int compId, int
return;
}
QString warningPrefix("calibration warning: ");
QString warningPrefix("config warning: ");
if (text.startsWith(warningPrefix)) {
_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:
~PowerComponentController();
Q_INVOKABLE void calibrateEsc(void);
Q_INVOKABLE void busConfigureActuators(void);
signals:
void oldFirmware(void);
......@@ -59,6 +60,7 @@ private slots:
private:
void _stopCalibration(void);
void _stopBusConfig(void);
QStringList _warningMessages;
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