Andrew Tridgell
49d3d624d7
DataFlash: enabled DataFlash_File for Linux
2013-09-28 21:24:02 +10:00
Andrew Tridgell
bcf4f48e65
HAL_Linux: switched to pthread based scheduling
2013-09-28 21:24:02 +10:00
Andrew Tridgell
da14ad2e2d
AP_Compass: neaten up HMC5883 debug
2013-09-28 21:24:02 +10:00
Andrew Tridgell
ce7d458855
AP_Compass: added Linux support to the compass test
2013-09-28 21:24:02 +10:00
Andrew Tridgell
6fc5b06043
AP_Compass: fixed some old Serial.print calls
2013-09-28 21:24:02 +10:00
Andrew Tridgell
58a31318ee
AP_HAL_Linux: initial I2C driver implementation
...
this works sufficiently for the HMC5883
2013-09-28 21:24:02 +10:00
Andrew Tridgell
6b95d870ad
AP_Progmem: only AVR uses progmem
...
no need to list all other boards
2013-09-28 21:24:02 +10:00
Andrew Tridgell
1f3a051e7b
AP_Progmem: Linux doesn't use progmem
2013-09-28 21:24:02 +10:00
Andrew Tridgell
018b8fde95
AP_Notify: blank Linux LED defines
2013-09-28 21:24:02 +10:00
Andrew Tridgell
1243ab9e63
AP_Compass: added HAL_Linux support
2013-09-28 21:24:02 +10:00
Andrew Tridgell
296417a228
AP_HAL: added AP_HAL_LINUX define
2013-09-28 21:24:01 +10:00
Andrew Tridgell
4ba044c441
AP_HAL_Linux: initial Linux AP_HAL
2013-09-28 21:24:01 +10:00
Andrew Tridgell
096660c4f9
AP_InertialSensor: mark flymaple as nobuild
...
won't build with build_examples.sh script
2013-09-27 16:57:13 +10:00
Mike McCauley
e4eef61ec3
AP_InertialSensor: Flymaple sensors improvements
...
Flymaple sensors are now raw sampled at 800Hz, and LowPassFilter2p is used
to filter to the desired filter cutoff frequency.
Flymaple sensor polling is done in the main thread NOT in the timer
interrupts.
2013-09-27 15:45:59 +10:00
Mike McCauley
23429b6b9c
AP_InertialSensor: Flymaple now polls sensors at 800Hz. More changes to
...
come...
2013-09-27 15:45:57 +10:00
Mike McCauley
29bced05bd
AP_InertialSensor: Added examples/Flymaple for testing
2013-09-27 15:45:54 +10:00
Mike McCauley
d11f952ef1
AP_InertialSensor: Formalise and document Flymaple Gyro scaling factor
2013-09-27 15:45:52 +10:00
Mike McCauley
db2b7ed4e3
AP_HAL_FLYMAPLE: UARTDriver libmaple internal ring buffers enlarge on demand
2013-09-27 15:45:49 +10:00
Mike McCauley
adfcdca074
AP_HAL_FLYMAPLE: Sensor reading improvements
...
I2C speed increased to 400kHz
Accelerometer 8g max, Normal power, 800Hz bandwidth
Gyros: 2000 degrees/sec, 256Hz LPF, 8kHz internal sample rate
2013-09-27 15:45:47 +10:00
Randy Mackay
f7ba0438ef
InertialSensor: remove DMP
...
this saves 3K of flash
2013-09-27 10:43:33 +09:00
Randy Mackay
8306d74da0
AHRS: remove DMP as an ahrs
2013-09-27 10:42:46 +09:00
Andrew Tridgell
14636e1cdf
AP_InertialSensor: changed num_samples_available() to sample_available()
...
this makes the interface clearer. It also fixes a 3D accel cal bug.
2013-09-27 10:49:00 +10:00
Andrew Tridgell
99da118faa
Filter: added in Leonards LowPassFilter2p filter
...
this is a backport from PX4
2013-09-26 22:38:32 +10:00
Andrew Tridgell
3c86fceed9
AP_Progmem: removed SMACCM support
2013-09-26 22:38:32 +10:00
Andrew Tridgell
2469dcf8e6
AP_Notify: removed SMACCM support
2013-09-26 22:38:31 +10:00
Andrew Tridgell
1ec5cbed81
AP_InertialSensor: removed SMACCM support
2013-09-26 22:38:31 +10:00
Andrew Tridgell
60f3a8b6cf
AP_HAL: removed SMACCM support
2013-09-26 22:38:31 +10:00
Andrew Tridgell
3f0f8dfa62
AP_Compass: removed SMACCM support
2013-09-26 22:38:31 +10:00
Andrew Tridgell
13cdc56a5a
AP_Common: removed SMACCM support
2013-09-26 22:38:31 +10:00
Andrew Tridgell
58f9349af4
HAL_SMACCM: removed SMACCM HAL port
...
this port is no longer maintained or used. Pat asked me to remove it
2013-09-26 22:38:31 +10:00
Randy Mackay
f144de21b4
AC_Fence: fix example sketch
2013-09-26 17:52:13 +09:00
Randy Mackay
e5c5084e76
InertialNav: fix example sketch
2013-09-26 14:40:32 +09:00
Mike McCauley
708c603420
AP_HAL_FLYMAPLE: UARTDriver now has correct implementation of txspace that looks at HardwareSerial ring buffer
2013-09-25 15:46:07 +10:00
Mike McCauley
e4b5d0a3d6
AP_InertialSensor: Final Flymaple orientation fixes
2013-09-25 15:46:07 +10:00
Mike McCauley
276068356e
AP_InertialSensor: Further Flymaple orientation fixes
2013-09-25 15:46:07 +10:00
Mike McCauley
06478bde52
AP_HAL_FLYMAPLE: Console is now a thin wrapper around uartA, consistent with AVR
2013-09-25 15:46:07 +10:00
Mike McCauley
b02dbca9d4
AP_InertialSensor: fix orientation of Flymaple sensors
2013-09-25 15:46:07 +10:00
Mike McCauley
4cd952446d
AP_HAL_FLYMAPLE: added documentation about safety of noInterrupts()/interrupts()
2013-09-25 15:46:07 +10:00
Randy Mackay
ab71f2e535
AP_Camera: remove unused methods
...
throttle_pic, distance_pic and transistor_pic were not defined nor
called
2013-09-24 23:25:54 +09:00
Randy Mackay
cddbaf0459
GPS_Glitch: make accessor functions const
2013-09-24 21:41:56 +09:00
Randy Mackay
55c94b3b41
GPS_Glitch: bug fix for enable/disable parameter
2013-09-24 21:41:54 +09:00
Randy Mackay
54cb815fec
AP_Notify: add gps glitching and failsafe flags
2013-09-24 21:41:51 +09:00
Randy Mackay
a2c0415ba9
GPS_Glitch: make enable/disable a parameter
2013-09-24 21:41:42 +09:00
Randy Mackay
78124f2fca
GPS_Glitch: remove unused recovered flag
2013-09-24 21:41:38 +09:00
Randy Mackay
90953a96e5
ToshibaLED: flash blue-yellow for gps failsafe and glitch
2013-09-24 21:41:25 +09:00
Randy Mackay
4bac26171b
AP_Notify: add gps_glitch flag
2013-09-24 21:41:22 +09:00
Randy Mackay
262fcb301a
InertialNav: rename set_current_position to set_home_position
2013-09-24 21:41:19 +09:00
Randy Mackay
81dd4f8b0c
InertialNav: integrate GPS glitch detection
2013-09-24 21:41:13 +09:00
Randy Mackay
4dcfce7104
GPS_Glitch: glitch detection class
2013-09-24 21:41:10 +09:00
Randy Mackay
c6a99ac24a
AutoTest: add support for GPS glitching
2013-09-24 21:41:04 +09:00
Andrew Tridgell
c1d56f74b5
AP_Common: change flymaple product ID to 0x100
...
keep it well away from the Invensense product IDs for the MPU6000
2013-09-24 13:51:28 +10:00
Mike McCauley
7850d1f2ce
AP_Progmem: Add Flymaple support
2013-09-24 13:51:28 +10:00
Mike McCauley
b7e182e056
AP_Notify: Add flymaple LED definitions
2013-09-24 13:51:28 +10:00
Mike McCauley
4d10a96077
AP_InertialSensor: Add flymaple support
2013-09-24 13:51:27 +10:00
Mike McCauley
ec5425578e
AP_HAL: Added Flymaple board
2013-09-24 13:33:25 +10:00
Mike McCauley
8f61a36e58
AP_Common: Flymaple compatibility
2013-09-24 13:33:25 +10:00
Mike McCauley
e3c20f06ac
AP_Baro: Chnages to flymaple port.
...
Flymaple has no EOC pin
2013-09-24 13:33:25 +10:00
Mike McCauley
c1d3bedb60
AP_Airspeed: changes for Flymaple port pins and caibration constants
2013-09-24 13:33:25 +10:00
Mike McCauley
9bfc52d9af
HAL_FLYMAPLE: initial port to flymaple board
...
See libraries/AP_HAL_FLYMAPLE/FlymaplePortingNotes.txt
2013-09-24 13:32:50 +10:00
Mike McCauley
2fa0c39f3a
AP_Compass: added Flymaple orientation
2013-09-24 13:18:35 +10:00
Andrew Tridgell
37ad9e3f82
PID: fixed example build
2013-09-24 11:57:21 +10:00
Andrew Tridgell
d64660739e
AP_OpticalFlow: fixed example build
2013-09-24 11:57:14 +10:00
Andrew Tridgell
448167e958
AP_GPS: fixed examples build
2013-09-24 11:57:03 +10:00
Andrew Tridgell
af2d7232c5
APM_Control: make the default time constant 0.75
...
thanks to Tom for the testing!
2013-09-24 07:37:12 +10:00
Andrew Tridgell
770b7b5901
AP_InertialSensor: prevent a lockup in MPU6000 driver
...
thanks to the VRBrain port for noticing this bug.
Failing to get the semaphore is an expected error with the MPU6000, as
we read data both from timer context and mainline code. That means
semaphore conflicts are inevitable. We shouldn't consider them an
error, and shouldn't panic when some arbitrary number of them have
happened since boot.
Instead the wait_for_sample() code checks that we receive new data at
least every 50ms. That is a much safer test.
2013-09-23 22:48:36 +10:00
Andrew Tridgell
36ea705956
AP_OpticalFlow: fixed build with print() API change
2013-09-23 18:10:22 +10:00
Andrew Tridgell
0e9aef7e52
AP_HAL: changed base defines for print()
...
this avoids a conflict with wirish from libmaple
2013-09-23 18:10:21 +10:00
Mike McCauley
2e061fc507
AP_Param: Fix compiler warning on Flymaple
2013-09-23 18:10:21 +10:00
Mike McCauley
4c65c42411
AP_Compass: fixed ARM 32 bit compatibility
2013-09-23 18:10:21 +10:00
Andrew Tridgell
87bb3bc5dc
AP_HAL: added AP_HAL_PX4 define
2013-09-22 16:02:42 +10:00
Andrew Tridgell
21010104e6
AP_HAL_Empty: added register_io_process()
2013-09-22 16:02:05 +10:00
Andrew Tridgell
928e06f52c
AP_HAL: use fabs() in print
...
fixes build on Arduino
2013-09-22 13:18:40 +10:00
Andrew Tridgell
45d9140946
AP_HAL_SMACCM: updates for new API
2013-09-22 12:22:15 +10:00
Andrew Tridgell
40af9ab674
AP_HAL_PX4: updates for new API
2013-09-22 12:22:05 +10:00
Andrew Tridgell
d0bb998352
AP_HAL_Empty: updates for new API
2013-09-22 12:21:54 +10:00
Andrew Tridgell
dbb70fc57c
AP_HAL_AVR_SITL: implement betterstream functions in AP_HAL
...
this gives more consistancy between ports
2013-09-22 12:21:22 +10:00
Andrew Tridgell
33fe27a104
AP_HAL_AVR: implement betterstream functions in AP_HAL
...
this gives more consistancy between ports
2013-09-22 12:21:11 +10:00
Andrew Tridgell
d46f5f6943
AP_HAL: implement betterstream functions in AP_HAL
...
this gives more consistancy between ports
2013-09-22 12:20:59 +10:00
Michael Oborne
54fc004956
SITL: fix sitl timer issues under cygwin
2013-09-21 22:06:38 +10:00
Andrew Tridgell
fc119d9b80
AP_Baro: cleaned up temperature and pressure units
...
thanks to Mike McCauley for pointing this out
2013-09-21 21:30:41 +10:00
Andrew Tridgell
7de47931a8
DataFlash: use %f not %.6f
2013-09-21 15:48:39 +10:00
Andrew Tridgell
16a7faa223
AP_Param: use %f not %.6f for param show
2013-09-21 15:45:19 +10:00
Andrew Tridgell
0d662c52b3
AP_HAL: fixed length return from snprintf
2013-09-21 15:45:05 +10:00
Andrew Tridgell
0063f1fad8
AP_HAL: added Util.cpp
...
common printf functions
2013-09-21 14:25:42 +10:00
Andrew Tridgell
05b426c1fc
HAL_PX4: use common printf implementation on UARTs
2013-09-21 14:23:52 +10:00
Andrew Tridgell
f5c0f765fc
AP_HAL_SMACCM: use common printf implementation
2013-09-21 14:23:13 +10:00
Andrew Tridgell
b9d6f8e8b1
AP_HAL_AVR: removed unused script
2013-09-21 13:30:02 +10:00
Andrew Tridgell
85b3f0d18d
AP_HAL: expanded printf test suite
2013-09-21 13:29:52 +10:00
Andrew Tridgell
e12a4178f3
AP_HAL_SMACCM: convert to new AP_HAL printf
2013-09-21 13:29:40 +10:00
Andrew Tridgell
80e2a5cc32
AP_HAL_PX4: convert to new AP_HAL printf
2013-09-21 13:29:32 +10:00
Andrew Tridgell
4c1925b578
AP_HAL_Empty: convert to new AP_HAL printf
2013-09-21 13:29:22 +10:00
Andrew Tridgell
bb44fa4385
AP_HAL_AVR_SITL: convert to new AP_HAL printf
2013-09-21 13:29:12 +10:00
Andrew Tridgell
60122f9877
AP_HAL: moved printf implementation from AP_HAL_AVR to AP_HAL
...
this gives a common printf implementation on all boards, which
simplifies testing, and also simplifies porting to new boards
2013-09-21 13:28:46 +10:00
Andrew Tridgell
4ad4b60fbc
HAL: added Printf test sketch
...
for testing new non-asm printf code
2013-09-21 11:16:08 +10:00
Andrew Tridgell
16a0dfc38c
HAL_AVR: changed to C implementation of float formatting
...
Many thanks to Soren Kuula for this work!
2013-09-21 11:16:08 +10:00
Randy Mackay
4b18c670e3
DataFlash: explicitly print floats to 6 dec places
...
C++ default is to print 6 decimal places but nuttx displays none by
default
2013-09-20 22:13:02 +09:00
Randy Mackay
3f84e0adf6
AP_Param: explicitly print floats to 6 dec places
...
C++ default is to print 6 decimal places but nuttx displays none by
default
2013-09-20 22:12:33 +09:00
Andrew Tridgell
4d2bfe1078
AP_InertialSensor: fixed another example build
2013-09-19 21:09:34 +10:00
Andrew Tridgell
e1aa6e3ff1
libraries: fixed examples for no flash_leds() callback
2013-09-19 18:38:28 +10:00
Andrew Tridgell
f8e9d48a76
AP_InertialSensor: removed the flash_leds() callback
...
AP_Notify now handles this
2013-09-19 18:32:19 +10:00
Andrew Tridgell
66ee484b3c
AP_Notify: convert to unix style file
2013-09-19 16:27:31 +10:00
Andrew Tridgell
445edb8793
GCS_MAVLink: remove CR/LF
2013-09-19 16:27:14 +10:00
Andrew Tridgell
18896d9c9b
AP_Math: fixed DOS CR/LF errors
2013-09-19 16:26:32 +10:00
Andrew Tridgell
cf633e4d79
AP_HAL: convert to unix file format
2013-09-19 16:26:14 +10:00
Andrew Tridgell
a5b29f44d5
AP_HAL: added hal.gpio->usb_connected() function
...
this replaces the USB_MUX_PIN on APM2, and works on PX4 and FMUv2
2013-09-19 16:23:40 +10:00
Randy Mackay
d3fcfe669d
Copter Motors: increase MOT_SPIN_ARMED to int16
2013-09-18 13:28:01 +09:00
Andrew Tridgell
0d6b847966
AP_Notify: grab initial flags state in init()
...
this prevents annoying tones on startup of APM:Plane
2013-09-18 10:55:42 +10:00
Andrew Tridgell
284492cfec
AP_GPS: fixed an initialisation problem with GPS drivers
...
before the first full packet arrives we could report uninitialised
values for groundspeed and heading
2013-09-16 21:20:36 +10:00
Andrew Tridgell
4864496ae6
SITL: reduce default GPS delay to 0.4
...
closer to real uBlox delay
2013-09-16 11:41:51 +10:00
Andrew Tridgell
84ed2141a0
AP_Math: fixed float rounding in location_offset()
...
this prevents rounding of positions in the rover code
2013-09-16 11:38:55 +10:00
Andrew Tridgell
3e24ff1b07
AP_SteerController: change the scaling of the D term
...
this should cope better with low speed
2013-09-16 09:42:45 +10:00
Andrew Tridgell
e85d275fe5
SITL: added SIM_SERVO_RATE parameter
...
this allows a slew rate for servos to be specified in degrees/second
2013-09-16 09:16:52 +10:00
Andrew Tridgell
98b4ed1522
AP_SteerController: lower the default STEER2SRV_D
2013-09-16 08:26:29 +10:00
Randy Mackay
d16587340d
AP_Notify: add PX4's tone_alarm
...
Sounds added for arming, disarming and low battery events
2013-09-15 17:24:00 +09:00
Andrew Tridgell
9be02fb493
AC_Fence: changed to AP_Vehicle.h
2013-09-13 11:46:32 +10:00
Andrew Tridgell
fbe4be94cf
APM_Control: changed to AP_Vehicle.h
2013-09-13 11:46:22 +10:00
Andrew Tridgell
15a4582ed7
AP_AHRS: changed to AP_Vehicle.h
2013-09-13 11:46:10 +10:00
Andrew Tridgell
2e742582e4
AP_Airspeed: changed to AP_Vehicle.h
...
also allow updates to ARSPD_RATIO from user while autocal is running
2013-09-13 11:45:57 +10:00
Andrew Tridgell
23fc6f8aed
AP_HAL_AVR: changed to AP_Vehicle.h
2013-09-13 11:45:24 +10:00
Andrew Tridgell
c64950e4f5
AP_InertialNav: changed to AP_Vehicle.h
2013-09-13 11:45:10 +10:00
Andrew Tridgell
a67413d495
AP_Mount: changed to AP_Vehicle.h
2013-09-13 11:44:54 +10:00
Andrew Tridgell
645eb711cb
DataFlash: changed to AP_Vehicle.h
2013-09-13 11:44:42 +10:00
Andrew Tridgell
16d2ad9796
AP_TECS: changed to AP_Vehicle.h
2013-09-13 11:44:31 +10:00
Andrew Tridgell
30ebcd36ac
AP_SpdHgtControl: removed AircraftParameters
2013-09-13 11:44:19 +10:00
Andrew Tridgell
79a4bc6ea4
AP_Vehicle: added new header for parameters in multiple libraries
...
this adds a header where we can put vehicle specific parameters that
will be used in multiple libraries
2013-09-13 11:43:59 +10:00
Andrew Tridgell
5bef6dd539
AP_Motors: fixed example build
2013-09-13 10:53:53 +10:00
Andrew Tridgell
cc4fad23d9
AP_Airspeed: updates for Pixhawk
2013-09-13 10:48:57 +10:00
Andrew Tridgell
2990359043
PX4: Implement accurate ratiometric voltage reading on Pixhawk
...
this uses the monitoring of the 5V rail to compensate for changes in
the 5V reference versus the 3.3V ADC reference. It reduces the noise
on ratiometric sensors by a factor of about 6x.
2013-09-13 10:48:57 +10:00
Randy Mackay
0a047ae1c1
Copter Motors: increased spin-when-armed to 70
...
Changed choices to be displayed in ground stations
2013-09-12 22:36:04 +09:00
Randy Mackay
62cb5c172b
Copter Motors: add slow start feature
...
Combined armed, frame orientation and slow_start into flags bitmask
Removed ability to set max throttle because it was never used
Re-ordered class variables
2013-09-12 22:27:44 +09:00
Randy Mackay
ac98644405
Sprayer: minor change to flags type
2013-09-12 22:24:14 +09:00
Andrew Tridgell
bc3249fada
SITL: fixed Vcc voltage
2013-09-12 16:34:38 +10:00
Andrew Tridgell
3a3cecf5ff
PX4: support getting servorail voltage from ORB
2013-09-12 16:28:06 +10:00
Andrew Tridgell
457ca0b57d
AP_ADC_AnalogSource: fixed APM1 build
2013-09-12 13:28:11 +10:00
Andrew Tridgell
fb56feb6b2
HAL_PX4: support all analog input pins, with scaling
...
this allows voltage/current/Vcc sensing on FMUv2
2013-09-12 13:26:00 +10:00
Andrew Tridgell
a80d3344f5
AP_HAL_AVR: support voltage_latest()
2013-09-12 13:25:17 +10:00
Andrew Tridgell
a587b1140a
AP_HAL: added voltage_latest() interface
...
this will be used for reading the 5V rail
2013-09-12 13:23:04 +10:00
Andrew Tridgell
b7e54bd463
AP_Airspeed: reduce speed of autocal
...
it was responding to noise too rapidly
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-09-12 07:48:57 +10:00
Andrew Tridgell
2171f2a80b
AP_SteerController: move scaler onto integrator input
...
this should make integrator scale with speed
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-09-12 07:48:57 +10:00
Randy Mackay
5e7a6b3b98
Sprayer: add pump min rate and test
...
If pump is enabled while copter is disarmed it will spray as if
travelling at 1m/s
2013-09-11 17:04:58 +09:00
Randy Mackay
b3c636dfa3
AP_Notify: add radio and battery failsafe
...
radio and battery failsafe are slow flashing yellow
pre-arm check failure changed to double flashing yellow
2013-09-11 14:36:05 +09:00
Andrew Tridgell
341dca4dfe
AP_L1_Control: added set_default_period()
...
used by the rover code
2013-09-09 19:55:53 +10:00
Andrew Tridgell
7b3a674d66
AP_InertialSensor: added set_default_filter() method
2013-09-09 19:18:52 +10:00
Andrew Tridgell
229841052a
AP_Compass_PX4: removed MAGIOCSSAMPLERATE call
2013-09-09 18:04:41 +10:00
Andrew Tridgell
c044385fff
AP_AHRS: added groundspeed() method
...
this gives ground speed in m/s from GPS
2013-09-09 18:04:41 +10:00
Andrew Tridgell
0918393fed
APM_Control: fixed some documentation typos
2013-09-09 18:04:40 +10:00
Andrew Tridgell
7413c15959
APM_Control: added a ground vehicle steering controller
...
this will be used both for the rover code, and for ground steering of
a plane on takeoff
2013-09-09 18:04:40 +10:00
Andrew Tridgell
f5d20b4085
SITL: reduce the minimum accel and gyro noise
...
on APM2 and PX4 we do a lot of smoothing of accels and gyros, so a 2
bit error isn't a good representation of the min noise
2013-09-09 18:04:40 +10:00
Andrew Tridgell
396c4f30d2
AP_InertialSensor_PX4: don't set QUEUEDEPTH
...
the default of 2 samples is fine
2013-09-09 18:04:40 +10:00
Andrew Tridgell
db14a85fc5
AP_Compass: added more debugging to AP_Compass_PX4 driver
...
this helps debug compass initialisation issues
2013-09-09 18:04:40 +10:00
Andrew Tridgell
8b80beadc4
PX4: make FMUv2 identify itself differently
...
so we can tell which is which in logs
2013-09-09 18:04:40 +10:00
Andrew Tridgell
7328369b91
GCS_MAVLink: added FENCE_ACTION_GUIDED_THR_PASS
2013-09-08 07:29:30 +10:00
Andrew Tridgell
ff0f6bcd42
AP_InertialSensor: fixed example build
2013-09-07 21:03:59 +10:00
Andrew Tridgell
b8b72819c1
AP_Compass: ignore COMPASS_ORIENT for internal compass
...
this means if COMPASS_ORIENT is not 0 and the external compass fails
to start on boot we don't end up with a bad compass orientation
2013-09-07 16:49:51 +10:00
Andrew Tridgell
5484b97419
AP_GPS: reset _fix_count to 0 on nav settings update
...
this makes it run every 20s exactly
2013-09-04 13:18:00 +10:00
Andrew Tridgell
879d44f930
AP_GPS: use the mask bits to only set dynamic model
...
this ensures we don't try to change any other CFG_NAV5 settings
2013-09-04 13:17:20 +10:00
Andrew Tridgell
fa107bdb58
PX4: moved UART handling to its own thread
...
this prevents slow writes to the SD card from interfering with MAVLink
or GPS serial communication
2013-09-04 13:15:27 +10:00
Andrew Tridgell
7082e0f8aa
AP_HAL: added hold_in_bootloader parameter to scheduler->reboot()
2013-09-04 11:58:13 +10:00
Andrew Tridgell
1328316bfc
AP_Airspeed: fixed saving of airspeed ratios
2013-08-31 10:26:27 +10:00
Paul Riseborough
1c7bdc40ec
AP_Airspeed : Expanded range of ARSPD_RATIO adjustment
2013-08-31 08:03:11 +10:00
Andrew Tridgell
e8fc8cea01
AP_Scheduler: updated docs
2013-08-30 15:33:30 +10:00
Andrew Tridgell
8d08f6d669
AP_Relay: document new relay pin numbers
2013-08-30 15:21:23 +10:00
Andrew Tridgell
5e33bbd197
PX4: fixed sense of relay pins
2013-08-30 15:05:29 +10:00
Andrew Tridgell
c56017d8f1
AP_AHRS: added in new orientations
2013-08-30 14:19:17 +10:00
Andrew Tridgell
9320e82ac2
AP_Compass: added in new orientations
2013-08-30 14:19:03 +10:00
Andrew Tridgell
fbf79c07f0
AP_Compass: added COMPASS_EXTERNAL option
...
this allows configuring of a compass as being externally attached
2013-08-30 14:02:09 +10:00
Andrew Tridgell
97b7130bb9
libraries: update license header to GPLv3
...
we switched to GPLv3 a long time ago, but neglected to update the
per-file license headers
2013-08-30 13:01:39 +10:00
Andrew Tridgell
b29369bc03
AP_Notify: fixed examples build
2013-08-30 13:01:39 +10:00
Andrew Tridgell
905e07edf9
AP_Mount: fixed examples build
2013-08-30 13:01:39 +10:00
Andrew Tridgell
01387a1553
AP_Motors: fixed examples build
2013-08-30 13:01:39 +10:00
Andrew Tridgell
873e54deb1
AP_Math: fixed example build
2013-08-30 13:01:39 +10:00
Andrew Tridgell
5caf2e0ea4
AP_InertialSensor: fixed example build
2013-08-30 13:01:39 +10:00
Andrew Tridgell
a2902d4a0f
AP_InertialNav: fixed example build
2013-08-30 13:01:38 +10:00
Andrew Tridgell
83fbb29db1
HAL_PX4: fixed example build
2013-08-30 13:01:36 +10:00
Andrew Tridgell
0bfc18b72d
HAL_AVR: fixed examples build
2013-08-30 13:01:36 +10:00
Andrew Tridgell
e6bd3b65b9
AP_GPS: fixed examples build
2013-08-30 13:01:36 +10:00
Andrew Tridgell
517c44bbaa
AP_Baro: fixed example build
2013-08-30 13:01:36 +10:00
Andrew Tridgell
e6794239ca
AC_Fence: fixed example build
2013-08-30 13:01:36 +10:00
Andrew Tridgell
6182571c21
AP_AHRS: fixed example build
2013-08-30 13:01:36 +10:00
Andrew Tridgell
69c8df3326
AP_Airspeed: fixed example build
...
removed Airspeed_Calibration test, as it is not useful
2013-08-30 13:01:36 +10:00
Andrew Tridgell
b57af23933
DataFlash: fixed example build
2013-08-30 13:01:36 +10:00
Andrew Tridgell
7535ecb282
AP_Notify: enable board LEDs for ESC calibration
...
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-08-30 13:01:36 +10:00
Andrew Tridgell
d67ad2c7ee
AP_Notify: added missing files
2013-08-30 13:01:35 +10:00
Andrew Tridgell
67401294f4
GCS_MAVLink: added missing header
2013-08-30 13:01:35 +10:00
Andrew Tridgell
7b1e2b0e78
AP_GPS: don't need notify.h here
2013-08-30 13:01:35 +10:00
Andrew Tridgell
65a490c209
AP_InertialSensor: update for new notify API
2013-08-30 13:01:35 +10:00
Andrew Tridgell
495c4bbbbe
AP_Notify: simplify interface to avoid timers and external calls
...
this changes AP_Notify to use updates via notify.update() at 50Hz,
avoiding the need for the 1kHz timer. It also creates a parent class
for ToshibaLED so that the I2C and PX4 ToshibaLED drivers can be
abstracted out.
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-08-30 13:01:35 +10:00
Randy Mackay
2658cda4bc
Toshiba_LED_PX4: local #defines for led brightness
2013-08-30 13:01:35 +10:00
Randy Mackay
07abfc59ac
AP_HAL_PX4: compile error fix
2013-08-30 13:01:35 +10:00
Randy Mackay
82b7b2cb3e
GPS: integrate AP_Notify
2013-08-30 13:01:35 +10:00
Randy Mackay
5651bdbe3a
INS: integrate AP_Notify
2013-08-30 13:01:35 +10:00
Randy Mackay
0797489ad8
Motors: use AP_Notify static flags variable
2013-08-30 13:01:35 +10:00
Randy Mackay
0c1db12538
AP_Notify: add ToshibaLED_PX4
2013-08-30 13:01:35 +10:00
Randy Mackay
a52b1831ca
AP_Notify: make flags static variable
2013-08-30 13:01:35 +10:00
Randy Mackay
496962f037
GPS: update notify
2013-08-30 13:01:35 +10:00
Randy Mackay
54007854a9
Notify: add ToshibaLED
2013-08-30 13:01:35 +10:00
Randy Mackay
f8a872f01e
AP_Motors: update notify
2013-08-30 13:01:34 +10:00
Randy Mackay
ac36a09747
AP_HAL: add toggle to GPIO
2013-08-30 13:01:34 +10:00
Randy Mackay
b1278fa006
AP_Notify: early draft of library
2013-08-30 13:01:34 +10:00
Andrew Tridgell
0527bae8cb
PX4: support PX4IO relay pins
...
this allows the pins to be used in the relay code
2013-08-30 13:01:34 +10:00
Andrew Tridgell
0c06dff2db
AP_Airspeed: constrain internal state of calibration code
2013-08-30 13:01:34 +10:00
Andrew Tridgell
3916a07dcf
AP_Airspeed: added logging of airspeed calibration internals
2013-08-30 13:01:34 +10:00
Andrew Tridgell
ce3fb290f1
AP_Airspeed: fixed initialisation of auto-calibration
2013-08-30 13:01:34 +10:00
Andrew Tridgell
dd747505c5
DataFlash: report when DataFlash write fails
2013-08-30 13:01:34 +10:00
Andrew Tridgell
395739dded
AP_Baro: simplify PX4 driver
...
we can now rely on queueing in NuttX driver
2013-08-30 13:01:34 +10:00
Andrew Tridgell
1ff669eb97
AP_Compass: simplify PX4 compass driver
...
we can now rely on queueing in the NuttX driver
2013-08-30 13:01:34 +10:00
Andrew Tridgell
4c752e4a94
AP_Math: simplify rotations test code
2013-08-30 13:01:34 +10:00
Andrew Tridgell
4662858077
DataFlash: we don't need AP_AHRS.h
2013-08-30 13:01:34 +10:00
Andrew Tridgell
e2b0e07973
AP_Math: removed unused matrix rotation code
...
we only need to rotate vectors
2013-08-30 13:01:34 +10:00
Andrew Tridgell
c6e29c9519
GCS_MAVLink: update to latest upstream mavlink headers
2013-08-30 13:01:34 +10:00
Andrew Tridgell
a295a01bbc
AP_Math: added missing 90 degree rotations
...
this ensures we can handle all 90 degree rotations of the compass and
main board. A test in examples/rotations shows that we have them all.
2013-08-30 13:01:33 +10:00
Andrew Tridgell
c6c59174b3
AP_Airspeed: return when airspeed init fails
2013-08-30 13:01:33 +10:00
Andrew Tridgell
5607c89df0
AP_Baro: use fabs() not abs()
...
thanks to Randy for spotting this
2013-08-30 13:01:33 +10:00
Andrew Tridgell
31e1b7fcf6
AP_Airspeed: list MEAS airspeed in ARSPD_PIN docs
2013-08-30 13:01:33 +10:00
Andrew Tridgell
9b3c54fc39
PX4: ensure storage buffer is DMA aligned
...
this helps for boards which use DMA for FAT IO
2013-08-30 13:01:33 +10:00
Andrew Tridgell
e5ad9dbd15
AP_InertialSensor: switch PX4 driver to fixed time per sample model
...
this makes the driver much simpler, and does away with the need for an
accumulate function
2013-08-30 13:01:33 +10:00
Andrew Tridgell
38fe89d661
AP_InertialSensor: switch to non-averaging system for PX4 IMUs
...
always use the latest value, based on a lowpass filter in the driver
2013-08-30 13:01:33 +10:00
Andrew Tridgell
2340bb6220
PX4: use a minimum transmit buffer for UARTs of 512 bytes
...
this avoids writes stalling on the GPS port. We can't afford this
memory on APM2, but we can on PX4, and it means that while the GPS is
blocking at startup it doesn't cause any scheduler slips
2013-08-30 13:01:33 +10:00
Andrew Tridgell
e5f19e314d
PX4: systemreset() now takes a boolean argument
...
this chooses whether to stay in the bootloader
2013-08-30 13:01:33 +10:00
Andrew Tridgell
46c5d18585
AP_InertialSensor: disable averaging on FMUv2
...
the new filter from Leonard means we shouldn't average values, and
instead just use the last value
2013-08-30 13:01:33 +10:00
Julian Oes
c3b27629ec
AP_InertialSensor: run PX4 FMUv2 at 800Hz
...
this gives much better noise suppression
2013-08-30 13:01:33 +10:00
Andrew Tridgell
4794d90bbb
HAL_PX4: support up to 16 analog channels
2013-08-30 13:01:32 +10:00
Andrew Tridgell
3bc035d83a
HAL_PX4: fixed GPIO build
...
don't use vehicle includes
2013-08-30 13:01:32 +10:00
Andrew Tridgell
ef5a42fabc
AP_HAL: added RCOutput example sketch
...
useful for testing all 14 channels via APM API
2013-08-30 13:01:32 +10:00
Andrew Tridgell
2b1fcc964f
AP_Math: added a quick test of floating point location accuracy
...
just confirming some maths ...
2013-08-30 13:01:32 +10:00
Andrew Tridgell
0f677e3a10
HAL_PX4: fixed build on FMUv1
2013-08-30 13:01:32 +10:00
Andrew Tridgell
091b989b30
HAL_PX4: some GPIO functions are not available on FMUv2 yet
2013-08-30 13:01:32 +10:00
Julian Oes
56e94d70e9
PX4: Adaptations to latest build changes
2013-08-30 13:01:32 +10:00
Andrew Tridgell
dc97a8eff7
AP_ADC: fixed license text
...
we are on GPLv3 now
2013-08-30 13:01:32 +10:00
Andrew Tridgell
587fb58720
AP_AHRS: fixed license text
...
APM is under GPL, not LGPL
2013-08-30 13:01:32 +10:00
Randy Mackay
45aeb1a921
Copter: split up loiter into 4 steps
...
Reduces disruption to the main loop but also introduces a delay of 30ms
to navigation output
2013-08-28 11:33:10 +09:00
Andrew Tridgell
feac9d1306
AP_Compass: fixed a bug in the tilt compass calculation
...
The simplification applied a few months ago was incorrect
2013-08-18 21:08:52 +10:00
Andrew Tridgell
a12991923e
RC_Channel: prevent overwrite of memory on high RC_Channel constructor
2013-08-18 11:42:23 +10:00
Randy Mackay
04b84664e5
AC_Fence: add safety margin parameter
...
This will allow auto modes to proactively avoid breaching the fence
2013-08-15 16:05:38 +09:00
Andrew Tridgell
33cbe6151a
SITL: support multiple instances of SITL running at once
2013-08-14 16:35:24 +10:00
Andrew Tridgell
3c967a9c71
AP_TECS: use a ahrs reference
...
saves a pointer access
2013-08-14 14:58:49 +10:00
Andrew Tridgell
144516c941
AP_L1_Control: set min groundspeed to 0.1
...
this works better for slow rovers
2013-08-14 14:57:23 +10:00
Andrew Tridgell
c6e37aaec3
APM_Control: use a ahrs reference, not pointer
...
saves pointer check
2013-08-14 14:56:18 +10:00
Andrew Tridgell
a98d7bd050
GCS_MAVLink: updated to latest upstream mavlink defintions
2013-08-14 14:36:44 +10:00
Andrew Tridgell
b43bf44552
AP_GPS: improved the precision of the NMEA driver
...
this brings the NMEA driver to the same lat/lon precision as the uBlox
driver (approx 1cm)
2013-08-14 14:36:44 +10:00
Andrew Tridgell
97baec8bc7
SITL: update for new SIMSTATE message
2013-08-14 14:36:44 +10:00
Andrew Tridgell
e75c48c029
SITL: added simulated NMEA GPS
...
useful for validating the NMEA GPS driver
2013-08-14 14:36:44 +10:00
Andrew Tridgell
31fce44063
AP_L1_Control: use a reference to AHRS
...
makes code a bit simpler
2013-08-13 13:49:26 +10:00
Andrew Tridgell
08ec43ef89
AP_L1_Control: use get_position()
2013-08-13 12:07:35 +10:00
Andrew Tridgell
b74ed795f2
AP_L1_Control: removed _maxf() and _geo2planar() functions
...
not needed any more
2013-08-13 12:07:35 +10:00
Andrew Tridgell
653fa5a191
AP_L1_Control: adjust position for GPS lag
...
this should help for rovers
2013-08-13 12:07:35 +10:00
Andrew Tridgell
57d2dd814d
AP_AHRS: added get_position_lag() call
...
provide position lag to libraries
2013-08-13 12:07:35 +10:00
Andrew Tridgell
fd4bceaafe
AP_L1_Control: avoid using float global coordinates
...
this increases the navigation precision of rovers using L1 control
down to the centimeter level
2013-08-13 12:07:35 +10:00
Andrew Tridgell
5434b2c017
AP_Math: update location code to avoid float rounding
...
this avoids manipulating global coordinates as float variables. Using
a float reduces our precision from 1cm to about 70cm.
This also adds location_diff() which will be used in the L1 controller
to avoid global positions in floats
2013-08-13 12:07:34 +10:00
Andrew Tridgell
df8e8c64e8
AP_L1_Control: use projected position for turns
2013-08-13 12:07:34 +10:00
Andrew Tridgell
9c88872ad0
AP_L1_Control: use a better ground speed estimate at low speeds
...
this should prevent a rover going in the wrong direction at the start
of a mission
2013-08-13 12:07:34 +10:00
Andrew Tridgell
953051b49e
AP_L1_Control: added lateral acceleration interface
...
this will be used by the Rover code for steering
2013-08-12 13:38:38 +10:00
Randy Mackay
6969ab573d
Copter: configurable max lean angle
...
ANGLE_MAX parameter allows limiting the roll and pitch angles during
manual and auto flight modes to anywhere from 10 to 80 degrees
2013-08-11 12:53:22 +09:00
Randy Mackay
c7464f635c
AC_Sprayer: turn on/off the spinner with the pump
2013-08-05 21:12:28 +09:00
Randy Mackay
e4ca7d2fdf
AC_Sprayer: first implementation
2013-08-05 21:11:09 +09:00
Andrew Tridgell
9cb6c987d4
AP_Math: fixed example build
2013-08-05 12:37:51 +10:00
Andrew Tridgell
0d36832b82
AP_AHRS: use const reference not pointers for locations
...
this makes life easier for the new AP_Mission library
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:24:12 +10:00
Andrew Tridgell
f3b3e23bbc
AP_Camera: fix for new AP_Math API
...
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:24:09 +10:00
Andrew Tridgell
6b5ee80b70
AP_InertialNav: fix for new AP_Math API
...
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:24:06 +10:00
Andrew Tridgell
cf4a74cfb8
AP_L1_Control: fix for new AP_Math API
...
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:24:02 +10:00
Andrew Tridgell
612ede81f4
AP_Limits: fix for new AP_Math API
...
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:23:57 +10:00
Andrew Tridgell
1d75b52411
AP_Math: use const references not pointers for location functions
...
this makes life a bit easier for the new AP_Mission library
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:23:40 +10:00
Randy Mackay
47f5c9b7a4
AC_Fence: remove unused gps pointer
2013-08-03 19:04:59 +09:00
Andrew Tridgell
b7e3851ef8
AP_Scheduler: prevent a divide by zero
2013-08-02 22:07:00 +10:00
Andrew Tridgell
a7cbebbeba
APM_Control: rename 'stabilize' to 'disable_integrator'
...
this better reflects what it does
2013-08-02 21:54:48 +10:00
Paul Riseborough
0c64c800b3
AP_L1_Control : Fixed bug in track capture angle limit
2013-08-02 21:47:45 +10:00
Paul Riseborough
34f0af25cc
AP_TECS : Improvements and bug fixes to feed-forward throttle demand
...
This fixes a bug in the feed-forward throttle that prevented the bank to throttle compensation from working properly during descents.
It also adds bank to throttle compensation to the non-airspeed sensor throttle algorithm.
2013-08-02 21:47:01 +10:00
Randy Mackay
8d26fb5581
Copter Motors: by default spin motors at 65 when armed
2013-07-28 18:18:52 +09:00
Randy Mackay
fe412437c2
Copter: add flags for upper and lower throttle limits
...
Freeze desired altitude when motors hit a limit
2013-07-28 18:18:39 +09:00
Randy Mackay
de59ea3ddc
Copter Fence: reduce circle @Range to 30m
2013-07-27 10:28:33 +09:00
Andrew Tridgell
57752df68e
APM_Control: set a small D value by default
...
0.02 may help with some planes that have slow response
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-26 16:07:00 +10:00
Andrew Tridgell
a192b9ee46
AP_Scheduler: added load_average() function
...
useful to give a load average in SYS_STATUS mavlink message
2013-07-26 16:07:00 +10:00
Andrew Tridgell
fef6a76078
RC_Channel: rename 'Manual' to RCPassThru
...
this should make it clearer what it does
2013-07-26 16:07:00 +10:00
Randy Mackay
f3a2db195e
Copter Motors: remove old style stability patch
2013-07-25 15:34:04 +09:00
Andrew Tridgell
2874ec67c7
DataFlash: slight efficiency improvement
...
fixes issue #314
thanks Dongfang!
2013-07-23 09:46:02 +10:00
Andrew Tridgell
63873d6af3
HAL_AVR: fixed example build
2013-07-23 09:42:51 +10:00
Paul Riseborough
ba009e55e3
AP_Baro : Fixed bug in temperature units in AP_Baro_HIL
2013-07-22 12:50:02 +10:00
Andrew Tridgell
ebebee4f06
AP_Baro: extend the atmospheric model to higher altitudes
2013-07-22 12:50:02 +10:00
Paul Riseborough
5a68c515dc
AP_Airspeed: Altitude Calibration - added constrain on P matrix diagonals
2013-07-22 12:50:02 +10:00
Andrew Tridgell
3ba0dec4b3
AP_Airspeed: fixed typo
2013-07-22 12:50:02 +10:00
Paul Riseborough
d1805f4349
AP_Airspeed: Airspeed Calibration computational efficiency improvement
2013-07-22 12:50:02 +10:00
Andrew Tridgell
0c6725f289
AP_Baro: improved the accuracy of the barometer model
2013-07-22 12:50:01 +10:00
Andrew Tridgell
c5028c04da
APM_Control: scale controllers for altitude
...
this allows the attitude controllers to better handle a wider range of
altitudes
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-22 12:50:01 +10:00
Andrew Tridgell
097718e833
AP_L1_Control: scale loiter and wp radius with altitude
...
this should keep the aircraft stable in loiter at very high altitudes
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-22 12:50:01 +10:00
Andrew Tridgell
e6d9d14fad
AP_Airspeed: added example sketch for airspeed calibration
2013-07-22 12:50:01 +10:00
Andrew Tridgell
620d067ee1
AP_TECS: use ahrs EAS2TAS for true airspeed
2013-07-22 12:50:01 +10:00
Andrew Tridgell
ec73fadc45
AP_AHRS: added true airspeed support in AHRS
...
use true airspeed for wind calculations, and allow other drivers to
ask for the current ratio
2013-07-22 12:50:01 +10:00
Andrew Tridgell
3c66cb8af1
AP_Airspeed: added EAS2TAS in airspeed driver
...
this keeps the true airspeed ratio in the airspeed driver, which seems
the most logical place
2013-07-22 12:50:01 +10:00
Andrew Tridgell
893d2da6f6
AP_Airspeed: added auto-calibration support
...
This uses a Kalman filter to calculate the right ARSPD_RATIO at runtime
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-22 12:50:01 +10:00
Andrew Tridgell
01c124d5f5
AP_GPS: added velocity_vector() method
2013-07-22 12:50:00 +10:00
Andrew Tridgell
468e55d425
AP_Math: added two new vector/matrix ops for kalman airspeed filter
2013-07-22 12:50:00 +10:00
Randy Mackay
e2fbc00b52
LeadFilter: removed this unused library
...
This was used to project the GPS position forward to compensate for lag
but this has become unnecessary with the introduction of the inertial
nav in x and y axis.
2013-07-21 14:30:49 +09:00
Randy Mackay
43379f20c3
Copter Motors: replace limit bitmask with structure
2013-07-21 13:58:24 +09:00
Randy Mackay
0325ad5d0d
AP_AHRS: use rotateXY for speed
...
Saves 0.1ms at 100hz
2013-07-20 18:00:36 +09:00
Randy Mackay
540ca25b84
AP_Math: add rotateXY
2013-07-20 17:59:06 +09:00
Robert Lefebvre
c812d07993
TradHeli: Creating motor_runup_complete bool which is to confirm that the heli motor is running. This will be used for advanced features in the future.
2013-07-19 16:16:08 +09:00
Robert Lefebvre
957cb094ea
TradHeli: Remove unused RSC Mode 3.
2013-07-19 16:16:06 +09:00
Andrew Tridgell
c691e16139
HAL_AVR: fixed example build
2013-07-18 17:36:38 +10:00
Andrew Tridgell
3e21d0594c
APM_Control: pass in aircraft parameters and expose coordinate rate offset
...
this will make it possible to do rate based pitch control without
having a coordinated turn, for in ACRO mode
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-18 14:53:26 +10:00
Andrew Tridgell
fb0e48a25d
AP_TECS: adapt for new airspeed variable names
2013-07-18 14:53:23 +10:00