Robert Lefebvre
1d12b781a0
AC_PID: Create Leaky Integrator Function.
2012-11-26 21:01:20 -05:00
Robert Lefebvre
6b1fee767a
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
1059ef2a54
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
1a3a7d173a
AP remove debug include
2012-11-26 19:02:17 +08:00
Michael Oborne
ed61ef61ed
AP: fix ap hil.
2012-11-26 18:53:51 +08:00
Andrew Tridgell
471d672e54
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
9c3865b924
RC_Channel: fixed example build
2012-11-24 21:09:00 +11:00
Andrew Tridgell
5a0632340c
Filter: fixed example build
2012-11-24 21:08:48 +11:00
Andrew Tridgell
e7ad044019
DigitalWriteFast: fixed example build
2012-11-24 21:08:36 +11:00
Andrew Tridgell
2f8e467ab2
RangeFinder: fixed example build
2012-11-24 21:08:25 +11:00
Andrew Tridgell
a096a3fda1
AP_PID: fixed example build
2012-11-24 21:08:14 +11:00
Andrew Tridgell
7ea18d5a61
AP_InertialSensor: fixed example build
2012-11-24 21:08:06 +11:00
Andrew Tridgell
57d3609d00
AP_GPS: fixed examples build
2012-11-24 21:07:53 +11:00
Andrew Tridgell
3552f3f9c5
AP_Baro: fixed example build
2012-11-24 21:07:41 +11:00
Andrew Tridgell
eb5ac90e12
AC_PID: fixed example build
2012-11-24 21:07:34 +11:00
rmackay9
74daf73c49
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
2e63b3ae8e
AP_GPS: added in two more dynamic model enums
2012-11-22 16:23:29 +11:00
Andrew Tridgell
d5e1a75616
APM_RC: fixed APM1 example sketch
2012-11-22 15:42:33 +11:00
Andrew Tridgell
d0a2feb99c
APM_RC: added a test for ISR masking in APM_RC
2012-11-22 15:42:33 +11:00
rmackay9
e32e0b03b4
DigitalWriteFast: added keywords for syntax colouring in Arduino IDE
2012-11-22 12:25:57 +09:00
Andrew Tridgell
0dc8dd5394
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
a71c7b336d
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
11141d0af0
INS: make it possible to do accel cal on a different serial port
2012-11-21 21:41:34 +11:00
Andrew Tridgell
d44ceb3fa5
FastSerial: added a vprintf_P() function
...
used by CLI on UART2
2012-11-21 21:41:34 +11:00
Andrew Tridgell
ba4b9b9961
AP_Menu: allow menus to work on ports other than UART0
2012-11-21 21:41:34 +11:00
John Arne Birkeland
e194c6c740
APM_RC: Modified get_last_update() to be more interrupt friendly
2012-11-21 10:34:04 +01:00
Andrew Tridgell
d2170230f4
RC_Channel: added aileron_with_input aux function
2012-11-21 13:34:26 +11:00
Andrew Tridgell
07f5baea9e
SITL: added in recursion check in timer_handler()
2012-11-21 09:10:10 +11:00
Andrew Tridgell
833d433caf
Semaphore: switch to SREG = oldSREG pattern for interrupt mask/restore
2012-11-20 22:31:23 +11:00
Andrew Tridgell
6836a986f3
PeriodicProcess: switch to SREG = oldSREG pattern for interrupt mask/restore
2012-11-20 22:31:23 +11:00
Andrew Tridgell
f843705da3
INS: switch to SREG = oldSREG pattern for interrupt mask/restore
2012-11-20 22:31:23 +11:00
Andrew Tridgell
e331634bc5
AP_Baro: switch to SREG = oldSREG pattern for interrupt mask/restore
2012-11-20 22:31:17 +11:00
Andrew Tridgell
fc63087cb8
AnalogSource: switch to SREG = oldSREG pattern for interrupt mask/restore
2012-11-20 22:31:09 +11:00
Andrew Tridgell
c1a02e49a0
ADC: switch to SREG = oldSREG pattern for interrupt mask/restore
2012-11-20 22:30:03 +11:00
Andrew Tridgell
ccb1f1722e
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
3c88b0d204
AP_Param: fixed Vector3f elements with 16 character names
2012-11-20 22:27:11 +11:00
Andrew Tridgell
b0713ba412
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
a7e537d6c0
INS: set the acceptable calibration error equal on all axes
2012-11-20 19:28:49 +11:00
Andrew Tridgell
40fc0feaf9
INS: show calibration values on failure
...
this will help debug bad calibrations
2012-11-20 19:28:15 +11:00
Andrew Tridgell
85e050f16c
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
fd3993287d
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
9c811671f1
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
152c12c283
INS: fixed raw accel offset for APM1
...
we now get reasonable offset values
2012-11-20 18:32:27 +11:00
Andrew Tridgell
3776e6108f
INS: use vector subtraction to make code clearer
2012-11-20 18:32:27 +11:00
rmackay9
8ccac5da3d
AP_InertialSensor: correct typo to datasheet's filename
2012-11-20 00:37:42 +09:00
Andrew Tridgell
5a214acca3
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
17c115d2aa
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
7181780d3a
DigitalWriteFast: added README about license and author
2012-11-19 08:46:47 +11:00
Andrew Tridgell
8311062610
AP_OpticalFlow: fixed some memory cast warnings
2012-11-19 08:42:36 +11:00
Andrew Tridgell
10b8030e62
AP_Limits: fixed some memory cast warnings
2012-11-19 08:42:36 +11:00
Andrew Tridgell
fe23d27904
SITL: added SREG declaration
2012-11-19 08:42:36 +11:00
Andrew Tridgell
9e9c08b6d7
DigitalWriteFast: fixed memory cast to work on SITL build
2012-11-19 08:25:53 +11:00
Andrew Tridgell
8d1905a40b
APM: change WIND direction to match convention
...
Thanks to Leo Hogg for pointing this out
2012-11-19 07:16:47 +11:00
rmackay9
67fadd337d
DigitalWriteFast: first addition of lib to speed up read and writes of analog pins
2012-11-19 01:07:10 +09:00
rmackay9
957d366cca
Filter: improved low pass filter allows setting gain using time_step and cutoff freq
2012-11-19 01:06:06 +09:00
rmackay9
01dc9fbe3e
APM_RC: allow ppm sum for as few as 5 channels
2012-11-16 11:07:11 +09:00
rmackay9
47b1bc30d3
APM_RC: fix _last_update definition to resolve build error
2012-11-16 10:00:56 +09:00
John Arne Birkeland
4258490cd8
APM_RC - Interupt safe get_last_update();
2012-11-15 22:42:28 +01:00
rmackay9
73ed6c9dbf
ArduCopter, APM_RC: failsafe if PPM encoder fails to update for 2 seconds
2012-11-15 23:35:36 +09:00
Andrew Tridgell
8561f08b2f
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
e9e01ae28a
SITL: fixed build with new sonar driver
2012-11-13 15:12:38 +11:00
rmackay9
4bfd3d5a29
AP_RangeFinder_MaxsonarI2CXL: fix compiler error re undefine I2c
2012-11-12 12:23:46 +09:00
rmackay9
f68523b39b
AP_RangeFinder_MaxsonarI2CXL: resolve shadowed variable compiler warning
2012-11-12 10:41:09 +09:00
Andrew Tridgell
daa4712078
AP_Compass: force I2C speed low in a couple more situations
2012-11-12 11:26:20 +11:00
Andrew Tridgell
27ff999319
I2C:: catch some more types of I2C errors for error count
2012-11-12 11:25:07 +11:00
Andrew Tridgell
8c2dadc12f
AP_Compass: print I2C error count in test sketch
2012-11-12 10:28:26 +11:00
rmackay9
321d40f73a
AP_RangeFinder: added support for MaxBotix XL I2C sonar
2012-11-12 00:25:29 +09:00
rmackay9
71a0022f34
AP_IMU: delete now that all functionality is moved to AP_InertialSensor
2012-11-11 22:44:36 +09:00
Jason Short
c848fe18a5
APM1 Dataflash update
...
My data flash would never erase, this fixed it.
2012-11-09 22:15:16 -08:00
John Arne Birkeland
97d85de361
Optimized APM_RC.InputCh() to prevent global interrupt disable each time a value is read.
2012-11-08 01:03:24 +01:00
rmackay9
50a4838879
AP_Motors, AP_RangeFinder, Filter: fixes to example sketches
2012-11-08 00:29:43 +09:00
rmackay9
56f88821e9
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
41489f34f9
AC_PID: fixed example sketch's compile errors
2012-11-07 23:34:10 +09:00
rmackay9
6bbf66697b
AP_Mount: resolve compiler warning about unused mount_open variable
2012-11-07 23:29:25 +09:00
rmackay9
b13264c884
AP_InertialNav: reanme AP_InertialNav and ThirdOrderCompFilter classes to resolve desktop build compiler errors
2012-11-07 22:24:00 +09:00
rmackay9
61dd405910
AP_InertialNav: removed IMU.h to fix compiler error from example sketch
2012-11-07 19:48:13 +09:00
rmackay9
5f34d41b59
ThirdOrderCompFilter3D: fix compiler error
2012-11-07 19:47:48 +09:00
rmackay9
1c7118a2d1
AP_Baro: added get_last_update which returns the time the barometer sensor was last read
2012-11-07 19:21:25 +09:00
rmackay9
d9b4407e64
AP_InertialSensor: changes after review with Tridge.
...
sanity checking added to accelerometer calibration routine.
user feedback is sent using gcs_send_text_fmt instead of Serial.printf.
moved ins parameters to new eeprom number to avoid conflicts with older parameters.
other small changes including renaming of functions and parameters.
2012-11-07 19:21:15 +09:00
rmackay9
68bdf93a4d
APM_Control: move reliance from IMU to INS
2012-11-07 19:20:54 +09:00
rmackay9
7f190b8494
AP_InertialNav: first implementation of inertial nav library
2012-11-07 19:20:49 +09:00
rmackay9
dc7146c9ce
ThirdOrderCompFilter3D: first implementation of complementary filter for use with inertial navigation
2012-11-07 19:20:43 +09:00
rmackay9
48f1955f8e
AP_Buffer: initial implementation of FIFO buffer for use with inertial nav
2012-11-07 19:20:37 +09:00
rmackay9
83ae8e47be
AP_AHRS: replace IMU with INS and add roll and pitch trim
2012-11-07 19:20:32 +09:00
rmackay9
49de46a548
AP_InertialSensor: merge in calibration features from IMU library
...
add gauss-newton method of accelerometer calibration
2012-11-07 19:20:27 +09:00
Andrew Tridgell
403721f8ca
AP_AnalogSource: allow for the 'NONE' pin in Arduino ADC
...
This allows us to have a configuration parameter for a pin which
defaults to -1, meaning not to read a pin at all. It will always
return 0
2012-11-06 21:45:40 +11:00
Andrew Tridgell
736cb4c34b
AP_Var: move the MetaClass lib into AP_Var
...
AP_Var is the only one that uses it, and it generates warnings in our
build if we leave it in AP_Common
2012-11-06 21:42:54 +11:00
Andrew Tridgell
cd0672ce94
SITL: set a reasonable number of satellites in simulated uBlox
2012-11-06 14:26:49 +11:00
Andrew Tridgell
fe47990dab
AP_AHRS: removed the 6 sats min
...
this would put us into dead-reckoning mode
2012-11-06 14:26:49 +11:00
Andrew Tridgell
f58abb7550
RC_Channel: added pwm_to_angle_dz() function
...
will be used by k_aileron in APM
2012-11-05 23:37:25 +11:00
Andrew Tridgell
ef919c4e36
AP_Param: fixed a bug with setting nested parameters
...
This bug meant that setting a parameter in a parent class for a doubly
nested parameter group, where the parameter index in the parent class
is 4 or greater would actually set the first element in that parent
class.
At the moment only one parameter fits these narrow constraints - the
RCn_DZ element of the RC_Channel_aux class. So if someone set RC5_DZ
to 17 in ArduPlane it would actually set RC5_MIN to 17.
2012-11-05 22:08:43 +11:00
Andrew Tridgell
d57566ad0e
RC_Channel: removed set_filter() and scale_output
...
these unused options were costing 5 bytes per channel, for a total of
50 bytes on ArduCopter
2012-11-05 20:49:42 +11:00
Andrew Tridgell
6a24bdec05
AP_AHRS: require at least 6 satellites to use the GPS for velocity
...
logs of a recent flight show the velocity estimate can be very poor if
the GPS can see 5 satellites or less
2012-11-05 20:07:37 +11:00
Andrew Tridgell
984b1086cb
AP_GPS_UBLOX: ask for nav settings every 20 seconds
...
this ensures we don't run with the wrong nav settings on a uBlox if
we get a bad checksum on the initial nav settings message
2012-11-05 14:58:40 +11:00
Andrew Tridgell
72e97c6dfc
AP_GPS: start detection timer on first bytes
...
this prevents a uBlox plugged in late from being detected as a NMEA
GPS
2012-11-05 14:58:40 +11:00
Andrew Tridgell
6f9fa7d3b3
AP_GPS: removed shadowed class variable _nav_setting
...
this caused a uBlox to incorrectly configure as "portable" instead of
airborne if the detection took more than 2 seconds. That led to
terrible performance.
2012-11-05 14:58:40 +11:00
Andrew Tridgell
ea40432235
AP_AHRS: use GPS vertical velocity when available
2012-11-05 14:58:40 +11:00
Andrew Tridgell
e74e730992
AP_GPS: added velocity_down() call
...
on GPSes with raw velocity support this will be used for DCM
correction
2012-11-05 14:58:40 +11:00
rmackay9
3fd07805a7
AP_Math: added rotation method accuracy test to example sketch
2012-11-04 13:05:37 +09:00
rmackay9
d6324b3964
AP_Math: fix compile errors example sketches
2012-11-04 11:55:59 +09:00