1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-13 20:48:42 +01:00
Commit Graph

4590 Commits

Author SHA1 Message Date
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
sambas
47a7659147 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext 2013-04-02 20:40:41 +03:00
sambas
d776d82518 Does this fix simposix and make bamboo happy 2013-04-02 19:57:40 +03: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
Alessio Morale
8698bcfb84 Moved OSD settings from SDCard to mcu internal flash memory 2013-03-30 15:47:22 +01:00
sambas
e43e5c5028 Add missing flightmodes into sanitycheck, pathfollower needs to be running before sanitycheck runs 2013-03-30 14:57:43 +02: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
sambas
2557600257 uavobjects thing that fixes sdcard settings save on osd. Can be reverted when fix found. 2013-03-28 18:35:42 +02:00
sambas
4f7e37651c F4 CPU temp fix(revo), I think rm still not working 2013-03-28 18:34:31 +02:00
sambas
5ded8c6dfc VTOL path fixes
Flight mode fixes
POI mode
AutoLand Tests
Simple stabilization Shortest way yaw fix
GCS map and pathplanner fixes
2013-03-28 18:29:26 +02: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
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
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
00a0ef430d pios: fix pios_config.h (now PIOS_INCLUDE_COM_MSG requires PIOS_INCLUDE_COM) 2013-03-24 13:03:57 +02:00
Oleg Semyonov
e80890e164 pios: STM32F4xx PIOS #ifdef guards 2013-03-24 13:03:56 +02:00
Oleg Semyonov
b73ddffbf0 pios: STM32F10x PIOS #ifdef guards 2013-03-24 13:03:55 +02:00
Oleg Semyonov
285cad290b pios: common PIOS #ifdef guards
Conflicts:
	flight/PiOS/Common/pios_com.c
	flight/PiOS/Common/pios_mpu6000.c
2013-03-24 13:03:54 +02:00
Oleg Semyonov
e96f717b94 pios: common PIOS header guards 2013-03-24 13:03:53 +02:00
Oleg Semyonov
fc6024d23e pios: pios_config.h cleanup (CopterControl)
Conflicts:
	flight/targets/CopterControl/System/inc/pios_config.h
2013-03-24 13:03:52 +02:00
Oleg Semyonov
39363d9efa pios: main pios.h header cleanup
Conflicts:
	flight/PiOS/pios.h
2013-03-24 13:03:51 +02:00
Oleg Semyonov
304f366338 Remove discontinued AHRS files 2013-03-24 13:03:50 +02:00
Alessio Morale
8d6ef5cfe9 OP-747 Shortened an unneded very long delay in MPU6000 2013-03-24 11:42:41 +01:00
Brian Webb
2b6345850b Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS 2013-03-24 00:58:41 +01: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
Alessio Morale
7161d276f7 Merge remote-tracking branch 'origin/amorale/OP-866_rm_flexi-io_configurations' into next 2013-03-23 11:47:46 +01:00
Alessio Morale
643f62e175 Added configuration for F1+ SWD/StlinkV2
use it with ./tools/openocd/bin/openocd -f ./flight/Project/OpenOCD/stlink-v2.cfg -f ./flight/Project/OpenOCD/stm32f1x.stlink.cfg
2013-03-23 10:58:57 +01:00
Alessio Morale
eff2cf20fd OP-878 change led used for heartbeat as OPLink has not any USB led 2013-03-23 10:56:21 +01:00
Brian Webb
1513413795 Added 56k data rate mode to rfm22 driver. 2013-03-18 04:30:11 +01:00
Brian Webb
b2da960644 Fixed configuration of PPM intput on main port. 2013-03-15 02:24:31 +01:00
Brian Webb
d5795b2118 Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS 2013-03-12 01:36:34 +01:00
Alessio Morale
94aaa1bf10 Merge remote-tracking branch 'origin/amorale/OP-820_bu_showerror' into next 2013-03-11 20:09:57 +01:00
Alessio Morale
d327f199e8 Bootloader error visualization: Fixed indentation/spaces/2
+review OPReview-400
2013-03-10 23:41:34 +01:00
Alessio Morale
fcbfb53a87 Bootloader error visualization: Fixed indentation/spaces
+review OPReview-400
2013-03-10 21:03:40 +01:00
Alessio Morale
4f270cf13d OP-866 Flexi-IO: adding PPM+OUTPUT, PPM+PWM and OUTPUT mode.
+review OpenPilot
2013-03-10 20:43:52 +01:00
Brian Webb
9986b58f9b RFM22B/RM: Tweaked some PPM parameters to make PPM more stable on OPLink/RM.
Conflicts:
	flight/PiOS/Common/pios_rfm22b.c
2013-03-10 11:43:33 -07:00
Brian Webb
08021799ee RFM22B: Some style cleanup, and turned off status messages from coordinator. 2013-03-10 16:08:39 +01:00
Brian Webb
7db7ab0e45 Switched to non-blocking I/O on radio port, which should prevent watchdog restarts when the radio link backs up. 2013-03-09 16:44:51 +00:00
Brian Webb
27c87e4b89 RFM22B: Fixed OPLink receiver output on RM. 2013-03-09 16:12:00 +00:00
Brian Webb
031b0073b1 RFM22B: Possible fix for the failure to connect at times. 2013-03-09 02:27:58 +00:00
Brian Webb
e70f0f2c21 Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS 2013-03-09 01:43:46 +00:00
Brian Webb
bf5ef5bd00 RFM22B/RM: Added GPIO debugging to revomini to test rfm22b. Fixed (apparently) the reset issues with the rfm22b frequency hopping. Periodic frequency hopping is working pretty well now. 2013-03-09 01:06:42 +00:00
Alessio Morale
ffbb0a5a8e Merge remote-tracking branch 'origin/amorale/op-848_mpu6000_configurability' into next 2013-03-08 00:08:15 +01:00
Brian Webb
3a8c5494ca Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS 2013-03-07 13:57:51 +00:00
sambas
99096ff936 Servo Out 6 fix 2013-03-06 23:17:57 +02:00
Brian Webb
31a3a66656 Mostly working periodic (as opposed to per message) channel hopping. This version should have less risk of getting hopelessly out of sync, but currently drops some packets. The dropped packets are likely around the channel hops. 2013-03-03 21:08:17 -07:00
Alessio Morale
2f3493f4b8 OP848 Fixes typos on header files comments 2013-03-03 21:45:29 +01:00
Alessio Morale
4791f690ad OP-848 Move the handling of the UAVO configuration outside of the PiOS layer
a configuration helper header has been added to eliminate a lot of boilerplate code in *pios_board.c
2013-03-03 21:17:02 +01:00
Oleg Semyonov
776ec4f3ea ut_logfs: do not pollute the source tree with temp files 2013-03-03 14:33:04 +01:00
Oleg Semyonov
c038f6b987 ut_logfs: fix fseek()/fread() problem on Windows 2013-03-03 14:33:04 +01:00
Stacey Sheldon
b3178c3966 flash_ut: fix forward declaration of init function 2013-03-03 14:33:04 +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
842b275e13 logfs: fix bugs in handling full filesystem conditions
This was caught by the logfs unit tests.
2013-03-03 14:33:02 +01:00
Stacey Sheldon
b211840104 logfs: allow loading zero length files
This was found by the logfs unit tests.

This may be useful if we want to use empty files as existence
flags in the future.  Doesn't make any sense for UAVOs but
is valid in the general sense of a filesystem.
2013-03-03 14:33:02 +01:00
Stacey Sheldon
b6eeb59b26 flash: verify JEDEC ID during flash init
Verify that the flash component on the board matches exactly
what we're expecting.  This is a simple way to verify that we
are communicating properly with the JEDEC flash chip.

Conflicts:
	flight/targets/board_hw_defs/freedom/board_hw_defs.c
	flight/targets/board_hw_defs/quanton/board_hw_defs.c
2013-03-03 14:33:02 +01:00
Stacey Sheldon
17b8696261 flash: use uintptr_t to hold opaque pointers
When storing an opaque pointer value in a uint, the
appropriate type is uintptr_t which is guaranteed to
be wide enough to hold a pointer.

This is particularly important when the code can be
compiled in a sim or unit test environment which is
intended to run on a 64-bit machine.

Conflicts:
	flight/PiOS/Common/pios_flash_jedec.c
	flight/targets/DiscoveryF4/System/pios_board.c
	flight/targets/FlyingF4/System/pios_board.c
	flight/targets/Freedom/System/pios_board.c
	flight/targets/Quanton/System/pios_board.c
2013-03-03 14:33:02 +01:00
Stacey Sheldon
dd5f4b949c logfs: use uintptr_t to hold opaque pointers
When storing an opaque pointer value in a uint, the
appropriate type is uintptr_t which is guaranteed to
be wide enough to hold a pointer.

This is particularly important when the code can be
compiled in a sim or unit test environment which is
intended to run on a 64-bit machine.

Conflicts:
	flight/targets/DiscoveryF4/System/pios_board.c
	flight/targets/FlyingF4/System/pios_board.c
	flight/targets/Freedom/System/pios_board.c
	flight/targets/Quanton/System/pios_board.c
2013-03-03 14:33:02 +01:00
Alessio Morale
cc2d5f8eae Fixes for missing openpilot.h include, previously coming from flashfs_objlist 2013-03-03 14:33:02 +01:00
Stacey Sheldon
7f53aa422a ut: add basic unit test for logfs
Build it with:
  make ut_logfs

Create a raw flash file like this:
  dd if=/dev/zero bs=1 count=2MiB | tr '\000' '\377' > theflash.bin

Run it with:
  ./build/unit_tests/logfs/logfs.elf && echo 'all good'

Conflicts:
	Makefile
2013-03-03 14:33:02 +01:00
Stacey Sheldon
7726b9e2a9 logfs: use f3-safe slot and arena states for all chips
Filesystem magic value has been updated to deal with the
format change.

Conflicts:
	flight/targets/board_hw_defs/discoveryf4/board_hw_defs.c
	flight/targets/board_hw_defs/flyingf4/board_hw_defs.c
	flight/targets/board_hw_defs/freedom/board_hw_defs.c
	flight/targets/board_hw_defs/quanton/board_hw_defs.c
2013-03-03 14:33:01 +01:00
lilvinz
d611207789 pios_flashfs_logfs: moved modified ARENA and SLOT enums to an F3 branch
also added a detailed comment
2013-03-03 14:33:01 +01:00
lilvinz
b242f8b88c pios_flashfs: adapted flashfs to work on f3 2013-03-03 14:33:01 +01:00
Stacey Sheldon
81059c41f7 flashfs: remove API dependency on uavobjmanager types
The flashfs layer is now entirely decoupled from the UAVO
data types.  All UAVO related calls are now properly
contained within uavobjectmanager.c.

This will make the flashfs layer more portable as well as
more testable in a standalone environment.  Eventually,
this layer could be used to store arbitrary files.

Also fixed all of the doxygen headers for the flashfs API.
2013-03-03 14:33:01 +01:00
Stacey Sheldon
d2a3f254bc stmflash: add flash driver for internal flash in STM32 2013-03-03 14:33:01 +01:00
Stacey Sheldon
d89a9b1b6c objlist: remove now unused objlist flash filesystem
Conflicts:
	flight/PiOS/inc/pios_flashfs_objlist.h
2013-03-03 14:33:01 +01:00
Stacey Sheldon
bcb66764e2 logfs: use logfs on all targets that have serial flash
Conflicts:
	flight/targets/FlyingF4/Makefile
	flight/targets/FlyingF4/System/pios_board.c
	flight/targets/Freedom/Makefile
	flight/targets/Freedom/System/pios_board.c
	flight/targets/Quanton/Makefile
	flight/targets/Quanton/System/pios_board.c
	flight/targets/board_hw_defs/flyingf4/board_hw_defs.c
	flight/targets/board_hw_defs/freedom/board_hw_defs.c
	flight/targets/board_hw_defs/quanton/board_hw_defs.c
2013-03-03 14:33:01 +01:00
Stacey Sheldon
5ef0988137 logfs+flash: add log structured filesystem for PiOS
A new flash driver abstraction is also provided to allow
for future support of other types of flash device under
the filesystem.

Conflicts:
	flight/PiOS/Common/pios_flash_jedec.c
2013-03-03 14:33:01 +01:00
Stacey Sheldon
20921e48ca flashfs: define the API to the FLASHFS subsystem 2013-03-03 14:33:01 +01:00
Alessio Morale
d26aaa6f6d sim_posix Removed unused files 2013-03-03 09:50:20 +01:00
Alessio Morale
5fdaccc1fa sim_posix: unified inc files with the rest of PiOS .h, some dir moves/cleanup, fixed some compilation issues. 2013-03-03 09:50:20 +01:00
Brian Webb
4743404c47 RFM22B: Some more reliability improvements for frequency hopping. 2013-03-01 07:55:00 -07:00
Brian Webb
9fad194bb8 RevoMini: Added rfm22 com configure callback to set the speed of the radio link. 2013-02-25 09:20:08 -07:00
Brian Webb
4e92bed1df Added back missing PIOS_COM_TELEM_USB (needed by the bootloader). 2013-02-25 01:44:48 +00:00
Brian Webb
2f0498d8ad Was a little aggressive on the rfm22b device structure cleanup, and removed the PPM receiver elements. 2013-02-25 00:30:32 +00:00
Brian Webb
d9baa372c7 Added frequency hopping to the RFM22B driver. Currently it defaults to 128 channels between 430 and 440 MHz. 2013-02-24 23:05:51 +00:00
a*morale
a48395c7a0 Added the visualization of the error in BU
the error is shown as a number of slow flashes followed by 10 fast flashes.
The number of slow flashes indicate the error code:
1 - Self overwrite check failed;
2 - Board hardware revision mismatch;
3 - Flash erase failed;
4 - Flash programming failed;
The error code sequence will be shown indfinitely should a error occurs.
2013-02-19 00:48:05 +01:00
Brian Webb
1af58e510e Added optional output of GCSReceiver from the OPLink to the FC. This will happen automatically if a PPM packet is receive, and PPM output is disabled. 2013-02-18 02:55:58 +00:00
Brian Webb
cf7c929030 Added the ability to store bindings and configuration paramaters for multiple (up to 8) modems from an OPLink controller modem. 2013-02-18 01:49:13 +00:00
Alessio Morale
d1c5da6c24 Move PyMite makefile entries to Libraries/PyMyte/pymite.mk to simplify boards makefile. 2013-02-17 22:28:41 +01:00
Alessio Morale
3986f93e68 op-848 Splitted sample rate divider configuration for dlp and non_dlp settings (1kHz vs 8kHz sample rate).
Minor clean up, used constants in place of some hardcoded values
2013-02-17 12:20:25 +01:00
Brian Webb
46baec52ef Merge remote-tracking branch 'origin/next' into brian/rfm22_multibind 2013-02-17 01:21:12 +00:00
Alessio Morale
e27a07631e op-848 MPU6000 support user configurabe accel/gyro scales and filter bandwidth.
board definitions can override any of this settings for special applications.
Also include cleanup from "magic numbers" and fix for inverted ranges
2013-02-17 02:02:12 +01:00
Oleg Semyonov
aea1b4b544 Merge remote-tracking branch 'origin/os/OP-775_arm-dsplib' into next 2013-02-16 16:08:31 +02:00
Oleg Semyonov
c8ce31f7a9 Merge remote-tracking branch 'origin/next' into theothercliff/elevon_cam_stab 2013-02-11 01:03:33 +02:00
Brian Webb
9b6493eeca Set the binding on the OPLink after configuring the radio. 2013-02-08 01:56:23 +00:00
Brian Webb
57b4d8c720 RFM22: Added support for binding to multiple remove OPLinks. 2013-02-08 01:56:22 +00:00
Brian Webb
6de2252c23 OP-814: Added PPM input on the FlexiPort for CC/CC3D. 2013-02-08 01:06:41 +00:00
Cliff Geerdes
6d4e8e4657 OP-824 Feedforward fix, 0.0f, coding style, and var name changes. 2013-02-07 18:27:59 -05:00
Brian Webb
e50e645e7b Merge remote-tracking branch 'origin/next' into brian/oplink_ppm_out 2013-02-07 13:39:21 +00:00
Oleg Semyonov
97436166e3 Merge remote-tracking branch 'origin/next' into os/OP-775_arm-dsplib 2013-02-06 12:55:14 +02:00
Cliff Geerdes
8104ae25dd OP-824 Add CameraStab Elevon-type mixing. Redo servo reversing. 2013-02-03 19:02:34 -05: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
Brian Webb
ca6aa9fcea Reformatted PPM output code to match coding standards. 2013-02-02 01:53:39 +00:00
Brian Webb
18c592a37a Reformatted PPM output code to match coding standards. 2013-02-02 01:50:02 +00:00
Alessio Morale
153db89663 OP-815 changed PIOS_WDG_RegisterFlag to reset the WDG to prevent timeouts during module initialization 2013-02-01 20:05:44 +01:00
Brian Webb
a4faa22c4b Merge remote-tracking branch 'origin/brian/rfm22_autoconf' into next
Conflicts:
	ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp
2013-01-31 13:40:32 +00:00
Cliff Geerdes
5e2aeeea76 Fixed tab stops in two c files. 2013-01-31 05:38:10 -05:00
Cliff Geerdes
6806e895cc First version. Passes simple tests. 2013-01-30 18:57:32 -05:00
Oleg Semyonov
396f210d07 Remove stray file in RemoteSystemsTempFiles 2013-01-28 03:02:04 +02:00
Stacey Sheldon
f500ac1e23 rename: move UAVObjects and UAVTalk directories under targets 2013-01-28 02:33:06 +02:00
Stacey Sheldon
0fda8035c2 makefile: update to released openocd 0.6.1 2013-01-28 02:13:17 +02:00
Stacey Sheldon
dbcf440bb9 makefile: factor out paths for major flight components
Conflicts:

	flight/targets/CopterControl/Makefile
2013-01-28 02:01:39 +02:00
Stacey Sheldon
69a2691bc2 rename: move board-specific dirs into flight/targets
Conflicts:

	flight/targets/Bootloaders/Revolution/Makefile
	flight/targets/CopterControl/Makefile
2013-01-28 01:52:44 +02:00
Alessio Morale
ad6d071e52 OP-815 Coptercontrol hang on startupd due to WDG timeout 2013-01-20 16:20:49 +01: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
Alessio Morale
b317415556 OP-788 reenable transaction lock for pios_jedec_flash.c 2013-01-14 01:31:07 +01:00
Alessio Morale
fbced18aab Added missing test for TIM_IT_Update, cleanup 2013-01-05 18:52:15 +01:00
Alessio Morale
403a27de9e OP-783: Fix missing F4 timer handlers for TIM13 and TIM14 and check source for shared vectors 2013-01-05 18:52:02 +01:00
Brian Webb
be444db7f8 Added PPM output to OPLink firmware 2013-01-04 06:51:27 -07:00
Brian Webb
7d86ddc6f7 Added 8 channel PPM output to PIOS. 2013-01-04 06:50:24 -07:00
Oleg Semyonov
c18cba4dda [OP-775] Provide options to enable DSP library when needed 2012-12-30 21:53:37 +02:00
Oleg Semyonov
95f16e25c4 [OP-775] Provide rules to build DSP library 2012-12-30 21:53:35 +02:00
Oleg Semyonov
89cb49733e [OP-775] Use new core_cm3.h 2012-12-30 21:53:34 +02:00
Oleg Semyonov
333d0fe8c9 [OP-775] Consistently use PIOSCOMMONLIB 2012-12-30 21:53:32 +02:00
Oleg Semyonov
79a949e1ca [OP-775] Fix Makefile variables (CDEFS, EXTRAINCDIRS, EXTRA_LIBDIRS, EXTRA_LIBS, PYTHON) 2012-12-30 21:53:31 +02:00
Oleg Semyonov
aee2613384 [OP-775] Import CMSIS2 ARM DSP_Lib sources (imported by Alessio) 2012-12-30 21:53:29 +02:00
Oleg Semyonov
2328469e71 [OP-775] Update link template and makefiles to include optional $(ALLLIB) depenencies 2012-12-30 21:53:24 +02:00
Brian Webb
9f3d7a24f8 Merge branch 'revo-fixes' of ssh://git.openpilot.org/OpenPilot into brian/rfm22_autoconf
Conflicts:
	flight/RevoMini/Makefile
2012-12-30 07:59:09 -07:00
Alessio Morale
8a832fa8f6 OP-780 fix for comments 2012-12-30 15:01:25 +01:00
Alessio Morale
376467bf57 OP-782 OP-780 Cleanup of overosync module, fixing headers. Added(but not enabled) its boilerplate declarations on board_hw_defs.c/Makefile/pios_config. 2012-12-30 13:36:47 +01:00
Alessio Morale
b1360f8136 OP-782 move FirmwareIAPStart from firmwareiap.h to matching .c file. 2012-12-30 12:32:00 +01:00
Alessio Morale
657701348c OP-782 fixed duplicated entry for adc input. 2012-12-30 12:26:28 +01:00
Alessio Morale
f93a9affa9 Fixed comment on coptercontrol's pios_board.c OP-780 2012-12-29 17:20:50 +01:00
lilvinz
6daed46ecc pios_i2c: fixed a race condition with wrong bus locking when using FreeRTOS
When more than one task is concurrently trying to access
the same i2c bus and a timeout occurs on bus lock the
transfer would just continue and blow up the pios_i2c
driver. This has been fixed.
2012-12-29 17:20:50 +01:00
Corvus Corax
37df2bcbf4 OP-742: Merge branch 'corvuscorax/airspeed_fixes' into revo-fixes
Conflicts:
	flight/RevoMini/Makefile
2012-12-29 12:09:58 +01:00
Corvus Corax
d7319c21dc OP-700 temporarily disable VtolPathFollower until it has been fixed 2012-12-21 12:05:47 +01:00
Brian Webb
076a3fa715 Merge remote-tracking branch 'origin/brian/rfm22_autoconf' into brian/rfm22_autoconf 2012-12-17 19:41:47 -07:00
Brian Webb
9225debdc1 Added initialization of the ECC, which was removed with the removal of the packet handler. Removed a couple of test functions from RadioComBridge module. Turned on watchdog timers in RadioComBridge (and RFM22B driver). 2012-12-17 19:33:42 -07:00
James Cotton
4c2de5a140 PiOS simulation: Implement pios_com->available for simulators 2012-12-16 16:24:16 -07:00
Brian Webb
9765244753 Removed (now unused) packet_handler.c 2012-12-16 09:31:21 -07:00
Brian Webb
c4c58331e5 RM: Now doesn't crash when the radio is disabled. 2012-12-16 09:16:19 -07:00
Brian Webb
0dd8caeec0 Removed oplink UAVObjects from the RevoMini target. 2012-12-15 15:39:11 -07:00
Brian Webb
e0acb41379 Removed some unintended changes to RevoMini. 2012-12-15 10:35:51 -07:00
Brian Webb
43f6b4150f RFM22: Don't send status until the link is connected. 2012-12-15 09:56:27 -07:00
Brian Webb
3a1803b7a1 Added RFM22B (OPLink) receiver. 2012-12-13 21:07:19 -07:00
Brian Webb
6e929d7a92 Fixed configuration of PPM input. 2012-12-12 20:27:08 -07:00
Brian Webb
90e0746ade RFM22B: Changed default (initial) air baud rate to 9600. Also some code cleanup. 2012-12-11 19:23:59 -07:00
Brian Webb
1d7e4e0fc2 Reduced length of transmit window period to 8 ms from 16 ms. 2012-12-11 17:44:22 -07:00
Brian Webb
8ead1200b9 RFM22B: Added timing synchronization on transmit to try to eliminate both sides transmitting at the same time. This now achieves virtually 0 re-transmissions for close range transmission while transmitting both full telemety and PPM at 64k. 2012-12-11 17:44:20 -07:00
Brian Webb
7f6a718354 RFM22B: Added optional debug signals on the telemetry port of the PipX. Also fixed a couple of bugs that were causing excessive re-transmissions (found using the debug signals). 2012-12-11 17:44:19 -07:00
Brian Webb
fecc23eb49 RFM22B/OPLink: Auto-configuration of remote com port now working. 2012-12-11 17:44:17 -07:00
Brian Webb
6ffe518509 RFM22B: Improved link stability, and added tracking of error encountered in the processes of transmitting and receiving. 2012-12-11 17:44:15 -07:00
Brian Webb
4cb311538a RFM22B: Improved reliability, especially with reconnection after a timeout, although there is still too many resent packets. 2012-12-11 17:44:14 -07:00
Brian Webb
7a930807aa RM: Fixed initialization of the debug console. 2012-12-11 17:44:12 -07:00
Brian Webb
6ed9b63da9 RFM22B: Changing configuration parameters over-the-air working. Added tracking of Tx/Rx sequence number. Still seeing too many resent packets. 2012-12-11 17:44:11 -07:00
Brian Webb
0dce12e984 RFM22B: Finised handshacking on ACK and changed the link quality metric to use resent packets rather than missed packets. 2012-12-11 17:44:09 -07:00
Brian Webb
7aaa02268f RFM22B: Added TX Resent to OPLink status. Also removed the need for the packet queue. 2012-12-11 17:44:08 -07:00
Brian Webb
fa5f7a8fdd RFM22B: All packets are now ACKed, and added a formal connection request / accept that will be used or auto-configuring the remote modem. 2012-12-11 17:44:06 -07:00
Brian Webb
98026966f7 RFM22B: Added PPM packets to rfm22 driver. 2012-12-11 17:44:04 -07:00
Brian Webb
04da5d2377 USB/COM/RFM22B: Added a standard com callback to test for link availability. This replaces the PIOS_USB_CheckAvailable function with a generic PIOS_COM_Available function. This is now used by the RFM22B com driver to test if a good link is up. This was originally written by James, and Brian merged it into the latest RFM22B branch. 2012-12-11 17:44:03 -07:00
Brian Webb
e36bd678e1 RFM22B: Allow a receive to happen between transmitts. 2012-12-11 17:44:01 -07:00
Brian Webb
9f43e1151c RFM22B: Fixed status reporting and connection status for OPLink. 2012-12-11 17:44:00 -07:00
Brian Webb
15fc29560a RM: Remove configuration of the RFM22B from the RevoMini pios_board.c. This is in preparation for auto-configuration. 2012-12-11 17:43:58 -07:00
Brian Webb
bd42083376 RFM22B: Changed the way the frequencies and power settings are set for the rfm22b device. 2012-12-11 17:43:55 -07:00
Brian Webb
dae382564a RFM22B/RM: Added rfm22b com device, moved remaining functionality in the radio module to the rfm22 driver, and simplified configuration of the PipX/OPLink. The radio device now presents itself completely as a com device, both in RadioComBridge (OPLink devices) and Telemetry (RM). Also change the PipXStatus and PipXSettings UAVOs to OPLinkStatus/OPLinkSettings. 2012-12-11 17:43:53 -07:00
Brian Webb
0113b6a748 Added UAVTalkRelayInputStream to the UAVTalk library that parses a UAVTalk packet and sends it when it is complete. This allows the interlieving of packets on an output UAVTalk stream, and is used by the OPLink device to relay packets from an input com port to a different output com port without sending one packet in the middle of another packet. 2012-12-11 17:43:50 -07:00
Brian Webb
4b90f81f6f RFM22B: Modified the method of tracking RX errors, and now reporting Good, Corrected, Error, and Missed packets to the GCS. Also removed some less useful fields from the PipXStatus. 2012-12-11 17:43:49 -07:00
Corvus Corax
7ac258352a OP-753 - prevent flying in wrong direction in FlyVector mode. 2012-12-04 16:18:24 +01:00
a*morale
3dc11b297b Enabled airspeed module on RevoMini target 2012-12-02 17:14:54 +01:00
Oleg Semyonov
9420a76820 [OP-724] Better name for dT according to OPReview-368 comment 2012-12-02 14:09:21 +02:00
Oleg Semyonov
41d56b282e [OP-724] Remove LPF from throttle input channel (not necessary) 2012-12-02 13:50:03 +02:00
Erik Gustavsson
5132448fe8 Decrease zeroing yawBiasRate to reduce noise-induced random yaw drift. 2012-11-29 18:56:33 +01:00
Oleg Semyonov
cc98962c36 [OP-724] Provide generic gimbal type 2012-11-29 18:03:05 +02:00
Oleg Semyonov
8adc2abd77 [OP-724] Now most camera options can be set independently per each axis. 2012-11-29 17:39:10 +02:00
Oleg Semyonov
5784ea8b36 [OP-724] Provide Actuator option to disable selected channels and use it for 7s camera boot delay
Actuator did not provide an option to completely shutdown selected channels
(set PWM pulse = 0). It is useful for camera stabilization boot delay (we
want few seconds of gimbal servo inactivity to calibrate gyros). It also
might be useful for failsafe on some channels. This option is now available.

It is used to disable camera outputs during fixed 7s delay after boot
instead of setting them to minimum position.

As a side effect, few bugs are fixed (ticks should be multiplied by
portTICK_RATE_MS, not divided, to get time in ms). And few floating point
operations were optimized out as well.

ActuatorCommand.UpdateTime was promoted to uint16 because it is not unusual
to have it 20000ms during flash updates (was seen on the CC after UAV
settings import). So it should be 16bit as well.
2012-11-29 17:39:09 +02:00
Oleg Semyonov
8f5fb5aeb0 [OP-724] Add camera gimbal filtering and feed forward options
This is a partial rework of Cossacs' camera gimbal software.

This patch adds LPF to airframe attitude used for camera stabilisation
and feed forward for camera actuators. Either of options can be
disabled on the compilation level to save flash and RAM if not
required.

Original Cossacs' code was optimized and code flow shortcuts were
added where applicable.
2012-11-29 17:39:08 +02:00
Oleg Semyonov
ee333f1569 [OP-724] Add manual control input filtering (useful for camera gimbal)
This is a partial rework of Cossacs' camera gimbal software.

This patch adds LPF to some of manual control inputs. Mostly
useful are accessory channels (for camera gimbal control) and
yaw channel (for smooth filming). The code may be used for
stand-alone CC[3D]-based gimbal software, but also should work
for complete FC+camera system.
2012-11-29 17:39:07 +02:00
Oleg Semyonov
ea1199603b Merge remote-tracking branch 'origin/rel-12.10.2' into next
Conflicts:
	MILESTONES.txt
2012-11-29 17:31:50 +02:00
Erik Gustavsson
4312652241 Use enum to index array.
Replace 0 with 0.0f in assignment.
2012-11-29 00:03:39 +02:00
Erik Gustavsson
5e14f5352f Minor codestyle/whitespace cleanup 2012-11-29 00:03:38 +02:00
Erik Gustavsson
dc5394dcf3 Add setting to suppress axis output from Stabilization module until armed and throttle is applied. Useful to keep the tail prop out of the grass while arming a tri. 2012-11-29 00:03:37 +02:00
Oleg Semyonov
96c7ec37a9 Merge remote-tracking branch 'origin/hyper/flight_uavo_access_type_safety' into next 2012-11-24 16:33:19 +02:00
a*morale
20eb2d7b98 Fixed RTC clock 2012-11-23 19:43:31 +01:00
a*morale
2d83e8a779 Fixes for SBUS support on RM2.
Note: it needs the RTC timing to be fixed as it seems that it runs at half its nominal 625Hz value
2012-11-23 19:41:23 +01:00
Corvus Corax
c6effbbb0f bugfix to pathplanner 2012-11-23 12:29:25 +01:00
Corvus Corax
55f0d41016 bugfix in fixed wing path follower 2012-11-23 11:49:17 +01:00
Richard Flay (Hyper)
5864219d27 Removed __attribute__((always_inline)) after review discussions. 2012-11-23 07:15:28 +10:30
Corvus Corax
7059d4f032 changed some details as to dschin's suggestions 2012-11-22 13:26:45 +01:00
Corvus Corax
264f631df6 Merge branch 'corvuscorax/baro_fixes' into revo-fixes 2012-11-22 11:51:36 +01:00
Corvus Corax
35509ee977 moved sanitycheck from system to manualcontrol to not break OSD and PipX
targets

Conflicts:

	flight/Modules/ManualControl/manualcontrol.c
2012-11-22 10:11:18 +01:00
Oleg Semyonov
1fbaaddcd4 Merge branch 'stac/stop-wasting-ram' into next 2012-11-19 01:51:37 +02:00
Stacey Sheldon
f0fb22c090 uavobjectmanager: initialize new uavo_handles section
The uavo_handles section is not part of the .data segment so
it doesn't get automatically zeroed during the startup code.

This led to random data being stored in the table which resulted
in bus errors at runtime.

This change ensures that the table is zeroed before we start to
use it.
2012-11-18 16:48:13 -05:00
Stacey Sheldon
c1fc605696 uavobjectmanager: remove linked list for UAVOs 2012-11-14 23:38:24 -05:00
Richard Flay (Hyper)
6c0b91dee7 Minor tweak for coding standard compliance. 2012-11-15 07:45:35 +10:30
Oleg Semyonov
79f95983da Merge remote-tracking branch 'origin/rel-12.10.2' into next 2012-11-14 17:26:18 +02:00
Oleg Semyonov
22173d96e5 Merge remote-tracking branch 'origin/cyr/accel_filter' into rel-12.10.2 2012-11-14 04:44:11 +02:00
Erik Gustavsson
f9f58f22d8 Take the magnitude of the correct gravity vector 2012-11-12 17:16:28 +01:00
Stacey Sheldon
e5c54cca00 freertos: change default alignment to 4-byte from 8-byte
There shouldn't be any reason to need 8-byte alignment on the
F1 platform.  This allows better packing of all malloc'd data.

Reducing this below 4-byte alignment is not recommended and will
likely result in misaligned pointers being passed to peripherals.

RAM savings is another 300 bytes.
2012-11-11 22:16:00 -05:00
Erik Gustavsson
e38ba912cd Clarify comment about gravity vector 2012-11-11 21:13:05 +01:00
Erik Gustavsson
04c194fa48 Coding style fixes 2012-11-11 21:10:52 +01:00
Corvus Corax
40381d98ae compile sanitycheck into simposix 2012-11-11 18:22:01 +01:00
Corvus Corax
5862346d40 Merge remote-tracking branch 'baseorigin/corvuscorax/simposix_firmwareiap' into corvuscorax/sanity_additions 2012-11-11 18:06:16 +01:00
Corvus Corax
ec5f9d232f Revert "do not do configuration check on SimPosix architecture, its not ported yet"
This reverts commit 112a3fe7e5.
2012-11-11 18:05:46 +01:00
Corvus Corax
112a3fe7e5 do not do configuration check on SimPosix architecture, its not ported yet 2012-11-11 17:39:37 +01:00
Corvus Corax
d1447ca3f8 Rise Botfault error whenever hwsettings has been changed but no reboot took place yet 2012-11-11 17:23:07 +01:00
Corvus Corax
4e32413954 removed pathplannersettings from flight 2012-11-11 14:57:52 +01:00
Stacey Sheldon
e2b019edd9 telemetry: stop registering periodic events for non-periodic UAVOs
Telemetry module was iterating over all UAVOs including
meta UAVOs and creating a periodic event item for each
object.  These items cost us about 32 bytes for each list
item.

This is wasteful for two main reasons.  First, meta UAVOs can't
meaningfully have periodic updates so excluding them entirely
makes sense.  That halves the number of objects in this list since
there is one meta object for every data object.  This is worth
about 500 bytes of RAM on CC.

Second, about half of the remaining UAVOs are not periodic by
default so they're wasting memory unless someone happens to want
to make them periodic at runtime.  This is worth another 450 bytes
of RAM on CC.

So, objects that are configured as periodic during board init will
support all of the periodic config at runtime.  Objects that are
*not* periodic during board init can only be made periodic on the
next boot.

Each object that you make periodic during init will cost you an
extra 32 bytes of RAM.

With erased settings, free RAM comparison for CC is:
  Before: 2736 bytes free
  After:  4048 bytes free

Total RAM savings with this update is 1312 bytes!
2012-11-10 18:04:16 -05:00
Richard Flay (Hyper)
54ebcb1ea8 Removed a spurious call to AccelsSet() that was causing garbage data to be transiently written to the Accels UAVO. Props to cyr for kicking off the discussion that led to the discovery of this bug. 2012-11-11 00:31:08 +02:00
lilvinz
a7029baa32 pios_jedec: fixed usage of uninitialized memory
When reading the jedec device id the code only transfered one byte via spi leaving
the expected input buffer uninitialized. This may lead to the problem that flash
initialization fails because the expected input may be whatever the stack was set
when entering the function. The impact of the bug is somewhat limited tough as the
initialization usually takes place before starting up the rtos and thus is pretty
deterministic. So if the code passed init while testing it should pass init in
production as well.
2012-11-11 00:31:07 +02:00
Richard Flay (Hyper)
eda6b6a24a Improved type-safety. Replaced flight side UAVO access macros with inline functions to ensure that correct pointer types are always passed to UAVO access functions. 2012-11-10 20:47:10 +10:30
Corvus Corax
064ed4087c set AirspeedActual from attitude module, feed true airspeed estimation into EKF to allow more accurate INS 2012-11-08 11:30:58 +01:00
Corvus Corax
8dd5d5a68b type fix in header file 2012-11-08 11:12:05 +01:00
Corvus Corax
e9da78406a Merge branch 'corvuscorax/baro_fixes' into corvuscorax/airspeed_fixes 2012-11-08 09:48:01 +01:00
Corvus Corax
b09027afe5 Completely refactored airspeed module, now a pure sensor input module without any complex sensor fusion features -- changed driver for mpxv analog airspeed to be more versatile 2012-11-08 01:31:21 +01:00
Erik Gustavsson
104c61a174 Move accel filter to separate function, for cleaner code and easier filter alteration.
Optimize for filter disabled case (AccelTau = 0.0).
2012-11-06 20:17:10 +01:00
Corvus Corax
5981d9acd6 removed surplus NEDposition uavobject 2012-11-06 10:13:09 +01:00
Corvus Corax
3c8ffa9773 Revert "When in indoor mode reset the baro offset to zero"
This reverts commit 9c512261e6.
2012-11-06 09:42:14 +01:00
Corvus Corax
e8232ba825 Pathplanner: removed pathPlannersettings and preprogrammed (hardcoded) paths 2012-11-05 16:04:45 +01:00
Corvus Corax
cc8e56f170 OP699: changed update rate to use constant 2012-11-05 15:59:13 +01:00
Corvus Corax
ce595a06d9 Merge remote-tracking branch 'baseorigin/revo/corvuscorax/airspeed_fixes' into corvuscorax/airspeed_fixes
Conflicts:
	flight/RevoMini/UAVObjects.inc
2012-11-05 15:16:03 +01:00
Corvus Corax
8f5b2954ac Airspeed module: use stored calibration if available 2012-11-05 10:59:06 +01:00
Corvus Corax
5bf18780c1 do not calibrate if there is a pre-stored calibration value 2012-11-05 10:41:24 +01:00
Corvus Corax
4367bd62bf OP-699 : removed unnecessary object queue in pathplanner 2012-11-05 10:34:44 +01:00
Corvus Corax
e5ab038a89 removed unnecessary comment 2012-11-05 10:33:51 +01:00
Corvus Corax
e2ca9cbb45 OP-699 - refacor ugly buzzer code actuaor module 2012-11-05 10:09:43 +01:00
a*morale
774dde3da5 Normalized the HW configuration to point to _RM_ configuration settins 2012-11-04 13:37:06 +01:00
a*morale
920c2682d2 Fixed UAVObjects.inc for RM to cope with airsped fixes 2012-11-04 11:37:41 +01:00
a*morale
75730e7260 Merge branch 'revo-next' of ssh://git.openpilot.org/revo into revo-next 2012-11-03 21:36:51 +01:00
a*morale
0df1c22933 Fixed channel group for DSM on flexyport 2012-11-03 20:41:33 +01:00
Corvus Corax
3f248915cb Merge remote-tracking branch 'origin/revo-next' into corvuscorax/airspeed_fixes 2012-11-03 20:03:18 +01:00
a*morale
553b49cdbf Fixed Flexy serial assingment and added case for telemetry on flexy port 2012-11-02 23:27:15 +01:00
a*morale
3affe846db Added support for TxPID for RM 2012-11-02 18:06:26 +01:00
a*morale
cfbdaddc94 Fixed invalid value for MS5611 oversample configuration 2012-11-02 17:31:51 +01:00
Erik Gustavsson
677f921b15 Take magnitude of filtered gravity vector into account. 2012-11-02 09:22:18 +01:00
Erik Gustavsson
f63db712d0 Disable accel smoothing during init/arming so it does not interfere 2012-11-02 09:12:24 +01:00
Erik Gustavsson
b7bdf9861d Run rotated gravity vector through smoothing filter to match phase with filtered accelerometer data. 2012-11-01 12:14:33 +01:00
Richard Flay (Hyper)
10865221b9 Removed a spurious call to AccelsSet() that was causing garbage data to be transiently written to the Accels UAVO. Props to cyr for kicking off the discussion that led to the discovery of this bug. 2012-11-01 18:15:47 +10:30
Corvus Corax
fbacf627ce Added AirspeedActual to RevoMini 2012-11-01 05:04:55 +01:00
Corvus Corax
ffaab02479 Use Correct Airspeed object in PathPlanner, (and use CalibratedAirspeed, since its more relevant) 2012-11-01 03:46:29 +01:00
Corvus Corax
3458aec53e Merge branch 'revo-next' into corvuscorax/airspeed_fixes 2012-11-01 03:40:20 +01:00
Erik Gustavsson
c207afbfef Implement smoothing filter for accelerometer data. 2012-10-31 19:05:59 +01:00
Stacey Sheldon
492fbc88b0 revomini: remove references to POI UAVOs 2012-10-30 21:47:17 -04:00
Sambas
f189596b3d bootfix, GPS module not included 2012-10-30 20:51:13 +01:00
Sambas
019691e49d Compile fixes 2012-10-30 20:50:58 +01:00
Stacey Sheldon
5aa3777078 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	flight/Modules/Telemetry/telemetry.c
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-10-30 00:41:35 -04: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
James Cotton
9151e5cded Sanity Check: Fix indentation 2012-10-28 20:00:03 -05:00
Corvus Corax
6409dfb2df Further cleanup in PathFollower. Should now be safe to fly again 2012-10-28 21:49:22 +01:00
Corvus Corax
f7dd5cc8ad Refactored Airspeed and FixedWingPathFollowermodule to use AirspeedActual, which hitl writes to, too. Cleaned up both PathFollower and Airspeed a bit. 2012-10-28 17:45:40 +01:00
lilvinz
3db04ea174 pios_jedec: fixed usage of uninitialized memory
When reading the jedec device id the code only transfered one byte via spi leaving
the expected input buffer uninitialized. This may lead to the problem that flash
initialization fails because the expected input may be whatever the stack was set
when entering the function. The impact of the bug is somewhat limited tough as the
initialization usually takes place before starting up the rtos and thus is pretty
deterministic. So if the code passed init while testing it should pass init in
production as well.
2012-10-28 14:34:20 +01:00
James Cotton
a5c743d738 Sanity Check: Cannot connect callback to TaskInfo now it isn't always used. 2012-10-27 14:00:57 -05:00
James Cotton
8864b545ae Revert "Sanity Checking: Regardless of DIAG_TASK always populate TaskInfo.Running"
This reverts commit 0b6fa7fe6f.
2012-10-27 13:43:59 -05:00
James Cotton
11630b7f7e SanityCheck: Directly query the task monitor 2012-10-27 13:43:41 -05:00
James Cotton
07a08c327c Sanity Check: Fix comment 2012-10-25 23:01:35 -05:00
James Cotton
93349e9a56 Sanity Check: uint32_t for loop indexes instead of int 2012-10-25 22:57:57 -05:00
James Cotton
32bf63c436 Sanity Check: Perform the initial check then attach the callbacks to avoid
a case where two threads do the same thing.
2012-10-25 22:51:14 -05:00
James Cotton
b28cdba46d SanityCheck: Trigger sanity check code on callbacks from the appropriate settings.
The only downside is that it needs to update on the TaskInfo object which means
since htat updates periodically this code runs more often that really needed since
the modules only start at first.  However, leaving that connection out means it
misses the initial set of modules.
2012-10-25 21:49:53 -05:00
Stacey Sheldon
bc3a90c6a9 Merge branch 'one-way-telemetry' into next 2012-10-25 22:48:43 -04:00
James Cotton
736f96b297 Sanity check: Add some initial checks for revo that make sure the needed optional modules are
running.
2012-10-25 20:37:21 -05:00
James Cotton
23422d3cd4 Sanity Check. Add the first set of checks:
1. If a flight mode switch allows autotune and autotune module not running
2. If airframe is a multirotor and either manual is available or a stabilization mode uses "none"
2012-10-25 20:37:17 -05:00
James Cotton
b9ebeb2c2e Sanity Check: For now force the sanity check to run once a second and always set an error 2012-10-25 12:43:56 -05:00
James Cotton
0b6fa7fe6f Sanity Checking: Regardless of DIAG_TASK always populate TaskInfo.Running
so we can verify certain modules are running.
2012-10-25 10:01:24 -05:00
Kenz Dale
1ab1ea5899 Save ~150 bytes by moving GPSDataProtocol to SystemSettings.
All credit to Anstron.
2012-10-22 16:47:22 +02:00
Stacey Sheldon
4892fdb33d telemetry: allow telemetry to flow when not connected to GCS
Previously, when unconnected, only the flighttelemetrystats
UAVO was Tx'd.  All other UAVOs were inhibited.  This led to
zero telemetry data when the connection to the GCS was gone.
This precluded getting useful telemetry from a receive-only
station.

This commit changes two main areas.

First, UAVO updates are now allowed regardless of the "connected"
state between the GCS/FC.

Second, it makes both the flighttelemetrystats and gcstelemetrystats
UAVOs un-acked.  This prevents these objects from blocking all
other UAVOs while they wait for their ack.  This is OK since the
real "connection" negotiation happens via the states exchanged in
the Status field of these UAVOs.
2012-10-21 22:51:17 -04: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
1fe41c7a67 circular dependency on firmwareinfo due to checksum of firmware required to link firmware - fixed by creating checksum of uavobject inittialization object file instead 2012-10-20 16:07:16 +02:00
Corvus Corax
898292fcdb added (fake) firmware version information to simposix 2012-10-20 15:22:54 +02:00
James Cotton
96afe7cffd Merge remote-tracking branch 'origin/stac/add-debug-consoles' into next 2012-10-12 08:07:44 -05:00
Stacey Sheldon
f0e0c2e79e console: add debug console via USB CDC/VCP interface
The USB VCP Port has a new DebugConsole setting that
routes all output destined for PIOS_COM_DEBUG to the
emulated serial port.

To enable this in your build, you'll have to build like:
 - make fw_coptercontrol_clean
 - make fw_coptercontrol ENABLE_DEBUG_CONSOLE=YES

You can then output formatted text to the console
like this:
  #if defined(PIOS_INCLUDE_DEBUG_CONSOLE)
  PIOS_COM_SendFormattedString(PIOS_COM_DEBUG,
                               "foo is %u\r\n",
                               foo);
  #endif	/* PIOS_INCLUDE_DEBUG_CONSOLE */

Please ensure that all of your debug output is
wrapped with these macros so that your debug
code doesn't bloat the firmware image.
2012-10-11 00:51:09 -04:00
Stacey Sheldon
75170177df console: example usage of the debug console 2012-10-11 00:22:07 -04:00
Stacey Sheldon
6088c05946 console: add support for serial debug consoles
Serial ports now have a new HW setting called DebugConsole
which can be used to dump internal state to a serial port
for debug.

To enable this feature, you need to:
 - make fw_coptercontrol_clean
 - make fw_coptercontrol ENABLE_DEBUG_CONSOLE=YES
 - configure one of the serial ports as DebugConsole in the GCS
 - save settings
 - power-cycle your board

Things to note:
 - The console is at 57600,8N1.
 - This is not currently configurable via the GCS.
 - You can only have a single console enabled at a time.
2012-10-11 00:22:07 -04:00
James Cotton
c0b9d9015d Hack: The OSX sim includes modules slightly differently than the
main code so needs an implementation of FirmwareIAPStart() until
this is fixed.
2012-10-10 08:29:30 -05:00
James Cotton
715fb65df7 OSX Simulation: Start populating the board and fw information
This will allow testing the tablet to know what type of UAVOs to
expect.

Conflicts:

	flight/Revolution/Makefile.osx
2012-10-10 08:29:20 -05:00
James Cotton
aad1c3bd32 FreeRTOS: Make F1 targets use the FreeRTOS common code from PiOS/Common 2012-10-09 10:08:06 -05:00
James Cotton
17f3c4d4e0 Re-add our code for accessing the run time information in freertos. 2012-10-09 09:57:57 -05:00
James Cotton
72c84fc49c Upgrade to FreeRTOS 7.2.0 2012-10-09 09:48:02 -05:00
Laura Sebesta
c2b49b6ef3 Merge branch 'kenz/cc_hitl_merge' into next
Conflicts:
	ground/openpilotgcs/src/plugins/gcscontrol/gcscontrolgadgetoptionspage.ui
	ground/openpilotgcs/src/plugins/hitlnew/hitloptionspage.ui
	ground/openpilotgcs/src/plugins/hitlv2/hitlv2optionspage.ui
2012-10-08 15:30:27 +02:00
James Cotton
4b35cdf0ef OSX Simulation: Start populating the board and fw information
This will allow testing the tablet to know what type of UAVOs to
expect.
2012-10-07 13:53:19 -05:00
Stacey Sheldon
157aeac9fc Merge remote-tracking branch 'origin/stac/ppm-and-pwm-inputs' into next 2012-10-06 23:04:49 -04:00
sambas
9212bbeb20 DSMx bindmode delay was too long, satellite binding works again. 2012-10-07 12:09:42 +11:00
James Cotton
2191befe17 Merge remote-tracking branch 'revo/brian/rfm22_rf2' into revo
Conflicts:
	flight/PiOS/Common/pios_rfm22b.c
2012-10-05 08:20:35 -05:00
Brian Webb
9ea572f4f7 RFM22B: Fixed the signedness of the return value of the RSSI function. 2012-10-04 21:23:44 -07:00
Brian Webb
5724fa083c RFM22B: Added link quality calculation based on number of dropped packets. Also added packet error correction, which apparently wasn't being done before. 2012-10-04 21:11:40 -07:00
Brian Webb
2541affd80 RFM22B: Added back configuration of the RF Power and RF Datarate. Also added setting of the destination ID in the rfm22b driver. 2012-10-04 16:39:07 -05:00
James Cotton
13cabd2ea4 Merge branch 'next' into revo
Conflicts:
	flight/PiOS/Common/pios_rfm22b.c
2012-10-04 16:38:08 -05:00
Brian Webb
9b9d0c0d1e RFM22B: Added back configuration of the RF Power and RF Datarate. Also added setting of the destination ID in the rfm22b driver. 2012-10-03 20:03:35 -07:00
James Cotton
c8d9f89ea3 Default DIAG_TASK was on for PipX 2012-10-03 15:11:15 -05:00
James Cotton
5eed0db61b Hardcode rates to 64kbps 2012-10-03 15:10:12 -05:00
Brian Webb
36437f695f RFM22B: Moved radio status reporting from the radio module into the rfm22b driver task. 2012-10-03 11:35:02 -05:00
Brian Webb
2d4e0b397a RFM22B: Removed setting register 0x58 in the rfm22_setDatarate call, which was breaking all data rates < 100000 bps. Also temporatily fixed the datarate at 64kbps. 2012-10-03 11:32:33 -05:00
James Cotton
a39cbdbcb1 RadioBridge: Send data from UAVTalk non blocking, otherwise it can lock up the packet handler. 2012-10-03 10:43:18 -05:00
Brian Webb
3cdb9df05f RFM22B: Removed setting register 0x58 in the rfm22_setDatarate call, which was breaking all data rates < 100000 bps. Also temporatily fixed the datarate at 64kbps. 2012-10-02 20:59:43 -07:00
Brian Webb
a8590045a8 RFM22B: Moved radio status reporting from the radio module into the rfm22b driver task. 2012-10-02 19:52:21 -07:00
James Cotton
897b07da02 Merge remote-tracking branch 'origin/kenz/diag_stack_split' into next 2012-10-02 14:20:08 -05:00
James Cotton
0c8c148b51 PipX HW Def: Use PIOS_BOARD_HW_DEFS_GetRfm22Cfg since the radio module initializes the modem
and doesn't know teh difference between RM2 and PipX
2012-10-02 10:07:50 -05:00
James Cotton
879dfed288 RM2/RM1: Make the firmware and bootloader support the pin mappings between these two targets
for USB and radio

A side-effect of this is the pipxsettings are no longer populated into the rfm22b cfg structure
as that was made constant to be consistent with other drivers.
2012-10-02 09:31:15 -05:00
a*morale
c2910d0ce0 Receiver input working for both PPM/PWM mode for rm2 2012-09-30 20:54:10 +02:00
a*morale
227aa98ebc Added TIM12 to PIOS_TIM 2012-09-30 20:32:03 +02:00
a*morale
be752b8075 Fixed some declaration to Exti functions to make it compile. 2012-09-30 17:04:36 +02:00
a*morale
504d691487 Fixed declaration of PIOS_L3GD20_IRQHandler. 2012-09-30 15:44:31 +02:00
Stacey Sheldon
2f4b1e69dd rcvr: Support PPM and PWM at the same time on CC
Adds a new mode for the receiver port (PPM+PWM) which
will allow simultaneous use of 1 pin for PPM and the
rest of the pins for PWM inputs.
2012-09-29 19:11:48 -04:00
James Cotton
b0d8487e27 PIOS_RFM22: Make the irq return false for the exti changes 2012-09-28 02:14:15 -05:00
James Cotton
61f1140645 Merge branch 'revo' into rm2 2012-09-28 01:01:35 -05:00
James Cotton
5c13c31c08 Merge branch 'next' into revo
Conflicts:
	ground/openpilotgcs/src/libs/utils/homelocationutil.cpp
	ground/openpilotgcs/src/libs/utils/homelocationutil.h
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
	ground/openpilotgcs/src/plugins/uavobjectutil/uavobjectutilmanager.cpp
2012-09-28 01:00:10 -05:00
James Cotton
8979c00fba Merge branch 'exti_end_switching_isr' into next 2012-09-28 00:41:08 -05:00
James Cotton
519e3e2e3a PIOS_EXTI: Make the line task macro now take in the xHigherTaskPriority variable name 2012-09-28 00:40:36 -05: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
f12d5c04fb Merge remote-tracking branch 'origin/lilvinz/mpu6000_masked_locals_fix' into next 2012-09-27 14:43:54 -05:00
James Cotton
1ba40ee9b0 PIOS_EXTI: Make sure to use pdTRUE instead of true where appropriate. 2012-09-27 14:41:38 -05:00
James Cotton
1721479a12 Fix for vinz' merge to pios_mpu6000 exti changes 2012-09-27 14:34:11 -05:00
James Cotton
a021659b75 Merge remote-tracking branch 'origin/lilvinz/exti_end_switching_isr' into next 2012-09-27 14:31:16 -05:00
James Cotton
303fe17969 Merge remote-tracking branch 'revo/brian/rfm22_refactor' into revo 2012-09-27 14:04:48 -05:00
James Cotton
6e114360f4 Merge branch 'next' into revo
Conflicts:
	shared/uavobjectdefinition/taskinfo.xml
2012-09-27 14:04:44 -05:00
Laura Sebesta
8997df2438 Merge branch 'next' into kenz/diag_stack_split
Conflicts:
	flight/Modules/Stabilization/stabilization.c
2012-09-27 19:29:23 +02:00
Laura Sebesta
4923655cd3 Added global flag for enabling all diagnostic tools. 2012-09-27 18:51:12 +02:00
James Cotton
d2842169ee Sensors: Need to support MPU6000 for revision 3 2012-09-26 04:04:48 -05:00
James Cotton
93c44f2a4e RM2 Temporary patch: Swap the GPIO pins and the VSense pins. This needs to be based on the hardware revision later. 2012-09-26 03:02:25 -05:00
James Cotton
333a96516c Merge remote-tracking branch 'revo/brian/rfm22_refactor' into rm2 2012-09-26 01:40:23 -05: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
Brian Webb
6972c29813 RFM22B: Added check for timeout wating for sync on receive. This virtually eliminates the number of timeouts. 2012-09-25 18:10:15 -07:00
Brian Webb
88be2ddf1e RFM22B: Added a message timeout event to the RFM22B state machine that will fire if a packet takes too long to transmit / receive. 2012-09-24 20:51:34 -07:00
Stacey Sheldon
215ff56fe8 usbcdc: fix handling of CDC SET_LINE_CODING request
The SET_LINE_CODING request contains data and must be
handled as such.

Previously, the only requests that had data were IN
requests.  SET_LINE_CODING is an OUT request so it
required additional changes to support a new type of
data request.
2012-09-24 00:56:25 -04:00
Stacey Sheldon
5e37448814 usb: correct enum for CDC SET_CONTROL_LINE_STATE request 2012-09-24 00:53:52 -04:00
Stacey Sheldon
c056ac5261 usbcdc: don't assert on calls when CDC is not initialized
The CDC interface is always advertised in the FW USB
descriptors.  It is NOT always enabled/initialized at
runtime.  Specifically, it can be Disabled in HwSettings.

Previously, any CDC-related query that the host would send
resulted in an assert and a watchdog.

Now, a suitable return code indicating that the request is
unsupported is returned in this scenario.
2012-09-24 00:53:12 -04:00
Brian Webb
a070e1cc3e RFM22B: Added PIOS_RFM22B_Receive_Packet function and removed rx buffer. 2012-09-23 08:36:38 -07:00
Brian Webb
a46e3cdec3 RFM22B: All outgoing data to the radio is now going through the PIOS_RFM22B_Send_Packet call. Also removed all global variables with the exception of the rx buffer. 2012-09-22 20:13:11 -07:00
Brian Webb
61200f01f5 RFM22B: Major refactoring of te RFM22B driver to implement a state machine for the driver. The state machine should now be complete, and the driver seems to be working pretty well on both the RM and the pipx. 2012-09-22 20:13:10 -07:00
Brian Webb
80509d264e RFM22B: Start at cleaning up the processing interrupt handling, and starting to make it more of a state machine. Also removed the supervisor, which was causing unnecessary resets. The supervisor functionality is not in the the driver thread. 2012-09-22 20:13:08 -07:00
Brian Webb
057227726b Radio: Make sure pios_packet_handler is set to 0 when radio module is not initialized. 2012-09-22 20:13:07 -07:00
Brian Webb
8ca2e85f4c RFM22B: Removed incorrect defaulting of tx power level. 2012-09-22 20:13:05 -07:00
Brian Webb
6623c55846 RFM22B: Moved ISR processing thread into the rfm22b driver. 2012-09-22 20:13:03 -07:00
Brian Webb
432a6dfd00 RM: Fixed crashing when radio module is disabled. 2012-09-22 20:13:02 -07:00
lilvinz
ee146a89eb updated comments 2012-09-22 10:32:46 +02:00
lilvinz
47cc6216ac use constants for receivers and updated function description 2012-09-22 10:02:15 +02:00
lilvinz
1169fb5617 added channel data init to gcsreceiver 2012-09-22 09:45:47 +02:00
lilvinz
9b6b5bc729 changed receiver constants to be all negative in order to allow valid channel values of 0 for dsm 2012-09-21 23:51:21 +02:00
James Cotton
497683e571 Fix OSX simulator 2012-09-18 13:29:11 -05:00
Stacey Sheldon
14123069be gdb: add gdb config file for CC BU image 2012-09-16 21:13:42 -04:00
Stacey Sheldon
566f9d760e simposix: fix suplicate .c files in previous merge 2012-09-16 19:34:47 -04:00
Stacey Sheldon
ffe88eec5e Merge remote-tracking branch 'op-public/next' into revo-next 2012-09-16 17:14:20 -04:00
Stacey Sheldon
368d57bc92 Merge remote-tracking branch 'origin/lilvinz/OP-300' into next 2012-09-16 16:05:25 -04:00
lilvinz
a6a7ed8157 pios_exti: added returnvalues to exti handlers which allows to use portEND_SWITCHING_ISR 2012-09-16 21:44:09 +02:00
Stacey Sheldon
05483e2a74 simposix: adapt simposix to addition of relay tuning 2012-09-16 15:40:47 -04:00
lilvinz
524cff1c40 pios_mpu6000: fixed masked locals mistake 2012-09-16 21:25:06 +02:00
lilvinz
718062ed6e pios_led: added support for active_high connected leds 2012-09-16 18:19:27 +02:00
Stacey Sheldon
754f58c33a Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	flight/Modules/ManualControl/inc/manualcontrol.h
	flight/Revolution/Makefile.osx
	ground/openpilotgcs/src/plugins/plugins.pro
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	ground/openpilotgcs/src/plugins/uploader/uploadergadgetwidget.cpp
	shared/uavobjectdefinition/flightstatus.xml
	shared/uavobjectdefinition/hwsettings.xml
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-09-16 09:56:35 -04:00
Stacey Sheldon
9a5ba841cf Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	ground/openpilotgcs/src/libs/utils/coordinateconversions.cpp
	ground/openpilotgcs/src/plugins/hitlnew/il2simulator.cpp
	ground/openpilotgcs/src/plugins/hitlnew/xplanesimulator.cpp
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.h
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	shared/uavobjectdefinition/pathaction.xml
	shared/uavobjectdefinition/waypointactive.xml
2012-09-15 19:55:47 -04:00
James Cotton
13e7733e5f Merge branch 'revo-mini' into revo 2012-09-12 02:30:10 -05:00
James Cotton
223a3473c2 Merge branch 'next' into revo-mini 2012-09-12 02:03:39 -05:00
James Cotton
595083c982 PID: Fix small bug in setpoint weighting that had really ugly consequences 2012-09-12 00:07:17 -05:00
James Cotton
4717c376c0 Stabilization: For the inner loop call the setpoint shaping version so that
the derivative term can weight the sticks and gyros independently.
2012-09-11 13:21:53 -05:00
James Cotton
e4a167dca1 PID: Add a pid_apply_setpoint which takes in the setpoint and feedback term
This version allows performing setpoint weighting, currently on the derivative
component.
2012-09-11 13:21:19 -05:00
James Cotton
11b099b1ef Stabilization: Add configuration terms for the derivative calculation to the UAVO and pass
them in to the PID system.
2012-09-11 12:29:38 -05:00
James Cotton
42bbd52d68 PID: Add a function to set the cutoff for the derivative term
Also contains a term for setting the deriative setpoint in the future
2012-09-11 12:27:41 -05:00
James Cotton
86422b8b9e VtolPathFollower: Make sure to clear the alarm when running so it doesn't show as
uninintialized
2012-09-11 02:34:31 -05:00
James Cotton
88b483f37d PIOS_MPU6000: Make the driver perform the rotation to bring it into the OP
coordinate system

Previously there were hacks spread throughout to deal with various ways of
positioning the chips.  Now the driver structure specifies the rotation
of the chip relative to the board layout and the output X/Y/Z are already
in OP convention.

This flag seems to do the right thing for Revolution, CC3D, and RevoMini
2012-09-11 01:46:22 -05:00
James Cotton
4cbaa6df88 Revolution: Misses some files for stabilization refactoring in Revolution 2012-09-11 01:44:40 -05:00
a*morale
cf7aea6499 Support for Led Outputs as actuator channels 9&10.
Added the ARMING LED  and INFO LED option for actuator channel
2012-09-10 20:14:24 -05:00
a*morale
316e02612e mapped LED1&2 ports to output 9&10 so that it is possible to use as accessory or pwm buzzer 2012-09-10 20:14:15 -05:00
James Cotton
aaaf23e64c ManualControl: Cover the case for PathPlanner to avoid setting an alarm. No functional change. 2012-09-10 20:12:58 -05:00
James Cotton
5211176f15 ManualControl: Cover the case for PathPlanner to avoid setting an alarm. No functional change. 2012-09-10 20:12:23 -05:00
James Cotton
38e9d105aa Merge branch 'pidt1' into test2
Conflicts:
	flight/Modules/ManualControl/inc/manualcontrol.h
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	shared/uavobjectdefinition/flightstatus.xml
	shared/uavobjectdefinition/hwsettings.xml
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-09-10 14:37:52 -05:00
James Cotton
386a9d41ef Merge branch 'next' into test2
Conflicts:
	ground/openpilotgcs/src/plugins/config/configrevowidget.cpp
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
	ground/openpilotgcs/src/plugins/uavobjects/uavobjecttemplate.m
2012-09-10 14:29:26 -05:00
James Cotton
fa9a616b4c PID: Add the 20 Hz low pass filter to the derivative term 2012-09-10 03:14:02 -05:00
James Cotton
9763a70364 Merge remote-tracking branch 'origin/igor/pidt1' into relay_tuning
Conflicts:
	flight/Modules/Stabilization/stabilization.c
2012-09-10 03:10:26 -05:00
Igor Van Airde
8ca99739ed Changed rate controller from PID to PIDT1 to improve flight stability.
Low pass on D-Term makes the D-Term usable to improve flight stability.
Affects rate and stabilize mode.
2012-09-09 13:07:25 +02:00
James Cotton
f3f07682ac RFM22b radio.c: Increase the stack side for the status task which runs the ISR 2012-09-08 12:43:01 -05:00
James Cotton
527edcbee9 RFM22b: Get rid of the burst read commands and do a block transfer 2012-09-08 12:39:14 -05:00
James Cotton
1f0004e9db RFM22b: Abstract out the port into the driver initiation
Also use a separate function to claim the bus semaphore and
assert the CS line.
2012-09-08 12:38:54 -05:00
Werner Backes
2a4e135c81 Merge branch 'D-Lite/fix_CC3D_yawBias_correction' into next 2012-09-06 13:47:03 +02:00
Werner Backes
4803dfe99c Fix: yaw bias correction wasn't applied on CC3D. 2012-09-06 13:13:58 +02:00
Stacey Sheldon
97882dbef9 pipx: ensure pipx BL image is padded to fill its bank
This padding is required in order to properly align all
of the sections in the EF images.
2012-09-05 22:17:04 -04:00
Stacey Sheldon
803e3c4d1e ef: Add fwinfo to entireflash (EF) images
EF images were missing the firmware info blob that describes
which firmware is installed on the board.  The EF image is now
padded out to fill the firmware bank and the info blob is
properly placed at the tail end of the firmware bank.
2012-09-05 21:45:59 -04:00
James Cotton
68fa464ccf RM: Make the direction of the TX/RX lines come from the configuration file 2012-09-04 23:22:56 -05:00
James Cotton
2f65fc1e8e Merge branch 'next' into relay_tuning
Conflicts:
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-09-04 10:43:04 -05:00
James Cotton
844d14e2f5 RM (NOT FOR PIPX) Properly select the GPIO->RX/TX mapping 2012-09-04 10:22:04 -05:00
James Cotton
113c3d3b76 RM Telem: Make sure it properly tracks the outgoing rate of bytes 2012-09-04 10:20:51 -05:00
James Cotton
0b947b243d Revert "RFM22b: More block claims for rfm22_txStart"
This reverts commit fa4ca426abf5671fc7d0b7206f85f14bcbf92c3d.
2012-09-02 22:44:58 -05:00
James Cotton
dce4f36328 RFM22b: More block claims for rfm22_txStart
Warning: This patch makes the modem work more poorly
2012-09-02 22:44:58 -05:00
James Cotton
61ff335eaa RFM22: No need to poll the ISR from two tasks in radio.c 2012-09-02 22:44:58 -05:00
James Cotton
db083aa0e9 Merge branch 'android' into next 2012-09-02 19:19:23 -05:00
James Cotton
311bbcb539 RFM22b: Block transfers for more large SPI transfers
Preallocated buffers with various preambles etc.  Used SPI_TransferBlock for
anything over a few bytes instead of burstWrite.  Also make more of the
communications wrappered in a large semaphore grab using a new rfm22_write_noclaim()

Still needs work - probably because most of the methods to repeated calls they should
all use the noclaim, or more specifically that function becomes rfm22_write/read.
2012-09-02 14:35:56 -05:00
James Cotton
588297806c RFM22b: Use SPI block transfers for filling the RFM22b FIFO
Also removed the disable irq line since that was introducing
flight glitches.
2012-09-01 21:24:42 -05:00
James Cotton
997319ae80 RFM22b: Begin doing blocks of transfers when possible between semaphore claims
The abstraction should probably be improved but ideally we start using
the DMA SPI transfers for PipX and grabbing/releasing the semaphore less
frequently (e.g. not for each 1-2 bytes).
2012-09-01 21:07:38 -05:00
Brian Webb
27fedee3d3 Just return an initialization failure in the radio module when the RFM22B fails to initialize rather than asserting.
Signed-off-by: James Cotton <peabody124@gmail.com>
2012-09-01 19:15:13 -05:00
Brian Webb
fcbf01fa74 RFM22b: Added SPI initialization back into PipX pios_board.c.
Signed-off-by: James Cotton <peabody124@gmail.com>
2012-09-01 19:14:36 -05:00
James Cotton
d9ec6454c2 PipX: Since we are calling the PipX ISR from user space looks ensure the frequency stays correct.
Previously it was polling too fast and the PipXStatus was incorrect as a result.  Now make
sure the stats loop only runs at 500 ms.
2012-09-01 19:13:11 -05:00
James Cotton
c9f66f5145 Merge branch 'revo' into revo-mini
Conflicts:
	androidgcs/AndroidManifest.xml
	androidgcs/res/layout/gcs_home.xml
	androidgcs/res/values/strings.xml
	androidgcs/src/org/openpilot/androidgcs/AttitudeView.java
	androidgcs/src/org/openpilot/androidgcs/HomePage.java
	flight/PipXtreme/System/pios_board.c
	ground/openpilotgcs/src/plugins/uavobjectwidgetutils/configtaskwidget.cpp
	shared/uavobjectdefinition/taskinfo.xml
2012-09-01 16:57:27 -05:00
James Cotton
6bfb2a5e45 Merge branch 'next' into revo
Conflicts:
	ground/openpilotgcs/src/libs/opmapcontrol/src/mapwidget/mapgraphicitem.cpp
	ground/openpilotgcs/src/libs/opmapcontrol/src/mapwidget/mapripper.cpp
	ground/openpilotgcs/src/libs/opmapcontrol/src/mapwidget/waypointitem.cpp
	ground/openpilotgcs/src/libs/opmapcontrol/src/mapwidget/waypointitem.h
	ground/openpilotgcs/src/libs/utils/coordinateconversions.cpp
	ground/openpilotgcs/src/libs/utils/coordinateconversions.h
	ground/openpilotgcs/src/plugins/opmap/opmap.pro
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.h
	ground/openpilotgcs/src/plugins/uavobjectwidgetutils/configtaskwidget.cpp
	shared/uavobjectdefinition/taskinfo.xml
	shared/uavobjectdefinition/waypoint.xml
2012-09-01 16:18:03 -05:00
James Cotton
878def305f RM: Make radio an optional module 2012-09-01 11:11:52 -05:00
James Cotton
0d3b0d4e5b Fixup: Disable binding on mainport for DSM 2012-09-01 11:11:28 -05:00
James Cotton
f3327e3993 RM: Enabled optional modules and got the battery module working again.
Changed the hardcoded (ick) battery lines for RM.  Also removed the reference
to PIOS_ADC_GetPin(4) as that pin is no longer available.  Finally
changed the default FlightBatterySettings to work out of the box
for the standard recommended sensors.
2012-09-01 11:03:32 -05:00
James Cotton
a33f415866 RM DSM: Get DSM working on the mainport
Because of the inverter this does not support binding on this port.
2012-08-31 11:08:43 -05:00
James Cotton
300cee44b4 RM SBUS: There is no pull down on the inverter direction so when not SBUS must explicitly set to off. 2012-08-31 11:01:34 -05:00
James Cotton
d333e24a43 RM: Swap to using the CC_ flags for the flexi port too. 2012-08-31 10:30:00 -05:00
James Cotton
73c7190077 RM GPS: Use the CC_MainPort instead of a RV flag and enable GPS support 2012-08-31 10:17:10 -05:00
Kenz Dale
e123a88262 Added UAVO for airspeeds. 2012-08-29 16:04:47 +02:00
Brian Webb
6b3934576a Fixed configuration of PipX com port as UAVTalk. 2012-08-26 11:18:23 -05:00
James Cotton
bdd50ce66b Reenable the flash system 2012-08-26 05:03:05 -05:00
James Cotton
b888a137f0 TOFIX: Temporarily remove the transaction lock from the settings as it was causing a deadlock with the radio coms. 2012-08-26 05:02:14 -05:00
James Cotton
042055b29a RFM22b: Call the pendingISR routine from all the user space tasks. Got a valid connection with this. 2012-08-26 04:18:17 -05:00
James Cotton
f7cda1c0c4 RFM22b: No need to initialize the SPI. Done already. 2012-08-26 02:42:18 -05:00
James Cotton
477385ca25 RFM22b: Start to move the ISR into userspace 2012-08-26 02:41:19 -05:00
James Cotton
b1bd6d8583 PIOS_RFM22b: No need to set the SPI clock speed in the RFM22b module - it can be set by the driver configuration. 2012-08-26 00:00:39 -05:00
James Cotton
27c46c78b2 Increase the RFM22b/Flash rate to 10MHz which is within tolerance for both. 2012-08-25 23:17:53 -05:00
James Cotton
84d327c46a RFM22b: Claim the bus semaphore before reading and writing. 2012-08-25 23:17:52 -05:00
James Cotton
2bb4f860e1 Shuffle around the PACKET_HANDLER definition so we can more easily disable the Radio module. 2012-08-25 22:58:11 -05:00
James Cotton
06154836c6 Define the RADIO_BUILTIN in config file 2012-08-25 19:31:48 -05:00
James Cotton
4014445cc9 Fix the IRQ line for the RFM22b 2012-08-25 19:10:16 -05:00
James Cotton
3a3fc3d124 Make the radio module builtin 2012-08-25 18:48:41 -05:00
James Cotton
a7b5fcd77c Monitor the radio threads 2012-08-25 18:48:30 -05:00
James Cotton
9e25e887c2 Temporarily disable flash chip and configure SPI for modem. 2012-08-25 18:43:13 -05:00
James Cotton
ad7a9b9cc3 Switch the order of the SET_RC pins for flash and rfm22b 2012-08-25 17:49:15 -05:00
James Cotton
b95a78cde5 Roll back changes on the revo target 2012-08-25 17:33:14 -05:00
James Cotton
81ddbda972 Sensors: Scope some variables to suppress warnings 2012-08-25 17:30:04 -05:00
James Cotton
76bdb190d8 Link in the rfm module to the target 2012-08-25 17:27:17 -05:00
James Cotton
daad1d6f8f Sensors: Scope some variables to suppress warnings 2012-08-25 17:12:37 -05:00
James Cotton
982750a58f Merge remote-tracking branch 'revo/brian/revo_link' into revo-mini
Conflicts:
	ground/openpilotgcs/src/plugins/plugins.pro
2012-08-25 15:05:47 -05:00
James Cotton
a9b48cf1ca Merge remote-tracking branch 'revo/amorale/revolution_baro_fixes' into revo 2012-08-25 14:55:23 -05:00
James Cotton
5c34412200 Merge remote-tracking branch 'revo/amorale/revolution_baro_fixes' into revo-mini 2012-08-25 14:55:10 -05:00
Brian Webb
b3dc617702 Fixed PPM output from updated RadioComBridge module. 2012-08-25 12:52:06 -07:00
James Cotton
c5fda8208b TOFIX: For now hardcode a reversed orientation of MPU6000 for RevoMini 2012-08-25 14:41:03 -05:00
Brian Webb
e602b73a6f Split out the PipX radio interface from RadioComBridge module to a separate Radio module. Now the RadioComBridge module just routes messages between the com ports and handles sending/receiving the PipX UAVOs.
Conflicts:

	flight/Modules/RadioComBridge/RadioComBridge.c
	flight/PipXtreme/System/pios_board.c

Conflicts:

	flight/Modules/RadioComBridge/RadioComBridge.c
2012-08-25 12:29:02 -07:00
James Cotton
c3906cfe90 Reenable the other main modules 2012-08-25 14:22:06 -05:00
James Cotton
0decce582b Got all the sensors reading 2012-08-25 14:19:15 -05:00
Stacey Sheldon
e7bf1db165 Revert "Removed Revolution specific code"
This reverts commit d4a401ce30.
2012-08-25 14:57:16 -04:00
James Cotton
31ebb7bbd8 Remove the old BMA180 and L3GD20 code and fix the irq lines for the sensors. 2012-08-25 13:51:52 -05:00
James Cotton
2edc976168 Fix the VBUS sense pin 2012-08-25 13:46:55 -05:00
Brian Webb
415b86879c Added the RFM22B driver to the Revo to support an RFM22B radio on the external SPI port. 2012-08-25 11:45:43 -07:00
Brian Webb
fad32dcc29 Split out the PipX radio interface from RadioComBridge module to a separate Radio module. Now the RadioComBridge module just routes messages between the com ports and handles sending/receiving the PipX UAVOs. 2012-08-25 11:41:32 -07:00
James Cotton
ce5ef7edf3 Update the serial ports and receiver and servo ports 2012-08-25 13:19:23 -05: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
James Cotton
05e2e24bcb Reconfigure the SPI ports. 2012-08-25 12:38:44 -05:00
James Cotton
60160001c6 Copy the revo project to revo mini 2012-08-25 12:23:54 -05:00
a*morale
c696cccff8 Added an option to be able to change the interleave between Pressure and Temperature conversion for the MS5611
To enable this option define the PIOS_MS5611_SLOW_TEMP_RATE with the number of Pressure conversion for each Temperature conversion.
2012-08-25 13:04:41 +02:00
a*morale
257b00a400 Fixed a typo on I2C speed for the MS5611 2012-08-25 12:28:25 +02:00
a*morale
789746151a Fixes the selection of the oversample settings from the pios_ms5611_cfg.oversapling configuration 2012-08-25 11:29:01 +02:00
James Cotton
59d1367d37 Autotuning: Make the output also follow the hysteresis output 2012-08-24 22:45:45 -05:00
Brian Webb
34b433e074 Added UAVTalkSendBuf function and added locking in UAVTalkSendAck and UAVTalkSendNack. 2012-08-24 19:42:10 -07:00
Brian Webb
b1c88628f6 Merge branch 'james/revo' of ssh://git.openpilot.org/revo into brian/revo_link 2012-08-24 19:35:40 -07:00
James Cotton
a3f1894cd7 Autotuning: Make the estimator require the value to toggle above and below the hysteresis level. 2012-08-24 21:33:08 -05:00
James Cotton
8babe5d8a4 Autotuning: Increase the measurement time to 30 seconds. 2012-08-24 21:32:11 -05:00
Brian Webb
7ce0004c47 Added include of stdint.h to aes.c 2012-08-24 19:26:06 -07:00
Laura Sebesta
929bf73504 Missed adding a diagnostics refactor to the commit. 2012-08-24 12:04:55 +02:00
Laura Sebesta
f2ffd1fb99 Changed DIAGNOSTICS flag to be individual to each module instead of global.
The upshot is the stack usage monitor can be turned on at a lower RAM threshold.
2012-08-24 12:04:05 +02:00
Brian Webb
88c8cba0ff Reduced size of temporaries to the correct size in rs.c 2012-08-22 06:46:51 -07:00
Brian Webb
2cd0733f7d Removed unecessary include of stm32f10x.h from aes.h 2012-08-22 06:45:44 -07:00
a*morale
d8ea84cdf1 Fix output power selection from the configured value at startup 2012-08-21 18:51:45 +02:00
Stacey Sheldon
431863b0c2 sdcard: build fixes for revo due to sdcard removal
Related to commit: 56647f5409
merged from op-public.
2012-08-20 21:32:19 -04: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
2d0e4944d3 Merge remote-tracking branch 'origin/stac/actuator-task-cpu-optimization' into next 2012-08-20 19:13:39 -04:00
James Cotton
113a759cd9 Merge branch 'next' into revo 2012-08-19 21:22:02 -05:00
Brian Webb
171f91336c Removed assert that was no longer needef form PipX pios_board.c 2012-08-18 08:40:19 -07:00
James Cotton
c4b82fa1fd Disable transmitter updating PH location while using a tablet. 2012-08-12 17:51:52 -05:00
James Cotton
44dc01126e Merge branch 'next' into revo 2012-08-12 16:12:54 -05:00
James Cotton
3d1a6cbcba Attitude: Make sure the EKF can init if HomeLocation is not set but the
magnetic field is.  Good for switching between indoor and outdoor mode.
2012-08-12 16:11:04 -05:00
James Cotton
880eb5eb11 Fix revo for the removal of SDCard supprot 2012-08-12 14:45:06 -05:00
James Cotton
18d63f7e9c Merge commit 'b19a0947fb72dc069540561ffeb6983ee318fcb9' into revo 2012-08-12 14:39:30 -05:00
James Cotton
75db0fcb35 Merge branch 'next' into revo
Conflicts:
	flight/Modules/GPS/GPS.c
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/systemalarms.xml
2012-08-12 14:38:38 -05:00
Stacey Sheldon
9f8d22961f cc makefile: enable -ffunction-sections and -fdata-sections
These compiler options place each function and each global variable
into its own ELF section in each .o file.  This, combined with the
linker option --gc-sections allows the linker to evict unused functions
and variables from the final ELF file.

On CC, the firmware flash bank is only 118784 bytes in total.

This commit reduces the .text segment from 114120 to 83536 and .data
from 572 bytes to 560 bytes.  That frees up a grand total of 30596 bytes
of flash and 12 bytes of RAM.
2012-08-11 20:13:09 -04:00
Stacey Sheldon
29ab1d8cf3 actuator: factor out settings updates from main loop 2012-08-11 19:46:00 -04:00
Stacey Sheldon
63c167c183 taskinfo: also track Event thread's stack usage and CPU utilization
The event dispatcher thread is started differently than most other
threads so it was missed in the taskinfo tracking information.  Now
it's also included.
2012-08-11 18:47:03 -04:00
Stacey Sheldon
b505602c15 Merge remote-tracking branch 'origin/stac/rc-tx-joystick-emulation' into next 2012-08-11 11:21:18 -04:00
Stacey Sheldon
49c153003c hid joystick: use linearly scaled channels
Scales each channel only based on max and min calibrated values.
The neutral value is now ignored so the joystick sees a linear
range between min and max.

This is particularly useful to allow the full range of values for
throttle to be passed through to the joystick.
2012-08-10 23:36:06 -04:00
Stacey Sheldon
07fde38887 hid joystick: factor out min/max range from report items 2012-08-10 23:29:34 -04:00
James Cotton
f530702ce9 Merge branch 'android' into sim_android
Conflicts:
	androidgcs/AndroidManifest.xml
	androidgcs/res/layout/gcs_home.xml
	androidgcs/res/layout/pfd.xml
	androidgcs/res/layout/system_alarms.xml
	androidgcs/src/org/openpilot/androidgcs/AttitudeView.java
	androidgcs/src/org/openpilot/androidgcs/BluetoothDevicePreference.java
	androidgcs/src/org/openpilot/androidgcs/CompassView.java
	androidgcs/src/org/openpilot/androidgcs/Controller.java
	androidgcs/src/org/openpilot/androidgcs/HomePage.java
	androidgcs/src/org/openpilot/androidgcs/Logger.java
	androidgcs/src/org/openpilot/androidgcs/ObjectBrowser.java
	androidgcs/src/org/openpilot/androidgcs/ObjectEditor.java
	androidgcs/src/org/openpilot/androidgcs/ObjectManagerActivity.java
	androidgcs/src/org/openpilot/androidgcs/Preferences.java
	androidgcs/src/org/openpilot/androidgcs/SystemAlarmActivity.java
	androidgcs/src/org/openpilot/androidgcs/TelemetryWidget.java
	androidgcs/src/org/openpilot/androidgcs/UAVLocation.java
	androidgcs/src/org/openpilot/uavtalk/Telemetry.java
	androidgcs/src/org/openpilot/uavtalk/TelemetryMonitor.java
	androidgcs/src/org/openpilot/uavtalk/UAVDataObject.java
	androidgcs/src/org/openpilot/uavtalk/UAVMetaObject.java
	androidgcs/src/org/openpilot/uavtalk/UAVObject.java
	androidgcs/src/org/openpilot/uavtalk/UAVObjectField.java
	androidgcs/src/org/openpilot/uavtalk/UAVObjectManager.java
	androidgcs/src/org/openpilot/uavtalk/UAVTalk.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/AltitudeHoldSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/FirmwareIAPObj.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/PositionActual.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
	flight/Modules/GPS/GPS.c
2012-08-08 15:50:28 -05:00
James Cotton
06a6e367b0 Merge remote-tracking branch 'origin/hyper/OP-661' into next 2012-08-08 13:49:48 -05:00
Stacey Sheldon
5902c19cc3 hid joystick: compress local usages since they're all in the same page 2012-08-08 10:38:43 -04:00
Stacey Sheldon
030d9e84f9 hid joystick: remove unnecessary usage page definitions 2012-08-08 10:15:08 -04:00
Stacey Sheldon
449c7aab7a hid joystick: use 32-bits to represent max range 2012-08-08 00:50:03 -04:00
Stacey Sheldon
94f6344fc5 hid joystick: restructure joystick HID report to work on windows 2012-08-07 21:34:25 -04:00
James Cotton
097ae637bf Remove the TCHAIN_PREFIX flag from the OSX Makefile. No clue how that got
merged in.
2012-08-06 16:54:55 -05:00
James Cotton
f247443d64 Clean up the logging somewhat 2012-08-06 16:54:52 -05:00
Stacey Sheldon
017d8c79c9 hid joystick: add missing .c file
This time for sure...
2012-08-06 11:49:03 -04:00
Stacey Sheldon
d44e24a150 hid joystick: add missing .h files 2012-08-06 11:42:44 -04:00
Stacey Sheldon
ef0c12b1b6 hid joystick: emulate a USB HID joystick using RC Transmitter
Adds a new RCTransmitter setting for the USB HID interface which
emulates a USB HID joystick.  The scaled RC receiver channels
from any RCVR protocol are passed through to the various emulated
joystick controls.

The main use for this feature is to allow you to use your own RC
transmitter with any RC simulator on a PC.

This is known to work with CRRCsim but should work with any simulator
that supports joystick input.
2012-08-05 21:45:27 -04:00
James Cotton
096f940fee Reenable the flash version now Stac's fix is tested. 2012-08-04 12:03:41 -05:00
James Cotton
d6c485459f Fix error Stac caught in sin_lookup 2012-08-04 00:33:20 -05:00
James Cotton
8eac518a9c If the sin table is empty don't attempt to use it and return 0. 2012-08-03 12:43:50 -05:00
James Cotton
f3dc2dc2ad Store 180 deg in flash now and even make the flash and ram version share a
lookup method.  Still don't get the same results.
2012-08-03 12:31:15 -05:00
James Cotton
9f3c8dddd3 Add a version of the sin lookup table that is in ram instead of flash 2012-08-03 12:15:57 -05:00
James Cotton
490955dbea Use cos_lookup instead of sin_looup(x+90) 2012-08-03 11:34:05 -05:00
James Cotton
3982ad0046 Enable AUTOTUNE by default for CC 2012-08-03 09:37:47 -05:00
James Cotton
fc2f8376bc Prevent an alarm from ManualControlCommand when using autotuning mode. 2012-08-03 09:37:47 -05:00
James Cotton
50c7641162 Move the PID methods into a standalone library 2012-08-03 09:37:46 -05:00
James Cotton
2723ff4be3 Factor the virtual flybar code out of the stabilization module 2012-08-03 09:37:46 -05:00
James Cotton
aae0e562c6 Create a sine lookup table that is cached in flash and make relay tuning start
ot use this.
2012-08-03 09:37:46 -05:00
James Cotton
924c91ce1e Fix mistake from previous merge with duplicate the STABILIZATIONOMDE_ATTITUDE
case
2012-08-03 09:37:46 -05:00
James Cotton
8565dfbcc3 Factor the relay tuning out of the main stabilization.c file into it's own
tool.
2012-08-03 09:37:46 -05:00
James Cotton
ee4bb84e36 Fix: Increase teh memory for autotune back to 1024 which leaves 100 free. 2012-08-03 09:37:46 -05:00
James Cotton
561cf994b0 Reduce the memory footprint of the sin lookup table by using sin(x+pi) =
-sin(x).  Still just needs to move into flash and have some options about
precision when in its own library function.
2012-08-03 09:37:46 -05:00
James Cotton
652647fc87 Make autotuning module optional 2012-08-03 09:37:46 -05:00
James Cotton
d0ef95ff9a Fix idiotic bug in the stab_refactor 2012-08-03 09:37:46 -05:00
James Cotton
2ccd6605a4 Now the stabilization refactor is in we can make swapping between tuning the
system in rate or attitude mode software configurable.
2012-08-03 09:37:45 -05:00
James Cotton
24d9e50c08 Based on the selected behavior either apply or save the stabilization settings 2012-08-03 09:37:45 -05:00
James Cotton
7ea14ecc22 Track the output gain instead of amplitude so the measured values are
consistent if the settings are changed afterwards.
2012-08-03 09:37:45 -05:00
James Cotton
17878b32f3 Make autotune run within an attitude loop instead of direct rate mode. Easier
for beginners.
2012-08-03 09:37:44 -05:00
James Cotton
48362f56f6 Enable autotune as an optional CC module 2012-08-03 09:37:44 -05:00
James Cotton
a9af53b4f3 Create new autotuning module which rotates through the axes for autotuning and
then computes new stabilization settings.
2012-08-03 09:37:44 -05:00
James Cotton
44e72d0a70 A big refactoring of stabilization.c to get rid of the two separate loops and
move them into one big structure.  This makes it easier to implement other
modes.
2012-08-03 09:37:44 -05:00
James Cotton
e01c5d5f87 Get online estimation of period and amplitude working 2012-08-03 09:37:44 -05:00
James Cotton
4ac8df6aa8 Make the system perform an online estimate of the period and amplitude of the
oscillation during relay tuning
2012-08-03 09:37:44 -05:00
James Cotton
17a0d3ebb4 Add a relay stabilization mode 2012-08-03 09:37:44 -05:00
James Cotton
9ce7d9b4ac Add UAVOs for relay tuning 2012-08-03 09:37:44 -05:00
James Cotton
c1a0f176eb Merge branch 'master' into next 2012-08-03 09:37:22 -05:00
James Cotton
dafc455bfa Increase the manualcontrol stack size based on Stac's comments 2012-08-03 09:36:59 -05:00
James Cotton
6948f1dc41 Merge remote-tracking branch 'origin/master' into next
Conflicts:
	package/winx86/translations/strings_de.nsh
2012-08-03 09:35:18 -05:00
James Cotton
beb75f22cf Remove the TCHAIN_PREFIX flag from the OSX Makefile. No clue how that got
merged in.
2012-08-02 10:40:40 -05:00
James Cotton
5e2c2a0ec3 Clean up the logging somewhat 2012-08-02 10:40:38 -05:00
Richard Flay (Hyper)
6d34795494 Re-enabled simposix SDCard support, and removed obsolete SDCard alarm usage from System module 2012-08-01 19:53:59 +09:30
Werner Backes
e32152386a Increased stack for PIOS_SETS_HOMELOCATION case to avoid running into low stack warnings when settings the home location from GPS was actually used. 2012-07-31 11:10:23 +02:00
Richard Flay (Hyper)
56647f5409 Fix for OP-661: error messages in GCS log due to obsolete AHRSComms and SDCard related alarms. Change also disables obsolete SDCard support on the flight side of CC and PipX 2012-07-31 11:07:07 +09:30
Werner Backes
b8450d4a07 Fixed World Magnetic Model to accept altitude in meters instead of kilometers 2012-07-31 00:18:10 +02:00
Sambas
2c8929525d Optional modules for Revolution, compiles but not flight tested. 2012-07-30 12:20:18 +03:00
Sambas
b8d33a8aab Just some tests/fixes 2012-07-30 11:47:34 +03:00
Sambas
a934063070 reworked AH gauge 2012-07-30 11:45:46 +03:00
Sambas
e59f99bc8e Wave audio player test app. 2012-07-30 11:45:36 +03:00
Sambas
52c3627bb2 OSD uSDcard support, settings save/load works (tested on 128MB card). booting takes some time for some reason. 2012-07-30 11:45:22 +03:00
Sambas
ad0473e646 proper use of i2c transfer, return 0 is all ok, original code locked the transfer when all ok. 2012-07-30 11:41:25 +03:00
Sambas
79be7613b5 CC mag&baro for OSD, bmp needed some black magic hacking 2012-07-30 11:40:16 +03:00
James Cotton
dde9de080e Need to increase the GPS stack size when I include the GPZDA message 2012-07-29 12:41:20 -05:00
James Cotton
24636eb5f4 Add a waypoint above home for the box pattern. 2012-07-28 22:55:59 -05:00
James Cotton
9bd49ded4f OSX Simulator - get model type correctly 2012-07-28 13:35:31 -05:00
James Cotton
f02aacfeb6 Change the constant so LED flashing works properly on Revo 2012-07-28 11:22:24 -05:00
James Cotton
f5af60af3e Increase the stack size for the system module now the saving occurs within that
thread.
2012-07-27 17:43:47 -05:00
James Cotton
221ae05ef6 Perform the update every cycle. Mag rate of 0.001 seems to work well. 2012-07-27 13:20:30 -05:00
James Cotton
abb0caa6bd Try a different mag nulling algorithm. 2012-07-27 13:14:18 -05:00
James Cotton
9f00eda1b4 Add the mag offset compensation into into the simulated sensor code 2012-07-26 21:00:30 -05:00
James Cotton
880d58e4d9 Changes to mag nulling from D-Lite. Perform update only when we have a new
vector sufficiently different from the previous one.
2012-07-26 20:38:16 -05:00
James Cotton
6867068b9e Merge branch 'saving_queue' into next 2012-07-25 13:28:17 -05:00
James Cotton
f9eb82478b Make sure to create the system queue BEFORE calling task start. Systemmod
initializes differently than other threads and I missed htat.  Huge thanks to
Hyper for making me realize that despite the fact I didn't see it :D.
2012-07-25 13:27:39 -05:00
James Cotton
c0c5da69aa Should check that the queue allocates and initialize shoudl return -1 if not 2012-07-25 13:27:38 -05:00
James Cotton
66191c4d01 Make saving occur within the system thread instead of the event system thread 2012-07-25 13:27:38 -05:00
James Cotton
735c009843 Disable writing to the overo driver for every pios_com write again. It drives
up system consumption too much, although now data will get lost :(.
2012-07-25 13:15:47 -05:00
James Cotton
c587ceebfd Make the mag offset nulling convergence rate come from the UAVO. When it is
set to zero nulling does not occur to allow us to still calibrate the sensors.
2012-07-25 11:23:27 -05:00
James Cotton
3b57b492d0 Mag bias tracking seems to work 2012-07-25 11:19:39 -05:00
James Cotton
1a5af9dafb Remove some old debugging code 2012-07-25 11:10:10 -05:00
James Cotton
d1e6dcc2f0 First pass implementation of William Premerlani's magnetometer bias correction 2012-07-25 11:07:40 -05:00
James Cotton
36fcdcc107 Make PH use axis lock by default 2012-07-24 14:10:05 -05:00
James Cotton
30085d23ff Reenable sending from the overo tx method but no longer yield since we aren't
using a blocking write anyway.
2012-07-24 11:29:24 -05:00
James Cotton
6561b9b164 For now make it an error when GPS is enabled but missing. However, no warnings
when it's present.
2012-07-24 11:28:31 -05:00
James Cotton
a90dd1ef5c For now do not call PIOS_OVERO_WriteData from the Tx method because this is too
slow (task yield?) and results in a lot of event system errors.
2012-07-24 11:18:58 -05:00
James Cotton
e006ae2b4d Fix a really stupid bug where I ordered two cases together; 2012-07-24 11:07:40 -05:00
James Cotton
9865466da9 Make sure to create the system queue BEFORE calling task start. Systemmod
initializes differently than other threads and I missed htat.  Huge thanks to
Hyper for making me realize that despite the fact I didn't see it :D.
2012-07-24 09:51:03 -05:00
James Cotton
d75fef52ee Increase the overo event queue size to try and stop getting warnings. Only
allocate when using overosync.
2012-07-24 09:48:24 -05:00
Kenz Dale
8a5f4d40c5 Fix filtering rate for case where we have a baro sensor and a gps, but
have no current gps data.

Also fixed minor timing bug that allowed the GPS to be used too often
when our primary instrument is the baro airspeed sensor.
2012-07-24 15:16:52 +02:00
James Cotton
e2887ca7fe Add pios_struct_helper to PiOS.osx 2012-07-24 15:15:37 +02:00
Kenz Dale
a77a012586 Eliminated attitude sensor timeout warnings when in simulation mode. 2012-07-24 15:15:37 +02:00
Kenz Dale
aa5e5a9b01 Removed "airspeed" field from Airspeed UAVO. Now everything is done either with true airspeed or calibrated airspeed 2012-07-24 15:15:21 +02:00
James Cotton
92d975e668 Reduce the UAVTalk type mask to allow the top byte flag to indicate if there is
a timestamp
2012-07-24 03:44:35 -05:00
James Cotton
4809d569c0 Need to tell UAVTalk to expect a longer packet when it includes a timestamp 2012-07-24 03:44:03 -05:00
James Cotton
ea5c3be026 Need to add hooks in sendObject and receiveObject to actually transmit _TS objects 2012-07-24 02:57:51 -05:00
James Cotton
858c2cd512 Increase the size of the overo queue 2012-07-24 01:54:04 -05:00
James Cotton
617de9c68b Revert "Disable the FLASH_FREERTOS flag for revolution so that it doesn't try and use"
This reverts commit 7522bd07ba.
2012-07-24 01:49:53 -05:00
James Cotton
1f7345ef77 Dos2unix uavtalk files 2012-07-23 19:59:01 -05:00
James Cotton
13ff0dbb36 Add accessor method to get the time of the last timestamp to avoid breaking the
API
2012-07-23 19:44:07 -05:00
James Cotton
3137d5288b Add a message type flag (0x80) to UAVTalk which inserts a timestamp after the
previous header and the decoding to read this out.
2012-07-23 19:39:17 -05:00
James Cotton
26f07c21f6 Fix the pios_overo driver for compiling against the bootloader 2012-07-23 10:07:42 -05:00
James Cotton
8f8ae5bacb For revolution we MUST initialize teh GPS objects all the time or attitude will
fail
2012-07-23 10:01:32 -05:00
James Cotton
7522bd07ba Disable the FLASH_FREERTOS flag for revolution so that it doesn't try and use
vTaskDelay while erasing flash.
2012-07-23 09:42:53 -05:00
James Cotton
cf6b49535a Add pios_struct_helper to PiOS.osx 2012-07-23 09:19:28 -05:00
James Cotton
e38325c745 Should check that the queue allocates and initialize shoudl return -1 if not 2012-07-23 08:47:43 -05:00
Kenz Dale
21527544f9 Fixed compile-time bugs in the case where airspeed module is compiled, but no drivers are present in pios_config. 2012-07-23 14:06:44 +02:00
James Cotton
545018244c Make saving occur within the system thread instead of the event system thread 2012-07-22 23:03:27 -05:00
Stacey Sheldon
f5db83bd20 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	flight/Libraries/inc/NMEA.h
	flight/Modules/GPS/GPS.c
	flight/Modules/GPS/NMEA.c
	flight/Modules/GPS/UBX.c
	flight/Modules/GPS/inc/NMEA.h
	flight/Modules/GPS/inc/UBX.h
	flight/Modules/PathPlanner/inc/pathplanner.h
	flight/PiOS/STM32F10x/link_STM32103CB_PIPXTREME_sections.ld
	flight/Revolution/System/inc/pios_config.h
	flight/Revolution/UAVObjects.inc
	flight/SimPosix/UAVObjects.inc
	ground/openpilotgcs/src/plugins/hitlv2/aerosimrc/src/qdebughandler.h
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	shared/uavobjectdefinition/gpsvelocity.xml
2012-07-22 23:39:37 -04:00
Oleg Semyonov
4e42fb564e AeroSimRC: fix CC3D virtual sensor readings in simulation mode 2012-07-22 14:19:29 +03:00
Oleg Semyonov
f3f34e8f9f AeroSimRC: fix CC3D virtual sensor readings in simulation mode 2012-07-22 14:18:49 +03:00
James Cotton
d8e0cbc78f Make inadequate lock a warning instead of error/critical from GPS. This allows
flying indoors.
2012-07-22 02:17:58 -05:00
James Cotton
42501d6312 Merge branch 'nosave_while_armed' into revo 2012-07-22 02:13:25 -05:00
James Cotton
bcebced609 Merge branch 'revo_gps_merge' into revo 2012-07-22 01:21:50 -05:00
James Cotton
a559286d0b A few of the UBX types were missing a struct for the type. 2012-07-22 01:21:12 -05:00
James Cotton
57a554f7ea Enable the GPS UBX/NMEA support 2012-07-22 01:17:29 -05:00
James Cotton
fa4adf1630 A few of the UBX types were missing a struct for the type. 2012-07-22 01:17:06 -05:00
James Cotton
9c512261e6 When in indoor mode reset the baro offset to zero 2012-07-22 01:02:14 -05:00
James Cotton
93faf131b0 Merge branch 'next' into revo
Conflicts:
	flight/Modules/GPS/GPS.c
	flight/Modules/GPS/NMEA.c
	flight/Modules/GPS/UBX.c
	flight/Modules/GPS/inc/NMEA.h
	flight/Modules/GPS/inc/UBX.h
	flight/Revolution/System/inc/pios_config.h
	flight/Revolution/UAVObjects.inc
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	ground/openpilotgcs/src/plugins/waypointeditor/waypointeditorplugin.h
	shared/uavobjectdefinition/gpsvelocity.xml
2012-07-22 00:43:19 -05:00
James Cotton
0c054a1e62 Speed up attitude loop on Revo to 666 Hz 2012-07-21 17:25:06 -05:00
James Cotton
5649813c2b Make sure to always compare BiasCorrectedRaw against its enum. Also reversed
the order of TRUE,FALSE in the definition to make it safer anyway.
2012-07-21 17:24:58 -05:00
James Cotton
d36663dbbd Treat the GyroBias UAVO like a state estimate of the actual gyro bias so now we
subtract that from the raw sensor readings to get the Gyros UAVO value
2012-07-21 15:14:45 -05:00
James Cotton
3e33bb49a2 EKF gyro bias into the object now working propely 2012-07-21 15:11:04 -05:00
James Cotton
02dfa7bd82 Change how the updated settings in attitude are changed to make it easier to
initialize them all
2012-07-21 14:31:14 -05:00
James Cotton
3f4706ad4c Make it a critical error when an invalid attitude algorithm is selected 2012-07-21 14:00:52 -05:00
James Cotton
69057a1373 No reason to get homeLocation every cycle 2012-07-21 13:57:25 -05:00
James Cotton
7cdf47c1d4 Make the sensors code only apply the GyroBias from the UAVO which is now coming
consistently only from the attitude module
2012-07-21 13:51:20 -05:00
James Cotton
e5bd999975 Process the settings updates more discretely in revo attitude 2012-07-21 13:50:16 -05:00
Stacey Sheldon
922c9b3519 simposix: include new GPS UAVOs for GPS module 2012-07-21 14:42:34 -04:00
Stacey Sheldon
123f199160 gps: fix case on GPS.h file 2012-07-21 14:42:04 -04:00
Stacey Sheldon
fc78d9f7d8 nmea: fix typo in DEBUG macro name 2012-07-21 14:23:14 -04:00
Stacey Sheldon
eafd525323 Merge remote-tracking branch 'origin/D-Lite/ubx-parser-next' into next 2012-07-21 14:22:10 -04:00
James Cotton
797a4def6a Do not use the data from the magnetometer if it contains NAN 2012-07-21 11:43:31 -05:00
Werner Backes
d4a401ce30 Removed Revolution specific code 2012-07-21 07:58:00 +02:00
James Cotton
c5904b4667 Clean up the pios_overo driver. Working well now. 2012-07-20 13:57:47 -05:00
James Cotton
bcdd5a8bba Fixes to the overo module where it was thinking the fifo buffer writes failed 2012-07-20 13:45:31 -05:00
James Cotton
5091b16065 Needs work but it's sending data now 2012-07-20 11:36:49 -05:00
James Cotton
88bb73f508 Fix the PIOS_OVERO dma IRQ configuration 2012-07-20 11:14:27 -05:00
James Cotton
337f0e8bfa Properly enable circular buffering on the overo spi 2012-07-20 10:59:18 -05:00
James Cotton
6a3c067c18 Zero out the packet counter when pios_over is initialized. 2012-07-20 10:45:20 -05:00
James Cotton
fb215fd095 PiOS overo driver wasn't setting it's id and also clearing the DMA IRQ flags 2012-07-20 10:17:57 -05:00
James Cotton
6b3e5573a0 The overosync module now uses pios_com interface. 2012-07-20 09:46:28 -05:00
James Cotton
8fc2d10ea6 Get the pios_overo driver for pios_com compiling 2012-07-20 09:32:22 -05:00
Kenz Dale
54b429e8ce Removed functionality in manualcontrol.c that changed path endpoints based on TX input.
This feature needs to be rethought, as there are many situations in which it does not work as intended and has unexpected behavior.
2012-07-20 14:21:02 +02:00
Kenz Dale
7a28c6e4de Merge branch 'revo-next' of ssh://git.openpilot.org/revo into revo-next 2012-07-20 13:10:57 +02:00
Kenz Dale
1d976b3095 dded support for multiple airspeed sources. Added GPS airspeed estimation. Extended BaroAirspeed UAVO. Added new AirspeedSettings UAVO. 2012-07-20 13:08:54 +02:00
Werner Backes
bcee75a270 Added comment to explain the gpsDataUpdated flag 2012-07-20 11:56:40 +02:00
James Cotton
1c4c373b86 Begin rewriting pios_overo to look like a standard com layer 2012-07-20 03:42:09 -05:00
James Cotton
3eb41d3ef2 When the systemmod callback happens exit if the operation is error or completed 2012-07-19 22:18:36 -05:00
James Cotton
27ad0fcf6f Don't allow the system to save while armed 2012-07-19 21:51:31 -05:00
Werner Backes
6db2c949a3 Report GPS NO_FIX status only once per message set and not with every
single message.
2012-07-20 00:23:05 +02:00
Werner Backes
d3962f3303 Removed message counter from nmea_parsers structure and made it const to
save some RAM.
2012-07-19 23:37:11 +02:00
Werner Backes
15fa42058e Unified statistics counters between UBX and NMEA parser and moved them
to GPS.c.
2012-07-19 22:00:24 +02:00
Werner Backes
307626d1de Fixed typo 2012-07-19 20:46:44 +02:00
Werner Backes
926e3d93b7 Removed unused variables 2012-07-19 20:14:51 +02:00
Kenz Dale
bce7a04de8 Fixed typo. 2012-07-19 17:13:39 +02:00
James Cotton
7492d34d25 Merge branch 'overo_control' into revo 2012-07-19 08:35:39 -05:00
James Cotton
5ebd368b18 Merge branch 'next' into revo
Conflicts:
	flight/PiOS/STM32F10x/link_STM32103CB_PIPXTREME_sections.ld
2012-07-19 08:35:30 -05:00
Werner Backes
a22a11d973 Cleanups:
- removed unused nav_status parser function
- enum coding style change
2012-07-19 13:05:55 +02:00
James Cotton
4306afa841 Update the module and overosyncstats to track buffer underruns 2012-07-17 17:21:51 -05:00
James Cotton
2f64124da8 Updates to the pios_overo driver to fully reinit the dma and spi device between
packets
2012-07-17 17:21:28 -05:00
James Cotton
9c91436428 Clean up some cruft from Overo module and add a packet counter 2012-07-17 16:17:56 -05:00
James Cotton
db27653859 Make the Overo module use the new driver 2012-07-17 16:11:23 -05:00
James Cotton
a6ba379af9 PIOS_OVERO driver which handles the communications to the overo and ensures the
data stays in frame.
2012-07-17 15:34:54 -05:00
James Cotton
92a0311b32 New pios_overo driver that handles the SPI communications to the overo 2012-07-17 13:31:00 -05:00
James Cotton
bc075c5d2c Only schedule overo packets on the NSS line rising to avoid the frame sync
errors we were seeing previously
2012-07-17 11:45:45 -05:00
James Cotton
719772c98a Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into next 2012-07-16 11:42:29 -05:00
James Cotton
6b101d71af Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo 2012-07-15 12:32:35 -05:00
James Cotton
ce6bebceb6 Also strex needs to not clobber it's register to have predictable results.
OPReview-227
2012-07-14 19:47:03 -05:00
Michael Hope
fa3aa20e05 ld: make sure current pointer never goes backwards
Fixes linking on ld version 2.22.  Identical to 3cbf4499.
2012-07-14 19:47:03 -05:00
Michael Hope
0efb24a54b The destination register of an exclusive store must be
different from both the value and address register.  Fix building with
recent binutils by marking the result as early clobber.
2012-07-14 19:47:03 -05:00
Brian Webb
cc6b48754d Reduced buffer sizes on PipX. 2012-07-14 17:17:01 -07:00
Brian Webb
a252b78fea Fixed transparent comms on PipX. 2012-07-14 17:14:43 -07:00
Brian Webb
03beb0bad6 Fixes to PipX firmware to compile with non codesourcery compiler. 2012-07-14 08:18:21 -07:00
James Cotton
5f337afb36 Add a setting to determine when the overo module logs 2012-07-14 09:21:38 -05:00
James Cotton
9eee4f1bc7 Made OverSynce an optional module.
Conflicts:

	shared/uavobjectdefinition/hwsettings.xml
2012-07-14 09:07:22 -05:00
James Cotton
8d4e221412 Remove the disable IRQ commands in PIOS_COM since they aren't needed. 2012-07-13 11:54:12 -05:00
James Cotton
d150fd5331 Merge branch 'next' into revo
Conflicts:
	flight/Modules/ManualControl/manualcontrol.c
	ground/openpilotgcs/src/plugins/config/input.ui
	ground/openpilotgcs/src/plugins/uavtalk/telemetry.cpp
	shared/uavobjectdefinition/manualcontrolsettings.xml
2012-07-13 10:40:14 -05:00
Werner Backes
bc7defe21f Changed usage of UBX structures to follow changed structure
declarations. (see commit e6f62f)
2012-07-13 14:48:11 +02:00
Werner Backes
7207d2bb98 Fixed typos in comments. 2012-07-13 14:43:26 +02:00
Werner Backes
6ae9db8cb7 Removed typedefs for structures to be consistent with style guide. 2012-07-13 14:40:11 +02:00
Werner Backes
e6f62f5806 Deleted commented-out code 2012-07-13 13:22:27 +02:00
Brian Webb
3fabdb9963 Fixed conflicted merge with origin/next. 2012-07-11 19:25:05 -07:00
Werner Backes
57dc9e6d39 Removed ECEF calculation from SetHomeLocation. 2012-07-11 23:53:34 +02:00
Werner Backes
7ef7b621d7 Reenable PIOS_GPS_SETS_HOMELOCATION on Revo.
Change-Id: I5a5e2ec0deb4241faad23f6fead5036b039bfbf9
2012-07-11 23:37:03 +02:00
Werner Backes
19c0f6a88a HomeLocation UAVOject on CC still has ECEF so make this part confitional. 2012-07-11 00:40:15 +02:00
Werner Backes
a77a367df2 Pass GPSPositionData as a function argument instead of using a global variable. 2012-07-10 17:35:35 +02:00
Werner Backes
d0b7dc0012 Added some pieces that had been lost during rebase 2012-07-10 16:38:00 +02:00
Werner Backes
5776981436 Deleted obsolete Libraries/inc/NMEA.h that conflicts with Modules/GPS/inc/NMEA.h 2012-07-10 16:25:58 +02:00
Werner Backes
19a9cd03c2 Introduced GPSVelocity UAVObject
Conflicts:

	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-07-10 16:23:10 +02:00
Werner Backes
10351e61d4 Revert "Changed GPS port to be rx/tx instead of rx only"
This reverts commit e2a35d1f4c.
2012-07-10 12:10:17 +02:00
Werner Backes
f1b846593f Fixed line endings 2012-07-10 11:40:55 +02:00
Werner Backes
e2a35d1f4c Changed GPS port to be rx/tx instead of rx only 2012-07-10 11:01:46 +02:00
Werner Backes
7a7b64c9cf Report SVs even if sat position is unknown. This way, received
satellites are reported early during cold start which gives better
feedback to the user.
2012-07-10 11:01:43 +02:00
Werner Backes
0424172398 Better separation between UBX and NMEA parser
Make GPS protocol a user selectable option
Support for UBX protocol on CopterControl
2012-07-10 11:01:41 +02:00
Werner Backes
29fd85f0e2 Process additional UBX messages. All information needed to fill the GPS
UAVObjects can now come from UBX protocol alone. Mixture of NMEA and UBX
protocols still is possible but not recommended.
2012-07-10 10:37:15 +02:00
Werner Backes
8c184ec8f2 Add additional UBX messages NAV-DOP, NAV-SOL, NAV-STATUS, NAV-SVINFO,
NAV-UTC
2012-07-10 10:36:56 +02:00
Werner Backes
a3e2513952 Increased stack size and com receive buffer to support SVINFO message.
Fix NOGPS condition for UBX.
2012-07-10 10:35:56 +02:00
Stacey Sheldon
54a161a3d4 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	shared/uavobjectdefinition/manualcontrolsettings.xml
2012-07-08 18:14:09 -04:00
Laura Sebesta
cfb8e72679 Improved battery module to fully support regeneration. Fixed bug in builtin battery module. Improved ADC routing names. 2012-07-08 23:13:05 +02:00
Laura Sebesta
0a34b786a9 Modified pios_adc.c to remove race condition by which the ADC value was reset to 0. 2012-07-08 22:23:05 +02:00
Laura Sebesta
4f20a0f9a1 Added drivers for analog airspeed sensors: MPXV5004 and MPXV7002. 2012-07-08 21:46:59 +02:00
Laura Sebesta
bc5e428bfe Several small changes to OSX simulator.
*Changed .gitignore to ignore OSXSIM build files
*Added SIMOSX define
*Changed tcp and udp ports to be consistent with SIMPOSIX.
2012-07-08 14:26:08 +02:00
Laura Sebesta
a98991d8a1 Created ADC routing UAVO. This allows to direct ADC inputs to various modules.
Tested and works on FlightBattery, currently the only module using the ADC.
2012-07-08 13:16:05 +02:00
Stacey Sheldon
2139dee574 uavobjectmanager: remove uavo name field and related functions
Saves a further 8 bytes of RAM per object.

Saves 1.5KB of flash by removing all of the const strings for
all of the object names and the corresponding meta object names.
This leaves room for more code.
2012-07-07 21:49:53 -04:00
Stacey Sheldon
2396eaef5a uavobjectmanager: simplify new embedded metadata objects
Simplifies some of the code that handles the
metadata objects which are now embedded within
the data UAVOs.
2012-07-07 21:49:53 -04:00
Stacey Sheldon
eef9b5f61e uavobjectmanager: drop typedefs and extra "Struct" in names
Readability improvements.
2012-07-07 10:36:37 -04:00
Stacey Sheldon
2a2eb47a2a uavobjectmanager: fixup indentation
No functional changes.
2012-07-07 10:36:37 -04:00
Corvus Corax
42041ef68c UavObjectmanager: Squeeze UAVObject instances closer together and eliminate unneeded id's and pointers - frees again >512 byte on next 2012-07-07 10:36:37 -04:00
Corvus Corax
da539b2b27 flight/UAVObjectManager: Represent Metadata as a property of each Object-type as opposed to separate UAVObjects - saves over 700 byte of RAM on next! 2012-07-07 10:36:37 -04:00
Stacey Sheldon
a7da3b14ba simposix: disable optimization for simposix build
Optimizing for size on simposix is meaningless, and
the code is easier to debug using gdb when optimization
is disabled.
2012-07-07 10:36:36 -04:00
Stacey Sheldon
22f4d30e27 gdb: add gdb setup file for simposix
The simposix target uses SIGUSR1 extensively as an
internal signal.  This setup file makes sure that
SIGUSR1 doesn't break into gdb every time it is used.
2012-07-07 10:36:36 -04:00
Laura Sebesta
54f3fbf226 Made OverSynce an optional module. 2012-07-07 11:53:58 +02:00
Stacey Sheldon
32373523d5 Merge remote-tracking branch 'origin/stac/simposix-warning-fixes' into next 2012-07-06 22:02:52 -04:00
James Cotton
58abe910d0 Merge remote-tracking branch 'origin/os/extended-flightmode-switch' into next 2012-07-04 11:52:38 +02:00
James Cotton
4afd9d110e Don't zero the PIDs when the settings are updated. Fixes some quirks from
using TxPID tuning.
2012-07-03 14:19:21 +02:00
James Cotton
33beafed27 Remove outdated alarm for sdcard in systemmod. Only affected simulation. 2012-07-03 10:53:10 +02:00
Stacey Sheldon
1635c83df0 simposix: fix warnings 2012-07-01 23:22:55 -04:00
Brian Webb
54455d60df Read PPM outside of the output test. 2012-07-01 08:32:58 -07:00
James Cotton
c9bf5f5d06 Merge branch 'next' into revo 2012-07-01 14:44:22 +02:00
Brian Webb
499e2ff989 Fixed PipX passthrough when connected via USB HID. 2012-06-30 18:27:15 -07:00
Brian Webb
3405bc3ebe Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-30 10:06:51 -07:00
Brian Webb
10e52b31c5 Added the ability on the PipX to specify if a comport is used to connect to the GCS (ground side), so it will receive status, etc, or UAVTalk (flight side). The data passing in RadioComBridge was also made more uniform, which allows for easier reconfiguration. 2012-06-30 10:06:28 -07:00
Corvus Corax
4d06bdfc04 PiOS.posix: bugfix to POSIX pios_delay implementation 2012-06-29 15:06:50 +02:00
Corvus Corax
2540ee53dc Merge commit '80f53b185c67d475ead43df97c4a62bcc36d7d90' into gcsbitfields 2012-06-29 09:45:44 +02:00
James Cotton
cd311642dd Merge branch 'next' into revo 2012-06-28 10:35:47 +02:00
a*morale
5a1efef3fe Merge branch 'amorale/fixoutputglitchonsave' into next 2012-06-26 01:09:18 +02:00
Oleg Semyonov
727e67d7fd Even more optimize FlightMode switch position calculation
This runs in a high frequency loop and should use as little of
floating point as possible. Thanks to Kenn for the idea.
2012-06-25 11:41:42 +03:00
Oleg Semyonov
2c896c9e91 Do not care about FlightMode channel if only one flight mode configured 2012-06-25 01:52:06 +03:00
Oleg Semyonov
02fa6fde09 Optimize FlightMode switch position calculation 2012-06-25 00:30:42 +03:00
Stacey Sheldon
154d971d4d flash: don't call vTaskDelay() before OS init
PIOS_Flash_Jedec_EraseChip is called during early
init when the table_magic has changed.  This call
happens on CC/CC3D prior to the OS being initialized
so it is not OK to call vTaskDelay() yet.

This was leading to boards locking up (no flashing blue
LED) immediately after jumping to the application when
the table_magic had changed or was being init'd for the
very first time.
2012-06-24 12:23:34 -04:00
a*morale
51678f24b4 Solve a bug that causes the motor spin on the first save for ActuatorSettings. 2012-06-24 14:06:51 +02:00
Brian Webb
43786c914d Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-23 15:01:53 -07:00
a*morale
688ae814fc Modifications to prevent glitches on servo output during save for ActuatorSettings
Refactored the updating of ChannelUpdateFreq so that it is done only when the actual update rates changes.
The actual update of the servo channel is moved inside the ActuatorTask.
Now the problem happen only in very few cases when modifying update rates.
2012-06-23 22:55:57 +02:00
Oleg Semyonov
cd6387d0a6 Add support for more than 3-pos FlightMode switches
It is now possible to have 1 to 6 flight mode switch positions
(usefull for guidance, position hold and similar use).

The input channel range is divided into N (1 to 6) zones and each
zone represents a flight mode. Default is 3 zones (backward compatible),
but more can be chosen.

How to use: configure Tx mixers in a way they provide required number
of different values for the same FlightMode channel. For instance,
using Turnigy 9X radio with ER9X firmware, one can create a mixer like
this:

     -100 MAX ID0   Manual
   R  -50 MAX ID1   Stabilized1 (Rate)
   R    0 MAX ID2   Stabilized2 (Attitude)
   R   50 MAX RUD   PositionHold
   R  100 MAX ELE   ReturnToBase

And set number of flight mode positions to 5. As a result, the 3-pos
switch (ID0, ID1, ID2) will provide first three flight modes, the rudder
D/R switch will override those and enable the 4th flight mode, and
elevator D/R switch will have highest precedence and activate the 5th
flight mode.

This will change the ManualControlSettings objectID.
2012-06-23 22:10:19 +03: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
f475088585 Merge remote-tracking branch 'op-public/next' into revo-next 2012-06-20 22:45:41 -04:00
Laura Sebesta
87900043a4 Typo fix. Grammarians will be extreamely glad to complement the OP team now that these errors haved disappeared. 2012-06-17 10:21:58 +03:00
Brian Webb
005ba0f8c8 Added erase pipx settings to PipX firmware (no GCS support yet). 2012-06-16 19:19:23 -07:00
a*morale
9aa088fb98 battery module: prevent the initial ramp up of the power supply to be identified as a low voltage condition 2012-06-15 19:43:47 -05:00
James Cotton
f8d196ffe8 Added support for board voltage monitor to battery module.
The module can be configured to enable what's needed from board voltage, battery voltage and battery current measurement.
In GCS the POWER box in system healt will show alarm related to the supply voltage to the board.
If a power warning/critical alarm is raised, the warning condition is left even if the board voltage return to an acceptable value.

Conflicts:

	ground/openpilotgcs/share/openpilotgcs/diagrams/default/system-health.svg
	shared/uavobjectdefinition/systemalarms.xml
2012-06-15 19:43:34 -05:00
Laura Sebesta
0e201818f0 Refactored variable names for more clarity. Changed some integrals, alititude control
seem to work a little better.
2012-06-15 18:02:24 +03:00
James Cotton
70606a46a1 Include initial gyro bias calibration into the level calibration of revo like
it is with CC.
2012-06-13 23:07:23 -05:00
James Cotton
9218145aa9 Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo 2012-06-12 22:53:30 -05:00
Brian Webb
33cae7645d Fixed calculation of retries on PipX. 2012-06-12 19:48:21 -07:00
James Cotton
9c1fa2dfc6 Revert "Get mag before gyros so that when gyro chip is acting up we still see mag data."
This reverts commit d2a3e39bbf.
2012-06-12 13:10:24 -05:00
James Cotton
01d47d6373 Accidental semicolon led to MPU6000 always failing self test. Another bug
masked that behavior.  I suck.
2012-06-11 12:22:24 -05:00
James Cotton
a029fc4656 Merge branch 'next' into revo
Conflicts:
	Makefile
2012-06-11 12:05:38 -05:00
James Cotton
93b77becc0 More the system task priority down and increase the timeout for erasing the
flash so it says completed.  However, it still blocks the system for a long
time.  During an erase the heartbeat will flash at 10 Hz to indicate what's
happening.

This still blocks telemetry even after lowering hte system priority (and there
is a vTaskDelay) which makes me think that the SPI bus being locked is blocking
Sensors or somethign else.  This should not be permited when the system is
armed.

The reason the system locks up during the erase is that the file system
operations occur within the event dispatcher thread.  It is very bad practice
for anything to block this (i.e. callbacks should never take very long).  We
should probably move the object persistence handling into the system thread or
something but that can be a separate issue.
2012-06-11 12:03:32 -05:00
James Cotton
821a25e419 For now make the F4 PIOS_ADC return an error code if there is no new data in
the ADC buffer.  This should be handled appropriately by the caller.
2012-06-11 09:22:04 -05:00
Stacey Sheldon
c73cffce59 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	Makefile
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/Revolution/System/inc/pios_config.h
	package/Makefile

Fixed CRLF line end clobbering in:
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/Modules/OveroSync/inc/overosync.h
	flight/Modules/Sensors/inc/sensors.h
	flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/Common/pios_usb_util.c
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/PiOS/inc/pios_rfm22b_priv.h
	flight/PiOS/inc/pios_usb_util.h
2012-06-10 19:01:11 -04:00
James Cotton
f5845cb037 Fix self test for MPU6000 so it returns negative values per our standard 2012-06-09 11:18:14 -05:00
James Cotton
d2a3e39bbf Get mag before gyros so that when gyro chip is acting up we still see mag data.
Helpful for board diagnostics.
2012-06-09 11:06:41 -05:00
James Cotton
ac99176f73 Add a scale to the logo 2012-06-08 14:12:52 -05:00
James Cotton
6ca34d3d0c Make lift model dependent on airspeed. 2012-06-08 13:58:18 -05:00
James Cotton
ac9adb0c94 Improve the airplane modeling a bit to the point navigation now keeps altitude
and speed correctly
2012-06-08 13:54:17 -05:00
James Cotton
ccee8e09f4 Cheat. For FW navigation when doing endpoint mode plot path from current
position to endpoint.
2012-06-08 11:44:22 -05:00
James Cotton
980111d246 Make RTH mode default to 2 m/s. This needs to be in a UAVO somewhere
(ManualControlSettings?)
2012-06-08 11:44:00 -05:00
James Cotton
53c9b4c8a4 Add simulated baro airspeed. PathFollower functionality tested and works. 2012-06-08 11:23:45 -05:00
James Cotton
bcaeda98f7 Fix bug in wind speed usage for simulation 2012-06-08 11:14:15 -05:00
James Cotton
6605d861dd Add cross coupling between roll and heading to make simulator fly like a plane
:D
2012-06-08 11:08:11 -05:00
James Cotton
493864bdc4 Add a fixed wing simulator mode 2012-06-08 10:46:40 -05:00
James Cotton
463ad550e2 A few comments in my code and some simplication to the fixedwingfollower to get
it compiling against my path planner.
2012-06-08 10:46:40 -05:00
James Cotton
a28aac47b5 Strip down FW navigation to be supported by my simple scheme 2012-06-08 10:46:39 -05:00
James Cotton
4c3ca17e34 Backport the fixed wing path follower 2012-06-08 10:46:39 -05:00
James Cotton
574ab3fcaa Make the VtolPathFollower an optional module
Note that RTH mode right now checks that throttle control is enabled, but this
should only occur if the system is a VTOL.
2012-06-08 10:46:38 -05:00
James Cotton
f5b2575c88 Merge branch 'next' into revo
Conflicts:
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/Revolution/System/inc/pios_config.h
	package/Makefile
2012-06-07 12:45:06 -05:00
James Cotton
7b8110a457 Merge branch 'MikeL' into next 2012-06-07 11:31:41 -05:00
Corvus Corax
720ae43a5e Modules/GPS: Fixed NMEA parser to still update GPSPosition in case of errors, but with error flagged. 2012-06-07 11:21:00 -05:00
James Cotton
1972470dcb Manualcontrolcommand needs a bit more stack space now 2012-06-07 10:07:52 -05:00
James Cotton
c689bcfb80 Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo 2012-06-07 09:49:18 -05:00
Sambas
50ed363330 Axislock as default for VtolPathFollower 2012-06-07 17:42:51 +03:00
Brian Webb
861bcc46fe Fixed RSSI reporting on PipX. 2012-06-06 21:14:31 -07:00
Brian Webb
e9d0909a68 Further improvements in link reliability on the PipX. 2012-06-06 17:44:56 -07:00
James Cotton
5e01617cbd Merge branch 'next' into MikeL
Conflicts:
	ground/openpilotgcs/src/plugins/config/airframe.ui
	ground/openpilotgcs/src/plugins/config/configoutputwidget.cpp
	ground/openpilotgcs/src/plugins/config/configoutputwidget.h
	ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
	ground/openpilotgcs/src/plugins/config/configvehicletypewidget.h
2012-06-06 11:58:06 -05:00
Brian Webb
5876df250d Improved lockups on dropped packets. 2012-06-05 21:10:32 -07:00
Brian Webb
0bc3c5061f Fixed PipX connection status reporting. 2012-06-05 19:34:19 -07:00
Brian Webb
4e68f6543e Added tracking of dropped packets to PipX and turned off visible text on signal strength meters. 2012-06-04 21:18:13 -07:00
Brian Webb
25fe50e9b1 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-04 18:26:05 -07:00
Mike LaBranche
0ba8345c51 Merge branch 'next' into MikeL
Conflicts:
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/Modules/OveroSync/inc/overosync.h
	flight/Modules/Sensors/inc/sensors.h
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/Revolution/System/inc/pios_config.h
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp
	ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
2012-06-04 16:59:31 -07:00
Mike LaBranche
bf591ebe45 Merge branch 'next' into MikeL
Conflicts:
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/Modules/OveroSync/inc/overosync.h
	flight/Modules/Sensors/inc/sensors.h
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/Revolution/System/inc/pios_config.h
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp
	ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
2012-06-04 15:38:57 -07:00
James Cotton
0b828fbdd0 Merge branch 'next' into revo
Conflicts:
	Makefile
2012-06-04 14:12:19 -05:00
James Cotton
ff0a3a156e Merge remote-tracking branch 'origin/os/AeroSimRC' into next 2012-06-04 12:25:59 -05:00
James Cotton
ed2fb5cb09 Merge branch 'next' into revo 2012-06-04 12:23:58 -05:00
James Cotton
46a52fc5ce Apply the virtual flybar stick scaling in stabilization.c because we need to
know the true stick position to dampen the gyros appropriately.
2012-06-04 12:22:39 -05:00
James Cotton
bda3f301cb Rename VBar mode to VirtualBar 2012-06-04 12:22:39 -05:00
James Cotton
4c562b88d1 Make the amount to suppress the gyros adjustable instead of binary 2012-06-04 12:22:39 -05:00
James Cotton
59972d5570 Limit the number of degrees the vbar can deflect. This is good for fast flips
etc.
2012-06-04 12:22:39 -05:00
James Cotton
42ac4018b8 Woops. Fix really nasty bug in vbar mode I introduced. Also fix small bug in
scoping of gyro gain that made it not work.
2012-06-04 12:22:39 -05:00
James Cotton
6719ee8639 Add piro compensation option to the vbar mode 2012-06-04 12:22:39 -05:00
James Cotton
3283b99d4e For hardcode flipping allow full stick to completely override the gyro
feedback.
2012-06-04 12:22:39 -05:00
James Cotton
fe978504bc Add friendly settings for the vbar mode including the VbarTau which acts like
the time constant.
2012-06-04 12:22:39 -05:00
James Cotton
ff1b1a93cf Implement a virtual flybar in a way inspired by behavior of Align 3G which
seems apply a leaky integrator to the swash angle.  This is the similar to what
is done by Phubar (http://code.google.com/p/phubar/) as well although we refer
to the gyro term as the proportional and the flybar angle as the integral
2012-06-04 12:22:38 -05:00
James Cotton
1b55df733d Create virtual flybar setting for stabilization modes 2012-06-04 12:22:38 -05:00
James Cotton
daaa661080 Turned "Battery" into an optional module. It otherwise prevents flying if no voltage sensor is installed.
Conflicts:

	shared/uavobjectdefinition/hwsettings.xml
2012-06-04 10:50:45 -05:00
Corvus Corax
78857cefaa Turned "Battery" into an optional module. It otherwise prevents flying if no voltage sensor is installed. 2012-06-04 17:31:45 +02:00
James Cotton
70a6bf539b Fix simulation implementation of pios_rcvr to match channel mappings in real
firmware
2012-06-04 10:30:44 -05:00
James Cotton
b11b606ddc Fix RTH mode. Now works in simulation when GCSReceiver goes invalid.
There is a small issue that when it is in RTH failsafe mode and you regain
signal and your throttle is low you will disarm due to the timeout.  That
means you'd suddenly get it back and plumet ouf of the sky.  If you are
still holding throttle (which most people might do?) you will have control.

The timeout needs to probably start when you regain signal.
2012-06-04 10:25:43 -05:00
James Cotton
9f93c9cbec Get PIOS_GCSRCVR working on revo 2012-06-04 09:48:05 -05:00
James Cotton
dc7fe1bdd8 Try and get pios_gcsrcvr working on simulation and revo for testing RTH. Had
to include uavobjectmanager.h manually which was weird
2012-06-04 09:48:05 -05:00
James Cotton
10aa31a57f When ManualControlSettings.FailsafeBehavior is set to RTH and no valid input is
detected and the aircraft is armed enter RTH mode.
2012-06-04 09:48:05 -05:00
James Cotton
21eb48c58c Add a RTH flight mode and remove it from the waypoint actions as that is
redundant with flying to (0,0,0)
2012-06-03 22:14:11 -05:00
James Cotton
9707c6152a Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo 2012-06-03 19:13:01 -05:00
James Cotton
71e14a691e Merge branch 'next' into revo 2012-06-03 19:00:51 -05:00
Stacey Sheldon
ec0889ea85 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 18:25:23 -05:00
James Cotton
e341a37bd1 Need to add a small delay after save for the load to work correctly. Odd. 2012-06-03 17:26:10 -05:00
James Cotton
a3df27ab65 Need to call FLASH_OB_Launch after setting the BOR bits 2012-06-03 16:45:18 -05: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
Brian Webb
36f62be3b9 Fixed packet error detection and improved RSSI reading. 2012-06-03 10:07:08 -07:00
Corvus Corax
be72d24c5f Attitude: Fixed calculation for baro offset adjustment time 2012-06-03 09:52:24 -05:00
Corvus Corax
b06b51f1b2 Revolution/Attitude: Added offset calculation for barometric altitude 2012-06-03 09:52:14 -05:00
James Cotton
96bd5ba574 Merge branch 'navigation_map' into revo 2012-06-03 09:48:28 -05:00
James Cotton
c892a28970 Fix firmware to work with new usage of the action waypoint field 2012-06-03 09:36:21 -05:00
Corvus Corax
f75134c6d5 Merge branch 'corvuscorax/fix-baroaltitude-offset' into revo-next 2012-06-03 12:31:30 +02:00
James Cotton
4ad23864c8 Treat the waypoint action as something to do once you hit that location. (e.g.
PathToNext) and add a Stop value to indicate not to advance to the next
waypoint.  This is essentially a perament loiter to the pathfollower (I think)
but it's really just to have the ability to "delete" waypoints.
2012-06-02 18:40:53 -05:00
Corvus Corax
88f69daf64 Merge remote branch 'origin/corvuscorax/portugal_backports' into revo-next 2012-06-02 22:44:13 +02:00
Corvus Corax
ab28686976 Merge branch 'corvuscorax/new_navigation' into revo-next 2012-06-02 22:30:44 +02:00
Sambas
e7155e279f bugfix 2012-06-02 21:19:55 +03:00
James Cotton
e8cf606f16 Add the chip size to the flashfs configuration (should probably go in the chip
configuration)
2012-06-02 11:00:42 -05:00
James Cotton
25f85ee4fe Add an error flag to ObjectPersistence and when saving a setting make it verify
that the data reads successfully.
2012-06-02 10:23:27 -05:00
Sambas
06a814c8a9 Fixing most warnings from osd fw 2012-06-02 15:52:38 +03:00
Sambas
d6216cf02b Graphic features and cleanup
osdinput module back to irq based usart
2012-06-02 12:46:09 +03:00
Corvus Corax
2d3645cb0a ManualControl: Do not process input channels at all if theres invalid values to prevent flightmode changes due to glitch 2012-06-02 08:41:35 +02:00
Corvus Corax
fed9d98824 Merge commit '84c3705390a072d92bf69b58ae4d72a09989290e' into portugal_backports 2012-06-01 13:06:44 +02:00
Corvus Corax
c9d41e2a23 fixes to INS backported from portugal flight branch 2012-06-01 13:02:26 +02:00
Brian Webb
df8a5f8f27 Changed update period for PPM inputs on the PipX. Fixed LED code. 2012-05-31 18:56:07 -07:00
Corvus Corax
a786c6e6b9 Attitude: Fixed calculation for baro offset adjustment time 2012-05-31 18:21:20 +02:00
Corvus Corax
f7a2b95167 Revolution/Attitude: Added offset calculation for barometric altitude 2012-05-31 16:41:03 +02:00
James Cotton
ed2b9f1f63 Make PIOS_LED init it's GPIO clocks so it doesn't rely on startup code 2012-05-30 10:12:40 -05:00
James Cotton
c76c71cfce No reason to init the board a second time 2012-05-30 09:50:05 -05:00
James Cotton
7c8cc94f5e In the revo bootloader check that the BOR bits are set to 2.7 volt threshold.
This addresses an issue where a slow power ramp (e.g. some BEC) will stop it
booting.
2012-05-30 09:43:04 -05:00
Sambas
ed1a4dada6 Merge remote-tracking branch 'remotes/origin/sambas/osd_test_v1' into revo-next
Conflicts:
	flight/PiOS/STM32F4xx/pios_adc.c
2012-05-30 16:30:09 +03:00
Brian Webb
7287e2f725 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-05-29 18:14:20 -07:00
Corvus Corax
298b6233ed Merge branch 'revo-next' into corvuscorax/new_navigation
Conflicts:
	flight/Libraries/paths.c
	flight/Modules/ManualControl/manualcontrol.c
	flight/Revolution/Makefile
	shared/uavobjectdefinition/taskinfo.xml
2012-05-30 00:51:52 +02:00
Sambas
e72e913e02 F4 cpuid fix, RM says flash size comes from same base address. who knows? 2012-05-29 22:17:31 +03:00
Sambas
7f1e392e83 some graphic fixes and ntsc defines 2012-05-29 17:55:30 +03:00
Oleg Semyonov
b93674cf64 uavtalk: fix object access mode comments to be correct 2012-05-29 11:57:31 +03:00
Brian Webb
9a6fb60dd6 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-05-28 20:18:59 -07:00
James Cotton
a89b880609 Fix compilation error on CopterControl because it doesn't support some of the
path functionality.  These configurations that could result in
updatePathDesired or altitudeHoldDesired being called should result in an error
on startup to block arming.
2012-05-28 20:33:49 -05:00
James Cotton
564c442ac8 Remove some code from Zippe that used a timer to trigger the ADC. We might do
this again in the future but we need to generalize the configuration.  For now
the ADC is fairly simple requirements on revo for battery monitoring.
2012-05-28 20:28:48 -05:00
James Cotton
88cf100430 Merge remote-tracking branch 'revo/amorale/revo' into revo 2012-05-28 20:27:51 -05:00
a*morale
d071491265 removed include for positiondesired.h 2012-05-29 00:56:39 +02:00
a*morale
468e8732f5 Fix for FlightBattertData ConsumedEnergy calculation 2012-05-29 00:55:03 +02:00
James Cotton
1934752d50 Merge branch 'revo-next' into revo 2012-05-28 15:23:14 -05:00
Corvus Corax
1ad2b19d28 PathPlanner: fixed a few failsafes, changed waypointID to int16 - negative jump ids have special meaning 2012-05-28 20:50:09 +02:00
Oleg Semyonov
5739dfbfc8 Merge remote-tracking branch 'origin/next' into os/aerosimrc
Conflicts:
	shared/uavobjectdefinition/gcsreceiver.xml
2012-05-28 21:46:43 +03:00
Oleg Semyonov
910b465ac6 AeroSimRC: do not update sensor and/or attitude data if read-only flag is set 2012-05-28 19:44:34 +03:00
James Cotton
4360d8adfd Merge branch 'next' into revo-next 2012-05-28 11:25:40 -05: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
8a6073fbaf Merge remote-tracking branch 'revo/revo-next' into testing
Conflicts:
	Makefile
	flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/portable/GCC/Posix/port.c
	flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/task.c
	flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/portable/GCC/Posix/port_posix.c
	flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
	flight/Revolution/Makefile
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	ground/openpilotgcs/src/plugins/uploader/devicewidget.cpp
	shared/uavobjectdefinition/taskinfo.xml
2012-05-28 09:13:26 -05:00
Corvus Corax
51a4e82642 bugfix to path library 2012-05-28 14:48:08 +02:00
Corvus Corax
089aa54a59 FixedWingpathFollower: Added debug output of error indicators 2012-05-28 14:46:03 +02:00
Corvus Corax
32fdfe5aa5 fixed UAVObj include list for revolution to allow new style pathfollowers 2012-05-28 13:40:12 +02:00
Corvus Corax
d50108ff53 Merge branch 'revo-next' into corvuscorax/new_navigation 2012-05-28 13:27:51 +02:00
Corvus Corax
978ab5b96c Merge remote branch 'origin/stac/etasv3' into revo-next 2012-05-28 12:56:27 +02:00
Oleg Semyonov
f95d29a3b8 TxPID: add GyroTau to the list of parameters (OP-637) 2012-05-28 12:48:55 +03:00
Stacey Sheldon
5c114aedd5 pipx: apply fixes that allow pipx to build with new gcc 2012-05-27 21:38:33 -04:00
Stacey Sheldon
decd92f21d pipx bu: apply recent LED changes so BU image builds again 2012-05-27 21:37:59 -04:00
Stacey Sheldon
c719d5b6cf f4 adc: allow PIOS ADC to be properly excluded from the build
This was preventing the BL image from building
2012-05-27 21:36:56 -04:00
Stacey Sheldon
261e65a6f2 revo bu: apply recent LED changes to revo so BU builds again 2012-05-27 21:35:52 -04:00
Stacey Sheldon
8d47dc1fe4 revo usb: apply recent hid+vcp decscriptor changes to revo 2012-05-27 21:35:13 -04:00
Stacey Sheldon
33e7e775c7 Merge remote-tracking branch 'op-public/next' into revo-next 2012-05-27 20:39:58 -04:00
Corvus Corax
e6f4a40d3e path library: updated API and usage from pathfollowers, added new conditions and additional user feedback in pathstatus 2012-05-28 01:51:17 +02:00
Corvus Corax
634a190d4f FixedWingPathFollower: Redesigned and tested FixedWingpathFollower 2012-05-27 20:49:07 +02:00
Corvus Corax
ef8d7275a8 PathFollower and PathPlanner: fixes for fixed wing 2012-05-27 02:38:56 +02:00
Corvus Corax
922b3b7f1e Merge branch 'basenext' into corvuscorax/new_navigation
Conflicts:
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-05-27 01:41:51 +02:00
James Cotton
1b53a9c4e6 Merge branch 'revo_battery' into testing 2012-05-26 17:06:27 -05:00
James Cotton
bd8125e41e Catch from Corvus that the path error was being squared. However need to make
sure to take care of sign by removing one of those multiplcations.
2012-05-26 15:24:50 -05:00
Sambas
599e1b633f graphic bugfixes 2012-05-26 21:56:54 +03:00
Sambas
36ea394d84 More graphic fixes
setting to change screens
2012-05-26 18:39:42 +03:00
Sambas
dfcba097f2 Cleanup and graphical bugfixes 2012-05-26 18:00:36 +03:00
Corvus Corax
9dfd34dd19 PathPlanner: added functions to allow circular paths and implement that feature in FixedWingPathFollower 2012-05-26 15:55:52 +02:00
Sambas
7eefe83335 Cleanup and fix 2012-05-26 13:38:01 +03:00
Sambas
bb40eca695 Big font fix
IRQs back to normal
2012-05-26 12:14:10 +03:00
James Cotton
5a6e02a688 Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into next 2012-05-25 20:37:23 -05:00
Sambas
a9cfc4a0af *float sprintf
*h/v deadbands
2012-05-25 21:12:03 +03:00
Brian Webb
b824c87056 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-05-25 06:26:29 -07:00
Brian Webb
701a480f01 Tuning configutation of PipX. 2012-05-24 18:08:29 -07:00
Brian Webb
f48bb90cf6 Updated PipX bootloader USB configuration to match CC. 2012-05-24 18:06:19 -07:00
Brian Webb
a434688b42 Zero out watchdog register on init. 2012-05-24 18:04:42 -07:00
Corvus Corax
79b717b4f7 Fixes to PathFollowers 2012-05-24 23:28:13 +02:00
Sambas
a3b9451bcd Merged some stuff to make original hardware work better 2012-05-24 20:14:15 +03:00
Corvus Corax
435b494b0c Merge remote branch 'origin/stac/etasv3' into corvuscorax/new_navigation
Conflicts:
	flight/Revolution/Makefile
	shared/uavobjectdefinition/hwsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-05-24 18:55:20 +02:00
Corvus Corax
4aa1391dce updated SimPosix to test pathplanner and pathfollower functionality 2012-05-24 18:43:25 +02:00
Corvus Corax
1ecce5e23b Merge branch 'basenext' into corvuscorax/new_navigation
Conflicts:
	Makefile
	flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/portable/GCC/Posix/port.c
	flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/task.c
	flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/portable/GCC/Posix/port_posix.c
	flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
2012-05-24 18:38:53 +02:00
Corvus Corax
9bdfe68bf5 PathFollower: refactoring (especially fixed wing) 2012-05-24 18:19:52 +02:00
James Cotton
faf3532ad3 Closer on the fonts. Looks great! 2012-05-24 18:25:51 +03:00
James Cotton
b3150500d5 Change the buffers to byte buffers and update most of the drawing code to use
it accordingly.  Large fonts broken.
2012-05-24 18:25:09 +03:00
James Cotton
fef6567cff Clock the SPI device with bytes. Image is now totally stable. 2012-05-24 18:23:05 +03:00
James Cotton
9d6dfee6cc Use memset to clear screen. 2012-05-24 18:20:24 +03:00
James Cotton
8411b9cc98 Remove the disable IRQ commands in PIOS_COM since they aren't needed. 2012-05-24 18:04:49 +03:00
Corvus Corax
3a2ae24284 Refactored Guidance to FixedWingPathFollower 2012-05-24 11:13:21 +02:00
Corvus Corax
63cd7b063f Refactored Guidance to apropriate pathfollower in uavobjects 2012-05-24 11:09:53 +02:00
Corvus Corax
25e21fde73 Renamed Guidanceto FixedWingPathFollower 2012-05-24 10:56:41 +02:00
Stacey Sheldon
ac75dd7be1 Revert "bu: remove LED support from bootloader updaters"
This reverts commit 7f03a77492.
2012-05-23 00:46:19 -04:00
Stacey Sheldon
400e529703 bu: add back LED feedback
LED support was dropped from the BU images due to a lack
of proper abstraction for LED definitions between CC and
CC3D HW variants in the CopterControl board family.

Use the new LED abstraction to hide board revision details
from the BU image so it can once again flash some LEDs.
2012-05-23 00:31:08 -04:00
Stacey Sheldon
56dddee56c cc: use defines for board revisions instead of hard-coded numbers 2012-05-23 00:29:12 -04:00
Stacey Sheldon
d2615cac96 hw_defs: hide board-rev differences in LED definitions
Every board has at least one LED (HEARTBEAT).  Not all
users of LEDs need to be directly aware of which LED
configuration to choose when there may be more than one
possible configuration.

Hide the details of the differences between LEDs used in the
different HW revs for CC.  This will allow generic code to
run on CC and CC3D without being exposed to the details of
the different pins used for the LEDs.
2012-05-23 00:22:11 -04:00
Stacey Sheldon
b97aba834a cc3d leds: move pin remapping into led definition
The LED driver supports GPIO remapping.  No need to
do the remapping outside of the LED definition.
2012-05-23 00:12:51 -04:00
Stacey Sheldon
dff43d5156 board_info: add guard for multiple includes of .h file 2012-05-22 21:50:53 -04:00
Corvus Corax
64c1ac3bd6 Stabilization: Bugfix: moved queue initialisation to TaskStart where it belongs 2012-05-22 22:19:31 +02:00
Corvus Corax
7f334a9773 SimPosix: make use of compile time uavobjecto initialization function generation 2012-05-22 22:06:26 +02:00
Corvus Corax
31da29a24b Reenabled full UAVObject initialization for SimPosix 2012-05-22 21:22:59 +02:00
Corvus Corax
3e5741abea SimPosix: Remove unneeded modules from Makefile to allow test run 2012-05-22 18:45:23 +02:00
Corvus Corax
9aca773714 SimPosix: Reenabled File IO for UAVObject saving 2012-05-22 18:32:52 +02:00
Corvus Corax
0d23e78762 PiOS.posix: added missing header definition to use FreeRTOS tasks in udp driver if applicable 2012-05-22 18:32:47 +02:00
Corvus Corax
e16a42b672 SimPosix: Fixed Module Initialisation, added missing UAVObject Initialisations (cause segfaults if not initialised) 2012-05-22 18:32:41 +02: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
8b98d48fc4 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-05-22 06:27:45 -07:00
Corvus Corax
48fcf12ef9 ManualControl: fixed new PathPlanner interface to compile on CopterControl stub 2012-05-22 13:29:42 +02:00
Corvus Corax
ea7d9b6610 Merge branch 'basenext' into corvuscorax/new_navigation 2012-05-22 13:11:04 +02:00
Stacey Sheldon
3b0508e753 bu: check compatibility btw BL and HW before installing
CC and CC3D boards share the same FW image.  This is accomplished
by checking the BOARD_REVISION field in the board_info_blob
that is stored in the BL partition in flash as we init the FW.

Make sure that the BU image only writes a BL image that has
the same BOARD_TYPE and BOARD_REVISION fields in the embedded
image as the ones currently in flash on the board.

This ensures that we never write a CC3D BL image onto a CC board
and vice versa.  This check should prevent "bricking" a board.
2012-05-22 00:33:40 -04:00
Stacey Sheldon
e063bb0490 bl: use new USB "cable connected" API to halt in BL
BL only cares about the physical cable being connected.
Use the newly provided API that matches this intent.
2012-05-22 00:24:16 -04:00
Stacey Sheldon
dab400c80d usb: decouple "available" from "cable connected"
The bootloader needs to understand whether the USB cable
is connected.  The HID and CDC drivers need to know if
the cable is connected _and_ the device has been enumerated
already.  Separate these two concepts in the API.

Combining these was resulting in the BL not properly
detecting that the cable was plugged in, and trying to boot
the firmware image immediately.  This effectively bricked
the board if you ever had an invalid firmware image.

It also happens to be the case that the BU images automatically
invalidate themselves after updating the BL so they don't run
again.  The cable detect bug + this intended behaviour of the
BU image resulted in a bricked board after upgrading the BL.
2012-05-22 00:21:24 -04:00
Brian Webb
6e359c5933 Added PipX to Windows .inf file and updated ppm port definitions. 2012-05-21 19:22:46 -07:00
Corvus Corax
68fe938016 Implemented new programmable PathPlanner 2012-05-21 21:42:28 +02:00
Corvus Corax
992e189bcd added PathAction (again) 2012-05-21 12:10:01 +02:00
Corvus Corax
09f25ab11b Refactorted VTOLPathFollower to fit into new scheme: optional module, reports status and knows advanced FlightModes 2012-05-21 12:10:01 +02:00
Corvus Corax
84a0fd731f Added ReturnToBase flightmode and correct behaviour in ManualControl 2012-05-21 12:10:01 +02:00
Corvus Corax
6a6eace700 Added forced disarming via systemalarm 2012-05-21 12:10:01 +02:00
Corvus Corax
9dd94f98b6 New UAVObjects for programmable PathPlanner 2012-05-21 12:10:00 +02:00
Corvus Corax
73ccdd0e69 Merge remote branch 'baseorigin/next' into james/testing4 2012-05-21 11:57:02 +02:00
Brian Webb
e57543ec29 Updated USB on PipX to latest CDC changes. 2012-05-20 19:34:43 -07:00
Brian Webb
6cb13aa2ba Fixed failed merge with next. 2012-05-20 18:36:08 -07:00
Brian Webb
2f1a9e3e7d Added PPM input to the PipXtreme. Also added configurable GCSReceiver timeout. 2012-05-20 18:30:37 -07:00
Stacey Sheldon
d7d670036b usb: make sure USB device is off limits until it has been init'ed
USB device was being accessed prior to being initialized.
This resulted in a hard-fault or NMI when using any endpoint
beyond 0 or 1 which are init'ed by the BL.  This broke VCP which
is on endpoint 2 (control) and 3 (data).

This bug was introduced in 5ad37e69 which stopped checking the
transfer_possible variable.
2012-05-20 13:28:16 -04:00
Stacey Sheldon
7e6a222a8e usb serial: refactor serial number construction
Use new PIOS_USB_UTIL_AsciiToUtf8() function to compose the
USB serial number rather than repeating that code for each
board.

All boards now append "+FW" or "+BL" to their USB serial numbers
to allow the descriptors to differ between FW and BL images.
2012-05-19 16:15:47 -04:00
Stacey Sheldon
698ea8e86e usb util: Add common utility functions for USB descriptors
Make a home for generic functions related to USB.
2012-05-19 16:14:10 -04:00
Stacey Sheldon
3e0a9bc47e usb: Change supported LANGID in USB descriptor to be English US
Some versions of Windows will ignore the USB device serial number
if the string is not delivered with LANGID = English US 0x0409.

This is true regardless of the configured locale of the machine.
2012-05-19 16:12:34 -04:00
Stacey Sheldon
19367730c0 usb: remove null termination on serial number string
The serial number string descriptor was incorrectly null
terminated.  The standard clearly states that there should
not be a null terminator.

Use new #defines to ensure that our strings are sized
properly.
2012-05-19 16:06:49 -04:00
Stacey Sheldon
b905607dc7 serial: use defines for serial number lengths
Use #defined sizes for returned serial number lengths instead
of hard-coded values.
2012-05-19 16:06:48 -04:00
Stacey Sheldon
ba8d60301c usb: remove run-time selectable device descriptors
BL images now always use hid-only.

FW images can use hid-only or hid+vcp but this is selected
ONLY at compile time based on whether PIOS_INCLUDE_USB_CDC
is defined.

CC uses HID+VCP by default now.
2012-05-19 16:06:48 -04: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
Stacey Sheldon
461d4a2ddd hid+vcp: Add Windows INF file for CDC on OpenPilot boards 2012-05-19 16:06:43 -04:00
Stacey Sheldon
48cb20dc81 hid+vcp: change default USB descriptor to HID+VCP
Now that we have a USB descriptor for HID+VCP that works
on Ubuntu 11.10, MacOS 10.7.3, Win7-SP1-32bit,
WinXP-SP3-32bit, Win7-SP1-64bit.

VCP is known to not work on WinXP without service pack 3.
2012-05-19 16:06:30 -04:00
zedamota
eb83afdcf1 Working compliant VCP+HID descriptors for Windows. 2012-05-19 15:40:46 -04:00
Brian Webb
6a7179120d Fixed setting of PipX description, and changed gcs receiver object to be update on change on flight side so that it works on the PipX. 2012-05-19 09:25:11 -07:00
Brian Webb
00a83f3984 Reverted change to link_STM32103CB_PIPXTREME_memory.ld 2012-05-18 19:08:44 -07:00
Brian Webb
c25884bcaf Cleanup on the PipX branch. 2012-05-18 17:42:25 -07:00
Brian Webb
68d66d4181 Fixed firmware description in PipX status. 2012-05-17 20:35:17 -07:00
Brian Webb
6fbc3339d5 Fixed processing of UAVTalk packets when in transparent com mode. 2012-05-17 18:37:45 -07:00