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

2989 Commits

Author SHA1 Message Date
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
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
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
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
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
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
7b8110a457 Merge branch 'MikeL' into next 2012-06-07 11:31:41 -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
ff0a3a156e Merge remote-tracking branch 'origin/os/AeroSimRC' into next 2012-06-04 12:25:59 -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
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
e341a37bd1 Need to add a small delay after save for the load to work correctly. Odd. 2012-06-03 17:26:10 -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
f75134c6d5 Merge branch 'corvuscorax/fix-baroaltitude-offset' into revo-next 2012-06-03 12:31:30 +02: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
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