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

2647 Commits

Author SHA1 Message Date
James Cotton
719772c98a Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into next 2012-07-16 11:42:29 -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
Brian Webb
3fabdb9963 Fixed conflicted merge with origin/next. 2012-07-11 19:25:05 -07: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
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
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
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
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
Brian Webb
005ba0f8c8 Added erase pipx settings to PipX firmware (no GCS support yet). 2012-06-16 19:19:23 -07:00
Brian Webb
33cae7645d Fixed calculation of retries on PipX. 2012-06-12 19:48:21 -07: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
7b8110a457 Merge branch 'MikeL' into next 2012-06-07 11:31:41 -05: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
ff0a3a156e Merge remote-tracking branch 'origin/os/AeroSimRC' into next 2012-06-04 12:25:59 -05:00