They are not a PiOS, but 3rd party libraries. They even should not
be placed to the same (PiOS) library directory due to the printf symbol
clashes (if all *.c from the folder are built). So they are moved, and
each target can include that one which is necessary/desired.
It was reasonable to use "USE_FEATURE" on the make level when we didn't
have optional modules. Now is better to add them using += make operator.
Conflicts:
flight/targets/CopterControl/Makefile
Inconsistent use of debug macros in board definition files resulted in
BU compilation error. It was attempted to use PIOS_COM_SendFormattedStringNonBlocking()
directly even if PIOS_COM was not included (like for BootloaderUpdater).
So this function in pios_debug.c was replaced by DEBUG_PRINTF() macro.
The macro itself is defined in pios_debug.h file. Its definitions are
removed from board files. And to use it one has to define in pios_config.h:
#define PIOS_INCLUDE_DEBUG_CONSOLE
#define DEBUG_LEVEL <number>
in addition to PIOS_INCLUDE_COM with aux port.
Conflicts:
flight/PiOS/Boards/STM32103CB_PIPXTREME_Rev1.h
flight/PiOS/Boards/STM32F4xx_RevoMini.h
The difference was in dfs_sdcard.c, line 107:
-if((status = PIOS_SDCARD_SectorRead(sector, buffer)) < 0) {
+if((status = PIOS_SDCARD_SectorRead(sector, buffer)) != 0) {
Currenly unused, kept as is.
Makefile uses toprel function to display nice short relative paths when
building. But different ways of getting current path (using . or pwd
or MAKEFILE_LIST, etc) give different cases for Windows drive letters.
As result, some paths are not translated by toprel function and look
not nice. Passing known TOPDIR value to sub-make fixes this:
...
CC flight/Modules/FirmwareIAP/firmwareiap.c
CC flight/Modules/Telemetry/telemetry.c
CC flight/Modules/System/systemmod.c
CC d:/Work/OpenPilot/toolchains/flight/targets/CopterControl/System/coptercontrol.c
CC d:/Work/OpenPilot/toolchains/flight/targets/CopterControl/System/pios_board.c
...
Instead of
...
CC flight/Modules/FirmwareIAP/firmwareiap.c
CC flight/Modules/Telemetry/telemetry.c
CC flight/Modules/System/systemmod.c
CC flight/targets/CopterControl/System/coptercontrol.c
CC flight/targets/CopterControl/System/pios_board.c
...
Now PipXtreme uses the same apps-defs.mk file as CopterControl.
Next steps are F4 boards.
Conflicts:
flight/targets/PipXtreme/Makefile
flight/targets/PipXtreme/System/inc/pios_config.h
These names are automatically generated by make using the list
of mandatory (always started) modules. Wrong names mean they can
be disabled, fixed now.
Conflicts:
flight/Modules/Radio/radio.c
Note that $(QUOTE) variable is uppercased. Windows make does not
export lowercased variables with export keyword (even if must do).
Conflicts:
make/firmware-defs.mk