Commit Graph

2306 Commits

Author SHA1 Message Date
rmackay9
12e1ce50e2 AP_Buffer: bug fix to allow buffer to completely fill up.
Also removed redundant _tail parameter which saves 1 byte.
2012-12-06 10:18:00 +09:00
rmackay9
0092960a68 AP_InertialSensor: add comments to give credit for accel calibration method to Rolfe Schmidt 2012-12-05 09:35:55 +09:00
rmackay9
399fe2e8cd AP_InertialSensor: add comments to give credit for accel calibration method to Rolfe Schmidt 2012-12-05 09:20:31 +09:00
Robert Lefebvre
e86243e7a3 ACM: TradHeli
Fix for Rotor Speed Controller to switch on/off with Ch8 as opposed to the old way (throttle).
2012-12-04 15:09:27 -05:00
Andrew Tridgell
dfc252a78d AP_InertialSensor: removed axis getters for accel/gyro
these were only being used in one place, and in that place were used
incorrectly!
2012-12-04 09:11:55 +11:00
Andrew Tridgell
c41ca45e84 MAVLink: clarify frame of reference for HIL_STATE 2012-12-03 23:31:34 +11:00
Andrew Tridgell
90c027cd97 MAVLink: use a smaller maximum payload to reduce memory
this limits the sizes of the MAVLink buffers. It doesn't make a big
difference now, but it will matter when we update to the latest
mavlink code which has some very large packets
2012-12-03 23:28:23 +11:00
Andrew Tridgell
aa79ffc301 AP_InertialSensor: fixed stub driver to work correctly with sensors HIL 2012-12-03 23:27:21 +11:00
Andrew Tridgell
48403e3bbc AP_InertialSensor: Added INS_MPU6K_FILTER option
this allows the user to select the MPU6000 filtering frequency
2012-11-30 07:15:19 +11:00
Andrew Tridgell
d58088c2b8 AP_InertialSensor: return the example sample count in Oilpan 2012-11-30 07:15:19 +11:00
Andrew Tridgell
9411b11072 InertialNav: update example for new interface 2012-11-30 07:15:19 +11:00
Andrew Tridgell
7ef7c7f04f AHRS: update example for new ins interface 2012-11-30 07:15:19 +11:00
Andrew Tridgell
2d8d6b2459 AP_InertialSensor: allow specification of sample rate in init() call
this lets the caller not need to know the underlying sample rate. They
just ask for what rate updates happen. 

This also changes the MPU6k filtering to be less than half the sample
rate
2012-11-30 07:15:18 +11:00
Andrew Tridgell
4f37a9363a SITL: prevent the GPS pipe filling up and delaying GPS readings 2012-11-28 14:23:53 +11:00
Andrew Tridgell
54235f7a23 SITL: cleanup RC control for rover support
added vehicle type, and setup right initial throttle
2012-11-28 09:35:42 +11:00
Andrew Tridgell
29f978b8e5 AC_PID: suppress the derivative immediately after reset
use _last_derivative == NAN to flag that the derivative is invalid
2012-11-27 18:45:49 +11:00
Andrew Tridgell
86526e9a79 PID: use NAN to flag a D reset
this saves a byte per PID for a flag, and gives us a safe way to
reset_I() without causing a spike in D
2012-11-27 18:41:31 +11:00
Andrew Tridgell
bbd6c5154e AC_PID: save 8 bytes per AC_PID object
we don't need the _derivative or _output variables
2012-11-27 18:06:22 +11:00
Andrew Tridgell
b8d5a5904a AHRS: improved some more doc strings 2012-11-27 15:56:53 +11:00
Andrew Tridgell
48b37cac5a AHRS: improved docs for AHRS_GPS_USE
some people are setting this to zero to prevent jitter, which results
in their plane flying off into the distance and never coming back
2012-11-27 15:41:52 +11:00
Andrew Tridgell
b773529d09 cleanup: removed unused AP_PID library 2012-11-27 13:39:45 +11:00
Andrew Tridgell
c55e6d3e6a PID: don't reset _last_error on reset_I()
resetting _last_error when you have a non-zero D term causes the D
contribution to the next call to be massively amplified. This can
cause crazy behaviour on auto takeoff in ArduPlane if you have a
non-zero D term for the roll or picth controllers

Thanks to Chris Miser for providing the tlog that allowed this bug to
be found.
2012-11-27 13:35:09 +11:00
Robert Lefebvre
abd2a60036 AC_PID: Create Leaky Integrator Function. 2012-11-26 21:01:20 -05:00
Robert Lefebvre
ca23a7ba76 ACM: TradHeli
Creating Stab_Collective Function to allow for different collective ranges between Stabilize and other modes.
This makes for a smoother collective action in Stabilize mode with manual throttle, while still allowing full collective travel in Acro and other modes.
2012-11-26 19:37:20 -05:00
Andrew Tridgell
d33d884f69 Plane: fixed secondary aileron and manual aux servos in failsafe
the servo value wasn't being written to APM_RC while in failsafe for
these aux channels
2012-11-26 23:32:57 +11:00
Michael Oborne
e1659b62d2 AP remove debug include 2012-11-26 19:02:17 +08:00
Michael Oborne
b2976c1114 AP: fix ap hil. 2012-11-26 18:53:51 +08:00
Andrew Tridgell
d090d7d731 examples: mark some examples as unable to build
some are not worth fixing. Some can't build on 1280/2560
2012-11-24 21:09:55 +11:00
Andrew Tridgell
ff916d3982 RC_Channel: fixed example build 2012-11-24 21:09:00 +11:00
Andrew Tridgell
5c48988ed9 Filter: fixed example build 2012-11-24 21:08:48 +11:00
Andrew Tridgell
a3bd61cfb8 DigitalWriteFast: fixed example build 2012-11-24 21:08:36 +11:00
Andrew Tridgell
7761195f64 RangeFinder: fixed example build 2012-11-24 21:08:25 +11:00
Andrew Tridgell
cbef768b69 AP_PID: fixed example build 2012-11-24 21:08:14 +11:00
Andrew Tridgell
18fbcdf9e6 AP_InertialSensor: fixed example build 2012-11-24 21:08:06 +11:00
Andrew Tridgell
cb7979d5fd AP_GPS: fixed examples build 2012-11-24 21:07:53 +11:00
Andrew Tridgell
510d01b1c2 AP_Baro: fixed example build 2012-11-24 21:07:41 +11:00
Andrew Tridgell
a83e22181f AC_PID: fixed example build 2012-11-24 21:07:34 +11:00
rmackay9
21d72bb49b AP_InertialSensor: increase acceptable Z accel offset to be 3.0 G
Note: Z offsets do tend to be larger than x and y offsets
2012-11-23 00:34:42 +09:00
Andrew Tridgell
24c0413b7e AP_GPS: added in two more dynamic model enums 2012-11-22 16:23:29 +11:00
Andrew Tridgell
9317cb6925 APM_RC: fixed APM1 example sketch 2012-11-22 15:42:33 +11:00
Andrew Tridgell
a8edc27849 APM_RC: added a test for ISR masking in APM_RC 2012-11-22 15:42:33 +11:00
rmackay9
8c1088807c DigitalWriteFast: added keywords for syntax colouring in Arduino IDE 2012-11-22 12:25:57 +09:00
Andrew Tridgell
0cec543610 SITL: run the timer_scheduler() when there are no SITL packets
otherwise we can block in the ADC code
2012-11-21 22:20:14 +11:00
Andrew Tridgell
b103b94950 Revert "APM_RC: Modified get_last_update() to be more interrupt friendly"
This reverts commit 50ba0ce4fa41c6d4101dff8da17c267a65750522.

It didn't build, and I want to do a release based on tested code
2012-11-21 21:48:02 +11:00
Andrew Tridgell
655446feec INS: make it possible to do accel cal on a different serial port 2012-11-21 21:41:34 +11:00
Andrew Tridgell
8aa8f81b2f FastSerial: added a vprintf_P() function
used by CLI on UART2
2012-11-21 21:41:34 +11:00
Andrew Tridgell
aeb39dabb9 AP_Menu: allow menus to work on ports other than UART0 2012-11-21 21:41:34 +11:00
John Arne Birkeland
3adaffd783 APM_RC: Modified get_last_update() to be more interrupt friendly 2012-11-21 10:34:04 +01:00
Andrew Tridgell
5eeb6638f2 RC_Channel: added aileron_with_input aux function 2012-11-21 13:34:26 +11:00
Andrew Tridgell
a66da57d0a SITL: added in recursion check in timer_handler() 2012-11-21 09:10:10 +11:00
Andrew Tridgell
d6d7e2674f Semaphore: switch to SREG = oldSREG pattern for interrupt mask/restore 2012-11-20 22:31:23 +11:00
Andrew Tridgell
da6f6f3e41 PeriodicProcess: switch to SREG = oldSREG pattern for interrupt mask/restore 2012-11-20 22:31:23 +11:00
Andrew Tridgell
3646b4b846 INS: switch to SREG = oldSREG pattern for interrupt mask/restore 2012-11-20 22:31:23 +11:00
Andrew Tridgell
4673ecfdf2 AP_Baro: switch to SREG = oldSREG pattern for interrupt mask/restore 2012-11-20 22:31:17 +11:00
Andrew Tridgell
d75d97dcfb AnalogSource: switch to SREG = oldSREG pattern for interrupt mask/restore 2012-11-20 22:31:09 +11:00
Andrew Tridgell
0c8cef5714 ADC: switch to SREG = oldSREG pattern for interrupt mask/restore 2012-11-20 22:30:03 +11:00
Andrew Tridgell
27e3f0c091 SITL: fixed a interrupt recursion bug
this can be triggered by the timer scheduler re-enabling interrupts
2012-11-20 22:29:26 +11:00
Andrew Tridgell
5002be9aa8 AP_Param: fixed Vector3f elements with 16 character names 2012-11-20 22:27:11 +11:00
Andrew Tridgell
46473d7a8f AP_Param: support up to 16 character parameter names
MAVLink allows for 16 chars, with no null termination if all 16 are
used
2012-11-20 21:35:22 +11:00
Andrew Tridgell
bbb2bbc721 INS: set the acceptable calibration error equal on all axes 2012-11-20 19:28:49 +11:00
Andrew Tridgell
b9fb683236 INS: show calibration values on failure
this will help debug bad calibrations
2012-11-20 19:28:15 +11:00
Andrew Tridgell
e2afc9ea18 INS: get check for send_msg the right way around!
I broke this in my previous commit
2012-11-20 19:10:30 +11:00
Andrew Tridgell
4174cfd4a7 INS: disable accel calibration on the 1280
this would put us well over 128k in sketch size
2012-11-20 18:41:04 +11:00
Andrew Tridgell
98a806fb90 INS: make calibrate_accel() return a bool
this will allow APM to auto set MANUAL_LEVEL to 1
2012-11-20 18:32:27 +11:00
Andrew Tridgell
2a70138ad1 INS: fixed raw accel offset for APM1
we now get reasonable offset values
2012-11-20 18:32:27 +11:00
Andrew Tridgell
f2744f8ff7 INS: use vector subtraction to make code clearer 2012-11-20 18:32:27 +11:00
rmackay9
317b719a62 AP_InertialSensor: correct typo to datasheet's filename 2012-11-20 00:37:42 +09:00
Andrew Tridgell
41baa09c96 AHRS: changed the docs for AHRS_YAW_P and AHRS_RP_P
a user had set AHRS_YAW_P to zero. Make it clear that zero is not a
good value. MichaelO will change MP to give a warning for a value
below 0.1
2012-11-19 22:50:05 +11:00
Andrew Tridgell
df19bef23c SITL: don't define __AVR_ATmega2560__ on desktop build
this allows us to properly separate the desktop build in the code
2012-11-19 09:03:35 +11:00
Andrew Tridgell
1229cb06c0 DigitalWriteFast: added README about license and author 2012-11-19 08:46:47 +11:00
Andrew Tridgell
7800b27b42 AP_OpticalFlow: fixed some memory cast warnings 2012-11-19 08:42:36 +11:00
Andrew Tridgell
859401f334 AP_Limits: fixed some memory cast warnings 2012-11-19 08:42:36 +11:00
Andrew Tridgell
0534406f6d SITL: added SREG declaration 2012-11-19 08:42:36 +11:00
Andrew Tridgell
7c90931306 DigitalWriteFast: fixed memory cast to work on SITL build 2012-11-19 08:25:53 +11:00
Andrew Tridgell
85b87b752a APM: change WIND direction to match convention
Thanks to Leo Hogg for pointing this out
2012-11-19 07:16:47 +11:00
rmackay9
55e47f5504 DigitalWriteFast: first addition of lib to speed up read and writes of analog pins 2012-11-19 01:07:10 +09:00
rmackay9
85a77554e1 Filter: improved low pass filter allows setting gain using time_step and cutoff freq 2012-11-19 01:06:06 +09:00
rmackay9
2374806bfc APM_RC: allow ppm sum for as few as 5 channels 2012-11-16 11:07:11 +09:00
rmackay9
25d404587c APM_RC: fix _last_update definition to resolve build error 2012-11-16 10:00:56 +09:00
John Arne Birkeland
47d2602019 APM_RC - Interupt safe get_last_update(); 2012-11-15 22:42:28 +01:00
rmackay9
414f9b9759 ArduCopter, APM_RC: failsafe if PPM encoder fails to update for 2 seconds 2012-11-15 23:35:36 +09:00
Andrew Tridgell
e28cbed1e9 AP_AHRS: prevent a large delta_t from affecting DCM solution
this should fix large changes in attitude directly after arming
ArduCopter
2012-11-13 15:33:10 +11:00
Andrew Tridgell
a523c319ce SITL: fixed build with new sonar driver 2012-11-13 15:12:38 +11:00
rmackay9
48fcf1ee8b AP_RangeFinder_MaxsonarI2CXL: fix compiler error re undefine I2c 2012-11-12 12:23:46 +09:00
rmackay9
7681e25d99 AP_RangeFinder_MaxsonarI2CXL: resolve shadowed variable compiler warning 2012-11-12 10:41:09 +09:00
Andrew Tridgell
7868d5ed3d AP_Compass: force I2C speed low in a couple more situations 2012-11-12 11:26:20 +11:00
Andrew Tridgell
d43f61de3c I2C:: catch some more types of I2C errors for error count 2012-11-12 11:25:07 +11:00
Andrew Tridgell
9b42a97de9 AP_Compass: print I2C error count in test sketch 2012-11-12 10:28:26 +11:00
rmackay9
242ab5325f AP_RangeFinder: added support for MaxBotix XL I2C sonar 2012-11-12 00:25:29 +09:00
rmackay9
fb91be06f2 AP_IMU: delete now that all functionality is moved to AP_InertialSensor 2012-11-11 22:44:36 +09:00
Jason Short
efeffc1c4b APM1 Dataflash update
My data flash would never erase, this fixed it.
2012-11-09 22:15:16 -08:00
John Arne Birkeland
77c35d0ae4 Optimized APM_RC.InputCh() to prevent global interrupt disable each time a value is read. 2012-11-08 01:03:24 +01:00
rmackay9
caeeca3c3c AP_Motors, AP_RangeFinder, Filter: fixes to example sketches 2012-11-08 00:29:43 +09:00
rmackay9
4053346022 AP_AHRS: fix example sketch
AP_Airspeed: fix example sketch
AP_Baro: fix example sketch
AP_Declination: fix example sketch
AP_Math: fix example sketch
2012-11-08 00:08:18 +09:00
rmackay9
93010fc79f AC_PID: fixed example sketch's compile errors 2012-11-07 23:34:10 +09:00
rmackay9
34ae673058 AP_Mount: resolve compiler warning about unused mount_open variable 2012-11-07 23:29:25 +09:00
rmackay9
56f374fc7d AP_InertialNav: reanme AP_InertialNav and ThirdOrderCompFilter classes to resolve desktop build compiler errors 2012-11-07 22:24:00 +09:00
rmackay9
3fcc38315f AP_InertialNav: removed IMU.h to fix compiler error from example sketch 2012-11-07 19:48:13 +09:00
rmackay9
4ad8c402b0 ThirdOrderCompFilter3D: fix compiler error 2012-11-07 19:47:48 +09:00
rmackay9
c717d333b0 AP_Baro: added get_last_update which returns the time the barometer sensor was last read 2012-11-07 19:21:25 +09:00