John Arne Birkeland
f6038f36bf
HAL_AVR: Improved AVRTimer micros() and millis()
...
- More efficient code by using 16-bit timer
- micros() now has proper 1 us resolution and less overhead
- millis() has less overhead
- removed unneeded/unwanted initializatin of timers in AVRTimer::init()
2013-10-13 11:03:00 +09:00
Andrew Tridgell
5ba34b38c1
HAL_AVR: added specialised transfer functions for MPU6k and APM1 ADC
...
this saves quite a lot of time in interrupts
2013-10-13 11:02:57 +09:00
Andrew Tridgell
d60a68fd9c
AP_Baro: check baro at exactly 100Hz
...
prevent waits for samples
2013-10-13 11:02:53 +09:00
Randy Mackay
499bc52c5b
Perfmon: fixes to work with HAL
2013-10-13 11:02:49 +09:00
Andrew Tridgell
e34cc6dd9a
HAL_PX4: added some UART debugging
...
this may help to track down USB issues
2013-10-13 12:43:25 +11:00
Andrew Tridgell
55ba536331
HAL_SITL: fixed a warning
2013-10-12 13:13:00 +11:00
Andrew Tridgell
84336bc74e
AP_TECS: added initial flight_stage handling
2013-10-12 13:12:43 +11:00
Andrew Tridgell
2b80df6319
AP_SpdHgtControl: added FightStage parameter to update_pitch_throttle()
...
will be used for special landing handling
2013-10-12 13:12:16 +11:00
Andrew Tridgell
0f0b040891
AP_Camera: added set_trigger_distance() call
2013-10-11 21:37:27 +11:00
Andrew Tridgell
1c7a44a595
GCS_MAVLink: regenerate mavlink headers
2013-10-11 21:37:27 +11:00
Andrew Tridgell
8198bfe756
MAVLink: added MAV_CMD_DO_SET_CAM_TRIGG_DIST
2013-10-11 21:36:50 +11:00
Andrew Tridgell
63bee0b2d8
HAL_PX4: disable checks for in_timerprocess
...
these are not valid in this form for the way the timer thread works on
PX4.
2013-10-11 16:06:35 +11:00
Andrew Tridgell
25d3e5b7e9
AP_GPS: changed fake GPS fix to have a latitude/longitude
...
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-10-11 16:06:35 +11:00
Andrew Tridgell
ae1fd4baa4
HAL_AVR: reduce the latency of semaphore waits
...
this reduces the average cost of waiting for the MPU6000 semaphore
from the main loop
2013-10-10 15:41:51 +11:00
Andrew Tridgell
cfa1b5353f
AP_Scheduler: show slips only for SCHED_DEBUG>1
...
this allows us to see PERF reports in copter without console writes
slowing things down
2013-10-10 15:41:34 +11:00
Andrew Tridgell
dd4b9275fd
AP_Scheduler: improved the accuracy of the scheduling code
...
prevent accumulated micros() errors in run()
2013-10-10 14:14:39 +11:00
Randy Mackay
1a070e61f0
BattMon: amp-per-volt reduced to 17 (was 18.002)
2013-10-10 11:14:01 +09:00
Andrew Tridgell
eb0176d509
GCS_Console: don't build this example
...
it doesn't build any more
2013-10-10 09:54:20 +11:00
Andrew Tridgell
b3af59cc0c
AP_InertialSensor: don't build L3G4200D example
2013-10-10 09:54:20 +11:00
Andrew Tridgell
fc7f3c8aa6
AP_HAL: fixed example build
2013-10-10 09:54:20 +11:00
Andrew Tridgell
a04c056598
AP_InertialSensor: remove unused get_last_sample_time_micros()
2013-10-10 09:54:19 +11:00
Craig3DRobotics
e5501bf911
AP_BattMonitor: Updated parameter descriptions
2013-10-09 15:33:03 -07:00
Andrew Tridgell
cd65e2109d
AP_BattMonitor: fixed type in docs
2013-10-10 07:22:05 +11:00
Andrew Tridgell
0d682e74c1
HAL_Linux: run threads a bit more slowly
...
this was just wasting cycles
2013-10-10 07:21:38 +11:00
Andrew Tridgell
8f79a03c25
HAL_Linux: use larger UART buffers
...
might as well use the memory
2013-10-10 07:21:38 +11:00
Randy Mackay
13cf7c96cd
GPSGlitch: parameters for accel and always-ok-radius
2013-10-09 13:02:14 +09:00
Andrew Tridgell
5d685385eb
AP_InertialSensor: use gyro sample count on L3G4200D
...
this gives more even timing in ArduCopter
2013-10-08 19:20:34 +11:00
Andrew Tridgell
6444b0bddd
AP_InertialSensor_L3G4200D: a sample is only available if gyro had a sample
2013-10-08 19:20:34 +11:00
Andrew Tridgell
e5e4cdee18
AP_InertialSensor: added wait_for_sample() API call
...
this waits for a new INS sample to arrive, using whatever method is
most efficient on each INS type
2013-10-08 17:31:15 +11:00
Andrew Tridgell
67db1cedaa
HAL_PX4: fixed delay_microseconds() on PX4
...
we could underflow and delay a very long time!
2013-10-08 17:31:15 +11:00
Andrew Tridgell
f59d0099a4
AP_Notify: fixed RGBLED on PX4 with latest PX4Firmware
...
now needs a RGBLED_MODE_ON
2013-10-08 14:55:10 +11:00
Randy Mackay
9aea577eb1
BattMonitor: correct default pins for PX4
2013-10-08 10:28:48 +09:00
Andrew Tridgell
c17a5e5ed1
AP_InertialSensor: added a small delay in accel calibration
...
allows threads to run on Linux
2013-10-08 11:50:54 +11:00
Andrew Tridgell
1ccd6bb7ef
AP_Compass: don't wait more than 1ms for compass sample
...
this prevents 5ms delays in compass accumulate
2013-10-08 11:50:54 +11:00
Andrew Tridgell
28b4ae1c3a
HAL_Linux: improved latency of timed semaphores
2013-10-08 11:50:54 +11:00
Andrew Tridgell
6fa55d101f
AP_Baro: fixed I2C semaphore handling for BMP085 driver
2013-10-08 11:50:54 +11:00
Andrew Tridgell
f286369990
AP_Compass: fixed orientation on Linux
2013-10-08 11:50:54 +11:00
Andrew Tridgell
83c942a512
AP_Compass: prevent NULL deref on enable mag while running
2013-10-08 11:50:53 +11:00
Andrew Tridgell
77e8061170
AP_Common: added product ID for L3G4200D
2013-10-08 11:50:53 +11:00
Andrew Tridgell
a216e1d239
HAL_Linux: don't prevent write while timer is busy
...
the timer can block on I2C writes, which causes the main loop to run
2013-10-08 11:50:53 +11:00
Andrew Tridgell
91511e6503
HAL_Linux: better realtime setup
...
lock all memory and pre-fault the stack in all threads
2013-10-08 11:50:53 +11:00
Andrew Tridgell
2422b94292
DataFlash: prevent valgrind errors from Empty driver
2013-10-08 11:50:53 +11:00
Andrew Tridgell
12af23bb7c
AP_InertialSensor: added L3G4200D example
2013-10-08 11:50:53 +11:00
Andrew Tridgell
1aabd7155e
AP_InertialSensor: added L3G4200D driver
...
this is for a cheap ebay 10DOF sensor
2013-10-08 11:50:53 +11:00
Andrew Tridgell
64c8cb4739
APM_Control: improved auto docs for AP_SteerController
2013-10-07 09:31:02 +11:00
Mike McCauley
84edbb335a
AP_HAL_FLYMAPLE: UARTDriver now uses the new libmaple tx ring buffers
...
This requires the libmaple fork at
https://github.com/mikemccauley/libmaple.git
which includes low level support for buffered usart transmits
2013-10-07 08:41:53 +11:00
Mike McCauley
11317dcec4
AP_HAL_FLYMAPLE: FlymaplePortingNotes.txt improvements to install/build
...
documentation.
2013-10-07 08:41:53 +11:00
Mike McCauley
7f9d4a155f
AP_HAL_FLYMAPLE: UARTDriver begin now honours txS == 0 which means no change
2013-10-07 08:41:52 +11:00
Mike McCauley
60921f7dfa
AP_HAL_FLYMAPLE: Improved libmaple version detection
2013-10-07 08:41:52 +11:00
Andrew Tridgell
07b8f45770
HAL_Linux: use CLOCK_MONOTONIC_RAW to ensure clock never goes backwards
...
this avoids ntp mucking with APM timing
2013-10-07 08:41:52 +11:00
Andrew Tridgell
1518217952
HAL_FLYMAPLE: removed unused backend console code
2013-10-05 22:03:58 +10:00
Andrew Tridgell
de4d505f62
HAL_AVR: fixed examples build
2013-10-05 22:03:42 +10:00
Andrew Tridgell
487caea3a5
AP_Baro: added update_calibration() method
...
used for auto baro calibration when disarmed
2013-10-05 18:44:00 +10:00
Andrew Tridgell
7cab8cb3bb
HAL_PX4: removed Console driver
2013-10-05 18:33:07 +10:00
Andrew Tridgell
b30f652cec
HAL_Linux: removed Console driver
2013-10-05 18:32:57 +10:00
Andrew Tridgell
21f0086647
HAL_FLYMAPLE: removed Console driver
2013-10-05 18:32:46 +10:00
Andrew Tridgell
8e7d9bb464
HAL_Empty: removed Console driver
2013-10-05 18:32:35 +10:00
Andrew Tridgell
930d664677
AVR_SITL: removed Console driver
2013-10-05 18:32:23 +10:00
Andrew Tridgell
7072c52b57
HAL_AVR: removed Console driver
2013-10-05 18:32:12 +10:00
Andrew Tridgell
9f24c45502
AP_HAL: removed separate Console class
...
the idea of a separate console class was never really used, and just
added confusion in a HAL port. It also consumes some much needed ram
and flash space on APM2
2013-10-05 18:32:00 +10:00
Andrew Tridgell
39bfd809c2
APM_Control: disable integrator below minimum speed
...
this reduces the impact on initial takeoff
2013-10-05 18:11:35 +10:00
Andrew Tridgell
ad30f8effa
HAL_PX4: try to reopen UARTs if safety switch is disarmed
...
this allows attaching to the USB port after power on
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-10-05 15:47:28 +10:00
Andrew Tridgell
34a328f66d
AP_HAL: added safety_switch_state() function in hal.util
...
will be used by copter to check safety switch is set
2013-10-05 15:46:35 +10:00
Andrew Tridgell
58187ea449
APM_Control: change minspeed on steering controller to 1.0
2013-10-05 12:56:28 +10:00
Andrew Tridgell
5abf060c41
APM_Control: enable integrator in ACRO rate controller
...
this work better for unlocked mode
2013-10-05 07:42:48 +10:00
Andrew Tridgell
d27f5e89d7
APM_Control: remove public AP_PitchController::get_coordination_rate_of|cat()
2013-10-05 07:42:48 +10:00
Andrew Tridgell
bd848a6a7f
APM_Control: added rate and angle steering controllers
2013-10-05 07:42:48 +10:00
Mike McCauley
72aa8a18ab
AP_HAL_FLYMAPLE: update documentation in FlymaplePortingNotes.txt
...
Added info about where to get my patched version of libmaple.
2013-10-04 07:21:56 +10:00
Mike McCauley
6b003ae551
AP_HAL_FLYMAPLE: Fixed problem with tx buffer that caused slow parameter
...
delivery
2013-10-04 07:21:56 +10:00
Mike McCauley
c90c1b9998
AP_InertialSensor: Improvements to Flymaple sensors
...
Fix a bug that caused hang after 71 minutes. Use I2CDriver semaphore.
Remove test for in_accumulate: not needed.
2013-10-04 07:21:55 +10:00
Mike McCauley
39f9b7bbc9
AP_HAL_FLYMAPLE: Add test for correct version of libmaple
...
Patched version of libmapl is required for Flymaple I2Driver to work.
2013-10-04 07:21:55 +10:00
Mike McCauley
1f7272978c
AP_HAL_FLYMAPLE: fix compile error in example AP_Baro_BMP085_test.pde
...
due to need for new library AP_Notify
2013-10-04 07:21:55 +10:00
Mike McCauley
2d3c86ee80
AP_HAL_FLYMAPLE: I2CDriver now uses low level hardware i2c librray from
...
libmaple
CAUTION: requires a patched version of libmaple, to be provided by mikem.
2013-10-04 07:21:55 +10:00
Mike McCauley
68a7cac9a2
AP_HAL_FLYMAPLE: Improvements to FLYMAPLEStorage
...
Fix a number of bugs and expand storage to an emulated 4kb, as needed by AP.
2013-10-04 07:21:55 +10:00
Mike McCauley
29707f4401
AP_HAL_FLYMAPLE: Modest speed improvements to I2CDriver
...
Can now achieve about 285kHz using bitbanging.
Proper low-level hardware I2C support has been written and stashed,
but has to wait until a bug in libmaple is addressed.
Ref: http://forums.leaflabs.com/topic.php?id=13458
2013-10-04 07:21:55 +10:00
Mike McCauley
9ea1108d4e
AP_InertialSensor: Flymaple filter constructor arguments non non-zero
2013-10-04 07:21:55 +10:00
Randy Mackay
ecd4ed2277
GCS_MAVLink: generate mavlink includes
2013-10-03 22:12:58 +09:00
Randy Mackay
8aec70af1d
GCS_MAVLink: add SYS_STATUS_SENSOR enum
2013-10-03 22:12:48 +09:00
Randy Mackay
688dd5374e
ToshibaLED: flashing green if disarmed with GPS lock
...
solid blue if armed without GPS lock
2013-10-03 14:33:39 +09:00
Andrew Tridgell
7a9ed0a5a1
AP_GPS: fixed warning
2013-10-03 12:21:08 +10:00
Andrew Tridgell
86b58314c4
AP_Common: pack the RallyLocation structure
...
so it can be written as a single binary block
2013-10-03 12:21:08 +10:00
Michael Day
823a40c203
AP_Common: Added RallyLocation struct.
2013-10-03 12:21:08 +10:00
Michael Day
1777db91cb
GCS_MAVLink: import latest upstream.
...
This add rally points.
2013-10-03 12:21:08 +10:00
Andrew Tridgell
99a8ba4634
DataFlash: fixed display of last page of flash logs
2013-10-03 12:21:08 +10:00
Andrew Tridgell
89f121ea77
DataFlash: wait for blocks to finish writing to flash on log read
2013-10-03 12:21:08 +10:00
Andrew Tridgell
8e0a136d78
HAL_AVR: mark some examples as not building
2013-10-03 12:21:08 +10:00
Andrew Tridgell
a250c13c79
HAL_PX4: fixed build
2013-10-03 12:21:08 +10:00
Andrew Tridgell
1440c8cebd
HAL_Linux: implement a dummy console buffered write()
2013-10-03 12:21:08 +10:00
Andrew Tridgell
9624821493
HAL_FLYMAPLE: implement a dummy buffered write
2013-10-03 12:21:08 +10:00
Andrew Tridgell
a8c97f99d1
HAL_Empty: implement a dummy buffered write
2013-10-03 12:21:08 +10:00
Andrew Tridgell
c035eef845
HAL_SITL: implement a dummy buffered write
2013-10-03 12:21:07 +10:00
Andrew Tridgell
a59f505d25
HAL_AVR: implement an efficient buffer write() call for AVR
...
this saves some cycles in the telemetry code
2013-10-03 12:21:07 +10:00
Andrew Tridgell
efe1e01700
AP_HAL: require a buffer write() function in all ports
...
this makes a sufficient performance difference that it is worth it
2013-10-03 12:21:07 +10:00
Andrew Tridgell
5489097476
AP_GPS: update the UBLOX rates async from the start
...
this saves a bit of startup time
2013-10-03 12:21:07 +10:00
Andrew Tridgell
cee8a017ab
AP_GPS: added UBLOX_FAKE_3DLOCK debugging option
...
useful when unable to get 3D lock
2013-10-03 12:21:07 +10:00
Andrew Tridgell
f1e120113c
AP_Common: added OPTIMIZE() macro
...
this can be used to change the compiler optimization level of
individual functions
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-10-03 12:21:07 +10:00
Andrew Tridgell
fb19dbb404
AP_Math: cope with large values passed into the wrap functions
...
this uses modulus if the function would loop too many times
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-10-03 12:21:07 +10:00
Andrew Tridgell
34f7f88190
AP_GPS: check for corret GPS solution rates in flight and fix
...
if the GPS is giving us data at less than 300ms intervals then re-send
the configuration messages to try to kick it into the right rates
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-10-03 12:21:07 +10:00
Randy Mackay
db2975901d
AP_HAL_AVR_SITL: use SIM_BATT_VOLTAGE parameter
2013-10-03 11:16:36 +09:00
Randy Mackay
8d1d8c78b5
SITL: add SIM_BATT_VOLTAGE
2013-10-03 11:16:35 +09:00