mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-11-29 07:24:13 +01:00
LP-556 Allow DiscoveryF4Bare to spoof own board id through FirmwareIAPObj.
This commit is contained in:
parent
4c9c3c202c
commit
51923bb67f
@ -96,10 +96,12 @@ int32_t FirmwareIAPInitialize()
|
|||||||
FirmwareIAPObjData data;
|
FirmwareIAPObjData data;
|
||||||
FirmwareIAPObjGet(&data);
|
FirmwareIAPObjGet(&data);
|
||||||
|
|
||||||
data.BoardType = bdinfo->board_type;
|
|
||||||
PIOS_BL_HELPER_FLASH_Read_Description(data.Description, FIRMWAREIAPOBJ_DESCRIPTION_NUMELEM);
|
PIOS_BL_HELPER_FLASH_Read_Description(data.Description, FIRMWAREIAPOBJ_DESCRIPTION_NUMELEM);
|
||||||
PIOS_SYS_SerialNumberGetBinary(data.CPUSerial);
|
PIOS_SYS_SerialNumberGetBinary(data.CPUSerial);
|
||||||
|
if (data.BoardRevision == 0 && data.BoardType == 0) {
|
||||||
data.BoardRevision = bdinfo->board_rev;
|
data.BoardRevision = bdinfo->board_rev;
|
||||||
|
data.BoardType = bdinfo->board_type;
|
||||||
|
}
|
||||||
data.BootloaderRevision = bdinfo->bl_rev;
|
data.BootloaderRevision = bdinfo->bl_rev;
|
||||||
data.ArmReset = 0;
|
data.ArmReset = 0;
|
||||||
data.crc = 0;
|
data.crc = 0;
|
||||||
|
@ -106,6 +106,11 @@ UAVOBJSRCFILENAMES += velocitydesired
|
|||||||
UAVOBJSRCFILENAMES += watchdogstatus
|
UAVOBJSRCFILENAMES += watchdogstatus
|
||||||
UAVOBJSRCFILENAMES += flightstatus
|
UAVOBJSRCFILENAMES += flightstatus
|
||||||
UAVOBJSRCFILENAMES += hwsettings
|
UAVOBJSRCFILENAMES += hwsettings
|
||||||
|
UAVOBJSRCFILENAMES += hwdiscoveryf4baresettings
|
||||||
|
UAVOBJSRCFILENAMES += hwpikoblxsettings
|
||||||
|
UAVOBJSRCFILENAMES += hwspracingf3evosettings
|
||||||
|
UAVOBJSRCFILENAMES += hwspracingf3settings
|
||||||
|
UAVOBJSRCFILENAMES += hwtinyfishsettings
|
||||||
UAVOBJSRCFILENAMES += receiveractivity
|
UAVOBJSRCFILENAMES += receiveractivity
|
||||||
UAVOBJSRCFILENAMES += receiverstatus
|
UAVOBJSRCFILENAMES += receiverstatus
|
||||||
UAVOBJSRCFILENAMES += cameradesired
|
UAVOBJSRCFILENAMES += cameradesired
|
||||||
|
@ -32,6 +32,13 @@
|
|||||||
#include <hwsettings.h>
|
#include <hwsettings.h>
|
||||||
#include <taskinfo.h>
|
#include <taskinfo.h>
|
||||||
#include <pios_ws2811.h>
|
#include <pios_ws2811.h>
|
||||||
|
#include "hwdiscoveryf4baresettings.h"
|
||||||
|
#include "firmwareiapobj.h"
|
||||||
|
|
||||||
|
#include "hwpikoblxsettings.h"
|
||||||
|
#include "hwspracingf3evosettings.h"
|
||||||
|
#include "hwspracingf3settings.h"
|
||||||
|
#include "hwtinyfishsettings.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef PIOS_INCLUDE_INSTRUMENTATION
|
#ifdef PIOS_INCLUDE_INSTRUMENTATION
|
||||||
@ -189,6 +196,26 @@ void PIOS_Board_Init(void)
|
|||||||
UAVObjInitialize();
|
UAVObjInitialize();
|
||||||
SETTINGS_INITIALISE_ALL;
|
SETTINGS_INITIALISE_ALL;
|
||||||
|
|
||||||
|
HwPikoBLXSettingsInitialize();
|
||||||
|
HwSPRacingF3EVOSettingsInitialize();
|
||||||
|
HwSPRacingF3SettingsInitialize();
|
||||||
|
HwTinyFISHSettingsInitialize();
|
||||||
|
|
||||||
|
HwDiscoveryF4BareSettingsInitialize();
|
||||||
|
|
||||||
|
uint16_t boardId;
|
||||||
|
HwDiscoveryF4BareSettingsBoardIdGet(&boardId);
|
||||||
|
|
||||||
|
FirmwareIAPObjInitialize();
|
||||||
|
|
||||||
|
FirmwareIAPObjData iap;
|
||||||
|
FirmwareIAPObjGet(&iap);
|
||||||
|
|
||||||
|
iap.BoardType = boardId >> 8;
|
||||||
|
iap.BoardRevision = boardId & 0xff;
|
||||||
|
|
||||||
|
FirmwareIAPObjSet(&iap);
|
||||||
|
|
||||||
/* Initialize the alarms library */
|
/* Initialize the alarms library */
|
||||||
AlarmsInitialize();
|
AlarmsInitialize();
|
||||||
|
|
||||||
|
@ -101,6 +101,7 @@ UAVOBJS = \
|
|||||||
$${UAVOBJ_XML_DIR}/hwspracingf3evosettings.xml \
|
$${UAVOBJ_XML_DIR}/hwspracingf3evosettings.xml \
|
||||||
$${UAVOBJ_XML_DIR}/hwpikoblxsettings.xml \
|
$${UAVOBJ_XML_DIR}/hwpikoblxsettings.xml \
|
||||||
$${UAVOBJ_XML_DIR}/hwtinyfishsettings.xml \
|
$${UAVOBJ_XML_DIR}/hwtinyfishsettings.xml \
|
||||||
|
$${UAVOBJ_XML_DIR}/hwdiscoveryf4baresettings.xml \
|
||||||
$${UAVOBJ_XML_DIR}/i2cstats.xml \
|
$${UAVOBJ_XML_DIR}/i2cstats.xml \
|
||||||
$${UAVOBJ_XML_DIR}/magsensor.xml \
|
$${UAVOBJ_XML_DIR}/magsensor.xml \
|
||||||
$${UAVOBJ_XML_DIR}/magstate.xml \
|
$${UAVOBJ_XML_DIR}/magstate.xml \
|
||||||
|
10
shared/uavobjectdefinition/hwdiscoveryf4baresettings.xml
Normal file
10
shared/uavobjectdefinition/hwdiscoveryf4baresettings.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<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" />
|
||||||
|
<access gcs="readwrite" flight="readwrite"/>
|
||||||
|
<telemetrygcs acked="true" updatemode="onchange" period="0"/>
|
||||||
|
<telemetryflight acked="true" updatemode="onchange" period="0"/>
|
||||||
|
<logging updatemode="manual" period="0"/>
|
||||||
|
</object>
|
||||||
|
</xml>
|
Loading…
Reference in New Issue
Block a user