The form of the PX4 GUID is as follows:
offset:0 1 2 - 17
<ARCH MSD><ARCH LSD><MSD CPU UUID>...<LSD CPU UUID>
Where <ARCH MSD><ARCH LSD> are a monotonic ordinal number assigned by
PX4 to a chip architecture (PX4_SOC_ARCH_ID). The 2 bytes are used to
create a globally unique ID when prepended to a padded CPU ID.
In the case where the CPU's UUID is shorter than 16 bytes it will be
padded with 0's starting at offset [2] until
PX4_CPU_MFGUID_BYTE_LENGTH-PX4_CPU_UUID_BYTE_LENGTH -1
I.E. For the STM32
offset:0 1 2 3 4 5 6 - 17
<ARCH MSD><ARCH LSD>[0][0][0][0]<MSD CPU UUID>...<LSD CPU UUID>
I.E. For as CPU with a 16 byte UUID
offset:0 1 2 - 17
<ARCH MSD><ARCH LSD><MSD CPU UUID>...<LSD CPU UUID>
This will disable the fxos8701cq internal mag on
the NXPHlite. There are random noise spikes on the
HIGHRES_IMU.[x|y|x]mag. Even with all other SPI
devices shut down, the noise is still present.
The Simple HW detection was detecting the
Pixhack V3 as a mini.
This commit adds further discrimination, based on
the fact the Pixhack V3 left VDD_5V_PERIPH_EN
floating. Where a mini ,V2, V3 HW has it connected
to the active low enable of the VDD_5V_PERIPH and
VDD_5V_HIGHPOWER via a 10K pull down.
The detection enables the 40K pull up and samples
the pin. This reads back as a logical one on the
Pixhack V3, and a logical zero on the Mini.
Since the float is applied some 3.3 Ms post pin setting
at reset the 10 us should leave the 5 Volt supplies in
the on state because of the 10K pull down.
This is assuming typical 40K pullup 10K pull down
This results in typical 0.66V (.875V max) on the /EN pin
which should not be detected as a high on the TPS2041.
Since the only device on the bus is the barro, int or ext does
not apply. This will be fixed on the rev > RC15.
This defines an alias that can be used to condition the buss logic
connection logic px4_i2c_bus_external to return external.
Safety Switch is HW version dependent on having an PX4IO
So we init to a benign state with the _INIT definition
and use the non _INIT verion in the driver if the run time
decision is we do not have a PX4IO
The phyical led read was not returing the logical state
of the LED. Since they are active low, when on it was
returning 0 and the the negation operation in togggle
was makeing that a 1 which it already was.
Safety Switch is HW version dependent on having an PX4IO
So we init to a benign state with the _INIT definition
and provide the the non _INIT one for the driver to make a run time
decision to use it.
We also define the FMU GPIO_BTN_SAFETY and GPIO_LED_SAFETY alias
so the px4fmu will drrive will be built with the safety switch
code at compile time and have runtime control via the manifest
When BOARD_HAS_STATIC_MANIFEST is defined with a value of 1
and the board_config provides the BOARD_USES_PX4IO_VERSION
then the board_common will define
PX4_MFT_HW_SUPPORTED_PX4_MFT_PX4IO
When BOARD_HAS_STATIC_MANIFEST is defined with a value of 1
and the board_config provides the BOARD_USES_PX4IO_VERSION
then the board_common will define
PX4_MFT_HW_SUPPORTED_PX4_MFT_PX4IO