mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-20 10:54:14 +01:00
LP-556 Change settings uavo to have two fields matching FirmwareIAPObj.
This commit is contained in:
parent
51923bb67f
commit
6c9c6cb3f3
@ -98,7 +98,7 @@ int32_t FirmwareIAPInitialize()
|
||||
|
||||
PIOS_BL_HELPER_FLASH_Read_Description(data.Description, FIRMWAREIAPOBJ_DESCRIPTION_NUMELEM);
|
||||
PIOS_SYS_SerialNumberGetBinary(data.CPUSerial);
|
||||
if (data.BoardRevision == 0 && data.BoardType == 0) {
|
||||
if (data.BoardType == 0) {
|
||||
data.BoardRevision = bdinfo->board_rev;
|
||||
data.BoardType = bdinfo->board_type;
|
||||
}
|
||||
|
@ -65,6 +65,19 @@ uintptr_t pios_user_fs_id;
|
||||
uint32_t pios_ws2811_id;
|
||||
#endif
|
||||
|
||||
static HwDiscoveryF4BareSettingsData boardHwSettings;
|
||||
|
||||
static void hwDiscoveryF4BareSettingsUpdatedCb(__attribute__((unused)) UAVObjEvent *ev)
|
||||
{
|
||||
HwDiscoveryF4BareSettingsData currentBoardHwSettings;
|
||||
|
||||
HwDiscoveryF4BareSettingsGet(¤tBoardHwSettings);
|
||||
|
||||
if (memcmp(¤tBoardHwSettings, &boardHwSettings, sizeof(HwDiscoveryF4BareSettingsData)) != 0) {
|
||||
ExtendedAlarmsSet(SYSTEMALARMS_ALARM_BOOTFAULT, SYSTEMALARMS_ALARM_CRITICAL, SYSTEMALARMS_EXTENDEDALARMSTATUS_REBOOTREQUIRED, 0);
|
||||
}
|
||||
}
|
||||
|
||||
static const PIOS_BOARD_IO_UART_Function flexiio_function_map[] = {
|
||||
[HWSETTINGS_RM_RCVRPORT_PPMTELEMETRY] = PIOS_BOARD_IO_UART_TELEMETRY,
|
||||
[HWSETTINGS_RM_RCVRPORT_PPMDEBUGCONSOLE] = PIOS_BOARD_IO_UART_DEBUGCONSOLE,
|
||||
@ -196,25 +209,20 @@ void PIOS_Board_Init(void)
|
||||
UAVObjInitialize();
|
||||
SETTINGS_INITIALISE_ALL;
|
||||
|
||||
HwPikoBLXSettingsInitialize();
|
||||
HwSPRacingF3EVOSettingsInitialize();
|
||||
HwSPRacingF3SettingsInitialize();
|
||||
HwTinyFISHSettingsInitialize();
|
||||
HwDiscoveryF4BareSettingsConnectCallback(hwDiscoveryF4BareSettingsUpdatedCb);
|
||||
HwDiscoveryF4BareSettingsGet(&boardHwSettings);
|
||||
|
||||
HwDiscoveryF4BareSettingsInitialize();
|
||||
if (boardHwSettings.BoardType != 0) {
|
||||
FirmwareIAPObjInitialize();
|
||||
|
||||
uint16_t boardId;
|
||||
HwDiscoveryF4BareSettingsBoardIdGet(&boardId);
|
||||
FirmwareIAPObjData iap;
|
||||
FirmwareIAPObjGet(&iap);
|
||||
|
||||
FirmwareIAPObjInitialize();
|
||||
iap.BoardType = boardHwSettings.BoardType;
|
||||
iap.BoardRevision = boardHwSettings.BoardRevision;
|
||||
|
||||
FirmwareIAPObjData iap;
|
||||
FirmwareIAPObjGet(&iap);
|
||||
|
||||
iap.BoardType = boardId >> 8;
|
||||
iap.BoardRevision = boardId & 0xff;
|
||||
|
||||
FirmwareIAPObjSet(&iap);
|
||||
FirmwareIAPObjSet(&iap);
|
||||
}
|
||||
|
||||
/* Initialize the alarms library */
|
||||
AlarmsInitialize();
|
||||
|
@ -1,7 +1,8 @@
|
||||
<xml>
|
||||
<object name="HwDiscoveryF4BareSettings" singleinstance="true" settings="true" category="System">
|
||||
<description>DiscoveryF4 Bare hardware configuration</description>
|
||||
<field name="BoardId" units="" type="uint16" elements="1" defaultvalue="0x0904" />
|
||||
<field name="BoardRevision" units="" type="uint16" elements="1" defaultvalue="0"/>
|
||||
<field name="BoardType" units="" type="uint8" elements="1" defaultvalue="0"/>
|
||||
<access gcs="readwrite" flight="readwrite"/>
|
||||
<telemetrygcs acked="true" updatemode="onchange" period="0"/>
|
||||
<telemetryflight acked="true" updatemode="onchange" period="0"/>
|
||||
|
Loading…
x
Reference in New Issue
Block a user