mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-12-02 10:24:11 +01:00
Merge branch 'Brian-PipXtreme-V2' of ssh://git.openpilot.org/OpenPilot into Brian-PipXtreme-V2
This commit is contained in:
commit
09754ffda5
@ -91,7 +91,7 @@ PHInstHandle PHInitialize(PacketHandlerConfig *cfg)
|
||||
data->lock = xSemaphoreCreateRecursiveMutex();
|
||||
|
||||
// Initialize the ECC library.
|
||||
initialize_ecc();
|
||||
initialize_ecc();
|
||||
|
||||
// Return the structure.
|
||||
return (PHInstHandle)data;
|
||||
|
@ -691,6 +691,7 @@ static void radioStatusTask(void *parameters)
|
||||
PipXSettingsPairIDGet(&pairID);
|
||||
|
||||
// Update the status
|
||||
PIOS_BL_HELPER_FLASH_Read_Description(pipxStatus.Description, PIPXSTATUS_DESCRIPTION_NUMELEM);
|
||||
pipxStatus.DeviceID = PIOS_RFM22B_DeviceID(pios_rfm22b_id);
|
||||
pipxStatus.RSSI = PIOS_RFM22B_RSSI(pios_rfm22b_id);
|
||||
pipxStatus.Retries = data->comTxRetries;
|
||||
|
1
flight/PipXtreme/Makefile
Executable file → Normal file
1
flight/PipXtreme/Makefile
Executable file → Normal file
@ -160,6 +160,7 @@ SRC += $(PIOSSTM32F10X)/pios_wdg.c
|
||||
SRC += $(PIOSSTM32F10X)/pios_tim.c
|
||||
SRC += $(PIOSSTM32F10X)/pios_pwm.c
|
||||
SRC += $(PIOSSTM32F10X)/pios_eeprom.c
|
||||
SRC += $(PIOSSTM32F10X)/pios_bl_helper.c
|
||||
|
||||
# PIOS USB related files (separated to make code maintenance more easy)
|
||||
SRC += $(PIOSSTM32F10X)/pios_usb.c
|
||||
|
@ -188,10 +188,29 @@ void ConfigPipXtremeWidget::updateStatus(UAVObject *object)
|
||||
// Update the Description field
|
||||
UAVObjectField* descField = object->getField("Description");
|
||||
if (descField) {
|
||||
/*
|
||||
* This looks like a binary with a description at the end
|
||||
* 4 bytes: header: "OpFw"
|
||||
* 4 bytes: git commit hash (short version of SHA1)
|
||||
* 4 bytes: Unix timestamp of last git commit
|
||||
* 2 bytes: target platform. Should follow same rule as BOARD_TYPE and BOARD_REVISION in board define files.
|
||||
* 26 bytes: commit tag if it is there, otherwise "Unreleased". Zero-padded
|
||||
* ---- 40 bytes limit ---
|
||||
* 20 bytes: SHA1 sum of the firmware.
|
||||
* 40 bytes: free for now.
|
||||
*/
|
||||
char buf[PipXStatus::DESCRIPTION_NUMELEM];
|
||||
for (unsigned int i = 0; i < PipXStatus::DESCRIPTION_NUMELEM; ++i)
|
||||
buf[i] = descField->getValue(i).toChar().toAscii();
|
||||
m_pipx->FirmwareVersion->setText(buf);
|
||||
for (unsigned int i = 0; i < 26; ++i)
|
||||
buf[i] = descField->getValue(i + 14).toChar().toAscii();
|
||||
buf[26] = '\0';
|
||||
QString descstr(buf);
|
||||
quint32 gitDate = descField->getValue(11).toChar().toAscii() & 0xFF;
|
||||
for (int i = 1; i < 4; i++) {
|
||||
gitDate = gitDate << 8;
|
||||
gitDate += descField->getValue(11-i).toChar().toAscii() & 0xFF;
|
||||
}
|
||||
QString date = QDateTime::fromTime_t(gitDate).toUTC().toString("yyyy-MM-dd HH:mm");
|
||||
m_pipx->FirmwareVersion->setText(descstr + " " + date);
|
||||
} else {
|
||||
qDebug() << "PipXtremeGadgetWidget: Count not read Description field.";
|
||||
}
|
||||
@ -224,20 +243,7 @@ void ConfigPipXtremeWidget::updateStatus(UAVObject *object)
|
||||
// Update the link state
|
||||
UAVObjectField* linkField = object->getField("LinkState");
|
||||
if (linkField) {
|
||||
const char *msg = "Unknown";
|
||||
switch (linkField->getValue().toInt())
|
||||
{
|
||||
case PipXStatus::LINKSTATE_DISCONNECTED:
|
||||
msg = "Disconnected";
|
||||
break;
|
||||
case PipXStatus::LINKSTATE_CONNECTING:
|
||||
msg = "Connecting";
|
||||
break;
|
||||
case PipXStatus::LINKSTATE_CONNECTED:
|
||||
msg = "Connected";
|
||||
break;
|
||||
}
|
||||
m_pipx->LinkState->setText(msg);
|
||||
m_pipx->LinkState->setText(linkField->getValue().toString());
|
||||
} else {
|
||||
qDebug() << "PipXtremeGadgetWidget: Count not read link state field.";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user