Commit 143434f4 authored by Phillip Kocmoud's avatar Phillip Kocmoud Committed by Daniel Agar

Add support for the AUAV X2.1 Flight Controller (#4501)

* Fix minor spelling error

* Added support for the AUAV x2.1 Flight Controller
    also removed a duplicate entry for MindPX
    from src/comm/USBBoardInfo.json

Adds entries required to correctly identify, download and flash PX4
firmware to the AUAV X2.1 Flight Controller

* Update USBBoardInfo.json

Removed un-needed fallback entries. This has been tested!
parent d48c0084
...@@ -66,6 +66,7 @@ public: ...@@ -66,6 +66,7 @@ public:
static const int boardIDPX4FMUV4 = 11; ///< PX4 V4 board, as from USB PID static const int boardIDPX4FMUV4 = 11; ///< PX4 V4 board, as from USB PID
static const int boardIDPX4Flow = 6; ///< PX4 Flow board, as from USB PID static const int boardIDPX4Flow = 6; ///< PX4 Flow board, as from USB PID
static const int boardIDAeroCore = 98; ///< Gumstix AeroCore board, as from USB PID static const int boardIDAeroCore = 98; ///< Gumstix AeroCore board, as from USB PID
static const int boardIDAUAVX2_1 = 33; ///< AUAV X2.1 board, as from USB PID
static const int boardID3DRRadio = 78; ///< 3DR Radio. This is an arbitrary value unrelated to the PID static const int boardID3DRRadio = 78; ///< 3DR Radio. This is an arbitrary value unrelated to the PID
static const int boardIDMINDPXFMUV2 = 88; ///< MindPX V2 board, as from USB PID static const int boardIDMINDPXFMUV2 = 88; ///< MindPX V2 board, as from USB PID
static const int boardIDTAPV1 = 64; ///< TAP V1 board, as from USB PID static const int boardIDTAPV1 = 64; ///< TAP V1 board, as from USB PID
......
...@@ -301,7 +301,12 @@ void FirmwareUpgradeController::_initFirmwareHash() ...@@ -301,7 +301,12 @@ void FirmwareUpgradeController::_initFirmwareHash()
{ AutoPilotStackAPM, DeveloperFirmware, PlaneFirmware, "http://firmware.ardupilot.org/Plane/latest/PX4/ArduPlane-v1.px4"}, { AutoPilotStackAPM, DeveloperFirmware, PlaneFirmware, "http://firmware.ardupilot.org/Plane/latest/PX4/ArduPlane-v1.px4"},
{ AutoPilotStackAPM, DeveloperFirmware, RoverFirmware, "http://firmware.ardupilot.org/Rover/latest/PX4/APMrover2-v1.px4"} { AutoPilotStackAPM, DeveloperFirmware, RoverFirmware, "http://firmware.ardupilot.org/Rover/latest/PX4/APMrover2-v1.px4"}
}; };
//////////////////////////////////// AUAVX2_1 firmwares //////////////////////////////////////////////////
FirmwareToUrlElement_t rgAUAVX2_1FirmwareArray[] = {
{ AutoPilotStackPX4, StableFirmware, DefaultVehicleFirmware, "http://px4-travis.s3.amazonaws.com/Firmware/stable/auav-x21_default.px4"},
{ AutoPilotStackPX4, BetaFirmware, DefaultVehicleFirmware, "http://px4-travis.s3.amazonaws.com/Firmware/beta/auav-x21_default.px4"},
{ AutoPilotStackPX4, DeveloperFirmware, DefaultVehicleFirmware, "http://px4-travis.s3.amazonaws.com/Firmware/master/auav-x21_default.px4"},
};
//////////////////////////////////// MindPXFMUV2 firmwares ////////////////////////////////////////////////// //////////////////////////////////// MindPXFMUV2 firmwares //////////////////////////////////////////////////
FirmwareToUrlElement_t rgMindPXFMUV2FirmwareArray[] = { FirmwareToUrlElement_t rgMindPXFMUV2FirmwareArray[] = {
{ AutoPilotStackPX4, StableFirmware, DefaultVehicleFirmware, "http://px4-travis.s3.amazonaws.com/Firmware/stable/mindpx-v2_default.px4"}, { AutoPilotStackPX4, StableFirmware, DefaultVehicleFirmware, "http://px4-travis.s3.amazonaws.com/Firmware/stable/mindpx-v2_default.px4"},
...@@ -355,6 +360,12 @@ void FirmwareUpgradeController::_initFirmwareHash() ...@@ -355,6 +360,12 @@ void FirmwareUpgradeController::_initFirmwareHash()
_rgPX4FMUV1Firmware.insert(FirmwareIdentifier(element.stackType, element.firmwareType, element.vehicleType), element.url); _rgPX4FMUV1Firmware.insert(FirmwareIdentifier(element.stackType, element.firmwareType, element.vehicleType), element.url);
} }
size = sizeof(rgAUAVX2_1FirmwareArray)/sizeof(rgAUAVX2_1FirmwareArray[0]);
for (int i = 0; i < size; i++) {
const FirmwareToUrlElement_t& element = rgAUAVX2_1FirmwareArray[i];
_rgAUAVX2_1Firmware.insert(FirmwareIdentifier(element.stackType, element.firmwareType, element.vehicleType), element.url);
}
size = sizeof(rgMindPXFMUV2FirmwareArray)/sizeof(rgMindPXFMUV2FirmwareArray[0]); size = sizeof(rgMindPXFMUV2FirmwareArray)/sizeof(rgMindPXFMUV2FirmwareArray[0]);
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
const FirmwareToUrlElement_t& element = rgMindPXFMUV2FirmwareArray[i]; const FirmwareToUrlElement_t& element = rgMindPXFMUV2FirmwareArray[i];
...@@ -406,6 +417,8 @@ QHash<FirmwareUpgradeController::FirmwareIdentifier, QString>* FirmwareUpgradeCo ...@@ -406,6 +417,8 @@ QHash<FirmwareUpgradeController::FirmwareIdentifier, QString>* FirmwareUpgradeCo
return &_rgPX4FMUV4Firmware; return &_rgPX4FMUV4Firmware;
case Bootloader::boardIDAeroCore: case Bootloader::boardIDAeroCore:
return &_rgAeroCoreFirmware; return &_rgAeroCoreFirmware;
case Bootloader::boardIDAUAVX2_1:
return &_rgAUAVX2_1Firmware;
case Bootloader::boardIDMINDPXFMUV2: case Bootloader::boardIDMINDPXFMUV2:
return &_rgMindPXFMUV2Firmware; return &_rgMindPXFMUV2Firmware;
case Bootloader::boardIDTAPV1: case Bootloader::boardIDTAPV1:
......
...@@ -198,6 +198,7 @@ private: ...@@ -198,6 +198,7 @@ private:
QHash<FirmwareIdentifier, QString> _rgPX4FMUV2Firmware; QHash<FirmwareIdentifier, QString> _rgPX4FMUV2Firmware;
QHash<FirmwareIdentifier, QString> _rgAeroCoreFirmware; QHash<FirmwareIdentifier, QString> _rgAeroCoreFirmware;
QHash<FirmwareIdentifier, QString> _rgPX4FMUV1Firmware; QHash<FirmwareIdentifier, QString> _rgPX4FMUV1Firmware;
QHash<FirmwareIdentifier, QString> _rgAUAVX2_1Firmware;
QHash<FirmwareIdentifier, QString> _rgMindPXFMUV2Firmware; QHash<FirmwareIdentifier, QString> _rgMindPXFMUV2Firmware;
QHash<FirmwareIdentifier, QString> _rgTAPV1Firmware; QHash<FirmwareIdentifier, QString> _rgTAPV1Firmware;
QHash<FirmwareIdentifier, QString> _rgASCV1Firmware; QHash<FirmwareIdentifier, QString> _rgASCV1Firmware;
......
...@@ -43,6 +43,7 @@ public: ...@@ -43,6 +43,7 @@ public:
static const int pixhawkFMUV2ProductId = 17; ///< Product ID for Pixhawk V2 board static const int pixhawkFMUV2ProductId = 17; ///< Product ID for Pixhawk V2 board
static const int pixhawkFMUV2OldBootloaderProductId = 22; ///< Product ID for Bootloader on older Pixhawk V2 boards static const int pixhawkFMUV2OldBootloaderProductId = 22; ///< Product ID for Bootloader on older Pixhawk V2 boards
static const int pixhawkFMUV1ProductId = 16; ///< Product ID for PX4 FMU V1 board static const int pixhawkFMUV1ProductId = 16; ///< Product ID for PX4 FMU V1 board
static const int auavx2_1FMUV2ProductId = 33; ///< Product ID for AUAV X2.1 FMU V2 board
static const int AeroCoreProductId = 4097; ///< Product ID for the AeroCore board static const int AeroCoreProductId = 4097; ///< Product ID for the AeroCore board
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
{ "vendorID": 9900, "productID": 18, "boardClass": "Pixhawk", "name": "PX4 FMU V4" }, { "vendorID": 9900, "productID": 18, "boardClass": "Pixhawk", "name": "PX4 FMU V4" },
{ "vendorID": 9900, "productID": 22, "boardClass": "Pixhawk", "name": "PX4 FMU V2", "comment": "Bootloader on older Pixhawk V2 boards" }, { "vendorID": 9900, "productID": 22, "boardClass": "Pixhawk", "name": "PX4 FMU V2", "comment": "Bootloader on older Pixhawk V2 boards" },
{ "vendorID": 9900, "productID": 4097, "boardClass": "Pixhawk", "name": "AeroCore" }, { "vendorID": 9900, "productID": 4097, "boardClass": "Pixhawk", "name": "AeroCore" },
{ "vendorID": 9900, "productID": 33, "boardClass": "Pixhawk", "name": "AUAV X2.1 FMU V2" },
{ "vendorID": 9900, "productID": 48, "boardClass": "Pixhawk", "name": "MindPX FMU V2" }, { "vendorID": 9900, "productID": 48, "boardClass": "Pixhawk", "name": "MindPX FMU V2" },
{ "vendorID": 9900, "productID": 64, "boardClass": "Pixhawk", "name": "TAP V1" }, { "vendorID": 9900, "productID": 64, "boardClass": "Pixhawk", "name": "TAP V1" },
{ "vendorID": 9900, "productID": 65, "boardClass": "Pixhawk", "name": "ASC V1" }, { "vendorID": 9900, "productID": 65, "boardClass": "Pixhawk", "name": "ASC V1" },
...@@ -36,7 +37,6 @@ ...@@ -36,7 +37,6 @@
{ "regExp": "^PX4 FMU v1.x$", "boardClass": "Pixhawk" }, { "regExp": "^PX4 FMU v1.x$", "boardClass": "Pixhawk" },
{ "regExp": "^PX4 BL FMU v1.x$", "boardClass": "Pixhawk" }, { "regExp": "^PX4 BL FMU v1.x$", "boardClass": "Pixhawk" },
{ "regExp": "^MindPX FMU v2.x$", "boardClass": "Pixhawk" }, { "regExp": "^MindPX FMU v2.x$", "boardClass": "Pixhawk" },
{ "regExp": "^MindPX FMU v2.x$", "boardClass": "Pixhawk" },
{ "regExp": "^MindPX BL FMU v2.x$", "boardClass": "Pixhawk" }, { "regExp": "^MindPX BL FMU v2.x$", "boardClass": "Pixhawk" },
{ "regExp": "^PX4 TAP v1.x$", "boardClass": "Pixhawk" }, { "regExp": "^PX4 TAP v1.x$", "boardClass": "Pixhawk" },
{ "regExp": "^PX4 BL TAP v1.x$", "boardClass": "Pixhawk" }, { "regExp": "^PX4 BL TAP v1.x$", "boardClass": "Pixhawk" },
......
...@@ -128,7 +128,7 @@ QGCView { ...@@ -128,7 +128,7 @@ QGCView {
} }
} }
//----------------------------------------------------------------- //-----------------------------------------------------------------
//-- Miscelanous //-- Miscellanous
Item { Item {
width: qgcView.width * 0.8 width: qgcView.width * 0.8
height: miscLabel.height height: miscLabel.height
...@@ -136,7 +136,7 @@ QGCView { ...@@ -136,7 +136,7 @@ QGCView {
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
QGCLabel { QGCLabel {
id: miscLabel id: miscLabel
text: qsTr("Miscelaneous") text: qsTr("Miscellaneous")
font.family: ScreenTools.demiboldFontFamily font.family: ScreenTools.demiboldFontFamily
} }
} }
......
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