* NuttX cmake
* px4_macros:Pass the stringified predicate as second arg to static assert
CC_ASSERT mapes to the c++ static_assert or provides the same
funtionality for c via the other macros. The c++ static assert
takes 2 argumants the prdicate and a message. This fixes the
lacking second argument.
* Updated nuttx and apps submodule to upstream nuttx 7.21+==master
This is the latest uptake of upstream nuttx and apps.
* ROMFS generate with xxd instead of objcopy
* delete nuttx-patches
* NuttX update submodules to latest px4_nuttx-master
* fix nuttx apps and board dependency
* docker_run update to latest container 2017-08-29
* cmake ROMFS portable sed usage
* NuttX update submodules to latest px4_nuttx-master
Using new type of uint32_t for spi device and macros
that define a PX4 device on a given BUS and Chip Select
Refactored to pack the PX4 format in the new NuttX format
Define the default I2C buss frequncies that are backward compatible
with the existing code. While allowing it the defaults to be overridden
by a board config.
Based on the legacy STM32 code, the I2C buss numbering starts at 1.
The bus frequency is stored in a 0 based array. If px4_i2cbus_initialize
returns a valid device, then the _bus-1 will act as the index to the
busses frequency.
A board may define BOARD_NUMBER_I2C_BUSES - the number of I2C busses
it supports* and BOARD_I2C_BUS_CLOCK_INIT to initalize the bus
clocks for a given busses.
BOARD_NUMBER_I2C_BUSES - the number of busses including the *highest
number bus. If the board has 2 I2C
busses I2C1 and I2C3 BOARD_NUMBER_I2C_BUSES
would be set to 3
BOARD_I2C_BUS_CLOCK_INIT - Initalization for the bus frequencies
by bus. A call init, with a frequency
less then the value used for the
Initalization will result in the device
not starting becuase the buss runs too
fast for it.
FMUv4Pro and FMUv5 Spec added multi brick support
FMUv5 added SCALED_VDD_3V3_SENSORS
This change provides legacy (FMUv2) defaults for Power Bricks and
Sensor rail volatage source.
This prevents the compiler from optimising pdump. The error was:
Firmware/src/drivers/boards/common/board_crashdump.c:41:2: error: 'memset' writing 3240 bytes into a region of size 4 overflows the destination [-Werror=stringop-overflow=]
memset(pdump, 0, sizeof(fullcontext_s));
Remove the notion of legacy from the api. The board level code
will perform the traslation to lecacy format on the STM32.
new targets will not need to do this as there is no case
where the serial number were used by mfg for tracking.
Extend board common api to get mfguid and mfguid formatted
This adds an api that return the MFGUID as an array of bytes
or a string.
The data is returned with the MSD at index 0 and the LSD at
index PX4_CPU_MFGUID_BYTE_LENGTH-1.
Removed all reodering defines from the api and hal
This abstraction will support mcu's other than the stm32 family.
It moves the systemlib/mcu_version.c functionality to
common/stm32/board_mcu_version.c
This abstraction will support mcu's with longer ID's then the
stm32 family.
It provids a common interface for byte and 32 bit word access
to the UUID data and a facility to reorder it.
Define modes of reset and way to tell the system to enter
the bootloader via an api defined in board_common.h
If hardware or simulation deo not support the reset or
bootloader API and can define BOARD_HAS_NO_RESET and
BOARD_HAS_NO_BOOTLOADER respectivly.
1) Key the exsitance of the PX4IO HW based on BOARD_USES_PX4IO_VERSION
2) Set default PX4IO_FW_SEARCH_PATHS based on verions of the PXPIO HW
3) allow PX4IO_FW_SEARCH_PATHS to be overwritten if a board provides
BOARD_PX4IO_FW_SEARCH_PATHS
Prep to distrubte the magic numbers assgined in parameters.cpp
to the board_config.h
common/board_common.h will define:
1) BOARD_BATTERY[1|2]_V_DIV as 0.0f if not defined to ensure
the missing default trips a low voltage lockdown
2) BOARD_BATTERY[1|2]_A_PER_V as 0.0f if not defined to ensure
the default leads to an unrealistic current value.
return -EINVAL on any GPIO ioctl operation when there are
no GPIO pins defined in the board config. I.E.
BOARD_FMU_GPIO_TAB is not defined.
BOARD_FMU_GPIO_TAB is now optional and if it is defined
then the logical BOARD_HAS_FMU_GPIO is defined and
will enable the px4fmu driver to perform the physical GPIO
operations.
To simplify integration of an EEPROM device with a Write Protect
control pin, we add an overidable BOARD_EEPROM_WP_CTRL macro
the does nothing.
A board that provids the GPIO for WP should define
BOARD_EEPROM_WP_CTRL(_protected_true) that will set the WP GPIO
to the Protected state when passed true.
boards define BOARD_NAME, so board_name() is not necessary. HW_ARCH was
just a wrapper around board_name().
This patch simplifies to having only one common method px4_board_name().