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
e4a167dca1
PID: Add a pid_apply_setpoint which takes in the setpoint and feedback term
...
This version allows performing setpoint weighting, currently on the derivative
component.
2012-09-11 13:21:19 -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
42bbd52d68
PID: Add a function to set the cutoff for the derivative term
...
Also contains a term for setting the deriative setpoint in the future
2012-09-11 12:27:41 -05:00
James Cotton
fa9a616b4c
PID: Add the 20 Hz low pass filter to the derivative term
2012-09-10 03:14:02 -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
2a4e135c81
Merge branch 'D-Lite/fix_CC3D_yawBias_correction' into next
2012-09-06 13:47:03 +02:00
Werner Backes
4803dfe99c
Fix: yaw bias correction wasn't applied on CC3D.
2012-09-06 13:13:58 +02:00
Stacey Sheldon
97882dbef9
pipx: ensure pipx BL image is padded to fill its bank
...
This padding is required in order to properly align all
of the sections in the EF images.
2012-09-05 22:17:04 -04:00
Stacey Sheldon
803e3c4d1e
ef: Add fwinfo to entireflash (EF) images
...
EF images were missing the firmware info blob that describes
which firmware is installed on the board. The EF image is now
padded out to fill the firmware bank and the info blob is
properly placed at the tail end of the firmware bank.
2012-09-05 21:45:59 -04: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
db083aa0e9
Merge branch 'android' into next
2012-09-02 19:19:23 -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
a*morale
d8ea84cdf1
Fix output power selection from the configured value at startup
2012-08-21 18:51:45 +02:00
Stacey Sheldon
2d0e4944d3
Merge remote-tracking branch 'origin/stac/actuator-task-cpu-optimization' into next
2012-08-20 19:13:39 -04:00
Stacey Sheldon
9f8d22961f
cc makefile: enable -ffunction-sections and -fdata-sections
...
These compiler options place each function and each global variable
into its own ELF section in each .o file. This, combined with the
linker option --gc-sections allows the linker to evict unused functions
and variables from the final ELF file.
On CC, the firmware flash bank is only 118784 bytes in total.
This commit reduces the .text segment from 114120 to 83536 and .data
from 572 bytes to 560 bytes. That frees up a grand total of 30596 bytes
of flash and 12 bytes of RAM.
2012-08-11 20:13:09 -04:00
Stacey Sheldon
29ab1d8cf3
actuator: factor out settings updates from main loop
2012-08-11 19:46:00 -04:00
Stacey Sheldon
63c167c183
taskinfo: also track Event thread's stack usage and CPU utilization
...
The event dispatcher thread is started differently than most other
threads so it was missed in the taskinfo tracking information. Now
it's also included.
2012-08-11 18:47:03 -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
Stacey Sheldon
07fde38887
hid joystick: factor out min/max range from report items
2012-08-10 23:29:34 -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
5902c19cc3
hid joystick: compress local usages since they're all in the same page
2012-08-08 10:38:43 -04:00
Stacey Sheldon
030d9e84f9
hid joystick: remove unnecessary usage page definitions
2012-08-08 10:15:08 -04:00
Stacey Sheldon
449c7aab7a
hid joystick: use 32-bits to represent max range
2012-08-08 00:50:03 -04:00
Stacey Sheldon
94f6344fc5
hid joystick: restructure joystick HID report to work on windows
2012-08-07 21:34:25 -04:00
James Cotton
097ae637bf
Remove the TCHAIN_PREFIX flag from the OSX Makefile. No clue how that got
...
merged in.
2012-08-06 16:54:55 -05:00
James Cotton
f247443d64
Clean up the logging somewhat
2012-08-06 16:54:52 -05:00
Stacey Sheldon
017d8c79c9
hid joystick: add missing .c file
...
This time for sure...
2012-08-06 11:49:03 -04:00
Stacey Sheldon
d44e24a150
hid joystick: add missing .h files
2012-08-06 11:42:44 -04: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
096f940fee
Reenable the flash version now Stac's fix is tested.
2012-08-04 12:03:41 -05:00
James Cotton
d6c485459f
Fix error Stac caught in sin_lookup
2012-08-04 00:33:20 -05:00
James Cotton
8eac518a9c
If the sin table is empty don't attempt to use it and return 0.
2012-08-03 12:43:50 -05:00
James Cotton
f3dc2dc2ad
Store 180 deg in flash now and even make the flash and ram version share a
...
lookup method. Still don't get the same results.
2012-08-03 12:31:15 -05: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
3982ad0046
Enable AUTOTUNE by default for CC
2012-08-03 09:37:47 -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