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

616 Commits

Author SHA1 Message Date
corvus
1aa6a206db Sim_Posix: Updated Makefile to include some recently changed/new UAVObjects
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2253 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-19 11:29:24 +00:00
osnwt
7d084aca49 Added power-up barometric altitude calibration. Height accuracy is not sufficient, for better results we may want some filtering and/or another sensor/ADC. But at least now the BaroAltitude.Altitude object provides meaningful data comparing to uncalibrated zero height.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2251 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-18 23:40:17 +00:00
cwabbott
0b985b2168 PiOS.win32: Various fixes to get it working again, added a sim_win32 option to the main makefile.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2249 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-18 18:41:37 +00:00
pip
e84b222272 PipX modem settings update .. note that they do not yet function.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2248 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-18 13:54:35 +00:00
peabody124
af99c31a61 PiOS/I2C: Fixed typo and also the values for I2C Diagnostics when disabled.
Enabled by default though.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2243 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-18 07:09:28 +00:00
peabody124
4b4a66c2d7 PiOS/I2C: Lots of small changes. Added a few weird bus events that are
sometimes thrown, and made errors not lock it up by default.  It works for me,
but since this has historically been associated with lots of lock ups please
check your systems carefully.

PiOS/I2C: Make the bus by default try to recover from errors instead of locking
up

PiOS/I2C: After a bus error and clocking all previous data create a STOP
condition to make sure bus is released (note, this also requires creating a
START condition first)

PiOS/I2C: If the same event hits the I2C bus twice in a row then disregard
second one, there is no situation where we should get the same event multiple
times that matters and this gets us out really quickly to catch the real
events.  I was seeing this with repeated 0x70084 which means byte transmitted.
This is related to STM32 bugs in the IRQ timings I believe.

PiOS/I2C: 1) Mask out some bits we don't care about in the event flags
2) Don't lock up if the give semaphore fails, although why it does is strange
3) Recover from bus failure through the "auto" state path instead of just
coding state

PiOS/I2C: Change the reset bus code to follow
http://www.analog.com/static/imported-files/application_notes/54305147357414AN686_0.pdf
(thanks for the reference Neontangerine).  Although this may actually NOT clear
the bus the first time through, subsequent bus errors should eventually clock
it out.  The up side is it is less likely to clock a bunch of 1s into an ESC
and make it run up.

PiOS/I2C: Some cleaned up code for getting a snippet of the history when
something strange happens

PiOS/I2C: Export logging information from I2C through a UAV object

PiOS/I2C: Improve the diagnostic information

PiOS/I2C: Need to handle the event 0x30084.  This seems to happen between a
byte transmitted and new byte started

PiOS/I2C: Handle the NACK condition by simply going to the stopping state.

PiOS/I2C: Add a new NACK state to handle sending the STOP signal after a NACK
following the STM documentation.  Other error conditions still are not dealt
with.

PiOS/I2C: Should handle the NACK condition from all the write cases.  Need to
think about read cases

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2239 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-17 07:01:58 +00:00
zedamota
c034a35d2c OP-21/Bootloader - Changes to the IAPObject. Implements MB and AHRS user mode IAPObject. Added user mode reset command to the CLI. To many changes to bootloading system to write here, a Wiki page will have to be writen.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2238 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-15 19:06:28 +00:00
edouard
4be34fdb0f Modified all channel naming internally to use Channel 1 to Channel 8, instead of the previous convention of Channel0 to Channel7.
BEWARE: I have not flown my quad with this code, so please be careful, test, and report!



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2234 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-13 23:54:30 +00:00
peabody124
9250470c98 Guidance: In velocity control use maximum groundspeed to cap the velocity
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2229 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-13 07:03:04 +00:00
pip
9ceda82fba Updated UAVObjects
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2227 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-12 18:26:51 +00:00
pip
d5f6504aa2 Updated UAVObjects
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2224 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-12 18:16:24 +00:00
pip
b4e4d4ed5e Adding PipX modem settings/status UAVObjects
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2219 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-11 10:56:42 +00:00
pip
8b2e1c32d7 Adding PipX modem settings/status UAVObjects
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2218 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-11 10:56:33 +00:00
peabody124
fd10c6ffff Guidance: Small sign error
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2209 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-10 17:14:35 +00:00
peabody124
d218e18ded AHRS: Make arm timeout of 0 disable feature for planes. Don't want them arming
out.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2205 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-08 20:07:34 +00:00
pip
5e91f46633 Added more telemetry baudrate options
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2198 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-06 08:31:24 +00:00
pip
49e99ea180 Added more telemetry baudrate options
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2195 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-06 08:23:20 +00:00
peabody124
4e8c6588b6 OP-156 AHRS: Run the accel data through a fifo so it can output raw data faster
than the ekf runs and also be more tolerant of timing jitter

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2191 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-04 17:34:29 +00:00
peabody124
6f1e7b4e41 AHRS: Add a configuration to export the sensor data either with or without INS
bias correction.  This is useful for stabilization to get rid of the gyro bias.
Making it an option is important for calibration.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2189 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-04 17:34:25 +00:00
peabody124
e861bcb9d0 Flight/Guidance: Convert PositionPID mode to PositionPI + Velocity feedback.
Needs AHRS with accel_bias estimation to behave well.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2187 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-04 17:34:19 +00:00
peabody124
a04e33ccc6 OP-192 Flight/ManualControl: Add an ArmedTimeout field to the
ManualControlSettings so that planes can disable the timeout
feature for gliding (holding roll on a plane not so good).

Note: This will require you to reconfigure your ManualControlSettings

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2185 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-04 17:34:16 +00:00
peabody124
4f21bee0d7 OP-192 Flight/ManualControl: Correctly convert to ms in timeout code so system
will automatically disarm after 30 seconds without motor.  This behavior will
need to be parameterized for planes which might idle for a while.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2181 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-01 22:12:01 +00:00
andrew
c94c76ce40 Minor change to give back manual control to an axis when it is set to stabilization = None
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2165 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-27 04:03:37 +00:00
edouard
b840c5ec40 Update ActuatorSettings to remove obsolete fields.
YOU WILL NEED TO RECONFIGURE YOUR ACTUATORS!



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2162 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-26 20:55:05 +00:00
peabody124
ebcb272da6 AHRS: Add a separate parameter for velocity and position variance and remove
indoor from the name since it's used for both indoor and outdoor mode now.
Increased default value to 0.4 to better reflect the GPS accuracy.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2156 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-26 15:57:08 +00:00
dschin
b2a538375c Changes in files supporting AHRS for new initialization methods.
Changes in ahrs.c for new initialization and to fix issues with outdoor algorithm.  The changes in ahrs.c are pretty messy, but committed mostly to get the code to Peabody for more extensive restructuring of ahrs.c.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2150 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-24 01:27:43 +00:00
peabody124
d2b468d661 Flight/Stabilization: Need to either set or clear the alarm, but the way it was
before cleared at the end of each loop - including one after an alarm

Flight/Actuator: Similar change to make sure not having updates from
stabilization (i.e. no AHRS) doesn't trigger a watchdog reset

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2140 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-23 17:13:42 +00:00
osnwt
ed49f7fc40 Prevent some compiler warnings treated as errors during RELEASE build (possible use of uninitialized variables - CodeSourcery under Windows build system). It may be done with some #pragma as well, but this way is more portable.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2132 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-21 13:09:05 +00:00
cwabbott
2dde28843b PiOS/win32: UAVObject fixes.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2114 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-13 15:46:37 +00:00
peabody124
54aa09ce27 OP-163 Flight/Guidance: Take current position as desired position
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2111 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-12 16:57:16 +00:00
peabody124
6ebc8ccd57 OP-163 Flight/Guidance: Add variations on position hold to try out. Only one will end
up in the final code.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2110 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-12 16:57:13 +00:00
peabody124
5850c1804d OP-199 Flight/Stabilization: Increment a counter in actuatorDesired whenever an
update takes longer than 15 ms

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2109 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-12 04:36:04 +00:00
corvus
bb1b6d8b8d sim_posix: added missing UAVobject source file to Makefile
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2086 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-06 15:33:54 +00:00
peabody124
834eecfc1f OP-200 Flight/Watchdog: Have flag that is set from actuator, ahrs_comms, manual
and stabilization that is monitored by watchdog.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2078 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-05 14:28:21 +00:00
peabody124
f950b9f6c0 Flight/ManualControl: Make it so the disarmed signal itself changes when GCS
lost.  Warning though: it takes ~5-10 seconds for the flight telemetry status
to go from connected so this solution still isn't great.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2070 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-04 02:30:53 +00:00
peabody124
7bdd900409 Flight/Manual: Cleaner solution to deal with timer wraparound
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2069 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-04 02:30:51 +00:00
peabody124
1f87715719 OP-192 Flight/ManualControl: Add a timeout to the armed signal. Leaving throttle < 0
for 30 seconds disables it.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2068 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-04 02:30:49 +00:00
peabody124
c69c4157f1 Flight/Actuator: Add failsafe for when flying via GCS to disarm at
lost connection

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2067 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-04 02:30:47 +00:00
peabody124
34bd4b7524 OP-198 Flight/GPS: Remove dependency on buffer.c, also made the detection of start and
end characters occur while sentence coming in instead of reprocessing whole
sentence for each character

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2041 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-30 18:15:52 +00:00
pip
ed03a45ee5 Added extra error checking - making sure the packet size is valid and that packet sizes match.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2039 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-30 15:00:36 +00:00
sambas
3f62776253 OP-97 flight/GPS: Few more fixes
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2028 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-28 14:58:39 +00:00
peabody124
b9f74a86c3 OP-198 Flight/Libraries: Swap to using circular buffer code from Pip because it
supports thread safe write/read simultaneously

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2027 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-28 14:30:03 +00:00
sambas
365a2a121a OP-97 flight/GPS: Few fixes
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2025 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-28 13:50:34 +00:00
peabody124
aada18a0ea UAVTalk: Update protcol version number to go with new packet format and changed
a few constants to make it self documenting

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2017 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-27 17:41:41 +00:00
peabody124
4570d6df23 UAVTalk: Insert a sync byte (0x3C) and the packet size to facilitating handling
by PipX modems.  This is a change to UAVTalk so GCS and the hardware must all
be updated.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2016 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-27 17:16:29 +00:00
sambas
3e462b1434 OP-97 flight/GPS: Disable speed threshold command for those who knows it's needed, check gpsTask->DISABLE_GPS_TRESHOLD
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2014 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-27 15:51:33 +00:00
peabody124
2019edd612 AHRS: Store running time to make detect resets easier. Update OP and AHRS in
parallel for this update.  Also removed comment for rawhid

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2012 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-27 14:31:32 +00:00
sambas
f1ba558fa1 Flight/GPS: Some updates
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2011 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-27 10:39:38 +00:00
peabody124
a2e0cd2240 Stabilization: Dont make queue respond to both raw sensors and attitude because
causes it to trigger most of the time every 1 ms which is consuming tons of
CPU.  Also lower the failsafe timeout since its likely due to overloading the
event system and we don't want to delay 100 ms.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2005 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-24 20:00:05 +00:00
peabody124
9944cdfcb0 Flight/RateDesired: UAVObject for monitoring the desired rate out of
stabilization for diagnostics

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2004 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-24 20:00:02 +00:00
ligi
523b6ad8f7 added hint on how to better distinguish FC/NC
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2001 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-22 12:36:47 +00:00
peabody124
098b2fd693 Flight/System: Double heart rate when system is armed. This is per request in
IRC, but suggestions are welcome.  In the long run we probably need a sensible
way of embedding some information in the LED but it's not obvious to me.  Also
could have done with callback - sue me. ;)

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1997 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-20 05:31:24 +00:00
corvus
50574841bd Moved non primary Stabilization modules into Branches
simple		- outdated - won't compile
Experimental	- outdated - won't compile
les		- development version - not stable
les+corvus	- development version - not stable




git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1993 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-19 19:12:37 +00:00
corvus
8cb04a372f Stabilization: new stabilization variant based on les stabilization module, with several options for coordinate system transformation
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1990 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-18 14:46:45 +00:00
edouard
82b702e239 Added the new Multirotor shapes to the SystemSettings object, as discussed on the forums. UID has not changed, but you should recompile still (sorry).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1972 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-17 14:15:47 +00:00
les
2125e2479d Added AHRS boot loader SPI protocol
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1965 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-16 17:54:00 +00:00
cwabbott
dff66607c7 More UAVObject fixes, stuff to get PiOS.win32 compiling again.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1962 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-16 12:15:47 +00:00
les
6d6ec37474 Manual control: Changed 'Position' stabilization mode to 'Attitude'
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1944 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-11 17:58:11 +00:00
peabody124
dc10998152 Flight/Stabilization: Make any throttle < 0 reset the pid integral windup
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1933 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-10 00:46:06 +00:00
peabody124
5f601bf5ab Flight/Guidance: Enable for any type of quad airframe
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1932 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-10 00:46:04 +00:00
peabody124
ea85e98d7a Flight/Stabilization: Move update time storage to before the set to make sure
it goes

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1922 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-08 15:38:28 +00:00
peabody124
8308e4a4fe Whitespace change: get rid of CR
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1921 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-08 15:38:26 +00:00
peabody124
4e6f100ae5 Flight: Swap to Les' code for main line
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1920 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-08 15:38:23 +00:00
edouard
85aeffed9a Removed example settings from OpenPilot flight SW makefile too..
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1914 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-07 17:42:59 +00:00
peabody124
c4cb494a22 UAVOBjects: Just ran object genearator to get things compiling again
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1913 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-07 13:09:35 +00:00
darkz
6b8aba07b1 Updated Makefile.posix to reflect the removal of example code
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1907 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-07 02:50:12 +00:00
edouard
5c48c29612 Remove example objects from the flight code, not needed anymore
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1905 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-06 21:50:57 +00:00
peabody124
dea5c91646 AHRSCalibration: Make default values correct now Les extended
uavobjectgenerator to support multiple fields (thanks Les!).  Also
changed default scale on mag to +/-6g

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1899 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-06 14:26:42 +00:00
peabody124
66bf9d53d4 AHRS: Paramaterize the variance used for the indoor algorithm.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1898 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-06 14:26:40 +00:00
kokomojoe
946283d67e OP-185 Flight - Added FirmwareIAP to the module load list in makefile, added uavobjectsinit.c with firmware IAP init calls
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1896 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-06 05:30:48 +00:00
kokomojoe
7cf0e9ba31 OP-185 Flight support for firmware IAP object. added the pios_iap.c and firmwareiapobj.c
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1895 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-06 02:58:07 +00:00
kokomojoe
6499da40e3 OP-185 Flight Added init function for PIOS_IAP helper functions.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1892 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-06 02:07:11 +00:00
kokomojoe
2fe266650f OP-185 Flight - support files for Firmware IAP object
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1891 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-06 02:06:13 +00:00
les
7ddb0f6f80 Stabilization: Changed to new switch format. Both position and rate modes work.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1886 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-05 14:51:33 +00:00
les
1e26ca11ee Manual control: Added some extra room at throttle zero when detecting a faulty signal
Before, moving your throttle trim slightly could cause ManualControl to think the receiver was not connected

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1885 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-05 14:50:03 +00:00
les
b2c81aceee Actuator: Fixed motors not going to min throttle in failsafe.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1884 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-05 14:47:48 +00:00
peabody124
ba3ecada1d Flight/ManualControl: Implemented settings to change what the Mode switch does
so it can also change parameters of Stabilization.  Please check your aircraft
behavior with this patch, but default behavior should be unchanged.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1878 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-04 19:48:09 +00:00
peabody124
f03669733b Flight/Guidance: Merge back into one task because memory requirements of a task
exceed CPU requirements of PID.  Also add add lesstabilization UAVObject to Makefile
to fix compile errors.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1870 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-04 02:01:34 +00:00
peabody124
d71e9df8c5 Flight/UAVObjects: Add a few files that were missed earlier, and get posix
worlking again

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1869 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-04 02:01:31 +00:00
les
05a85c8c95 New stabilization module based on PI-P algorithm used in FlightOS
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1864 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-03 20:39:23 +00:00
cwabbott
8d1a99ae15 PiOS.win32: Updated PiOS.win32 makefile for recent UAVObject changes, and also updated the experimental stabilization code to comply with recent changes to the simple code. Nobody uses SiTL anymore :( .
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1858 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-03 18:59:58 +00:00
les
11cf24a312 Actuator: Fixed uninitialised variables
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1857 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-03 18:37:07 +00:00
peabody124
a9495e2cbb UAVObjects/AttitudeSettings: Remove unused object, moving data to AHRSettings.
Added attitude bias to AHRSSettings.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1855 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-03 18:14:34 +00:00
peabody124
754200f9cf UAVObjects/Delete old VTOLSettings object
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1854 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-03 18:14:27 +00:00
edouard
eeb5eab177 Flight/Stabilization: fix for -180/+180 yaw transition which caused glitches in the stab module.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1853 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-03 16:43:10 +00:00
peabody124
5c9b5f4a99 AHRS: Get calibration working again
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1842 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-02 03:10:04 +00:00
peabody124
0c30101f54 AHRS: Made an object setting to allow the downsampling rate to be changed on the
fly (EKF rate up to a limit).  Also, now the algorithm selects if you are
indoor or outdoor as well as if you use a mag indoor (if you do set the z
variance higher than it calibrates to).

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1841 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-02 03:10:01 +00:00
peabody124
29b087703b Flight/AHRSComms: Decrease stack size, not needed to be that big. Also made
ActuatorDesired dT in ms like the uavobject indicates

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1839 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-02 02:17:32 +00:00
peabody124
6d39d85b8f UAVObjects/AHRSStatus: Remove unused fields
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1838 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-02 02:17:29 +00:00
peabody124
2050864e59 UAVObjects/VTOLStatus: Remove unused object. Also added update time to
indicate stabilization loop time.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1837 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-02 02:17:26 +00:00
peabody124
0fd9fda7a6 Flight/AHRS Comms: Whitespace fixes
gnuindent -npro -kr -i8 -ts8 -sob -ss -ncs -cp1 -il0 -hnl -l150

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1836 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-02 02:17:22 +00:00
peabody124
ea3fb03c7f Flight/AHRS Communications: Switch to Les' very nice UAVObject communication
scheme

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1835 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-02 02:17:18 +00:00
peabody124
2a93f35807 UAVObjects/MixerSettings: Have values as int8, don't need float resolution
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1832 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 20:28:14 +00:00
les
b2d56ca34c AHRS: Added UAVObject based SPI communication between AHRS and OP.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1830 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 17:31:13 +00:00
edouard
d2c1014e29 Re-enabled yaw stabilization after SystemSettings changed. There might be a lingering issue when the
yaw angle crosses the zero-360 mark, beware.
You can disable yaw stabilization by setting all PID gains to zero for yaw.



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1828 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 16:26:43 +00:00
peabody124
d54c6bf0f8 Flight/Actuator: Use dT in seconds. Forgot to change MaxAccel.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1825 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 14:37:03 +00:00
peabody124
0dfdad4fc4 Flight/Actuator: Reset critical alarm
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1824 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 14:09:14 +00:00
peabody124
c076a695ce UAVObjects/ActuatorSettings: Default values are all 1000 now so that an
unconfigured motor can't turn on.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1823 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 13:45:26 +00:00
peabody124
9f4e3906e3 Flight/Actuator: Made it use the detected dT for the feedforward computation
and removed the unused field from actuator settings (old setting time and all
the aircraft specific stuff).

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1820 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 12:33:33 +00:00
peabody124
2dc40d11a1 Flight/Stabilization: Use the system clock to determine time from previous
update since now drive by events.  This means StabilizationSettings object
changing so write down your settings.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1819 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 12:33:29 +00:00
peabody124
4461aba6d6 Flight/Stabilization: Move to object event system. Latency from ahrs_comm
update to actuator update now ~0.7 ms.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1818 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 12:33:26 +00:00
peabody124
b9943645e0 Flight/Actuator: Run actuator from queue again, latency well behaved.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1817 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 12:33:20 +00:00
sambas
ee4ca7b93a OP-177 Flight: All alarms fixed, AHRSComms stack size made critical stack alarm, event warning caused by queue that is not used at the moment.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1801 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-29 19:06:35 +00:00
peabody124
a4e0ee5fdf Flight/Actuator: Move Les' actuator to the active one
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1800 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-29 18:51:36 +00:00
peabody124
2f6f76d578 Flight/Actuator: Remove old mixer code
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1799 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-29 18:51:34 +00:00
fredericg
f090b4bcf8 OP-174 ET OSD: Fixed build errors due to UABObject changes
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1786 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-27 19:56:25 +00:00
peabody124
9b1d258a94 Flight/Les/Actuator: Space->Tab, somehow slipped passed previous patch
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1784 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-27 17:30:42 +00:00
peabody124
aa42256ad1 Flight/Stabilization: Convert all PID loops to units of seconds instead of ms.
THIS MEANS YOU MUST RETUNE YOUR PID LOOP IF YOU'RE FLYING WITH IT

Alternatively divide Kd by 1000 and multiply Ki by 1000

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1782 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-27 09:04:43 +00:00
peabody124
fef8cca5b6 Flight/Posix: Get compiling again (sorry Corvus, I think I messed up your
change earlier)

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1778 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-27 07:28:48 +00:00
peabody124
6d0df704a7 Flight/Modules: Corrected code to use tabs
find ./flight/OpenPilot/Modules/ \! \( -name '*~' -a -prune \) -type f    |
xargs -I{} bash -c 'echo {}; dos2unix {}; gnuindent -npro -kr -i8 -ts8 -sob -ss
-ncs -cp1 -il0 -hnl -l150 {};'

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1776 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-27 07:28:34 +00:00
peabody124
b85e322206 Flight/FlightSituation: Remove unused module
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1774 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-27 07:28:21 +00:00
peabody124
da583e0914 Flight/Guidance: Disable by default
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1768 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-26 03:07:40 +00:00
peabody124
8475a68958 Flight/Stabilization: Keep command and error in deg/s for rate stabilization
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1766 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-26 03:06:54 +00:00
peabody124
77b68e5169 Flight/Guidance: Initial template for guidance module
Flight: Create PositionDesired (the active waypoint) UAVObject and make the FlightSituationActual no update since it not used.
Flight: New velocity desired object that passes information between the look computing the desired velocity and the PID loop to get it (updated at different rates)
UAVObjects/PositionActual: Remove unused GPS fields
UAVObjects/PositionActual VelocityActual: Split the velocity into a separate object.  ALso make sure all the information telemetered around is in cm to avoid using floats.
UAVObject/GuidanceSettings: New guidance settings object for the guidance module
Flight/Posix: Add the new objects to the Posix sim
Flight/Guidance: Computes a desired velocity based on position error than runs a PID loop to control roll and pitch to achieve that velocity.  All distances are in cm, and updated the PositionActual fields to reflect this and use int32.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1760 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-26 03:06:27 +00:00
zedamota
9b05282be5 OP-21/Flight Bootloader - should make things cross platform.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1758 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-26 00:39:01 +00:00
peabody124
a01783b2a8 OP-140 AHRS: Explicilty deal with if it is initialized or not, use that to
determine retransmitting calibration, home location and such.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1755 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-25 21:05:38 +00:00
peabody124
9b28f2d72c OP-167 OP-157 AHRS/Calibration: Added mag scale and really cleaned up calibration.
Calibration should take less time now too (using second moments to estimate
variance in one pass).  Now need to change to multiple messages to get the
calibration in to keep the request message size minimal.  Also currently
running sensor calibrate doesn't store the gyro bias so if you want to use this
you'll have to tweak it manually.  I'll fix that step tomorrow.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1741 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-25 09:20:38 +00:00
edouard
eedf85a5ac OP-138 Start of the new Mixer configuration interface, for fixed wing only. This does not work yet, takes a long time to fully implement.
The system settings UAVObject is updated, you will have to recompile your firmware. If you want to take a look and let me know, please do!



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1737 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-24 20:39:37 +00:00
corvus
1472b342c1 1.0 Featur Freeze -
Removing some Experimental and Incomplete Modules and their UAVObjects not suited for 1.0
- they will be moved into an experimental branch:

Navigation     : experimental code only
FlightSituation: experimental code only 
Guidance       : preliminary draft - possibly to be replaced by peabody124 position hold code if finished in time.



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1729 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-23 22:05:03 +00:00
corvus
e44045f422 OP-165 : Guidance Module
Creating GuidanceModule together with PositionDesired UAVObject (as discussed),
so dschin and me can work on it :-)
Will compile and (on sim_posix) execute, but PID logic is yet untested and preliminary.



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1722 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-22 22:16:48 +00:00
les
ef7ee86d45 Mixer: zero throttle shuts off motors and changed MixernMatrix to MixernVector
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1710 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-21 19:31:17 +00:00
chebuzz
862e35def1 OP/PiOS.posix - Somebody added UAVObjects but did not add them to the posix sim
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1702 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-21 14:16:14 +00:00
peabody124
f96654ace1 Adding mixerstatus/mixersetting uavobject files that were missed
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1701 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-21 07:08:51 +00:00
les
875437f483 Added matrix based actuator mixing. Note the makefile is set to use the original actuator code.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1698 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-20 19:27:08 +00:00
zedamota
3ba6372dc4 OP-21/Flight Bootloader - Clean up and linker files for the AHRS
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1691 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-19 18:27:53 +00:00
peabody124
11f2b1a8dc Flight/Stabilization: Dont cap error at maximum stabilization value - that is to scale control throws. Create another variable if we want this.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1676 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-17 18:15:02 +00:00
andrew
da1a762072 Added basic code for Yaw stabilisation in manual mode for Helis.
This is functionally the same as having a heading hold gyro in hardware.
Code is copied from the simple stabilisation routine and is a bit rough at the minute, but initial testing looks good.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1670 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-17 05:52:34 +00:00
peabody124
41b7a99883 Flight/Stabilization: Yaw rate stabilization error should be normalized by dt
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1669 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-17 02:00:55 +00:00
zedamota
e8d6e7c557 Flight - Centralized board specific files, BL and User FW uses the same board definitions, no need to have 2.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1663 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-16 19:19:38 +00:00
peabody124
3b015b41c5 Flight: Got a much nicer arming/disarming system going. Made it a separate flag in the end to allow testing the stabilization code with motors not running. Also changes maxRoll/maxPitch/maxYaw to uint8 to keep object size smaller - no reason for float precision for this.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1660 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-16 15:41:11 +00:00
peabody124
a6e71177e4 AHRS: Yaw stabilization now supports rate stabilization or heading hold. Also need to cleanly support rate stabilization on all the other axis. Les suggested this be in manual mode which will require changing the logic somewhat (essentially for vtol it will always be running through the Stabilization module) in an aircraft dependent manner. An alternative would be a stabilization flag indicating to do full attitude hold, attitude + yaw stabilization, or all axis gyro stabilization. This would be my preference.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1659 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-16 15:41:08 +00:00
peabody124
0b8756d55c OP-148 AHRS/Comms: For now don't retransmit calibration after comms glitch as this re-zeros gyro bias and makes attitude stutter. Need to explicitly communicate when comms glitches and query if AHRS actually rebooted.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1654 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-16 05:26:12 +00:00
peabody124
885c966e53 AHRS: Added a tracker for number of ADC updates the EKF misses. Also updated the Telemetry autogenerated files to accomodate the 11500 baud rate.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1652 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-16 02:59:00 +00:00
peabody124
19e80da928 AHRS: Update UAVObject with information about AHRS rate
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1650 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-16 01:54:21 +00:00
pip
73c8194acc Added PIOS_COM_TELEM_BAUDRATE, PIOS_COM_GPS_BAUDRATE, PIOS_COM_AUX_BAUDRATE & PIOS_COM_SPEKTRUM_BAUDRATE defines in pios_board.h with '#if defines' in pios_board.c for easier baudrate changing.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1644 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-15 17:18:38 +00:00
pip
22b9b2512e Added a 115200 baud telemetry option to the OP main board/UAVTalk.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1632 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-15 14:43:42 +00:00
stac
ac6989fbeb bmp085: fix configuration of EOC interrupt
The EOC EXTI interrupt configuration was incorrectly
pointing at GPIOG pin 8 rather than GPIOC pin 15.
This was preventing the EOC interrupt from working
properly.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1626 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-15 14:20:59 +00:00
chebuzz
3b5b129445 Fix POSIX simulator to work with new VTOL UAVObjects
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1607 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-13 14:00:53 +00:00
peabody124
47a7b8548b Flight: Safety feature for VTOL. Don't enable motor until throttle brought above .5 then below or to zero.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1604 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-12 22:18:21 +00:00
peabody124
e90e714c2b Flight: Tweaked the throttle handling and VTOL use of it to make sure engines can be shut off easily in stabilization mode.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1593 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-12 02:54:49 +00:00
peabody124
5d1ebf76ea Flight/VTOLmixer: Fix bug in mixer that messed up roll mixing. Also changed minimum to -1 so that neutral can be position motors come on and -1 the off position. Also made failsafe throttle value -1 to be consistent.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1591 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-12 02:54:44 +00:00
peabody124
c376711405 Flight/Stabilization: Make the derivative account for the sampling time (dAngle/dt) for the PID loop since integral does and also make the integral bounds uavobject settings. It was originally bounded by constant/Ki but I'm not sure why as you change the gain of the error integral you also want to decrease the maximum error it can cause.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1590 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-12 02:54:41 +00:00
peabody124
8999355327 Flight: Made actuator a periodic task. I don't think the queue is low enough latency - should figure out how to make this happen as callback is the right way to go.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1589 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-12 02:54:38 +00:00
peabody124
dceb20b16d Flight: VTOLStatus object that returns the thrusts on all the engines
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1588 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-12 02:54:34 +00:00
peabody124
bba3b0c64a Flight: VTOLSetings object to contain the mixer settings for VTOL crafts
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1587 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-12 02:54:30 +00:00
stac
93ef510946 ahrscomms: use relative delays to avoid slipping
Change from using vTaskDelay to using vTaskDelayUntil to
ensure that we're trying to stay periodic rather than
just waiting a fixed amount of time after each loop of
processing.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1580 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-11 23:06:22 +00:00
peabody124
e260077247 Flight/ManualControl: Making failsafe test (which must explicitly look at receiver inputs instead of throttle values in case of reversal) also consider readonly flag to detect GCS control.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1545 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-06 02:58:41 +00:00
peabody124
61854ac6ab Flight: Support for quadcoptors. The format of this control will change to support octo's and more flexible tuning.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1544 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-06 02:58:39 +00:00
stac
95595664c3 telemetry: fix comments around #ifdef
No functional changes.

The closing comment on some of the USB_HID related
ifdefs was outdated.  Fixed.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1541 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-05 23:10:34 +00:00
peabody124
f9a0b799a2 Foolishly forgot object like I always do
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1529 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-04 22:01:11 +00:00
peabody124
d3b677298c Flight/ManualControl: Added a hysteresis loop to the manual control connection/disconnection status. I seem to get glitching without it - probably because of the receiver catching noise. It still occasionally glitches but I don't want to make it longer. Probably should be an adjustable setting.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1527 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-04 17:08:04 +00:00
peabody124
c21d058110 Flight: Added ability to use a third accessory input. Currently using that to select tuning roll/pitch bias and PID tuning. I also _STRONGLY_ recommend if you enable these accessory channels (and thus these features) you make the saved meta data for the StabilizationSettings and AttitudeSettings read-only, so only on flights where you mean to can you change these settings. I'm also not convinced about the interface - it seems like flicking TX switches to get into adjustments is a recipe for disaster. Probably need to just control through GCS.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1526 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-04 17:08:02 +00:00
peabody124
45e8131a30 Flight: Added ability to use additional TX inputs to tune attitude bias. Note this form of the calibration is temporary and will likely be replaced by a rotation matrix to deal with more general rotations.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1525 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-04 17:07:59 +00:00
peabody124
8dbc382e5b Ground/CoordinateConversions: Shows correct location now. I just typed in a 3.14 constants and forgot to change to M_PI.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1520 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-04 05:58:43 +00:00
peabody124
b4ff14b725 Ground/GCSControl: Swapped sign conventions of sticks to match the sign convention of roll/pitch/yaw. I.e. now right on the roll causes a + roll, pulling down on the pitch causes + pitch.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1518 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-04 02:19:06 +00:00
peabody124
a406034ed9 OP-132 Flight/AHRS: Changed the heuristics regarding GPS quality and INSGPS updates. Now if satellites < 7 or PDOP > 3.5 it does not perform GPS updates. Professor is working on some code to fix parts of the covariance matrix. If indoor updates high a 0 position and velocity and high variance.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1515 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-04 02:19:00 +00:00
cwabbott
d7a3ffb464 flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1510 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-02 23:55:24 +00:00
peabody124
d3bb821e82 Flight/ManualControl: Change to ManualControl module to make warning only kick in if input is less than the max and min for throttle. Disable going to (unimplemented) auto mode. Commiting based on one yay and no nay.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1505 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-02 16:33:02 +00:00
peabody124
ec7d059de8 Posix: Corrected makefile after UAVObjects mashup
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1489 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-31 17:21:44 +00:00
peabody124
12657440c3 OP-132 AHRS: Added an indoor flight mode and also add an ad-hoc quality heuristic to the GPS signal to increase the measurement variance from GPS when fix quality is poor or when in indoor flight mode. In addition corrected the indentation to conform to the tab/space convention forum discussion.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1474 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-31 02:11:09 +00:00
andrew
65dc5e9b04 Yaw stabilisation for the simple algorithm was calculating the error and not taking into account that 350º error is the same as -10º error.
The resultant error could range from -360º -> +360º
Since this is only used for Helicopters / multi rotors, and the aircraft can rotate in any direction, I added the modulo logic so that it is now from -180º -> +180º this should now take quickest path to correct the error.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1464 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-30 01:20:43 +00:00
andrew
3c6d9d6976 manual control was mapping tx input as -180º -> 180º for AttitudeDesired.Yaw.
The Wiki (http://wiki.openpilot.org/Unit_Standards) states this should be 0 - 360º
Made the code match the wiki.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1463 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-30 01:16:00 +00:00
peabody124
f202884ce8 AHRS: Numerous changes. Added CPU load monitoring for AHRS as well as some friendly debugging output options. Also added a new CalibrationMode setting to AHRS (Echo) to speed up sensor calibration. Cleaned up the 6 point calibration interface to make it more friendly, but I think Edouard will clobber it with something nice and sexy :).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1455 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-29 06:38:30 +00:00
stac
ecac1fb79d nmea: parse GSV sentences and populate GPSSatellites object
This creates a new UAVObject called GPSSatellites to hold
information about which satellites the GPS receiver can see
and the quality of their signals.

NMEA GSV sentences are now parsed.  The full set of GSV data
may be split across multiple GSV sentences, each containing
info for at most 4 satellites.  Once an entire set of GSV
records has been collected, the GPSSatellites UAVObject is
updated.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1453 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-29 01:46:14 +00:00
stac
2ead641136 nmea: minor bug fixes and robustness improvements
Remove asserts on bad data, only assert on coding errors.
Remove unnecessary inline qualifier to reduce code size.
Handle more lat/lon precisions in conversion to fixed-point.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1452 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-29 01:46:11 +00:00
stac
679f59f19d uavobjectparser: fix alignment of field init in generated code
Change from spaces to <TAB> to match the formatting in
the template.  No functional changes, just whitespace.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1451 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-29 01:46:09 +00:00
peabody124
8128c3bbfa OP-118 AHRS: Added 6 point calibration routine to AHRS config widget. To use it, click "Cal Mode", then place the AHRS on each of 6 sides of a cube then click save position. Finally click compute to push the updated scale abd bias terms to the AHRS. Also fixed a bug in UAVObjectField that would not allow you to setDouble for extra fields.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1449 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-28 18:48:51 +00:00
andrew
3530428982 Fixed the bounding of servo outputs for the case when max < min
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1444 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-28 05:11:19 +00:00
peabody124
00cad250ea Adding gpstime.h for flight.
Seriously - I'm sorry I missed all these files.  I suck.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1443 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-28 00:58:04 +00:00
peabody124
ced0a4b952 AHRS: Fixed silly bug that made the default mag variance be zero - explains "hopping around" default behavior. Still should run calibration though.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1439 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 21:05:41 +00:00
peabody124
5f9289f0c0 Flight: Keep getting WMM memory usage down
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1438 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 21:05:38 +00:00
peabody124
16361dea12 AHRS: Making AHRS populate the NED/Vel fields of PositionActual. May rename object to PositionVelocityActual. Also created a GPSTime object which is populated from the GPRMC command. Also added a GPZDA parsing command, but by default OP GPS doesn't send this command. Made the computation of the world magnetic model use the current time to set the magnetic vector. Note: currently if you set your home location and save it to SD, this will not recompute the vector over time. I'm not sure how sensitive this is.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1435 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 19:59:25 +00:00
stac
24a4c6b791 gps: Update GPSPosition instead of PositionActual
GPS module now updates GPSPosition UAVObject
rather than the PositionActual object.  The
GPSPosition object is intended to be consumed
only by the AHRS.  The AHRS will use this (and
other inputs) to compute a filtered version of
the position in the PositionActual object.

This commit will cause temporary breakage of the
GPS functionality in the GCS until the PositionActual
object is properly updated by the AHRS.  Most of the
GCS should continue to use PositionActual.  The only
exception to this might be any tool for specifically
visualizing the raw GPS state.

GPS.c is now only responsible for receiving a
complete NMEA sentence from the COM interface.

NMEA parsing is now factored out into NMEA.[ch]
which is where GPSPosition is now updated based
on the complete NMEA sentences obtained from the
GPS.

Latitude and Longitude are now encoded in a
fixed-point notation in units of degrees x 10^-7
to prevent truncation of precision due to encoding
into a float.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1431 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 02:15:00 +00:00
stac
47df1faa8d ahrs: whitespace adjustments
No functional changes.  Whitespace/tab fixups only.
Use TRUE/FALSE instead of 1/0.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1430 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 02:14:58 +00:00
peabody124
a0b21bef45 Flight: Got read only check working for UAVObjects and modified the ManualControl Module to use it. Edouard - please check over this.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1427 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 00:15:48 +00:00
peabody124
a8df6e2c4d OP-128 Flight Documentation: Added description to all the UAVObject (now mandatory) and changed the parser to populate this information into the autogenerated files. Also added a function to test if an object is read only for flight.
Since there are a lot of autogenerated changes the important ones are:

  flight/OpenPilot/UAVObjects/inc/uavobjecttemplate.h - added description and define to make the ObjectReadOnly query
  flight/OpenPilot/UAVObjects/uavobjecttemplate.c

  flight/OpenPilot/UAVObjects/uavobjectmanager.c - added the UAVObjReadOnly query

  ground/src/libs/uavobjgenerator/uavobjectparser.cpp - added parsing of description field

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1425 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-27 00:15:42 +00:00
andrew
2361af19fb First attempt at ccpm mixing for single rotor helicopter.
This has throttle and pitch curves implemented and can be configured for many swashplate configurations.

This has flown a 450 clone (with training wheels) and the ccpm worked well.

Still need to neaten up some stuff and work out how to implement yaw stabilisation in manual mode.


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1412 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-26 06:00:57 +00:00
peabody124
4ca10e92c7 OP-121 OP-122 Flight: Improved USB HID communication.
1. Added reenumeration function and call it on USB init (device will appear after reprogramming now)
  2. Moved buffer.c to general flight/Libraries location
  3. Removed the 62 byte transmission limitation by adding a transmission buffer
  4. Sped up USB communication by increasing endpoint polling frequency

Note, that the nonblocking and blocking USB send functions are not blocking entirely correcting.  The blocking calls the nonblocking, and the nonblocking blocks until the last chunk has started tranmission if it's a big transmission.  The buffering I added would generalize to non-blocking nicely, but would require using the EP1(IN) callback to handle most of the tranmission.  This creates a lot of issues if one function is pushing data onto the buffer and the interrupt is sending.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1403 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-25 05:32:52 +00:00
andrew
b467b419e6 OP-103, UAVObject update.
Adding settings for configuring CCPM mixing for Helicopters to ActuatorSettings and SystemSettings UAVObjects.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1402 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-25 00:55:15 +00:00
peabody124
2db294caf7 OP-125 Flight: Changed GPS stack size to a bit closer to what the internal model needs to get rid of out of memory warning, but it could still use 1k less if it pulled all the constants from flash when needed and computed the time difference when called. Also changed ManualControl so it checks the active control values to determine the warning, so if GCS is controlling the warning light goes out.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1387 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 06:03:19 +00:00
peabody124
e94d3d3846 AHRS/Flight: Allow selecting simple algorithm as well as INSGPS
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1384 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 03:51:08 +00:00
peabody124
bd8fffe4d0 AHRS/Flight: Renamed AttitudeSettings to AhrsSettings to make it more intuitive. Added the ability to change the algorithm from GCS.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1383 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 03:39:13 +00:00
peabody124
b32184d1ec OP-119 Flight: Converted HomeLocation object to use cm for the home base instead of floating point.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1382 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 02:49:53 +00:00
peabody124
2596f43511 OP-120 AHRS: Moved conversion of quaternion to RPY over from AHRS to OP to minimize transfer and computational load on AHRS.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1381 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 02:35:39 +00:00
peabody124
0d11493337 Flight: Added mixer settings for elevon. Also added bound checking on servo outputs which becomes important when multiple things are mixed and you want to use the full range.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1380 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 01:54:58 +00:00
cwabbott
19f6db79be Added ManualControl to the win32 and posix makefiles. Also fixed a compiler error about "No newline at end of file."
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1379 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-23 00:52:56 +00:00
peabody124
2e705e6836 OP-116 AHRS: Made data going to the AHRS in NED format. Once the final estimate object is created I'll repeat the same calculation to populate it, although we want to avoid going back to LLA format on the OP because the CPU requirements are excessive.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1376 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 19:01:36 +00:00
zedamota
6adc834d9b OP-21/Flight Prep work for the USB HID bootloader
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1375 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 18:57:29 +00:00
zedamota
2daa229a2d OP-21/Flight Prep work for the USB HID bootloader
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1374 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 18:56:00 +00:00
peabody124
60332efec0 OP-118 AHRS: Missed the auto generated files for the default values. Also no idea why last patch changed navigationsettings - either make uavobjects does differently on different platforms or someone forgot to run make uavobjects.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1372 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 17:02:12 +00:00
peabody124
0862d64b8c OP-118 AHRS: Made default calibration values friendly for people. Also fixed bug that would repeatedly trigger calibration when it was requested.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1371 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 16:43:00 +00:00
sambas
7859a130e8 Fixed bug that caused Object Browser to crash
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1369 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 08:59:18 +00:00
cwabbott
e27adf700b Fix posix and win32 makefiles for recent UAVObject changes.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1367 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 00:59:12 +00:00
peabody124
5662d85c4e OP-120 AHRS: Tightened up the communication protocol so it runs more quickly. Looks ok in gdb but GCS not crashing right now (rendering error) so I can't test it properly.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1366 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 00:21:54 +00:00
peabody124
8897c441fa OP-118 AHRS: Added AHRSCalibration object and messages associated with that to AHRS. Also made AHRS run calibration only when requested. We will create a GCS plugin that runs through computing the calibration settings. To compute the variances on the AHRS set the measure variances to true, wait ten seconds, then set it to false to read it back.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1363 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 21:46:02 +00:00
stac
635df28c34 GPSPosition: Add new UAVObject for GPSPosition
This object is not yet populated or used.  This
will soon hold the raw position data from the GPS
receiver.  PositionActual will be converted to
hold the computed position from the AHRS.

Contents of this object are still subject to change.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1355 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 16:19:18 +00:00
stac
a960d6e1b1 GPS: fix typo desimal->decimal throughout
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1352 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 16:19:12 +00:00
stac
7b2111e512 baroaltitude: rename AltitudeActual to BaroAltitude
This is to align the object names to matches the UAVObject
architecture doc.  No functional changes.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1351 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 16:19:10 +00:00
peabody124
ba4dc14cea OP-124 Flight: Added fields to the AHRSStatus to track failures of each of the SPI message types.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1347 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 09:21:39 +00:00
peabody124
bb79ba66fa OP-119 AHRS: Converted the big data structures for the WMM calculation to be allocated on the stack, which forced a dependency on FreeRTOS :-( but keeps things on the heap. Also changed the HomeLocation object to include a Set field. When this is false, OP will try and update it whenever it gets a 3D fix. If it is saved to disk with this field as true, then it won't need to get a lock to send the magnetic flux vector to the AHRS.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1346 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 08:35:44 +00:00