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

3767 Commits

Author SHA1 Message Date
Alessio Morale
2fe7139fc3 Merge branch 'amorale/OP-908_clean_float_math' into next
Conflicts:
	flight/PiOS/Common/pios_rfm22b.c
2013-04-23 02:09:01 +02:00
Alessio Morale
37e17fb706 Merge branch 'os/OP-866_sanitychecks' into next 2013-04-22 23:56:59 +02:00
Alessio Morale
594b44118f Merge branch 'next' into amorale/OP-911_mpu6000_fix_isr 2013-04-22 23:25:19 +02:00
Alessio Morale
84129dba40 OP-886 move systemalarm.h include inside guards in sanitycheck.h
+review OPReview-430
2013-04-22 22:58:37 +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
Alessio Morale
d64b1e5c90 OP-908 clean some defines from sensor.c
+review OPReview-436
2013-04-20 23:46:32 +02:00
Oleg Semyonov
97d4e9178b Merge remote-tracking branch 'origin/lilvinz/dsmx_zero_fix' into next 2013-04-20 22:14:23 +02:00
Alessio Morale
8011a9476d OP-886 fixed a bug caused by wrong check for xSemaphoreTakeRecursive return code
Conflicts:
	flight/Libraries/alarms.c
2013-04-20 17:17:55 +02:00
Alessio Morale
dd37c31a07 OP-886 Fixes to styles, used enum for ExtendedAlarmStatus
Conflicts:
	flight/Libraries/inc/sanitycheck.h
	shared/uavobjectdefinition/systemalarms.xml
2013-04-20 16:33:38 +02:00
Oleg Semyonov
220b4b5042 OP-886: use enum for extended alarm status field
See also:
    http://reviews.openpilot.org/cru/OPReview-430
    http://progress.openpilot.org/browse/OP-915
2013-04-20 02:10:40 +03:00
Oleg Semyonov
343a4b9015 OP-886: cosmetic style and spacing fixes 2013-04-20 00:56:45 +03:00
Oleg Semyonov
cb068f507b Merge remote-tracking branch 'origin/next' into amorale/OP-886_sanitychecks 2013-04-19 23:43:42 +02: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
efeb7c4890 Merge remote-tracking branch 'origin/cyr/yawzero' into next 2013-04-19 15:30:57 +03:00
Alessio Morale
61be4811f5 OP-900 Various fixes from OPReview-435
+review OPReview-435
2013-04-19 00:00:28 +02:00
Alessio Morale
f005485e63 OP-900 Switched Simposix to common FreeRTOS version
+review OPReview-435
2013-04-18 23:27:48 +02:00
Alessio Morale
36c0ec100b OP-908 added pios_constants.h containing some (more or less) useful physical constants, added other float constants to pios_math.h fixes for code style.
+review OPReview-436
2013-04-18 21:03:25 +02:00
Alessio Morale
4077dfde56 OP-874 Added visual (heartbeat led flashing) indication of flash format being performed.
+review OPReview-421
2013-04-18 00:47:14 +02:00
Alessio Morale
a825772389 OP-911: Use SPI_ReleaseBusISR within isr, changed a malloc with pvPortMalloc for coherence with the rest of PiOS
+review OPReview-44
2013-04-17 23:42:20 +02:00
Alessio Morale
ae62517600 OP-911: Added SPI_ReleaseBusISR counterpart
+review OPReview-447
2013-04-17 23:40:49 +02:00
Alessio Morale
66b1d285d5 OP-911: Fixed SPI_ClaimbusISR for F1
+review OPReview-447
2013-04-17 22:41:53 +02:00
Alessio Morale
6214d0d471 OP-911: First part of the rework: Fixed non isr call for claimbus, changed delays at startup to resolve a intermittent failure at MPU6000 initialization on reboot.
+review OPReview
2013-04-17 19:22:56 +02:00
Oleg Semyonov
3b3377e6f4 Merge remote-tracking branch 'origin/os/friendly-toolchain-install' into next 2013-04-15 01:24:42 +02:00
Richard Flay (Hyper)
afb8a20b6f OP-913: tweaked some UAVO related struct alignments to attempt to ensure that UAVO data fields end up being 4 byte aligned on the heap. Also fixed a memset issue in the initialisation code for multi-instance UAVOs .
+review OPReview
2013-04-14 11:52:56 +09:30
Oleg Semyonov
afbb11f43e Fix 'variable not used' warning. Still needs to be reworked for timing 2013-04-14 02:11:23 +02:00
Oleg Semyonov
03a4ca545f Remove stray '}' in a makefile 2013-04-12 11:51:18 +02:00
Oleg Semyonov
8ab580ae82 Remove stray '}' in a makefile 2013-04-12 12:50:12 +03:00
Oleg Semyonov
34b15fedaf OP-719: make python_install (Windows) 2013-04-12 10:56:10 +02:00
Oleg Semyonov
bc4d25242f makefile: use the same coding style for all make variables 2013-04-12 10:55:23 +02:00
Brian Webb
28bfc2725c Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS 2013-04-11 14:42:49 +01:00
Alessio Morale
cc6d19e40a OP-908 added pios_math.h and pios_helper.h to contains all the various math and general macros/constants. Fixed remaining constants still defined as double.
+review OPReview-436
2013-04-09 01:10:41 +02:00
Alessio Morale
f68a038af0 OP-900 Updated howto_upgrade.txt doc
+review OPReview-435
2013-04-08 23:31:08 +02:00
Alessio Morale
81156ad132 OP-900 Changed memory allocation strategy for F1 to use portBYTE_ALIGNMENT alignment for stacks and portBYTE_HEAP_ALIGNMENT for generic mallocs
+review OPReview-435
2013-04-08 22:55:49 +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
Brian Webb
e27be3f594 Removed code for per message channel hop. 2013-04-07 15:59:31 +01:00
Brian Webb
90b0987e43 Fixed setting max Tx power on Revo. 2013-04-07 02:17:09 +01:00
Alessio Morale
71de38f2d5 OP-908 Uniform handling of M_PI using a Floating counterpart F_PI, explicitly define integer constants as float when used in floating point calculations
+review OPReview-436
2013-04-06 23:07:06 +02:00
Brian Webb
95c150213a Don't send GCSReceiver when using OPLink receiver (on Revo). 2013-04-06 17:57:16 +01:00
Brian Webb
d36cf828bc RFM22B: Don't send a connection request from a non-coordinator. 2013-04-06 16:35:12 +01:00
Alessio Morale
ce6f84063c OP-908 Cleanup for unwanted double precision math on float data.
- Use float counterpart instead of double precision function when dealing with float data
- Force float data type for decimal constants

+review OPReview
2013-04-06 16:45:05 +02:00
Alessio Morale
c801ca681c OP-900 update FreeRTOS to 7.4.0
also added an howto_update.txt file that list the necessary modifications to FreeRTOS files
+review OPReview
2013-04-06 15:05:39 +02:00
Brian Webb
4564718708 Added setting of max RF power and initial frequency on Revo. 2013-04-06 04:28:25 +01:00
Brian Webb
fef2c16f5a RFM22B: Changed the connection process. Now the coordinator waits to receive a status packet from a modem that it is bound to before it sends the connection request. 2013-04-06 02:25:59 +01:00
Brian Webb
948038f655 Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS 2013-04-06 01:32:36 +01:00
Brian Webb
c330db3a28 Added setting of min/max frequencies on OPLink coordinator. 2013-04-06 01:32:15 +01: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
Alessio Morale
f30692836a OP-886 Fixes to styles
+review OPReview-430
2013-04-04 20:11:57 +02:00
Oleg Semyonov
de4ca359dd Merge remote-tracking branch 'origin/os/OP-719_arm-sdk-update' into next 2013-04-04 12:09:33 +02:00
Alessio Morale
13dd1178a8 OP-886 Fixes to styles: testing style settings for Eclipse
+review OPReview-430
2013-04-03 19:26:25 +02:00
Brian Webb
61712be03d Added 57600 kbps air datarate mode, and added setting of registers 69 and 58. 2013-04-03 02:05:51 +01:00
Alessio Morale
23c0c3585c OP-886 Fixes to styles and includes
+review OPReview-430
2013-04-01 16:41:12 +02:00
Brian Webb
4778a12070 Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS 2013-04-01 14:30:46 +01:00
Alessio Morale
9264c8b4e2 Merge remote-tracking branch 'origin/amorale/OP-881_flashautodetect' into next 2013-03-31 18:06:52 +02:00
Brian Webb
538d854627 Changed test for GCSRECEIVER in OPLink to PIOS_INCLUDE_GCSRCVR to match new define in pios_config. 2013-03-31 16:37:14 +01: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
Alessio Morale
45b0e787a4 OP-886 Improvements to sanitychecks
Added an Extensions to Alarm for detailed status/substatus reporting.
Extended Alarms are the first in the Alarm structure and have corresponding fields in Status and Substatus structures.
Also added a filter to the HWsettings update to prevent to block arming when actual settings have not changed.

+review OPReview
2013-03-30 19:57:16 +01:00
Brian Webb
1cac81b3e8 Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS
Conflicts:
	flight/targets/PipXtreme/System/inc/pios_config.h
	flight/targets/RevoMini/System/inc/pios_config.h
2013-03-29 17:17:55 -07:00
Oleg Semyonov
ca0910370f OP-881: flashfs: coding style fixes according to OPReview-423
+review OPReview-423
2013-03-29 11:26:56 +02:00
Alessio Morale
46e9e60e76 OP-881 fixed for stile compliance, added test and assertions on flash init for revolution and CC targets
+review OPReview-423
2013-03-29 00:30:28 +01:00
Alessio Morale
e68aeb0c8e OP-881 Make PIOS_Flash_Jedec_Init able to configure the flash chip based on Jedec Id returned using a catalog of known flash chips.
+review OPReview
2013-03-27 00:26:47 +01: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
17600ed09f PyMite: remove from simposix Makefile and use library instead 2013-03-25 02:59:40 +02:00
Oleg Semyonov
8e7712a13f PyMite: fix nasty build bug with open file problem on Windows
In fact, the cause of that error was badly written makefile rule which
generated 5 same files 5 times. If used with make -j, it tried to open
the same files for writing at the same time. Windows doesn't like this.
This is fixed now.
2013-03-25 02:03:35 +02:00
Brian Webb
1979e8b57f Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS 2013-03-24 16:57:59 +01:00
Oleg Semyonov
30b362a5fa entire-flash.py: fix comment 2013-03-24 14:12:08 +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
2eff6f5f3c Posix compile-only fix (still needs a lot of rework)
This is a patch to make simposix buildable. It does not use new
makefiles and should be reworked.

Conflicts:
	flight/targets/SimPosix/Makefile
2013-03-24 13:06:21 +02:00
Oleg Semyonov
bd033badb9 BootloaderUpdater: move one level up, now next to EntireFlash and Bootloaders 2013-03-24 13:06:18 +02:00
Oleg Semyonov
5f24378a4f EntireFlash: now works on all supported platforms 2013-03-24 13:06:17 +02:00
Oleg Semyonov
992bd696a6 *.mk: fix double '/' in path names ($dir always returns it as a last char)
Also minor formatting of all library.mk files.

Conflicts:
	flight/PiOS/Common/Libraries/CMSIS2/library.mk
2013-03-24 13:06:08 +02:00
Oleg Semyonov
38d822d2f5 Makefile: rework OSD Makefile and target to use new make system
Conflicts:
	flight/targets/OSD/Makefile
2013-03-24 13:06:07 +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
404ba00f70 Makefile: rework Revolution Makefile to use new make system
Conflicts:
	flight/targets/Revolution/Makefile
2013-03-24 13:06:05 +02:00
Oleg Semyonov
f465a04b88 pios: add new options from Revolution to pios.h and pios_config.h 2013-03-24 13:06:04 +02:00
Oleg Semyonov
886c6b8775 Makefile: rework RevoMini Makefile to use new make system
Conflicts:
	flight/targets/RevoMini/Makefile
	flight/targets/RevoMini/UAVObjects.inc
2013-03-24 13:06:03 +02:00
Oleg Semyonov
c518a58215 Makefile: remove hardly used make options from CopterControl Makefile
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
2013-03-24 13:06:02 +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
dbe1c39c47 pios: include memory allocator for F4 FreeRTOS targets by default
This is by analogy to F1 FreeRTOS tagrgets which always use heap_1.
2013-03-24 13:05:59 +02:00
Oleg Semyonov
6502cea50e pios_bl_helper.h: why all these empty lines? 2013-03-24 13:05:58 +02:00
Oleg Semyonov
3c97b5a7c6 Clean up pios_config.h for BL, BU, some FW (not all yet)
Conflicts:
	flight/targets/Bootloaders/CopterControl/inc/pios_config.h
2013-03-24 13:05:57 +02:00
Oleg Semyonov
446abf6190 pios: add more global config options used by Revo
Conflicts:
	flight/PiOS/pios.h
	flight/targets/RevoMini/System/inc/pios_config.h
2013-03-24 13:05:55 +02:00
Oleg Semyonov
49ed34fd7b insgps: move definition of NavStruct variable from header to source file 2013-03-24 13:05:54 +02:00
Oleg Semyonov
9bcbcbeb34 Remove never used op_config.h files (all occurences were empty) 2013-03-24 13:05:53 +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
ce4b2f4446 pios_debug: use PIOS_INCLUDE_DEBUG_CONSOLE to DEBUG_PRINTF(level, ...)
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
2013-03-24 13:05:51 +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
243c1a28ec Remove duplicated global var and defines from board definition file
Was caught using just added linker options:
  LDFLAGS += -Wl,--warn-common
  LDFLAGS += -Wl,--fatal-warnings
2013-03-24 13:04:16 +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
0e6b2acb22 Makefile: add PiOS/STM32F10x/library.mk
Conflicts:
	flight/PiOS/STM32F10x/library.mk
2013-03-24 13:04:14 +02:00
Oleg Semyonov
238692c3da STM32F4xx/library.mk cleanup (formatting only)
Conflicts:
	flight/PiOS/STM32F4xx/library.mk
2013-03-24 13:04:12 +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
448a07fe57 pios_config.h: remove non-existent option PIOS_NO_GPS 2013-03-24 13:04:10 +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
30128517b5 Makefile: remove unused USE_I2C option from makefiles 2013-03-24 13:04:07 +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
8b4a547d69 rscode: add a library make config file, library.mk 2013-03-24 13:04:05 +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