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

3410 Commits

Author SHA1 Message Date
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
Brian Webb
44a1663eb9 Fixed transparent comm on PipX. 2012-05-16 19:02:53 -07:00
Brian Webb
7082eda175 Fixed returning status for currently paired modem. 2012-05-15 20:11:52 -07:00
Brian Webb
93ec7c11a6 Fixed race condition on getting packets. 2012-05-15 19:38:14 -07:00
Corvus Corax
badf509d1d UAVObjects: switched around order of update modes to give each bit semantic meaning - important to allow usage of a bitfield type later 2012-05-15 18:21:27 +02:00
James Cotton
af8d65616e Comment out some unused variables in the PIOS_ADC structure for now since they
were consuming lots of memory.  Probably should make a simple adc version that
just queries the line when needed since we are only using this data at 500 ms.
However, the accumulator scheme in place is quite good for averaging over time.
2012-05-15 03:48:32 -05:00
James Cotton
bbb14f5f14 Trying to get F4 PIOS_ADC working. Changed from previous implementation timed
by another timer to running continuously.  May go back to the previous since no
need to get tons of data.
2012-05-15 03:19:44 -05:00
James Cotton
39ce3cea17 Clean up the battery module 2012-05-15 03:08:18 -05:00
James Cotton
0a7f5fd5d3 Enable battery code again 2012-05-15 00:38:11 -05:00
Brian Webb
bb491b8a3f Fixed bootloader on PipX. 2012-05-14 06:57:16 -07:00
Brian Webb
31069d8858 Small mod to flash saving. 2012-05-13 20:20:17 -07:00
Brian Webb
563b454693 Fixed compiling of PipX bootloader. 2012-05-13 20:19:04 -07:00
Brian Webb
a3269aaf2f Reverted some file permission changes. 2012-05-13 14:24:57 -07:00
Brian Webb
68d12b1b2f Fixed some bugs with setting PairIDs in GCS. 2012-05-13 14:24:00 -07:00
Brian Webb
dd03b0b159 Added reporting of stats from the remote modem. 2012-05-13 09:34:21 -07:00
Brian Webb
ec67742ff6 Added configuration of COM ports on PipX. 2012-05-12 13:16:36 -07:00
James Cotton
46fc5fa4fb Create a PathPlannerSettings object and move the PathMode setting to there.
Also add a (temporary) field to allow storing some custom paths to select on
the fly.  Later will be replaced with some code to fetch from the flash chip.
2012-05-12 13:12:57 -05:00
James Cotton
836e34a483 Change revo sensors to update at 500 Hz and make sure in all cases it waits for
the relevant queue to provide data.  Also disable the quaternion stabilization
flag.
2012-05-12 13:12:56 -05:00
James Cotton
65065f2588 Fix the ADC code on the BL for revolution 2012-05-12 13:12:56 -05:00
James Cotton
c660dd17f0 Correct comment in CC settings for MPU6000 and disable I2C support 2012-05-12 13:12:55 -05:00
James Cotton
848f1b0e29 For some reason the gyro needs 300 ms after reset in order to work after the
bootloader jumps to code.  Nothing in datasheet to imply what.
2012-05-12 13:00:51 -05:00
James Cotton
2ca3cde83f Improve EKF initialization. For some reason we must read an extra mag sample
when power up value of attitude algorithm is EKF.  I don't understand why the
first mag value is bad.
2012-05-12 13:00:51 -05:00
James Cotton
98655aacc8 Fix initialization of the complimentary filter where it didn't get the right
initial dT
2012-05-12 13:00:50 -05:00
zedamota
817ce9327f flight - fix pipxtreme bootloader compile 2012-05-12 12:57:15 +01:00
Brian Webb
1f5dbcf57c Mostly complete PipX configuration GUI. 2012-05-11 17:51:18 -07:00
James Cotton
406b5a00f5 Make OSX simulator more efficient 2012-05-08 03:12:35 -05:00
James Cotton
4ec4edd15c When enabling position hold altitude mode take the throttle from before as the
"hover" throttle
2012-05-08 03:12:14 -05:00
James Cotton
2857b58f8e Migrate path planner from position desired to path desired 2012-05-08 03:04:44 -05:00
James Cotton
37bb2cfb77 Finish getting rid of PositionDesired in favor of PathDesired and add the
ability to move the magic waypoint with the transmitter
2012-05-08 02:42:58 -05:00
James Cotton
a8bdd4a44a Coalescene PositionDesired and PathDesired into PathDesired and add a mode
field to indicate how it should be interpreted.
2012-05-08 02:29:58 -05:00
James Cotton
27d1c4be93 Extend list of airframe types for VTOL guidance 2012-05-08 02:29:58 -05:00
James Cotton
c723ae3720 Reduce the CPU usage of OSX simuluator 2012-05-08 02:29:58 -05:00
James Cotton
cbedb5b53b Move Guidance to VtolPathFollower to make room for FWPathFollower 2012-05-08 02:29:50 -05:00
James Cotton
0f2c41ac5d Merge branch 'revolution' into navigation
Conflicts:
	flight/Modules/ManualControl/manualcontrol.c
	flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2012-05-07 21:53:10 -05:00
James Cotton
6aa7142f5e When guidance finds an incorrect airframe, delay 100ms to avoid hammering the
alarms
2012-05-07 12:55:35 -05:00
Sambas
dedbbec8f0 Make guidance support my Y6, also caused telemetry/usb RXdatarate go thru the roof (Guidance Warning). Almost impossible to change dataframe type to supported one with clean board.
USB interrupt fix.
Heap warning critical sizes backwards.
2012-05-07 12:51:07 -05:00
Oleg Semyonov
a3906aa7ea Merge remote-tracking branch 'origin/hhrhhr/AeroSimRC_plugin' into os/aerosimrc 2012-05-07 16:09:35 +03:00
James Cotton
d8c288f223 Disable LEDs on the bootloader update as without knowing the particular
hardware revision it cannot know which pios_led_cfg_ structure to use.
Possibly this should be abstracted further into board_hw_defs to create
functions like board_init_led.

Also the BU should probably compare the hw_revision of the original and new
bootloader to make sure the user doesn't break their board.
2012-05-07 01:59:38 -05:00
James Cotton
a40a0b0e31 Small fix to be able to build CC for Revo branch and to include revo in
package.
2012-05-07 01:55:52 -05:00
Brian Webb
454144f46c Pairing and saving settings working. 2012-05-06 20:47:21 -07:00
Brian Webb
352471857f Reverted USB configuration and switched all non-blocking COM calls to blocking, which appears to help prevent lockups now that all sends are in a different thread. 2012-05-06 15:07:07 -07:00
Brian Webb
ef4828032b Fixed failed merge with next. 2012-05-06 12:38:13 -07:00
Brian Webb
3cf4fe6512 Reverted some USB changes. 2012-05-05 10:10:40 -07:00
Brian Webb
480371a43e Resolving merge with origin/next 2012-05-05 09:53:54 -07:00
Brian Webb
e83fec0463 Merged latest origin/next. 2012-05-05 09:40:44 -07:00
James Cotton
6c0dc80978 Shuffle more stack sizes around 2012-05-05 11:33:47 -05:00
Werner Backes
22df8310c4 Fixed typo in comment 2012-05-05 11:10:53 -05:00
Werner Backes
f52f5b3d83 Don't process RMC sentences that are flaged as 'void' 2012-05-05 11:10:45 -05:00
Werner Backes
6b463e5c9e Check GGA NMEA sentence for no/invalid fix flag 2012-05-05 11:10:38 -05:00
Werner Backes
217860c187 Check for empty fields during lat/lon conversion (invalid GPS fix) 2012-05-05 11:10:32 -05:00
James Cotton
513c36f19a Update the F4 ADC to compile again. Still not fully compliant with API but
then again API is not great and unused currently so no rush.
2012-05-04 21:37:46 -05:00
James Cotton
3ef01569b8 Merge remote-tracking branch 'origin/kenz/PT_UI_fixes' into next
Conflicts:
	flight/OpenPilot/System/openpilot.c
	shared/uavobjectdefinition/positionactual.xml
	shared/uavobjectdefinition/positiondesired.xml
	shared/uavobjectdefinition/velocityactual.xml
	shared/uavobjectdefinition/velocitydesired.xml
2012-05-04 13:21:23 -05:00
James Cotton
a9b8e74b0d Disable LEDs on the bootloader update as without knowing the particular
hardware revision it cannot know which pios_led_cfg_ structure to use.
Possibly this should be abstracted further into board_hw_defs to create
functions like board_init_led.

Also the BU should probably compare the hw_revision of the original and new
bootloader to make sure the user doesn't break their board.
2012-05-04 08:53:14 -05:00
James Cotton
d93bf5d2a2 Clean up the XCode project 2012-05-03 22:20:00 -05:00
Brian Webb
44d95003f3 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-05-03 17:56:08 -07:00
James Cotton
3155324384 Merge branch 'next' into cc3d
Conflicts:
	Makefile
	ground/openpilotgcs/src/plugins/config/configahrswidget.cpp
	shared/uavobjectdefinition/ahrscalibration.xml
	shared/uavobjectdefinition/ahrssettings.xml
	shared/uavobjectdefinition/attituderaw.xml
2012-05-03 16:31:49 -05:00
James Cotton
07a5d98020 Merge remote-tracking branch 'origin/Brian-Metadata-Mods' into next 2012-05-03 08:50:24 -05:00
Brian Webb
249ededcfd Added responding to OBJ_REQ and sending ACK/NACK on PipX. 2012-05-02 20:51:29 -07:00
Brian Webb
22f48ce8b0 Exposed the Send ACK/NACK function in UAVTalk. 2012-05-02 20:42:37 -07:00
Brian Webb
30d63b5b12 Merged USB CDC updates. 2012-05-02 06:45:24 -07:00
Brian Webb
8da4b9c745 Merge remote-tracking branch 'origin/stac/pt-win-vcp-fix' into Brian-PipXtreme-V2 2012-05-02 06:42:30 -07:00
Brian Webb
290acf0398 Fixed watchdog timeouts. 2012-05-01 20:48:35 -07:00
Brian Webb
217aad8c37 Now using read and write threads for both radio and com ports on PipX. Also cleaned up UAVTalk message handling. 2012-05-01 19:14:58 -07:00
James Cotton
3f63051df8 PiOS ADC: This could still use a lot of cleanup and needs to be implemented in
the non-FreeRTOS case but now the ADC device is allocated dynamically which
means CC3D won't waste heap on it.
2012-05-01 11:11:31 -05:00
James Cotton
311cbe37d2 Reenable PIOS_ADC for coptercontrol 2012-05-01 00:30:41 -05:00
Brian Webb
84a19ebeab Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-04-28 19:30:35 -07:00
Brian Webb
25ffb99cee Added initialization of flash eeprom for saving settings to PipX. 2012-04-28 19:29:56 -07:00
Brian Webb
1048eb7e2c Added pios_eeprom for saving settings. 2012-04-28 19:29:25 -07:00
James Cotton
fb53d5621a Change the magKp term (hardcoded still) for revo complimentary filter so it
tracks magnetic north when homelocation is set.
2012-04-22 19:01:41 -05:00
James Cotton
2890fcdc9f When in complimentary filter mode use GPSVelocity so event system doesn't have
warning.
2012-04-22 19:01:18 -05:00
Corvus Corax
b97b0617aa bugfix, use correct variance parameter on z velocity 2012-04-22 18:43:17 -05:00
James Cotton
f06439ecf5 Fix a bug in calculating air temperature in baro sensor when it goes below 20
deg C.
2012-04-22 18:43:07 -05:00
Stacey Sheldon
63285ea451 bu: remove LED support from bootloader updaters
Bootloader updaters were all broken due to recent
changes in LED configuration handling.  Removing
LED support from the BU loads allows them to build
again, but they provide no feedback about when they're
finished writing flash.
2012-04-22 18:42:58 -05:00
Stacey Sheldon
2ec197298b gpio: stop enabling pull-ups on all GPIOs in bootloader
The bootloader has been enabling pull-ups on all GPIO
pins during early init.  These pull-ups are disabled
immediately before jumping to the firmware.  This transition
results in all servos seeing a wide pulse as the board
resets making them jerk sideways aggresively and then snap
back to neutral.
2012-04-22 18:42:53 -05:00
Stacey Sheldon
14cc9ef57c ppm: adjust min frame pulse width for 8ch x 18ms frames
All channels at max when using the FrSKY 4ch D4FR in PPM
mode results in the frame pulse shrinking well below our
threshold of 3800us and we lose frame.

With all 8 channels at max, the frame pulse becomes
indistinguishable from the other channels.  Using all 8
channels with the FrSKY in PPM mode is NOT recommended
even after this change.

Recommend using at most 7 active channels in this mode so
we can still find the frame pulse.
2012-04-22 18:42:45 -05:00
Brian Webb
aab47d6ed4 Final updates to throttled mode and further memeory reduction in the object manager and event dispatcher to reflect smaller data sizes in metadata. 2012-04-22 14:56:26 -07:00
Brian Webb
ed1937958e Changed PipX UAVTalkProcessInputStream calls to UAVTalkProcessInputStreamQuiet. 2012-04-22 08:45:01 -07:00
Brian Webb
fb6dedad2b Added UAVTalkProcessInputStreamQuiet function, which is a version of UAVTalkProcessInputStream that only processes (does not sens or receive). 2012-04-22 08:43:51 -07:00
Brian Webb
f726cc6a9d Added a RTC supervisor timer to RFM22B driver. 2012-04-21 18:31:49 -07:00
Brian Webb
5a2a3ad49b Fixed changes to UAVTalkProcessInputStream. 2012-04-21 16:54:35 -07:00
Brian Webb
eb6f175af4 Fixed metadata settings in object browswer, and removed update mode never from all uavobjects that used it (changed to manual). 2012-04-21 11:59:14 -07:00