Commit Graph

2150 Commits

Author SHA1 Message Date
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
rmackay9
9e3824a09b AP_AHRS: fix compile error in example sketch 2012-11-01 21:56:34 +09:00
rmackay9
0159d8bd35 AP_Motors: bug fix to reached_limits so by default it returns true if any limits have been breached 2012-10-31 22:00:17 +09:00
Andrew Tridgell
024e5c3cc7 RC_Channel: added set_radio() and set_radio_to_trim() functions 2012-10-31 12:43:53 +11:00
Xichen Shi
8c46fced16 APM: Added functionality to use differential spoilers in elevon mode
spoiler 1 and 2 are connected to 2 auxiliary channels, functions are
set to 16 on left wing and 17 om right wing respectively. Worked in
FBW + mode (auto etc.). No manual mode supported yet (need more
channels in my case).
2012-10-31 12:43:42 +11:00
rmackay9
09485ddc5f AP_OpticalFlow: fix example sketch to work with modified AP_Opticalflow library after memory saves 2012-10-22 16:41:45 +09:00
rmackay9
79fc5f072e AP_Curve: replace Serial.print with Serial.print_P to save 18 bytes of memory 2012-10-22 16:40:57 +09:00
rmackay9
57439b662c AP_OpticalFlow: change Serial.print to Serial.print_P to save 27 bytes 2012-10-22 16:37:24 +09:00
rmackay9
bff3417d29 AP_Limit_Geofence: reduce maximum number of fence points to 6 from 20 to save memory 2012-10-22 16:34:25 +09:00
Pat Hickey
d728ccb620 AP_Menu unit test fixup 2012-10-18 21:08:37 -07:00
Pat Hickey
1bf21aae20 AP_Menu: create new library with menu from AP_Common 2012-10-18 20:50:16 -07:00
Andrew Tridgell
eb0dd45a11 Desktop: fixed build with recent SPI changes 2012-10-19 11:21:42 +11:00
rmackay9
0bcf581a17 Desktop: fix build error 2012-10-18 19:33:31 +09:00
rmackay9
3f7b2dbda7 Desktop: add AP_Semaphore to list of includes for DataFlash_APM1.cpp 2012-10-18 19:25:53 +09:00
rmackay9
1958169e30 SPI3: add checks that SPI bus has been initialised to reduce possibility of interfering with UART3 on APM1 2012-10-18 19:17:24 +09:00
rmackay9
17afd075c1 DataFlash_APM1: use spi_semaphore to avoid conflicts with optical flow 2012-10-18 17:03:50 +09:00
rmackay9
a1b4531545 AP_OpticalFlow: added ability to pass in semaphores for main spi bus to stop conflicts with dataflash on APM1 2012-10-18 17:02:45 +09:00
rmackay9
785d9ca6a7 DataFlash_APM2: renamed semaphore to spi3_semaphore to make it more obvious which semaphore is required. 2012-10-18 17:00:05 +09:00
Andrew Tridgell
a53cbc08f3 GPS: avoid output delays in the GPS auto detection
this sends out the GPS init strings in 16 byte chunks to avoid causing
timing glitches when no GPS is attached
2012-10-18 16:18:32 +11:00
Andrew Tridgell
a979fb6014 AP_AnalogSource: added set_pin() interface
this allows pin numbers to be changed at runtime
2012-10-16 17:20:15 +11:00
Andrew Tridgell
5642922ca7 RC_Channel: simplify the example
use an array of channels
2012-10-16 15:50:54 +11:00
Andrew Tridgell
86b509a609 RC_Channel: ensure _reverse is not 0
this caused the example to fail
2012-10-16 15:50:29 +11:00
Pat Hickey
f48568c9a6 MultiFastSerial example sketch: notes on fatal error in avr-gcc 4.5.x 2012-10-15 20:42:19 -07:00
Pat Hickey
e84a467311 FastSerial example sketch: Depend on AP_Common for PSTR definitions 2012-10-15 20:42:18 -07:00
Pat Hickey
76e93e9fd7 AP_Common: PSTR def has specific version for avr-gcc 4.6 compatibility
* Also a small change in FastSerial/vprintf.cpp, which duplicates the
  PSTR definition
* Won't effect others using earlier versions of avr-gcc
2012-10-15 20:42:18 -07:00
Pat Hickey
2936dbb9de RC_Channel unit test: fixed build, functionality still wrong 2012-10-15 10:37:29 -07:00
Pat Hickey
d75ca684cc MultiFastSerial test: make it easier to observe which serial port causes crash 2012-10-14 21:08:33 -07:00
Pat Hickey
930d387b8d FastSerial: add extra example sketch MultiFastSerial to test multiple ports 2012-10-14 18:58:12 -07:00
rmackay9
c0cf2d6f38 AP_Motors: added reached_limit method which returns bit mask indicating which control inputs could not be achieved 2012-10-11 17:19:54 +09:00
Andrew Tridgell
00bf548f87 AHRS: limit wind speed estimate changes
sudden yaw changes can cause bad wind estimates
2012-10-11 11:51:24 +11:00
Andrew Tridgell
e8c4dedcd7 AP_OBC: fixed resume on GPS loss 2012-10-11 11:51:24 +11:00
Pat Hickey
8a6017ea48 AP_ADC_test: fix build of test regressions.
I'm not convinced I was able to make the timing test meaningful.
Someone should please lookinto this.
2012-10-09 15:23:40 -07:00
Pat Hickey
aa210d7e99 AP_DataFlash_test wibble 2012-10-09 11:39:09 -07:00
Pat Hickey
605f89fa69 DataFlash_APM2: private AP_Semaphore* rather than use extern AP_Semaphore_spi3
The AP_Semaphore* argument to the constructor can be null (and is by
default for compatibility). Semaphore is only used when non-null.
2012-10-09 11:38:52 -07:00
Pat Hickey
5ac21b71ce AP_OpticalFlow_test: fix build with NULL semaphore. 2012-10-09 11:36:21 -07:00