1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-10 18:24:11 +01:00
Commit Graph

299 Commits

Author SHA1 Message Date
Alessio Morale
93bad2e8c2 Merge branch 'amorale/OP-917_f4_bootloader_updater' into next
***** PLEASE NOTE  ***** From this revision all F4 based boards (Revolution/OSD) needs bootloader version  5 to boot properly

Conflicts:
	flight/pios/stm32f4xx/libraries/CMSIS2/Device/ST/STM32F4xx/Source/osd/system_stm32f4xx.c
	flight/targets/boards/osd/board-info.mk
	make/boot-defs.mk
	make/common-defs.mk
2013-05-07 21:02:41 +02:00
Richard Flay (Hyper)
fbc8bc698f OP-936: Merges branch 'next' into hyper/OP-936_task-monitor-rework, fixes damage/conflicts,
and brings the callback scheduler into the fold.

+review OPReview-461
2013-05-06 19:11:14 +09:30
Richard Flay (Hyper)
a2d8544931 OP-931: adds -Wextra compiler option for the flight code, and makes the bazillion code changes required
to make the flight code compile again. Needs careful review, particularly all the fixes for the
signed vs unsigned comparisons.

+review OPReview-459
2013-05-05 16:32:24 +09:30
Richard Flay (Hyper)
5b61466259 OP-931: Adds -Wdouble-promotion compiler option and fixes problems that the compiler then identifies.
+review OPReview-459
2013-05-04 19:24:01 +09:30
Richard Flay (Hyper)
87fcf9fa8b Merge branch 'next' into hyper/OP-931_extra_compiler_warnings and update as necessary.
Hopefully properly fixes conflicts:
	flight/modules/Attitude/attitude.c
	flight/modules/ManualControl/manualcontrol.c
	flight/modules/Osd/WavPlayer/wavplayer.c
	flight/modules/Osd/osdgen/osdgen.c
	flight/modules/System/systemmod.c
	ground/uavobjgenerator/generators/flight/uavobjectgeneratorflight.cpp
2013-05-04 11:12:44 +09:30
Oleg Semyonov
137ddbf73a Fix broken unit tests 2013-05-03 20:27:03 +02:00
Oleg Semyonov
ee1a149888 tools: add gtest_install and build_sdk_* 2013-05-03 20:26:44 +02:00
Sambas
4d19fd5989 Merge remote-tracking branch 'remotes/origin/sambas/diffnext' into next 2013-05-03 07:58:17 +03:00
Richard Flay (Hyper)
84e1a81f8b OP-936: Moves the task monitor code out of the flight library and into PiOS.
This move and rework also breaks the dependency of the task monitor on the UAVO subsystem,
and pushes the responsibility for updating the TaskInfo UAVO into the System module.

+review OPReview
2013-05-03 07:01:14 +09:30
Oleg Semyonov
dd181904fc Fix version-info.py utility to back off gracefully if no git in the PATH 2013-05-02 19:05:00 +02:00
Sambas
f7b9223827 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext
Conflicts:
	flight/modules/System/systemmod.c
	shared/uavobjectdefinition/taskinfo.xml
2013-05-02 09:00:12 +03:00
Oleg Semyonov
a5d63eb452 tools: make nsis_install (Windows only) 2013-05-01 22:44:11 +03:00
Oleg Semyonov
b30385d4fa uncrustify: use no spaces in empty for statements: for ( ; ;) -> for (;;)
It can be rolled back and a space after last semicolon could be added
if desired: for ( ; ; ). But it looks not nice in ~20 files where
this statement is used.
2013-05-01 12:01:51 +03:00
Oleg Semyonov
363e1705cf uncrustify: update configuration (EOL comment and class indents, extra ';' removals) 2013-04-30 16:54:28 +02:00
Oleg Semyonov
0394a3511c Rename template files to *.template to screen from uncrustify processing 2013-04-30 16:54:27 +02:00
Richard Flay (Hyper)
742058da8c Merge branch 'next' into hyper/OP-931_extra_compiler_warnings 2013-04-30 20:44:49 +09:30
Richard Flay (Hyper)
7937ae6296 OP-931: Makes flight code compile with -Wfloat-equal and -Wunsuffixed-float-constants enabled.
Also fixes warnings (and bugs) in F4 STM32_USB_OTG_Driver code, allowing -Werror to be enabled for all flight code.
Fixes all other compiler warnings that would otherwise cause the flight code to not compile with -Werror enabled.
Along the way, this also adds some uses of isnan() to various places rather than questionable tests for x != x and
x == x to check for NaNs.

+review OPReview
2013-04-30 20:36:42 +09:30
Oleg Semyonov
55c406066d tools: add doxygen_install and docs_* targets 2013-04-29 02:05:15 +02:00
sambas
9fec3f5567 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext 2013-04-27 13:39:58 +03:00
Alessio Morale
2e6835a2a3 Merge remote-tracking branch 'origin/next' into amorale/OP-917_f4_bootloader_updater 2013-04-27 12:25:54 +02:00
Richard Flay (Hyper)
fd1181959c Merge branch 'hyper/OP-913-flight-uavo-alignment' into next 2013-04-27 18:19:01 +09:30
Alessio Morale
b21146b8e3 OP-917 bootloader updater for F4 targets. Initial commit 2013-04-27 00:56:47 +02:00
Oleg Semyonov
fa8c2f239c Merge remote-tracking branch 'origin/amedee/OP-921' into next 2013-04-26 17:43:26 +03:00
Oleg Semyonov
e2fd821e97 Merge remote-tracking branch 'origin/next' into sambas/diffnext
Conflicts:
	make/common-defs.mk
2013-04-26 16:31:19 +03:00
sambas
abe3742217 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext
Conflicts:
	flight/Libraries/CoordinateConversions.c
	flight/Libraries/paths.c
	flight/Modules/System/systemmod.c
	flight/PiOS/STM32F4xx/pios_sys.c
	flight/targets/boards/coptercontrol/pios_board.h
	flight/targets/boards/revolution/pios_board.h
	flight/targets/boards/revoproto/pios_board.h
2013-04-25 17:26:49 +03:00
Oleg Semyonov
25d0e8fcab Rename PiOS/STM32F10x->PiOS/stm32f10x, PiOS/STM32F4xx->PiOS/stm32f4xx 2013-04-25 13:13:39 +03:00
Oleg Semyonov
f20f89da35 Rename PiOS/Common->PiOS/common 2013-04-25 13:13:39 +03:00
Oleg Semyonov
66db978244 Rename Libraries->libraries, Modules->modules 2013-04-25 13:13:36 +03:00
Philippe Vanhaesendonck
b3de04d09f Handle Mach-o object format for UAVOs
Jira OP-921
2013-04-24 22:39:39 +02:00
Oleg Semyonov
0414231408 Move uncrustify config from flight to make/uncrustify/ 2013-04-24 22:49:17 +03:00
Oleg Semyonov
748b28f4f4 Move doxygen config from flight to make/doxygen/ 2013-04-24 22:44:40 +03:00
Oleg Semyonov
33ed88e696 Merge remote-tracking branch 'origin/next' into os/OP-899_board-rename-and-config-rework 2013-04-24 21:28:33 +02:00
Oleg Semyonov
15fd460275 Normalize line endings for *.sh after .gitattributes update 2013-04-24 20:09:38 +02:00
Oleg Semyonov
0bff67822b tools: yet another fix for md5 calculation 2013-04-24 16:42:47 +03:00
Oleg Semyonov
f283b66a2f uncrustify: add config comment for "don't indent this section" option 2013-04-24 12:52:36 +03:00
Oleg Semyonov
21e7e95f87 Merge remote-tracking branch 'origin/os/add-uncrustify' into next 2013-04-24 02:31:41 +02:00
Oleg Semyonov
406339eb49 Merge branch 'amorale/next_precheck' into os/OP-899_board-config-rework-rebased-3
Conflicts:
	flight/Libraries/inc/op_dfu.h
	flight/Libraries/op_dfu.c
	flight/targets/Bootloaders/CopterControl/inc/op_dfu.h
	flight/targets/Bootloaders/OSD/op_dfu.c
	flight/targets/boards/coptercontrol/bootloader/inc/op_dfu.h
	flight/targets/boards/coptercontrol/bootloader/op_dfu.c
	flight/targets/boards/oplinkmini/bootloader/inc/op_dfu.h
	flight/targets/boards/oplinkmini/bootloader/op_dfu.c
	flight/targets/boards/osd/bootloader/inc/op_dfu.h
	flight/targets/boards/osd/bootloader/op_dfu.c
	flight/targets/boards/revolution/bootloader/inc/op_dfu.h
	flight/targets/boards/revolution/bootloader/op_dfu.c
	flight/targets/boards/sensortest/bootloader/inc/op_dfu.h
	flight/targets/boards/sensortest/bootloader/op_dfu.c
	make/boot-defs.mk
2013-04-24 00:37:39 +03:00
Alessio Morale
57ca1639cc Merge branch 'amorale/amorale/OP-874_gcs_rescue_erase_settings_merged' into next
Conflicts:
	flight/Libraries/op_dfu.c
	flight/PiOS/STM32F10x/pios_iap.c
	flight/PiOS/inc/pios_iap.h
	flight/targets/BootloaderUpdater/main.c
	flight/targets/Bootloaders/CopterControl/inc/op_dfu.h
	flight/targets/Bootloaders/CopterControl/op_dfu.c
	flight/targets/Bootloaders/OSD/inc/op_dfu.h
	flight/targets/Bootloaders/PipXtreme/op_dfu.c
	flight/targets/Bootloaders/RevoMini/inc/op_dfu.h
	flight/targets/Bootloaders/RevoMini/op_dfu.c
	flight/targets/Bootloaders/Revolution/inc/op_dfu.h
	flight/targets/Bootloaders/Revolution/op_dfu.c
	ground/openpilotgcs/src/plugins/uploader/uploader.ui
	make/apps-defs.mk
	make/boot-defs.mk
2013-04-23 23:14:11 +02:00
Oleg Semyonov
3f2431c04f OP-899: move board-specific pios_board.h files into board directories 2013-04-24 00:07:06 +03:00
Oleg Semyonov
f7332f6905 OP-899: remove extra copy of pios_usb_data.c and move it level up 2013-04-24 00:07:06 +03:00
Oleg Semyonov
1dd20eca33 OP-899: move board_hw_defs.c under board directories and fix some includes 2013-04-24 00:07:06 +03:00
Oleg Semyonov
393b37fa7a OP-899: move board-info.mk from make/boards to board directories 2013-04-24 00:07:06 +03:00
Oleg Semyonov
f7f842687a OP-899: rename System to firmware and move Makefile into it 2013-04-24 00:07:06 +03:00
Oleg Semyonov
399cafe7d7 OP-896: rename RevoMini to Revolution 2013-04-24 00:07:05 +03:00
Oleg Semyonov
6afbef01eb OP-896: rename Revo to SensorTest 2013-04-24 00:07:04 +03:00
Oleg Semyonov
fdd0ed39e0 OP-896: remove old board configs (ESC, INS, OpenPilot) 2013-04-24 00:07:04 +03:00
Oleg Semyonov
1ded536056 OP-896: rename OPLink to OPLinkMini 2013-04-24 00:07:04 +03:00
Brian Webb
ba7b712cf1 Changed all references to PipXtreme on flight side to OPLink. 2013-04-24 00:07:03 +03:00
Richard Flay (Hyper)
146e082e74 OP-913: ensured that UAVO data structs in .bss/.data sections and on the stack have 4 byte alignment. Also changed linker options to sort common and sort sections by alignment, which reduces the amount of fill/padding in the .bss and .data sections.
+review OPReview-444
2013-04-23 22:34:58 +09:30
Oleg Semyonov
f9816175d0 tools: replace md5sum by openssl (now works on Windows/Linux/OSX)
See also: OP-719, OPReview-441
2013-04-22 21:37:34 +02:00
Oleg Semyonov
34983fa643 uncrustify: add some alignments to the configuration
See also: OPIN-3
2013-04-22 21:35:45 +02:00
Oleg Semyonov
8d1e1fdbc0 tools: make uncrustify_install target, script and base config file
See also: OPIN-3
2013-04-22 21:35:25 +02:00
sambas
8aa5748a8c Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext 2013-04-20 10:59:00 +03:00
Oleg Semyonov
491e89b165 make: sort wildcard sources to make binaries identical on all platforms
Thanks to Amedee for finding the cause of the difference and CorvusCorax
for participating in the discussion.
2013-04-19 20:43:31 +02:00
Oleg Semyonov
f15249ff07 make: fix bu_* targets 2013-04-18 17:50:34 +03:00
Oleg Semyonov
509a1b4fe1 make: fix *_program targets (were broken for firmware) 2013-04-18 17:37:12 +03:00
Oleg Semyonov
b7de3c99d8 tools: fix typo in comments 2013-04-18 16:03:05 +02:00
Oleg Semyonov
f7236eb180 tools: add Linux 64bit native ARM toolchain 2013-04-18 15:45:38 +03:00
Oleg Semyonov
61bb82ca15 gcs: find python in tools building with Qt-Creator
This fix uses the same approach as OpenPilot toolchain system,
but for build started from Qt-Creator.
2013-04-17 19:08:02 +02:00
Oleg Semyonov
59f8a99ab7 make: warn users about old ARM toolchain instead of cryptic 'no such file' error 2013-04-16 21:26:36 +02:00
sambas
ab8ab4bcc6 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext 2013-04-15 17:41:06 +03:00
Oleg Semyonov
354924deed OP-719: suggest to use native Qt 4.8.x package on Linux and OSX
+review OPReview-441
2013-04-14 23:46:15 +02:00
Oleg Semyonov
d3ad4d3106 OP-719: provide pre-fetch and post-extract options to install template
+review OPReview-441
2013-04-14 23:46:14 +02:00
sambas
388489226d typo fix, fix EE_BANK usage 2013-04-14 13:08:09 +03:00
sambas
bb4aa08a15 Merge remote-tracking branch 'origin/sambas/diffnext' into amorale/osd_settings_on_flash 2013-04-14 12:32:26 +03:00
sambas
589290dbd7 POI orbit + some code run thru code formatter 2013-04-14 12:23:47 +03:00
Oleg Semyonov
159dae9c9b OP-719: print error message if curl is not available and stop
+review OPReview-441
2013-04-14 04:17:10 +03:00
Oleg Semyonov
28314ec170 OP-719: add linux x64 version of qt-4.8.4
It seems we must ship GCS with all Qt libs like we do for Windows.
On Ubuntu x64 the GCS built with this crashes using system libs.

But since it's possible to build GCS using natively installed
Qt SDK, it is not a problem for now. Something is better than
nothing, and two ways of building are better then just one.

+review OPReview-441
2013-04-13 22:51:33 +03:00
Oleg Semyonov
5be0a1919e OP-719: add md5 checksumming 2013-04-12 10:56:12 +02:00
Oleg Semyonov
3967874996 OP-719: use common tool install template 2013-04-12 10:56:11 +02:00
Oleg Semyonov
34b15fedaf OP-719: make python_install (Windows) 2013-04-12 10:56:10 +02:00
Oleg Semyonov
c0878f290d OP-719: make qt_sdk_install (Linux) 2013-04-12 10:56:08 +02:00
Oleg Semyonov
e4d91218b6 OP-719: make qt_sdk_install mingw_install (Windows) 2013-04-12 10:56:07 +02:00
Oleg Semyonov
ea06337573 OP-719: make/scripts/win_sdk_install.sh 2013-04-12 10:56:06 +02:00
Alessio Morale
09d2ba1d25 OP-874 merge of amorale/OP-874_gcs_rescue_erase_settings in next.
+review OPReview-421
2013-04-08 01:10:37 +02:00
sambas
fb8273459f Normalize line endings 2013-04-07 09:49:13 +03:00
Oleg Semyonov
5bb6b56b4a OP-772: Normalize line endings 2013-04-05 23:46:56 +03:00
Oleg Semyonov
3bebec22f7 OP-772: Enforce line ending agreements (git 1.7.2+ required for this to work)
This is a part of OP-726, OP-727 tasks to normalize source code.
Use the following to normalise your local repository to be able to merge:

git rm --cached -r .
git diff --cached --name-only -z | xargs -0 git add
git commit -m "Normalise line endings"
git ls-files -z | xargs -0 rm
git checkout .
2013-04-05 23:43:58 +03:00
Oleg Semyonov
cab706125b Merge remote-tracking branch 'origin/os/get-rid-of-build-ground-dir' into next 2013-04-05 17:07:34 +02:00
Oleg Semyonov
c1dc7ccde7 Move OPLicenseTemplate.txt from top directory to make/templates
It's just one step. See also OP-891 for further changes.
2013-04-05 01:03:25 +03:00
Oleg Semyonov
f57610dc78 tools: Makefile and sh.cmd minor updates (mostly comments) 2013-04-04 23:57:43 +03:00
Oleg Semyonov
cf110998a0 tools: fix MSYS tar problem with Windows path names with drive letter colon 2013-04-04 17:03:17 +02:00
Oleg Semyonov
f82d66d217 OP-719: fix curl "invalid time" error if target file is missing
+review OPReview-431
2013-04-04 13:08:48 +03:00
Oleg Semyonov
a0e24a69aa OP-719: upgrade ARM SDK to 4.7-2013q1 +review OPReview-431 2013-04-01 00:42:19 +03:00
Oleg Semyonov
03f7596689 OP-719: fix broken paths to other tools (still to be revised) +review OPReview-431 2013-03-31 21:52:58 +03:00
Oleg Semyonov
b67ce783f5 OP-719: upgrade ARM SDK to 4.7-2012q4, use 'make arm_sdk_install' to install
+review OPReview
2013-03-31 16:59:00 +02:00
Oleg Semyonov
3e815ca8d5 build: get rid of build/ground subdirectory, fix qt-creator builds
This changeset:
- moves all ground targets one level up, under build directory. The
  build/ground was created as a workaround, now unnecessary;
- fixes QtCreator builds, they are separated from command line builds;
- moves GCS autogenerated files into openpilotgcs-synthetics directory.

The resulting build subdirectory now looks like:

    build
        openpilotgcs             <- Qt-Creator build directory
        openpilotgcs-synthetics  <- version-info and opfw_resource
        openpilotgcs_debug
        openpilotgcs_release     <- Makefile build directory
        uavobject-synthetics
        uavobjgenerator

NOTE: you should update the shadow build path in QtCreator to build,
      not build/ground as before.

+review OPReview
2013-03-30 17:33:38 +02:00
Alessio Morale
8698bcfb84 Moved OSD settings from SDCard to mcu internal flash memory 2013-03-30 15:47:22 +01:00
sambas
77cae9ffc3 MagBaro Extension board module
OSD update
OSD output module for FC
Sonar update
Flight mode fixes + poi
2013-03-28 18:20:50 +02:00
Oleg Semyonov
927977216b Revert "Makefile: better solution for MODULE_MODULENAME_BUILTIN name conversion"
The problem is that we have modules defined as:
    Airspeed
or
    Airspeed/revolution
or
    Extensions/MagBaro
and, probably
    Extensions/MagBaro/revolution
can be expected too.

It is impossible to get module name from such mixed cases.
So the better solution does not work for MagBaro, reverted.

This reverts commit 5d760d20fa.

+review OPReview-422
2013-03-25 17:27:47 +02:00
Oleg Semyonov
5d760d20fa Makefile: better solution for MODULE_MODULENAME_BUILTIN name conversion
Now it does not depend on board-specific part and uses module canonical name.

+review OPReview-422
2013-03-25 17:07:04 +02:00
Oleg Semyonov
9424be584c Makefile: fix MODULE_MODULENAME_BUILTIN generation bug for revo modules
This converts 'ModuleName/revolution' into 'ModuleName' for macro.

+review OPReview-422
2013-03-25 16:35:20 +02:00
Oleg Semyonov
9335a50b18 Makefile: use upper case for MODULE_MODULENAME_BUILTIN macros
+review OPReview-422
2013-03-25 16:02:16 +02:00
Oleg Semyonov
8f977a4411 Final step: lot of small fixes, last commit in this commit series
This is the first cleanup pass through makefiles and pios.
Probably it is difficult to track changes due to the nature of them.
I would recommend to look at resulting files and compiled code instead.

NOTE: original branch was rebased and lot of conflicts were fixed on
the way. So do not expect that every commit in this series will be
buildable (unlike original branch). Only final result was tested.

The main goal was to remove as much duplication of code (and copy/paste
errors) as possible, moving common parts out of Makefiles. It still is
not perfect, and mostly no code changes made - Makefiles and #ifdefs only.
But please while testing make sure that all code works as before, and no
modules/options are missed by accident.

Brief list of changes:
- Moved common parts of Makefiles into the set of *.mk files.
- Changed method of passing common vars from top Makefile to lower ones.
- Some pios cleanup, mostly #ifdefs, and all pios_config.h files.
- Many obsolete files removed (for instance, AHRS files, op_config.h).
- Many obsolete or unused macros removed or fixed/renamed (ALL_DIGNOSTICS).
- Unified pios_config.h template. Please don't remove lines for board
  configs, only comment/uncomment them. Adding new PIOS options, please
  propagate them to all board files keeping the same order.
- Some formatting, spacing, indentation (no line endings change yet).
- Some cosmetic fixes (no more C:\X\Y\filename.c printings on Windows).
- Added some library.mk files to move libs into AR achives later.
- EntireFlash target now uses cross-platform python script to generate bin
  files. So it works on all supported platforms: Linux, OSX, Windows.
- Top level packaging is completely rewritten. Now it is a part of top
  Makefile. As such, all dependencies are checked and accounted, no
  more 'make -j' problems should occur.
- Default GCS_BUILD_CONF is release now, may be changed if necessary
  using 'make GCS_BUILD_CONF=debug gcs'.
- GCS build paths are separated into debug and release, so no more obj
  file clashes. Packaging system supports only release builds.
- New target is introduced: 'clean_package'. Now 'make package' does not
  clean build directory. Use clean_package instead for distributable builds.
- Targets like 'all', 'opfw_resource', etc now will print extra contex
  in parallel builds too.
- If any of 'package', 'clean_package', 'opfw_resource' targets are given
  on command line, GCS build will depend on the resource, so all fw_*.opfw
  targets will be built and embedded into GCS. By default GCS does not
  depend on resource, and will be built w/o firmware (unless the resource
  files already exist and the Qt resource file is generated).
- fw_simposix (ELF executable) is now packaged for linux. Run'n'play!
- Make help is refined and is now up to date.

Still broken:
- UnitTests, should be fixed
- SimPosix: buildable, but should be reworked.

Next planned passes to do:
- toolchain bootstrapping and packaging (including windows - WIP)
- CMSIS/StdPeriph lib cleanup
- more PIOS cleanup
- move libs into AR archives to save build time
- sim targets refactir and cleanup
- move android-related directories under <top>/android
- unit test targets fix
- source code line ending changes (there are many different, were not changed)
- coding style

Merging this, please use --no-ff git option to make it the real commit point

Conflicts:
	A lot of... :-)
2013-03-24 13:06:24 +02:00
Oleg Semyonov
7e02642b01 Move 3rd party printf formatter functions from PiOS to Libraries folder
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.
2013-03-24 13:06:06 +02:00
Oleg Semyonov
f3d587ad12 Makefile: better options sequence in common-defs.mk 2013-03-24 13:06:01 +02:00
Oleg Semyonov
5c13162824 Makefile: some rearrangements between apps-defs.mk and target Makefiles
Conflicts:
	flight/targets/PipXtreme/Makefile
	make/apps-defs.mk
2013-03-24 13:06:00 +02:00
Oleg Semyonov
9b3d3e62ab Makefile: fix Makefile for BootloaderUpdater (STM32F10x only targets)
Conflicts:
	flight/targets/Bootloaders/BootloaderUpdater/Makefile
2013-03-24 13:05:52 +02:00
Oleg Semyonov
91f14768db Makefile: fix mk files, now both CC and PipX are buildable using common defs
Conflicts:
	make/apps-defs.mk
2013-03-24 13:05:50 +02:00
Oleg Semyonov
f65ff0585f Makefile: add make/common-defs.mk and use it to build bootloaders (STM32F10x)
Conflicts:
	make/boot-defs.mk
2013-03-24 13:04:15 +02:00