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

699 Commits

Author SHA1 Message Date
Oleg Semyonov
79f95983da Merge remote-tracking branch 'origin/rel-12.10.2' into next 2012-11-14 17:26:18 +02:00
Oleg Semyonov
22173d96e5 Merge remote-tracking branch 'origin/cyr/accel_filter' into rel-12.10.2 2012-11-14 04:44:11 +02:00
Erik Gustavsson
f9f58f22d8 Take the magnitude of the correct gravity vector 2012-11-12 17:16:28 +01:00
Erik Gustavsson
e38ba912cd Clarify comment about gravity vector 2012-11-11 21:13:05 +01:00
Erik Gustavsson
04c194fa48 Coding style fixes 2012-11-11 21:10:52 +01:00
Richard Flay (Hyper)
54ebcb1ea8 Removed a spurious call to AccelsSet() that was causing garbage data to be transiently written to the Accels UAVO. Props to cyr for kicking off the discussion that led to the discovery of this bug. 2012-11-11 00:31:08 +02:00
Erik Gustavsson
104c61a174 Move accel filter to separate function, for cleaner code and easier filter alteration.
Optimize for filter disabled case (AccelTau = 0.0).
2012-11-06 20:17:10 +01:00
Erik Gustavsson
677f921b15 Take magnitude of filtered gravity vector into account. 2012-11-02 09:22:18 +01:00
Erik Gustavsson
f63db712d0 Disable accel smoothing during init/arming so it does not interfere 2012-11-02 09:12:24 +01:00
Erik Gustavsson
b7bdf9861d Run rotated gravity vector through smoothing filter to match phase with filtered accelerometer data. 2012-11-01 12:14:33 +01:00
Richard Flay (Hyper)
10865221b9 Removed a spurious call to AccelsSet() that was causing garbage data to be transiently written to the Accels UAVO. Props to cyr for kicking off the discussion that led to the discovery of this bug. 2012-11-01 18:15:47 +10:30
Erik Gustavsson
c207afbfef Implement smoothing filter for accelerometer data. 2012-10-31 19:05:59 +01:00
Stacey Sheldon
bc3a90c6a9 Merge branch 'one-way-telemetry' into next 2012-10-25 22:48:43 -04:00
Kenz Dale
1ab1ea5899 Save ~150 bytes by moving GPSDataProtocol to SystemSettings.
All credit to Anstron.
2012-10-22 16:47:22 +02:00
Stacey Sheldon
4892fdb33d telemetry: allow telemetry to flow when not connected to GCS
Previously, when unconnected, only the flighttelemetrystats
UAVO was Tx'd.  All other UAVOs were inhibited.  This led to
zero telemetry data when the connection to the GCS was gone.
This precluded getting useful telemetry from a receive-only
station.

This commit changes two main areas.

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

Second, it makes both the flighttelemetrystats and gcstelemetrystats
UAVOs un-acked.  This prevents these objects from blocking all
other UAVOs while they wait for their ack.  This is OK since the
real "connection" negotiation happens via the states exchanged in
the Status field of these UAVOs.
2012-10-21 22:51:17 -04:00
Stacey Sheldon
75170177df console: example usage of the debug console 2012-10-11 00:22:07 -04:00
Laura Sebesta
8997df2438 Merge branch 'next' into kenz/diag_stack_split
Conflicts:
	flight/Modules/Stabilization/stabilization.c
2012-09-27 19:29:23 +02:00
James Cotton
4717c376c0 Stabilization: For the inner loop call the setpoint shaping version so that
the derivative term can weight the sticks and gyros independently.
2012-09-11 13:21:53 -05:00
James Cotton
11b099b1ef Stabilization: Add configuration terms for the derivative calculation to the UAVO and pass
them in to the PID system.
2012-09-11 12:29:38 -05:00
James Cotton
9763a70364 Merge remote-tracking branch 'origin/igor/pidt1' into relay_tuning
Conflicts:
	flight/Modules/Stabilization/stabilization.c
2012-09-10 03:10:26 -05:00
Igor Van Airde
8ca99739ed Changed rate controller from PID to PIDT1 to improve flight stability.
Low pass on D-Term makes the D-Term usable to improve flight stability.
Affects rate and stabilize mode.
2012-09-09 13:07:25 +02:00
Werner Backes
4803dfe99c Fix: yaw bias correction wasn't applied on CC3D. 2012-09-06 13:13:58 +02:00
James Cotton
2f65fc1e8e Merge branch 'next' into relay_tuning
Conflicts:
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-09-04 10:43:04 -05:00
James Cotton
59d1367d37 Autotuning: Make the output also follow the hysteresis output 2012-08-24 22:45:45 -05:00
James Cotton
a3f1894cd7 Autotuning: Make the estimator require the value to toggle above and below the hysteresis level. 2012-08-24 21:33:08 -05:00
James Cotton
8babe5d8a4 Autotuning: Increase the measurement time to 30 seconds. 2012-08-24 21:32:11 -05:00
Laura Sebesta
f2ffd1fb99 Changed DIAGNOSTICS flag to be individual to each module instead of global.
The upshot is the stack usage monitor can be turned on at a lower RAM threshold.
2012-08-24 12:04:05 +02:00
Stacey Sheldon
29ab1d8cf3 actuator: factor out settings updates from main loop 2012-08-11 19:46:00 -04:00
Stacey Sheldon
b505602c15 Merge remote-tracking branch 'origin/stac/rc-tx-joystick-emulation' into next 2012-08-11 11:21:18 -04:00
Stacey Sheldon
49c153003c hid joystick: use linearly scaled channels
Scales each channel only based on max and min calibrated values.
The neutral value is now ignored so the joystick sees a linear
range between min and max.

This is particularly useful to allow the full range of values for
throttle to be passed through to the joystick.
2012-08-10 23:36:06 -04:00
James Cotton
06a6e367b0 Merge remote-tracking branch 'origin/hyper/OP-661' into next 2012-08-08 13:49:48 -05:00
Stacey Sheldon
ef0c12b1b6 hid joystick: emulate a USB HID joystick using RC Transmitter
Adds a new RCTransmitter setting for the USB HID interface which
emulates a USB HID joystick.  The scaled RC receiver channels
from any RCVR protocol are passed through to the various emulated
joystick controls.

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

This is known to work with CRRCsim but should work with any simulator
that supports joystick input.
2012-08-05 21:45:27 -04:00
James Cotton
9f3c8dddd3 Add a version of the sin lookup table that is in ram instead of flash 2012-08-03 12:15:57 -05:00
James Cotton
490955dbea Use cos_lookup instead of sin_looup(x+90) 2012-08-03 11:34:05 -05:00
James Cotton
fc2f8376bc Prevent an alarm from ManualControlCommand when using autotuning mode. 2012-08-03 09:37:47 -05:00
James Cotton
50c7641162 Move the PID methods into a standalone library 2012-08-03 09:37:46 -05:00
James Cotton
2723ff4be3 Factor the virtual flybar code out of the stabilization module 2012-08-03 09:37:46 -05:00
James Cotton
aae0e562c6 Create a sine lookup table that is cached in flash and make relay tuning start
ot use this.
2012-08-03 09:37:46 -05:00
James Cotton
924c91ce1e Fix mistake from previous merge with duplicate the STABILIZATIONOMDE_ATTITUDE
case
2012-08-03 09:37:46 -05:00
James Cotton
8565dfbcc3 Factor the relay tuning out of the main stabilization.c file into it's own
tool.
2012-08-03 09:37:46 -05:00
James Cotton
ee4bb84e36 Fix: Increase teh memory for autotune back to 1024 which leaves 100 free. 2012-08-03 09:37:46 -05:00
James Cotton
561cf994b0 Reduce the memory footprint of the sin lookup table by using sin(x+pi) =
-sin(x).  Still just needs to move into flash and have some options about
precision when in its own library function.
2012-08-03 09:37:46 -05:00
James Cotton
652647fc87 Make autotuning module optional 2012-08-03 09:37:46 -05:00
James Cotton
d0ef95ff9a Fix idiotic bug in the stab_refactor 2012-08-03 09:37:46 -05:00
James Cotton
2ccd6605a4 Now the stabilization refactor is in we can make swapping between tuning the
system in rate or attitude mode software configurable.
2012-08-03 09:37:45 -05:00
James Cotton
24d9e50c08 Based on the selected behavior either apply or save the stabilization settings 2012-08-03 09:37:45 -05:00
James Cotton
7ea14ecc22 Track the output gain instead of amplitude so the measured values are
consistent if the settings are changed afterwards.
2012-08-03 09:37:45 -05:00
James Cotton
17878b32f3 Make autotune run within an attitude loop instead of direct rate mode. Easier
for beginners.
2012-08-03 09:37:44 -05:00
James Cotton
a9af53b4f3 Create new autotuning module which rotates through the axes for autotuning and
then computes new stabilization settings.
2012-08-03 09:37:44 -05:00
James Cotton
44e72d0a70 A big refactoring of stabilization.c to get rid of the two separate loops and
move them into one big structure.  This makes it easier to implement other
modes.
2012-08-03 09:37:44 -05:00