1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-11-29 07:24:13 +01:00
Commit Graph

376 Commits

Author SHA1 Message Date
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
Oleg Semyonov
b7545c6f57 Makefile: add --warn-common and --fatal-warnings to identify name clashes
This will stop builds if few same symbols are found when linking.
It should not be the case, but possible and may give unpredicted results.
2013-03-24 13:04:13 +02:00
Oleg Semyonov
db0cdc6a0c Remove (almost) exact copy of dosfs from F1-specific directory
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.
2013-03-24 13:04:11 +02:00
Oleg Semyonov
27822d0cd4 Makefile and pios_config.h cleanup for PipXtreme
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
2013-03-24 13:04:08 +02:00
Oleg Semyonov
7e4596ff35 Makefile: fix some MODULE_Name_BUILTIN checks and Makefile
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
2013-03-24 13:04:06 +02:00
Oleg Semyonov
a1e17eccf3 pios: fix packet handler #ifdef guards and Makefile
Conflicts:
	flight/Libraries/packet_handler.c
	flight/targets/CopterControl/System/inc/pios_config.h
2013-03-24 13:04:04 +02:00
Oleg Semyonov
f7bdcdb782 Makefile: firmware makefiles cleanup (CC)
Conflicts:
	flight/targets/CopterControl/Makefile
2013-03-24 13:04:03 +02:00
Oleg Semyonov
75ef685c6e Makefile: bootloader makefiles cleanup
Conflicts:
	flight/targets/Bootloaders/CopterControl/Makefile
	flight/targets/Bootloaders/OSD/Makefile
	flight/targets/Bootloaders/PipXtreme/Makefile
	flight/targets/Bootloaders/RevoMini/Makefile
	flight/targets/Bootloaders/Revolution/Makefile
2013-03-24 13:04:01 +02:00
Oleg Semyonov
8a98920f3d Makefile: use exported variables in firmware-defs.mk
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
2013-03-24 13:04:00 +02:00
Oleg Semyonov
23c605ffba Makefile: indents, comments, spacing, $(CMDS) variables, etc.
How to invoke external command instead of shell builtin on Windows:
ECHO := /bin/echo

Conflicts:
	Makefile
2013-03-24 13:03:58 +02:00
Oleg Semyonov
304f366338 Remove discontinued AHRS files 2013-03-24 13:03:50 +02:00
Oleg Semyonov
8c6f24afef version-info.py: fix coding style 2013-03-24 13:03:49 +02:00
Alessio Morale
1a38b7eb46 Merge remote-tracking branch 'origin/amorale/02_os-stac_logfs-unittests' into next
Conflicts:
	flight/targets/RevoMini/Makefile
	flight/targets/Revolution/Makefile
2013-03-23 15:13:05 +01:00
Alessio Morale
e06ab7f706 Merge remote-tracking branch 'origin/amorale/01-directory_move_sanity_simposix' into next
Conflicts:
	Makefile
	flight/PiOS.posix/inc/pios_com.h
	flight/targets/RevoMini/UAVObjects.inc
	flight/targets/Revolution/Makefile
2013-03-23 14:37:19 +01:00
Oleg Semyonov
14db5c80f1 ut: change xml output directory to make Bamboo a bit happier 2013-03-03 14:33:04 +01:00
Stacey Sheldon
67de4f0e0c ut: drop dependency on C++0x 2013-03-03 14:33:04 +01:00
Stacey Sheldon
ea09a53adc unittest: build gtest-all and gtest_main directly
Conflicts:
	make/unittest.mk
2013-03-03 14:33:03 +01:00
Stacey Sheldon
9b94eeb745 ut: convert logfs unit test to gtest
Conflicts:
	Makefile
	make/unittest.mk
2013-03-03 14:33:03 +01:00
Stacey Sheldon
fb4a1d7b1b gtest: stop compiling gtest libraries on installation 2013-03-03 14:33:03 +01:00
Stacey Sheldon
14c5af6148 ut: convert make rules to template and add TAP file generation
Make targets changed to:
 make ut_<test>
 make ut_<test>_tap
 make ut_<test>_run
 make ut_<test>_clean
 make all_ut
 make all_ut_tap
 make all_ut_run
 make all_ut_clean

Conflicts:
	Makefile
2013-03-03 14:33:03 +01:00
Stacey Sheldon
06f805b00e ut: add googletest (gtest) install rules
See: http://code.google.com/p/googletest/
2013-03-03 14:33:03 +01:00
Stacey Sheldon
264d76382b makefile: allow arch-specific path to qmake
This will be required once we move to Qt5.
2013-03-03 14:33:03 +01:00
Stacey Sheldon
e05ec8ed27 ut: drop dependency on C++0x
Conflicts:
	make/unittest.mk
2013-03-03 14:33:03 +01:00
Stacey Sheldon
60c06b8c4b ut: add unit test build infrastructure
New build targets:
  make ut_all
  make ut_clean

to build (or clean) all unit tests.
2013-03-03 14:33:02 +01:00
Oleg Semyonov
97436166e3 Merge remote-tracking branch 'origin/next' into os/OP-775_arm-dsplib 2013-02-06 12:55:14 +02:00
Oleg Semyonov
17a9c7c1de build-info.txt: minor text fix
This template will be used to comment auto builds created with Bamboo.
Currently it is emulated by Bamboo build agents using build scripts,
but should be generated using Makefile. As soon as majority of branches
will be updated to this next, those scripts will be removed and this
template used.
2013-02-06 00:51:38 +02:00
Oleg Semyonov
e09705d604 Makefile: add build-info target (for CI builds) 2013-02-04 15:56:11 +02:00
Corvus Corax
7642f44cad Merge remote branch 'origin/corvuscorax/sanity_additions' into corvus/directory_and_sanity
Conflicts:
	flight/Modules/FirmwareIAP/firmwareiap.c
	flight/Modules/ManualControl/manualcontrol.c
	flight/targets/SimPosix/Makefile
	shared/uavobjectdefinition/systemalarms.xml
2013-02-03 14:57:54 +01:00
Stacey Sheldon
e55519b1e2 makefile: split tool install rules into separate makefile
The rules for downloading/building/installing the various
tools were cluttering the top-level makefile.

Conflicts:

	Makefile
2013-01-28 02:29:08 +02:00
Alessio Morale
f293298118 Merge remote-tracking branch 'origin/revo-fixes' into amorale/revo-merge
Conflicts:
	flight/Modules/ManualControl/manualcontrol.c
	make/scripts/version-info.py
	package/Makefile.linux
2013-01-19 20:23:48 +01:00
Oleg Semyonov
2328469e71 [OP-775] Update link template and makefiles to include optional $(ALLLIB) depenencies 2012-12-30 21:53:24 +02:00
Oleg Semyonov
b616c33903 [OP-775] Add create library template 2012-12-30 21:53:23 +02:00
Oleg Semyonov
1e3c47dffa version-info.py: reformat source according to python style guide
http://www.python.org/dev/peps/pep-0008/#indentation
"Use 4 spaces per indentation level."
2012-12-14 03:10:33 +02:00
Oleg Semyonov
58e62d4f86 [OP-703] Add default string as a source origin when using build servers
Bamboo does not preserve git repository origin when making builds, and
it is shown later in About dialog as "Built from None". This patch fixes
that providing more accurate source description.
2012-12-14 03:08:20 +02:00
Oleg Semyonov
a2d94ec4fd [OP-703] Add new variables to version-info.py and use them in Makefiles
${REVISION} - revision info string (tag or branch:hash date time)
${LABEL} - package label string (tag or date-hash)
${DAY} - day of last commit
${MONTH} - month of last commit
${YEAR} - year of last commit

Conflicts:

	package/Makefile
2012-12-11 19:55:12 +02:00
Oleg Semyonov
97f5f87d48 version-info.py: add ${TAG} variable to the dictionary 2012-12-11 19:55:11 +02:00
Oleg Semyonov
ae70d0167d version-info.py: ability to use positional arguments as extra dictionary keys 2012-12-11 19:55:10 +02:00
Oleg Semyonov
8079c669f7 [OP-703] Fix for missing ")" in a comment 2012-12-04 02:34:39 +02:00
Oleg Semyonov
2d938eaaa3 [OP-703] Rework GCS About dialog to remove 1.0.0 and show more repository info 2012-12-04 00:46:50 +02:00
Oleg Semyonov
3668ecede3 [OP-703] Add new variables to version-info.py and use them in Makefiles
${REVISION} - revision info string (tag or branch:hash date time)
${LABEL} - package label string (tag or date-hash)
${DAY} - day of last commit
${MONTH} - month of last commit
${YEAR} - year of last commit
2012-12-04 00:46:49 +02:00
Stacey Sheldon
2119067722 Merge remote-tracking branch 'op-revo/james/revo' into revo-next
Conflicts:
	Makefile
	flight/Modules/Attitude/revolution/attitude.c
	flight/Modules/Battery/battery.c
	flight/Modules/FixedWingPathFollower/fixedwingpathfollower.c
	flight/Modules/GPS/GPS.c
	flight/Modules/ManualControl/inc/manualcontrol.h
	flight/Modules/ManualControl/manualcontrol.c
	flight/Modules/OveroSync/overosync.c
	flight/Modules/PathPlanner/inc/pathplanner.h
	flight/Modules/PathPlanner/pathplanner.c
	flight/Modules/Sensors/sensors.c
	flight/Modules/VtolPathFollower/vtolpathfollower.c
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/Boards/pios_board.h
	flight/PiOS/STM32F4xx/library.mk
	flight/PiOS/inc/pios_hmc5883.h
	flight/PiOS/inc/pios_l3gd20.h
	flight/PiOS/inc/pios_rfm22b_priv.h
	flight/Revolution/Makefile
	flight/Revolution/Makefile.osx
	flight/Revolution/System/inc/pios_config.h
	flight/Revolution/UAVObjects.inc
	ground/openpilotgcs/src/libs/utils/coordinateconversions.cpp
	ground/openpilotgcs/src/libs/utils/homelocationutil.cpp
	ground/openpilotgcs/src/libs/utils/homelocationutil.h
	ground/openpilotgcs/src/plugins/config/configrevowidget.cpp
	ground/openpilotgcs/src/plugins/hitlnew/il2simulator.cpp
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
	ground/openpilotgcs/src/plugins/plugins.pro
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	package/Makefile
	shared/uavobjectdefinition/fixedwingpathfollowersettings.xml
	shared/uavobjectdefinition/fixedwingpathfollowerstatus.xml
	shared/uavobjectdefinition/flightstatus.xml
	shared/uavobjectdefinition/hwsettings.xml
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/pathdesired.xml
	shared/uavobjectdefinition/vtolpathfollowersettings.xml
	shared/uavobjectdefinition/waypoint.xml
2012-10-30 00:08:43 -04:00
Oleg Semyonov
2e69258ec5 version-info.py: add ${TAG} variable to the dictionary 2012-10-22 19:54:04 +03:00
Oleg Semyonov
8bfae017bd version-info.py: ability to use positional arguments as extra dictionary keys 2012-10-22 19:52:13 +03:00
Stacey Sheldon
127ca1e7e1 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	ground/openpilotgcs/src/plugins/hitl/plugin.pro
	ground/openpilotgcs/src/plugins/hitlnew/fgsimulator.cpp
	ground/openpilotgcs/src/plugins/hitlnew/hitlconfiguration.cpp
	ground/openpilotgcs/src/plugins/hitlnew/hitloptionspage.cpp
	ground/openpilotgcs/src/plugins/hitlnew/hitloptionspage.ui
	ground/openpilotgcs/src/plugins/hitlnew/il2simulator.cpp
	ground/openpilotgcs/src/plugins/hitlnew/simulator.cpp
	ground/openpilotgcs/src/plugins/hitlnew/simulator.h
	ground/openpilotgcs/src/plugins/hitlnew/xplanesimulator.cpp
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-10-20 13:56:18 -04:00
Corvus Corax
898292fcdb added (fake) firmware version information to simposix 2012-10-20 15:22:54 +02:00
Stacey Sheldon
bc13c20bf3 uavohash: normalize line endings before computing hash
Line endings in the UAVO XML files differ from file to file
and this results in different SHA1 sums being computed on
Windows vs. Linux/Mac.

This normalizes the line endings to LF (python native) while
processing the XML files.
2012-10-14 13:33:58 -04:00
James Cotton
3110678321 Merge branch 'dynamic_uavo_next' into revo
Conflicts:
	androidgcs/src/org/openpilot/uavtalk/uavobjects/ActuatorSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/AltitudeHoldSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/FlightBatterySettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/FlightBatteryState.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/FlightStatus.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/HomeLocation.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/HwSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/ManualControlSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/OveroSyncStats.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/PipXSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/PipXStatus.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/PositionActual.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/RelayTuning.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/RevoCalibration.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/SystemAlarms.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/TaskInfo.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/UAVObjectsInitialize.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/Waypoint.java
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
2012-10-10 08:27:11 -05:00
Stacey Sheldon
6da6274543 version-info: add subst for text version of UAVO sha1sum 2012-10-10 00:35:13 -04:00
Stacey Sheldon
9896a0d416 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	ground/openpilotgcs/src/libs/utils/homelocationutil.cpp
	ground/openpilotgcs/src/libs/utils/homelocationutil.h
	ground/openpilotgcs/src/plugins/uavobjectutil/uavobjectutilmanager.cpp
	shared/uavobjectdefinition/taskinfo.xml
2012-09-27 22:42:44 -04:00
James Cotton
dadc38d82d Revo Mini 2: Get basic LED working. Board revision is actually 3 since right now it masquerades as Revo. 2012-09-26 01:17:32 -05:00
James Cotton
0fa4b062a4 Merge branch 'next' into revo 2012-09-26 00:43:02 -05:00
PT_Dreamer
c8de27cbaf GCS/Uploader Changes acording to review
Changed template comments.
Added UAVO hash to the GCS help dialog
2012-09-24 12:17:32 +01:00
Stacey Sheldon
6b2d1e3d6f uavo hash: ensure that uavo hash is stable across OSes
In python, os.walk() is not sorted.  This can result in the
hash being computed over the files in different orders on
different OSes, or even after touching a directory.

This ensures that the files are considered in lexical order
so that the hash is stable.
2012-09-23 20:45:06 -04:00
PT_Dreamer
fb073059ad GCS-Use uavo definition hash to check for compatability
Unfortunately had to change the iap object.
2012-09-17 17:08:15 +01:00
PT_Dreamer
fa2aa81079 First pass on using the uavo hash to check compatability between GCS and FW 2012-09-15 23:02:45 +01:00
PT_Dreamer
6d7fa8a083 Flight-Added sha1 uavo directory calculation to fw_version_info struct. 2012-09-14 23:31:13 +01:00
James Cotton
b9050809cc Add a board info file for revo mini. However it was to remap the define MAINADAPTER for the HMC5883 driver which needs rewriting not to need this. 2012-08-25 12:57:50 -05:00
Stacey Sheldon
1f1b240b2a Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-08-20 21:22:02 -04:00
Stacey Sheldon
4d73c1e2c2 makefile: fix clobbered JTAG macro in firmware-defs.mk
JTAG rules got clobbered at some point.  This should
fix:
   make fw_coptercontrol_program
and others like it.
2012-08-11 22:28:43 -04:00
Oleg Semyonov
1273a58d9f Windows packaging: update sh.cmd script for QtSDK 1.2.1 2012-07-29 23:59:58 +03:00
Stacey Sheldon
b7e9c2ee2a build: use board-specific JTAG interface for openocd
Removes hard-coding of JTAG interface config in the
<board>_program make macros.

This allows the use of STLINKv2 for F4 boards while
continuing to use the FOSS JTAG revB on F1 boards.
2012-06-21 23:32:04 -04:00
Stacey Sheldon
384305d8ee makefile: add additional context to output when building all_* targets
When building the various all_* targets, it was hard to tell which
board/build-type that each line of output applied to.  Now, the
all_* target types will include something like:
 CC        [fw|cc  ]  flight/PiOS/STM32F10x/pios_gpio.c
which includes the necessary additional context.

This will help with identifying the context for warnings and errors
when building a group of targets.

Conflicts:

	Makefile
2012-06-20 23:38:21 -04:00
Stacey Sheldon
e3393bb255 makefile: add additional context to output when building all_* targets
When building the various all_* targets, it was hard to tell which
board/build-type that each line of output applied to.  Now, the
all_* target types will include something like:
 CC        [fw|cc  ]  flight/PiOS/STM32F10x/pios_gpio.c
which includes the necessary additional context.

This will help with identifying the context for warnings and errors
when building a group of targets.
2012-06-03 17:43:14 -04:00
Sambas
147100bc2f Merge remote-tracking branch 'remotes/origin/revo-next' into osd_test_v1
Conflicts:
	Makefile
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-05-28 19:06:25 +03:00
James Cotton
5a6e02a688 Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into next 2012-05-25 20:37:23 -05:00
Corvus Corax
5727d5714e Created new "SimPosix" board and ported PiOS.posix to revolution API and more "standard like" configuration akin to other "boards" 2012-05-22 18:32:27 +02:00
Corvus Corax
414310fcba test add of SimPosix architecture - doesnt work yet 2012-05-22 18:28:42 +02:00
Brian Webb
6cb13aa2ba Fixed failed merge with next. 2012-05-20 18:36:08 -07:00
Stacey Sheldon
d4b0475f6a usb-descriptors: add +BL or +FW suffix to serial number string
This makes the BL and FW images distinct devices with unique
serial numbers.

Windows (and maybe Mac) remembers the device descriptors and
the associated drivers based on this serial number.  Providing
unique serial numbers for the BL and FW images allows us to
provide different sets of descriptors for the BL and FW images
without confusing these OSes.

BL version number is now also bumped to reflect the new
serial number generation algorithm.
2012-05-19 16:06:44 -04:00
Brian Webb
14bbd09c87 Reverted inadvertent checkin of firmware-defs.mk 2012-05-16 19:03:47 -07:00
Brian Webb
44a1663eb9 Fixed transparent comm on PipX. 2012-05-16 19:02:53 -07:00
Brian Webb
480371a43e Resolving merge with origin/next 2012-05-05 09:53:54 -07:00
Brian Webb
e83fec0463 Merged latest origin/next. 2012-05-05 09:40:44 -07:00
Brian Webb
d39e89a096 Reverted erroneous checkin of firmware-defs.mk 2012-04-07 19:16:50 -07:00
Brian Webb
7b49a6b820 Added watchdog to radio com bridge in PipXtreme. 2012-04-07 19:12:49 -07:00
Stacey Sheldon
eab923fee0 revo: move fw image into 128KB sectors
This saves the more versatile 16KB and 64KB sectors
for other purposes.
2012-03-28 21:52:43 -04:00
Sambas
4c6ee740e2 Merge remote-tracking branch 'remotes/origin/james/revolution' into osd_test_v1 2012-03-25 14:28:25 +03:00
James Cotton
2f8049e20a Update the bootloader hw version for the mpu6000 board and make the sensor code
and initialization respond appropriately.  Enable hte L3GD20 and BMA180.
Let the board type determine which is used.
2012-03-22 00:41:37 -05:00
Brian Webb
9032284f66 Reverted change to firmware-defs.mk 2012-03-18 10:32:26 -07:00
Sambas
7c06c0ed93 Merge remote-tracking branch 'remotes/origin/sambas/osd_test' into osd_test_v1
Conflicts:
	flight/Modules/Osd/osdgen/osdgen.c
	flight/OSD/Makefile
	flight/OSD/System/pios_board.c
	flight/board_hw_defs/osd/board_hw_defs.c
	make/boards/osd/board-info.mk
2012-03-11 11:58:06 +02:00
Sambas
addda5f29d USB and bootloader stuff, WORKS!! 2012-03-11 11:31:02 +02:00
Sambas
742f3ff24d Merge remote-tracking branch 'remotes/origin/james/revolution' into osd_test
Conflicts:
	ground/openpilotgcs/src/plugins/scope/scopegadgetwidget.cpp
2012-03-11 09:39:51 +02:00
Sambas
ccf5c310c9 Updates 2012-03-11 09:27:38 +02:00
Sambas
ee2b12b917 Updates 2012-03-10 09:40:37 +02:00
Stacey Sheldon
50b74fa90c revo: increase FW_BANK_SIZE to be flash sector aligned
The F4 CPUs have 16KB x 4, 64KB x 1 and 128KB x 7 sectors
of flash.  The FW image currently ends in the middle of a
128KB sector.  FW_BANK is now increased to end on a sector
boundary.
2012-03-07 19:52:54 -05:00
Stacey Sheldon
e2ab662b5d sysclk: pass in correct definition for HSE_VALUE
The code in RCC_GetClocksFreq() uses HSE_VALUE to determine
the tick rate of the SYSCLK.  This in turn is used by the
code in PIOS_DELAY_* to compute delays.

ST Library defaults this to 25MHz for the F4.  Our board
actually has an 8MHz oscillator so delays were way off.

Mostly affects the bootloaders since most FW code uses RTOS
delays rather than busy-waiting using PIOS_DELAY_*.
2012-03-07 19:52:54 -05:00
Stacey Sheldon
0684a42fac build: use board-specific JTAG interface for openocd
Removes hard-coding of JTAG interface config in the
<board>_program make macros.

This allows the use of STLINKv2 for F4 boards while
continuing to use the FOSS JTAG revB on F1 boards.
2012-03-03 08:43:01 -05:00
Sambas
8e31f84058 V1 beta 2012-02-28 20:32:44 +02:00
Brian Webb
f0dfba6fc0 Re-baslined the PipX codebase using the experimental Transmitter codebase. 2012-02-21 20:29:06 -07:00
Sambas
ebd2ae7e59 Bootloader, copy from revo, not functional 2012-02-18 22:35:13 +02:00
Sambas
8cc876d02a OSD branch 2012-02-12 22:29:42 +02:00
James Cotton
5fd458426a Merge branch 'cc3d' into revolution3
Conflicts:
	flight/PiOS/inc/pios_l3gd20.h
	flight/PiOS/pios.h
	flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2012-01-23 22:09:45 -06:00
James Cotton
bb0bfe0ae4 Merge branch 'next' into revolution3
Conflicts:
	flight/Bootloaders/CopterControl/Makefile
	flight/Bootloaders/PipXtreme/Makefile
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/CopterControl/Makefile
	flight/INS/inc/pios_config.h
	flight/Libraries/taskmonitor.c
	flight/Modules/Altitude/altitude.c
	flight/Modules/Attitude/attitude.c
	flight/OpenPilot/Makefile
	flight/OpenPilot/Makefile.posix
	flight/OpenPilot/System/inc/pios_usb_board_data.h
	flight/OpenPilot/System/inc/taskmonitor.h
	flight/OpenPilot/System/pios_board.c
	flight/OpenPilot/System/taskmonitor.c
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/STM32F4xx/pios_bmp085.c
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/PiOS/pios.h
	flight/Revolution/System/inc/pios_config.h
	flight/Revolution/System/inc/taskmonitor.h
	flight/Revolution/System/taskmonitor.c
	ground/openpilotgcs/src/plugins/serialconnection/serialplugin.cpp
	shared/uavobjectdefinition/systemalarms.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-01-21 11:27:03 -06:00
James Cotton
9fb23d6491 Bump the board revision up to two for coptercontrol 3d 2012-01-20 14:39:05 -06:00
Stacey Sheldon
1d14ab00e1 safeboot: add safe boot support to OP and PIPX bootloaders
Application support for OP and PIPX will show up in future
commits.
2012-01-14 14:28:11 -05:00
Stacey Sheldon
fb0fbb150d bl: bump CC bootloader version to reflect safe boot support 2012-01-07 09:52:46 -05:00
Stacey Sheldon
7b38bc3d2d jtag: add new make targets for reset and safeboot
It is now easier to trigger warm restarts of a board
via jtag.

Examples:
  * make fw_coptercontrol_reset
  * make fw_coptercontrol_safeboot

NOTE: These targets are making chip-specific assumptions
      so they have to be rewritten to support the F2/F4
      boards.
2012-01-02 14:27:07 -05:00
James Cotton
d78d345953 Configuration tab for revo 2011-12-24 14:08:08 -06:00
James Cotton
4a3fd96155 For now masquerade Revo as a CC for GCS settings 2011-11-26 14:18:09 -06:00
James Cotton
ec84fc4058 Get the Revolution bootloader working 2011-11-13 17:13:42 -06:00
James Cotton
cdb6059752 Coyp over some of how the PH build system works 2011-11-01 01:36:52 -05:00
James Cotton
9bdd021b2e Make new Revolution target 2011-11-01 01:17:59 -05:00
James Cotton
f019412209 Various tweaks to get the F4 working 2011-10-26 21:56:00 -05:00
James Cotton
fef9570e4d INS: Get bootloader working again 2011-09-27 01:17:14 -05:00
James Cotton
cf6a59468f Merge branch 'next' into ins
Conflicts:
	flight/INS/Makefile
	flight/Project/OpenOCD/stm32f1x.cfg
	flight/Project/OpenOCD/stm32f2x.cfg
	make/firmware-defs.mk
2011-09-27 01:02:06 -05:00
Stacey Sheldon
f29b99521e openocd: collapse JTAG rules for STM32F1 and STM32F2 2011-08-27 10:43:02 -04:00
James Cotton
ca413415a0 Code to make openocd 0.5.0 work. I'll keep this branch rebased on next. 2011-08-13 18:03:49 -05:00
James Cotton
e9ca5c15f9 UPGRADE OPENOCD!!!!
To support the F2 and F1 you must upgrade to OpenOCD 5.0
2011-08-12 21:39:29 -05:00
James Cotton
6529b8360f Trying to get linker system working for INS 2011-08-12 21:28:02 -05:00
James Cotton
558bdddeaf INS: Almost got Bootloader compiling *sigh* 2011-08-06 21:27:29 -05:00
James Cotton
1ccb9a1947 Some changes to BL to get running on F2. Also disables it for now (flash
interface is different).
2011-08-06 19:46:41 -05:00
James Cotton
7720f9ff09 Add F2 support for the new OpenOCD for newer targets. Requires compiling
OpenOCD from repo.
2011-08-06 18:21:21 -05:00
zedamota
7406dc0a47 Increased CC bootloader version to '1' 2011-07-14 14:03:19 +01:00
Oleg Semyonov
8c6526cf25 gcs: add git version info to the About dialog using version-info.py 2011-05-29 00:27:07 +03:00
Oleg Semyonov
0867b3b729 package: (win) add comment regarding newer Qt SDK location and SDL requirements 2011-05-28 11:46:51 +03:00
Oleg Semyonov
41b03c92ee build: change FWTAG replacement to keep suffix intact and trim branch/tag only 2011-05-26 09:01:44 -04:00
Oleg Semyonov
75d4f19d30 build: add FWTAG variable to the version-info.py 2011-05-26 09:01:32 -04:00
Stacey Sheldon
986121d281 build: force firmwareinfo.c/bin to be regenerated on every build 2011-05-25 00:27:16 -04:00
Stacey Sheldon
4da671fc82 build: change firmware files from .opf to .opfw extensions 2011-05-25 00:20:02 -04:00
Stacey Sheldon
c240a927ab build: fixup ins board-info.mk file to match new format 2011-05-24 23:47:03 -04:00
Stacey Sheldon
0eb92fad91 build: refactor jtag program and add jtag wipe target
Macros for JTAG program and wipe for each target are now
provided in firmware-defs.mk.

The _wipe target for each firmware and bootloader image will
erase either the bootloader (bl_*_wipe) or firmware (fw_*_wipe)
bank.
2011-05-24 01:10:31 -04:00
Stacey Sheldon
9973fda23b build: define bootloader and firmware bank spans
The board-info.mk files now define the start and size
of the bootloader and the firmware banks.
2011-05-24 01:03:01 -04:00
Stacey Sheldon
9854c18c5d version-info: allow unannotated tags
Unannotated (ie. movable) tags will now influence the
tag/hash reported in the version info blob attached to
the firmware image (.opf).
2011-05-23 18:21:42 -04:00
Stacey Sheldon
0a67730d0f build: refactor fw, bl and bu rules
- New macros for fw, bl and bu rules in top-level make
- Per-board info factored into make/board/*/board-info.mk
- Per-board info now shared btw. fw, bl and blupd for each board
   - BOARD_TYPE, BOARD_REVISION, BOOTLOADER_VERSION, HW_TYPE
   - MCU, CHIP, BOARD, MODEL, MODEL_SUFFIX
   - START_OF_BL_CODE, START_OF_FW_CODE
- blupd_* goals renamed to bu_*
- all_blupd goal renamed to all_bu
- firmware goals renamed to fw_*, board name goals are preserved
- bu_*_program now writes updater to correct address for all boards
- BL updater firmware builds now produce .opf format including
  version info blob.
- BL updater firmware name now includes board name.
- INS makefile brought up to date w.r.t. linker scripts
2011-05-23 18:21:42 -04:00
Stacey Sheldon
6ec6425f5e build: build opf images including firmware + version blob 2011-05-22 10:55:13 -04:00
Oleg Semyonov
5c085550cb OP-483: include dirty state of repository into the version string 2011-05-22 12:00:49 +03:00
Oleg Semyonov
6f5f334818 OP-483: fallback to optparse to improve python script portability 2011-05-21 21:00:12 +03:00
Oleg Semyonov
caab3ce01a OP-305: fix default CodeSourcery location on Windows 2011-05-21 13:14:15 +03:00
Oleg Semyonov
285c429589 OP-483: add Windows installer target to 'make release' 2011-05-19 01:05:12 +03:00
Oleg Semyonov
25c44d3d0d OP-483: polish comments in scripts 2011-05-18 21:48:55 +03:00
Oleg Semyonov
8f30b89b17 OP-307: add template for firmware info blob C source
python $(TOP)/make/scripts/version-info.py \
	--path=$(TOP) \
	--template=$(TOP)/make/templates/firmwareinfotemplate.c \
	--outfile=$(TOP)build/$(FW)/firmwareinfo.c \
	--image=$(TOP)/build/$(FW)/$(FW_IMAGE_BIN) \
	--type=0x04 \
	--revision=0x01
2011-05-17 21:37:02 +03:00
Oleg Semyonov
bf9a3ef7d3 OP-483: add version-info.py script for software, firmware and release packaging 2011-05-17 21:29:22 +03:00
Oleg Semyonov
b33d093a7a OP-483: update Windows build system, provide install replacement
Since msysGit lacks the install command, simple cp -f replacement
is provided. Don't forget to copy it into the msysGit bin subdirectory.

Introduced CLEAN_BUILD=NO make option to test packaging w/o cleaning.
Recommended for test builds only, not for production run.

make -j works great after PyMite dependency fix by commit
0005729056
So comment is updated as well.
2011-05-15 14:54:24 +03:00
Oleg Semyonov
37868a4c10 OP-483: add install target for firmware
make INSTALL_DIR=dir INSTALL_PFX=pfx INSTALL_SFX=sfx install
installs binary file into specified install directory adding
optional prefix and/or suffix.
2011-05-13 11:25:32 +03:00
Oleg Semyonov
3964b97ae5 OP-483: Update Windows build environment subdirectory
USE_BOOTLOADER now deprecated and removed.
Scripts are moved into the same subdirectories like in msysGit.
Added make.sh script (for advanced usage scenario).
Few misprints are fixed.
2011-05-13 11:25:27 +03:00
James Cotton
0b63e9d39c Merge branch 'OP-484_Stac_Standardize-on-all-application-loads-requiring-a-bootloader' 2011-05-08 23:14:37 -05:00
James Cotton
32fa213744 Merge branch 'OP-484_Stac_Standardize-on-all-application-loads-requiring-a-bootloader' 2011-05-08 22:44:14 -05:00
Stacey Sheldon
5ea814ae12 build: really handle colon in windows path names in bino symbol transform
colon in windows paths needs to be converted to an underscore,
not removed entirely from the symbol names autogenerated by
objcopy.
2011-05-08 17:36:16 -04:00
Stacey Sheldon
4c4136c75e build: handle colon in windows path names in bino symbol transform 2011-05-08 16:21:55 -04:00
Stacey Sheldon
29ec2f198b build: convert all app loads to require bootloaders
This change is made up of a number of tightly coupled
changes:
 - Deprecate the use of the USE_BOOTLOADER command-line
   option.  It is now hard-coded in each Makefile.
   Overriding it on the command line is not allowed.
 - Split apart the memory declaration and the section
   declaration in all linker files (*_memory.ld and
   *_sections.ld).
 - Describe the split between bootloader and app sections
   of flash in each board's _memory.ld file.
 - Change program target to selectively erase flash so
   that the installed bootloader is preserved across even
   JTAG programming operations.
 - All elf files are built with debug symbols and are not
   stripped.  This should help debugging with gdb.  The
   images programmed on the boards are all .bin files now
   which do not include symbols.
2011-05-08 12:40:29 -04:00
Stacey Sheldon
116848d8dd build: add support for building stripped elf files 2011-05-08 12:40:28 -04:00
Oleg Semyonov
703db76e27 OP-483: Rename win32 to winx86 (it works also on 64-bit) 2011-05-08 16:37:01 +03:00
Stacey Sheldon
7e99419c8a build: Add support for %.bin.o generation
The .bin.o rule places the contents of a raw .bin file
into an .o file wrapped within fixed symbols for start
and end.  This can be used to embed a binary file inside
of an executable.

The symbols for the embedded binary blob are:
 _binary_start
 _binary_end
 _binary_size

NOTE: The way the .bin.o rule is currently written, you
can only embed one binary blob in an executable since the
symbol names will collide if you add multiple blobs.  This
limitation is easily removed later if necessary.
2011-05-07 18:05:50 -04:00
Oleg Semyonov
4d2095bc6f OP-305: reverse search order (dir, then PATH) for better compatibility 2011-05-03 16:16:41 -05:00
Oleg Semyonov
69f2f75d8b OP-305: update sh.cmd to make easier to add more tools to the PATH 2011-05-03 17:19:00 +03:00
Oleg Semyonov
f88d3f19f7 OP-305: better handling of spaces in paths, add advanced usage info
It needs to be verified on Windows 7 and 64-bit systems to make sure it
still works as expected due to %COMSPEC% removal from the sh.cmd file.
2011-05-03 14:47:30 +03:00
Oleg Semyonov
5cba782b9b OP-305: fix README.txt (add Unicode NSIS) 2011-05-02 21:05:13 +03:00
Oleg Semyonov
21c4837f95 OP-305: add Windows unix-like build system scripts and README.txt 2011-05-02 20:13:26 +03:00
James Cotton
69d03ca101 OP-439: Simplify further. Abstract most of the OOCD flags into the common
firmware include and delete all the extra foss-jtag config files.  There is now
a legacy file for the revA board a second for AHRS that changes the port
2011-04-24 10:19:00 -05:00
stac
6700a74782 makefile: refactor makefiles and clean up output
This significantly reduces the amount of duplication
across the various firmware makefiles.

The new firmware-defs.mk file should contain only
macros/declarations that will apply to all firmware
makefiles.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2854 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:53 +00:00