The UAVObject initcall list is now automatically
generated at link time based on the exact set of
UAVObjects linked into the firmware image.
This will allow any subset of UAVObjects to be
used in any firmware image.
The uavobj_initcall() macro automatically adds the
marked function's address into the .initcalluavobj.init
ELF section.
The UAVObjectsInitializeAll() function now simply
iterates over the functions listed in the
.initcalluavobj.init section and calls them.
You can see the contents of this section in the ELF file
like this:
./tools/arm-2009q3/bin/arm-none-eabi-objdump \
--syms -j .initcalluavobj.init \
./build/openpilot/OpenPilot.elf
This is fundamentally the same mechanism that the Linux
kernel uses to initialize the specific set of components
that the user has selected in their kernel configuration.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2630 ebee16cc-31ac-478f-84a7-5cbb03baadba
- Fixed unescaped backslashes in openpilotgcs.pro, translations.pro, glc_lib.pro (don't like warnings).
- Fixed comments in Windows installer batch file.
- Changed Windows uninstaller section names for better readability.
- Changed Windows installer executable properties (makes sense if you use SubWCRev).
- temporary disabled Windows installer Spanish language until someone helps with translation (no changes for GCS itself).
- small beautification of winx86.pro.
- some changes in the top Makefile.cmd (more changeable parameters for batch build)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2609 ebee16cc-31ac-478f-84a7-5cbb03baadba
Thanks to:
- zhao0079 for Chinese translation,
- Corvus Corax for German translation.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2598 ebee16cc-31ac-478f-84a7-5cbb03baadba
Now they can include special chars like '.' (dot), '-' (dash), '/' (slash), ' ' (space). All such chars will be removed from autogenerated identifiers ("S.Bus" -> SBUS), but kept intact in text strings (to be displayed by the GCS).
This will not change any existing object IDs.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2592 ebee16cc-31ac-478f-84a7-5cbb03baadba
SYNTAX: Makefile.cmd [build / clean / help]
- build: builds all flight targets including uavobjects, bootloaders and firmware
- clean: cleans all flight targets including bootloaders and firmware
- help: this help
Environment variables:
- TARGETS_FW - list of target (default is all flight targets)
- TARGETS_BL - list of target (default is all flight bootloader targets)
- TARGET_FW_SUBDIR - subdirectory of build/ to build targets (default is .)
- TARGET_BL_SUBDIR - subdirectory of build/ to build bootloaders (default is bootloaders)
Example usage (from a batch file with .cmd extension):
set PATH=D:\Work\OpenPilot\Apps\CodeSourcery\bin\;%PATH%
set TARGETS_FW=ahrs openpilot
set TARGETS_BL=%TARGETS_FW%
call svn\trunk\Makefile.cmd build
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2590 ebee16cc-31ac-478f-84a7-5cbb03baadba
Now it has variables TARGET_FW_SUBDIR=. and TARGET_BL_SUBDIR=bootloaders - you may easily choose where do you want to build targets today :-) (in build or build/flight, etc).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2587 ebee16cc-31ac-478f-84a7-5cbb03baadba
Moved obsolete Wix installer into Experimental branch. NSIS installer moved one level up. Now it supports new build directory structure, does not require to be copied into it and can be built using packaging/winx86/Makefile.cmd or as a qmake-generated "installer" target (using "make installer"). NOTE: this target will NOT be built automatically, you have to build it yourself.
Install system requires Unicode NSIS installer and optionally uses SubWCRev.exe utility (from TortoiseSVN package) to extract some build info from local SVN copy (like revision number, etc.). This info then is available as a properties of installer executable and also used in the installer's executable file name. SubWCRev utility is optional, if it is not found - no extra info will be generated and used.
Also fixed unescaped backslash in openpilotgcs.pri (please check that it does not break !win32 builds).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2584 ebee16cc-31ac-478f-84a7-5cbb03baadba