Andrew Tridgell
273bc230e6
HAL_AVR: renamed pins_arduino_mega.c to .cpp
...
this fixes a compiler hang on at least one Ubuntu platform. May be a
problem building empty C files?
It also makes our build more consistent
2014-07-14 09:44:36 +10:00
Andrew Tridgell
5a170c6343
AP_InertialSensor: added INS_generic test
2014-07-14 09:44:36 +10:00
Andrew Tridgell
d1ba78002d
AP_InertialSensor: added paranoid check for DRDY pin
2014-07-14 09:44:36 +10:00
Andrew Tridgell
549e08446a
HAL_Linux: use BBB pin names in SPIDriver
...
easier to find the pins on the board
2014-07-14 09:44:36 +10:00
Andrew Tridgell
6f9965cc22
AP_InertialSensor: fixed setup of DRDY pin on MPU9250
2014-07-14 09:44:36 +10:00
Andrew Tridgell
6a6dbe5790
AP_InertialSensor: added check for WHOAMI on MPU9250
2014-07-14 09:44:35 +10:00
Andrew Tridgell
e24febec1b
AP_TECS: avoid a valgrind bug
2014-07-14 09:44:35 +10:00
Andrew Tridgell
8e5915ef7d
HAL_Linux: fixed some valgrind errors
2014-07-14 09:44:35 +10:00
Andrew Tridgell
130f831c1c
HAL_Linux: use MODE_3 for MPU9250
...
this fixes the MS5611 (probably due to idle state?)
2014-07-14 09:44:35 +10:00
Andrew Tridgell
f73ec95c39
AP_Baro_MS5611: added PROM CRC checking
...
disabled on APM2 to save flash space
2014-07-14 09:44:35 +10:00
Andrew Tridgell
6c3197cb43
AP_Notify: fixed SITL build
2014-07-14 09:44:35 +10:00
Andrew Tridgell
52c53e55f8
AP_Airspeed: use board subtypes
2014-07-14 09:44:35 +10:00
Andrew Tridgell
252052d723
AP_Notify: use HAL board subtypes
2014-07-14 09:44:35 +10:00
Andrew Tridgell
abb53eb9a2
AP_InertialSensor: simplify using HAL board subtypes
2014-07-14 09:44:35 +10:00
Andrew Tridgell
fc8068adfe
HAL_Linux: use board subtypes
2014-07-14 09:44:35 +10:00
Andrew Tridgell
7195e38585
AP_HAL: fixed I2C build on APM2
2014-07-14 09:44:35 +10:00
Andrew Tridgell
5693392838
AP_HAL: added the concept of a board subtype, and default sensor types
...
this will make the vehicle code much more generic
2014-07-14 09:44:34 +10:00
Andrew Tridgell
1bf0c4c67d
HAL_Linux: cope with different I2C headers for data
2014-07-14 09:44:34 +10:00
Andrew Tridgell
848b563fc3
AP_InertialSensor: rotate acccel/gyro for PXF
2014-07-14 09:44:34 +10:00
Andrew Tridgell
ea188528fc
AP_InertialSensor: fixed build errors for LSM9DSO
2014-07-14 09:44:34 +10:00
Andrew Tridgell
fa2a1c495e
HAL_Linux: fixed I2C driver build errors
2014-07-14 09:44:34 +10:00
Andrew Tridgell
8c4565c741
HAL_Linux: fixed a build warning
2014-07-14 09:44:34 +10:00
Víctor Mayoral Vilches
2982fc029c
AP_InertialSensor_LSM9DS0: Fix _dump_registers method
2014-07-14 09:44:34 +10:00
Víctor Mayoral Vilches
feedc40f72
AP_InertialSensor_LSM9DS0: Move LSM9DS0_DEBUG flag to the header
2014-07-14 09:44:34 +10:00
Andrew Tridgell
297bb52ced
AP_InertialSensor: added MPU9250 header
2014-07-14 09:44:34 +10:00
Víctor Mayoral Vilches
f213f01983
AP_InertialSensor_LSM9DS0: Remove previous CS handling.
...
CS is now being automatically handled by the SPI Driver.
2014-07-14 09:44:33 +10:00
Andrew Tridgell
5b438471a7
HAL_Linux: added set_bus_speed() support to SPI driver
...
used by MPU6000 driver for setup registers
2014-07-14 09:44:33 +10:00
Andrew Tridgell
3ed4f82cb0
AP_InertialSensor: fixed DRDY include for Linux
2014-07-14 09:44:33 +10:00
Andrew Tridgell
0b64d834c3
HAL_Linux: MS5611 and MPU6000 should be MODE3
...
this doesn't solve the MPU6000 problem, but is correct
2014-07-14 09:44:33 +10:00
Andrew Tridgell
06b6d7aaf0
AP_InertialSensor: fixeup DRDY pin for different boards
2014-07-14 09:44:33 +10:00
Andrew Tridgell
1c89f54934
HAL_Linux: fixed SPI mode handling per-device
...
the mode must be set per-device, not per bus.
2014-07-14 09:44:33 +10:00
Víctor Mayoral Vilches
145c71c4af
HAL_Linux: Storage: Change storage folder in Linux to `/var/APM`
2014-07-14 09:44:33 +10:00
Víctor Mayoral Vilches
3379ddd51f
AP_InertialSensor_MPU6000: Add _register_write_check method.
...
This private method allows to check whether the value written and
the posterior value readed are the same.
Should be used only for debuging purposes, for release versions use
_register_write instead.
2014-07-14 09:44:33 +10:00
Víctor Mayoral Vilches
0fff8df491
AP_InertialSensor: fix LSM9DS0 test code
2014-07-14 09:32:30 +10:00
bugobliterator
ca163c292c
HAL_Linux: PRU: remove obsolete libraries/AP_HAL_Linux/PRU
2014-07-14 09:32:29 +10:00
Andrew Tridgell
72f94444c4
HAL_Linux: added basic support for RC overrides
...
this allows for easier testing of RC output by allowing
mavproxy to setup fake inputs
Pair-Programmed-With: Sid, Anuj, Victor and Philip
2014-07-14 09:32:29 +10:00
Andrew Tridgell
d0b007248f
HAL_Linux: fixed SPI semaphore, and panic on CS error
...
This adds a check for trying to assert two CS pins on the same bus
at the same time. The change involves moving the _device handles into the
DeviceManager class, and accessing via static methods.
This also moves the semaphore to be per-bus rather than per-device,
which fixes the problem with bad MS5611 transfers.
Pair-Programmed-With: Victor, Sid, Anuj and Philip
2014-07-14 09:32:29 +10:00
bugobliterator
5bcdb039e2
HAL_Linux: Make asynchronous PRU write and reduce the size of data exchange
...
Change to sending Total Period and hi Period, rather than Hi and Lo Period
Change PRU firmware accordingly
2014-07-14 09:32:29 +10:00
Víctor Mayoral Vilches
fa6c5ba80e
HAL_Linux: Remove the additional portNumber offset
...
The socket is being launched in (_base_port + portNumber) port
following SITL impl. In order to avoid confusions portNumber has
been set to 0.
2014-07-14 09:32:21 +10:00
Víctor Mayoral Vilches
02c171b19f
HAL_Linux: UART-like TCP sockets, check for ":wait"
2014-07-14 09:32:13 +10:00
Víctor Mayoral Vilches
ca80c0b8e2
HAL_Linux: config UART file descriptor as non-blocking
2014-07-14 09:31:59 +10:00
bugobliterator
e6f27c9fac
AP_Motors_Time_test.pde: use hal.scheduler->micros instead of gettimeofday
2014-07-14 09:31:59 +10:00
Siddharth Bharat Purohit
65fef59dfa
HAL_Linux: change initial PWM values to 490Hz, 1000us
2014-07-14 09:31:49 +10:00
Víctor Mayoral Vilches
f11f0d9f2a
HAL_Linux: Fix FRAM code
2014-07-14 09:31:41 +10:00
Víctor Mayoral Vilches
be68de20f1
HAL_Linux: UART-like TCP sockets impl. on AP_HAL_Linux
2014-07-14 09:31:30 +10:00
Víctor Mayoral Vilches
b0742fbb5b
HAL_Linux: Add FRAM SPI support.
2014-07-14 09:31:18 +10:00
Siddharth Bharat Purohit
0422695e5e
HAL_Linux: Correct error inside read method in RCOutput
2014-07-14 09:31:05 +10:00
bugobliterator
092bda9c37
HAL_Linux: Replace PRU1 firmware with a new one to support new way of controllong PRU PWM
2014-07-14 09:31:05 +10:00
bugobliterator
63560e8122
HAL_Linux: change to directly accessing shared_mem of pru in RCOutput
2014-07-14 09:30:54 +10:00
Siddharth Bharat Purohit
9999e77a74
HAL_Linux: add close(_fd) to some functions in RCOutput
2014-07-14 09:30:42 +10:00
Víctor Mayoral Vilches
95e0803880
HAL_Linux: Remove panic when invalid pin in GPIO
...
When a invalid pin is passed as a parameter
the methods return without performing anything
insted of raising a panic.
2014-07-14 09:30:25 +10:00
Víctor Mayoral Vilches
245618e298
HAL_Linux: Improve error handling SPIDriver
2014-07-14 09:30:16 +10:00
Víctor Mayoral Vilches
d330cbecb3
HAL_Linux: Make the CS variables more readable in SPIDriver
2014-07-14 09:30:06 +10:00
Víctor Mayoral Vilches
665bf4a247
HAL_Linux: BUS_SPEED selected individually in SPIDriver
2014-07-14 09:29:53 +10:00
Víctor Mayoral Vilches
8a85f8d6d2
AP_Baro_MS5611_test: Add HAL specific code.
2014-07-14 09:29:53 +10:00
Siddharth Bharat Purohit
d2b5a1cfac
HAL_Linux: add HAL_ prefix to GPIO_INPUT
2014-07-14 09:29:45 +10:00
bugobliterator
1f1af0b0ea
HAL_Linux: make GPIO code compact and readable
...
add hal instance to generate scheduler
change gpio/export write method
add gpio struct to LinuxDigitalSource class
change individual gpio banks to one gpio_bank array
2014-07-14 09:29:45 +10:00
bugobliterator
fb7ca9bb3c
AP_Motors:add AP_Motors_Time_test
2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches
de58df6371
AP_Baro_MS5611_test: Add block for APM2-code
2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches
bb5de8a6a1
AP_InertialSensor_LSM9DS0: Fix the CS.
2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches
ad3a3f9366
AP_InertialSensor_MPU6000: Fix the CS.
2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches
aa60a89cda
AP_InertialSensor_MPU9250: Fix SPI CS.
2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches
651cb58ebc
HAL_Linux: Add CS capabilities to the SPI driver.
2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches
bae84e2942
AP_InertialSensor: Add missing library to test example.
2014-07-14 09:29:36 +10:00
Víctor Mayoral Vilches
4df3b55ed4
AP_InertialSensor_MPU9250: Add missing library for example/
...
In order to compile the examples test a library needed to
added.
2014-07-14 09:29:36 +10:00
Víctor Mayoral Vilches
763c075497
HAL_Linux: spidev1.0 to SPI0 and spidev2.0 to SPI1
2014-07-14 09:29:28 +10:00
bugobliterator
fd0685cc01
HAL_Linux: change to mem access method from sysfs access method
...
This step is taken to reduce the time for gpio access substantially
2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches
eb95130441
AP_InertialSensor_MPU9250: remove legacy CS.
2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches
5e7e28a83e
AP_InertialSensor_MPU9250.cpp: Update the DRDY pin.
2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches
d053a91cd5
AP_InertialSensor_MPU6000: Remove MPU6000_CS_PIN
...
Remove MPU6000_CS_PIN, a legacy way of handling
Chip Select.
2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches
d9cb29ea8b
AP_InertialSensor_MPU6000: Correct DRDY pin.
2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches
70aafa380e
GPS_UBLOX: fix test to work with AP_HAL_Linux.
...
Some libraries were missing.
2014-07-14 09:29:18 +10:00
bugobliterator
96bbe17bd3
HAL_Linux: add support for LinuxDigitalSource in AP_HAL_Linux
2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches
7652d47e6e
HAL_Linux: Add GPIO pinmux mappings
...
This will allow to request channels using the
name of the BBB headers (e.g. P8_12, P9_42).
2014-07-14 09:29:08 +10:00
bugobliterator
18d7438240
HAL_Linux: increase size of sysfs_path variables inside LinuxRCOutput's methods
...
to avoid stack smashing error
2014-07-14 09:29:08 +10:00
bugobliterator
85d10e2ce3
HAL_Linux: add export gpio during direction set if not exported during initialisation
2014-07-14 09:29:08 +10:00
bugobliterator
a7ead42f52
HAL_Linux: added initial gpio library
2014-07-14 09:29:08 +10:00
Andrew Tridgell
79fed17563
AP_Notify: added pins for Linux port
2014-07-14 09:29:08 +10:00
Víctor Mayoral Vilches
d43c1cc544
AP_Motors_test: Adapt to test bench available
2014-07-14 09:29:08 +10:00
Víctor Mayoral Vilches
df14318bbd
AP_InertialSensor_L3G4200D: Clock-based wait_for_sample() impl.
2014-07-14 09:29:08 +10:00
Víctor Mayoral Vilches
c4b6026d53
HAL_Linux: include readRegistersMultiple in I2CDriver
...
AP_HAL_Linux implemments this new method.
2014-07-14 09:28:42 +10:00
Víctor Mayoral Vilches
ea7dcc188b
AP_HAL_Linux: Correct SPIDriver devs
2014-07-14 09:10:23 +10:00
Víctor Mayoral Vilches
57ec305caa
AP_HAL: Fixes to make the ERLE layer work
2014-07-14 09:10:23 +10:00
Víctor Mayoral Vilches
7cf1187473
AP_InertialSensor_MPU9150: Clock-based wait_for_sample() impl.
...
Adapt the I2C driver to a system clock based wait_for_sample()
implementation.
The sample rate of the sensor has been corrected to 800 Hz (could be
further pushed up to 1KHz).
Filters for the mag have also been created but remain commented until
the code for the mag is ready.
2014-07-14 09:10:23 +10:00
Víctor Mayoral Vilches
8af1b6faa7
AP_HAL_Linux: Add support for SPIDevice_LSM9DS0
...
The LSM9DS0 SPI device is connected to
SPI0, thereby SPIDriver class should return the
corresponding device.
2014-07-14 09:10:23 +10:00
Víctor Mayoral Vilches
c4babc543d
AP_InertialSensor_LSM9DS0: SPI userspace sensor driver.
...
ST Microelectronics 9 DOF IMU userspace sensor driver. Some
work with the filters needs to be done.
2014-07-14 09:10:23 +10:00
bugobliterator
79fb10d9e8
HAL_Linux: correct AP_HAL_Linux::RCOutput::enable_ch method
...
change the mode of file open which was set as RDONLY mistakenly
2014-07-14 09:10:23 +10:00
bugobliterator
eb35c94a43
HAL_Linux: add rcout->init method to HAL_Linux_Class::init
2014-07-14 09:10:23 +10:00
bugobliterator
e9f5e0d6cc
HAL_Linux: add rcout->init method to HAL_Linux_Class::init method
2014-07-14 09:10:23 +10:00
bugobliterator
34ba77e048
HAL_Linux: Correct faulty RCOutput driver
...
solve compiler not looking ahead of RCOutput class for read and write methods
2014-07-14 09:10:23 +10:00
bugobliterator
26cd4ad237
HAL_Linux: Correct indentation
2014-07-14 09:10:23 +10:00
Siddharth Bharat Purohit
69a4b7d632
HAL_Linux: Correct Indentation issue
2014-07-14 09:10:23 +10:00
Siddharth Bharat Purohit
731d80e6c5
HAL_Linux: Add Steps to Manually test pwm channels
2014-07-14 09:10:13 +10:00
Siddharth Bharat Purohit
b53b3f415a
HAL_Linux: Create Readme.md adding details on manually testing pru pwm
2014-07-14 09:10:03 +10:00
bugobliterator
a7de5e3d0f
HAL_Linux: Add initial RCOutput driver
...
The functions in RCOutput.cpp are defined to access PWM over PRU sysfs
device from userspace using open, read, write and close methods.
2014-07-14 09:09:53 +10:00
Víctor Mayoral Vilches
3354fa9fc8
AP_HAL_Linux: Add support for SPIDevice_MS5611
2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches
1c07985518
AP_InertialSensor_MPU9150: Comment the suspend_timer_procs
...
It causes the driver to hang. This matter should be inspected.
2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches
d65aefbef5
AP_InertialSensor_MPU6000: Fix the test code so that compiles.
2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches
9797867067
AP_Baro_MS5611: Fix the test code so that compiles.
...
Add HAL_BOARD_LINUX and HAL_BOARD_ERLE compatibility.
2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches
9f5b4ffca4
AP_HAL_Linux_Class: Correct deadlock, and infinite loop in setup()
...
(credit to Mitch Miers <mmiers@mmiers.com>):
setup() is attempting to initialize the hardware, and while doing so
is attempting to output some text via the console (and maybe mavlink
data). The problem is, the output isn't going to complete once a
write buffer is full, because LinuxUARTDriver::_timer_tick() doesn't
perform work until _initialized is true. So, what happens is,
setup() (and subroutines) call LinuxUARTDriver::_write(uint8_t c),
which loops waiting for buffer space to become available (once the
write buffer is full). The buffer never gets space, because the
UART thread is waiting for initialization to complete before it
will write out data and drain the buffer, but that doesn't happen
until setup() returns (see AP_HAL_Linux_main.h).
Refer to https://groups.google.com/forum/#!topic/beaglepilot/dQlxse11JNI
2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches
fac3d1c271
AP_InertialSensor_MPU9250: SPI userspace sensor driver.
...
InvenSense MPU9250 sensor driver and test code (available under
libraries/examples/).
2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches
27ebf790e2
AP_HAL_Linux: Add support for SPIDevice_MPU9250
...
The Invensense MPU9250 SPI device is connected to
SPI1, thereby SPIDriver class should return the
corresponding device.
2014-07-14 09:02:46 +10:00
Víctor Mayoral Vilches
5493be1b0d
AP_HAL: Add SPIDevice_MPU9250 as a device.
2014-07-14 09:02:46 +10:00
Víctor Mayoral Vilches
815c2df2d0
AP_HAL_Linux: SPIDriver, add MPU6000 support
2014-07-14 08:52:51 +10:00
Víctor Mayoral Vilches
4d79887cc5
L3G4200D: fix in the test example provided.
...
The test coded had a call to "wait_for_sample" that expected one
argument and 0 where provided.
2014-07-14 08:52:51 +10:00
Andrew Tridgell
74ee70d463
HAL_Linux: updates for ERLE board type
2014-07-14 08:52:27 +10:00
Andrew Tridgell
ab7e96b9de
AP_InertialSensor: updates for ERLE board type
2014-07-14 08:51:44 +10:00
Victor Mayoral Vilches
44320708a7
AP_InertialSensor_MPU9150: I2C userspace driver sensor added.
...
The MPU9150 is a 9 axis sensor that includes 3 accelerometers,
3 gyroscopes and 3 magnetometers. All accessible through I2C.
The AP_InertialSensor_MPU9150 class allows APM to use this sensor.
2014-07-14 08:16:29 +10:00
Victor Mayoral Vilches
1445781104
AP_Common: added fire cape product ID
2014-07-14 08:16:29 +10:00
Randy Mackay
7e04b5d1f1
INS: calibrated method checks all accelerometers
2014-07-13 22:05:21 +09:00
Jonathan Challinger
762bb3e6e8
AC_AttitudeControl: Limit _pos_target.z to below alt_max before computing error
2014-07-13 21:14:34 +09:00
Andrew Tridgell
28fedba4d8
AP_AHRS: fixed gyro_bias sign, and pre-calculate gyro_estimate for EKF
...
this allows us to return a constant vector for the corrected gyro
estimate. Based on discussions with Jon Challinger
2014-07-13 21:56:39 +10:00
Jonathan Challinger
966d66ef40
AP_AHRS_NavEKF: use gyro drift states from EKF in get_gyro
2014-07-13 21:34:44 +10:00
Jonathan Challinger
61987f6655
AP_AHRS: Fixed DCM get_gyro function
...
Previously incorporated the attitude correction terms into the return. Now only returns the drift-corrected gyro.
2014-07-13 21:19:29 +10:00
Jonathan Challinger
5f66027ba3
AC_AttitudeControl: Fixup some minor mistakes in AC_PosControl
2014-07-13 17:17:31 +09:00
Robert Lefebvre
92bdf24dba
AP_MotorsHeli: Add To-Do. Swash setup hasn't seemed to work right for a while, this might be why. Confirm later.
2014-07-13 17:11:22 +09:00
Robert Lefebvre
a7f6a91827
AC_AttitudeControl_Heli: Remove ToDo. Rate controllers should always run even if throttle is zero.
2014-07-13 17:11:20 +09:00
Randy Mackay
f630f9abc3
GPS: exclude SIRF and NMEA on APM copter build
...
This only works for the centralised builder, the modified Arduino IDE
will still include the NMEA and SIRF drivers meaning it will require
approximately 4k additional flash which may push us over the limit on
the APM2. Users will instead need to exclude other features to get
below the APM1/2 flash limit.
2014-07-13 15:41:11 +09:00
Andrew Tridgell
ddb030088d
GCS_Mavlink: moved some more mavlink functions to GCS_Common.cpp
2014-07-13 15:37:49 +10:00
Randy Mackay
971411e0db
AC_AttControl: fixed typo in parameter description
2014-07-13 10:31:11 +09:00
Randy Mackay
5f623ac859
AC_AttControl: re-enable rate feedforward by default
...
Roll and Pitch rate controllers became sluggish without feed-forward
enabled.
2014-07-11 15:31:00 +09:00
Randy Mackay
bbf4805b0e
Compass: update pixhawk expected device ids
2014-07-11 11:10:18 +09:00
Craig Elder
c9f3adcb5c
Compass: Updated COMPASS_PRIMARY parameter description
2014-07-10 15:32:06 -07:00
Craig Elder
0ecd12b1c6
AP_Compass: Corrected typo in parameter description
...
Corrected typo in parameter description
2014-07-10 14:19:19 -07:00
Randy Mackay
fa2f5d9c68
Arming: accept non-const compass in constructor
...
The compass.configured() method checks the eeprom and cannot be const
meaning the Arming object requires a non-const reference to the compass.
Removed check for null compass because the compass object is always
created although this could lead to unnecessary pre-arn check failures
even though compass-use is set to false.
2014-07-10 22:50:52 +09:00
Randy Mackay
4995b9ada8
Compass: default device id to zero
2014-07-10 20:25:36 +09:00
Randy Mackay
16d4af8346
Compass: sanity check instance in set_and_save_offsets
2014-07-10 20:25:32 +09:00
Randy Mackay
76369d153f
Arming: use compass.configured method
...
This checks that when compass offset learning is off, that the offsets
are non-zero and that the detected device id matches the device id
stored to eeprom when the offsets were last saved.
2014-07-10 20:25:30 +09:00
Randy Mackay
cf7e1a6339
Compass: example sketch update for set_and_save_offsets
2014-07-10 20:25:13 +09:00
Randy Mackay
a778522cef
Compass: add learn_offsets_enabled accessor method
2014-07-10 20:25:11 +09:00
Randy Mackay
108c878b04
Compass: set_offsets modified to also save offsets
2014-07-10 20:25:08 +09:00
Randy Mackay
124bd4b489
Compass: save_offsets accepts compass instance
2014-07-10 20:25:05 +09:00
Randy Mackay
2c1fa5f1e8
GCS_MAVLink: generate after adding deprecated note to SET_MAG_OFFSETS
2014-07-10 20:25:02 +09:00
Randy Mackay
798c749833
GCS_MAVLink: add deprecated note to SET_MAG_OFFSETS
2014-07-10 20:25:00 +09:00
Randy Mackay
05225636da
GCS_MAVLink: generate after adding second mag to PREFLIGHT_SET_SENSOR_OFFSETS
2014-07-10 20:24:58 +09:00
Randy Mackay
bf6fd6f984
GCS_MAVLink: add second mag to PREFLIGHT_SET_SENSOR_OFFSETS
...
Updates the comments for parameter 1 only, this does not affect the
message format.
2014-07-10 20:24:55 +09:00
Randy Mackay
070f1c1bbb
Compass: add dev_id for VRBrain
2014-07-10 20:24:49 +09:00
Randy Mackay
f42c9579d7
Compass: add dev_id for PX4
...
dev_id is retrieved from PX4Firmware via ioctl call
2014-07-10 20:24:46 +09:00
Randy Mackay
b7f33d81ad
Compass: add DEV_ID param and configured method
...
These allow checking the offsets were created with the current compass
device.
2014-07-10 20:24:44 +09:00
svefro
be9bfc5530
Mount: set_mode method made public
2014-07-10 13:03:43 +09:00
Andrew Tridgell
d325f630e5
VibTest: added sample timing to console output
2014-07-09 12:12:23 +10:00
Andrew Tridgell
8af876fe8a
AC_AttitudeControl: fixed build
...
includes are case sensitive on the build server
2014-07-09 10:19:17 +10:00
Andrew Tridgell
863e7a5f93
VibTest: fixed array bounds error
2014-07-09 08:11:52 +10:00
Andrew Tridgell
2c8240dbb4
VibTest: fixed gyro timestamps in logs
...
it was using the accel timestamps
2014-07-09 08:10:09 +10:00
Robert Lefebvre
789b1018fc
AP_MotorsHeli: Change set_delta_phase_angle so that it forces recalculation of collective factors.
2014-07-08 20:18:39 +09:00
Robert Lefebvre
fd542e99d8
AP_MotorsHeli: Create Delta Phase Angle variable and method to set. Will be used by CCComp code.
2014-07-08 20:18:34 +09:00
Robert Lefebvre
0680b88abd
AP_MotorsHeli: Add main loop rate time variable and method. Change RSC increment calc to account for loop rate time.
2014-07-08 20:18:20 +09:00
Robert Lefebvre
26be7aed97
AC_AttControl_Heli: Add LPF filter to Rate Feedforward terms
2014-07-08 20:18:13 +09:00
Robert Lefebvre
fa9d625e39
AC_HELI_PID: Add feedforward accessor functions.
2014-07-08 20:18:05 +09:00
Robert Lefebvre
979abb9fbd
TradHeli: Cause DDVP Tail Motor to stop immediately when Ch8 is 0.
2014-07-08 20:18:02 +09:00
Andrew Tridgell
b2bc098aee
HAL_PX4: avoid some float conversion warnings
2014-07-08 20:27:19 +10:00
Andrew Tridgell
e137bf26ef
HAL_Empty: avoid some float conversion warnings
2014-07-08 20:27:13 +10:00
Andrew Tridgell
59de5a8465
AP_GPS: avoid some float conversion warnings
2014-07-08 20:27:03 +10:00
Andrew Tridgell
74c3b404ee
AP_Baro: avoid some float conversion warnings
2014-07-08 20:26:54 +10:00
Andrew Tridgell
6b87c9fdf7
AP_Airspeed: avoid some float conversion warnings
2014-07-08 20:26:44 +10:00
Andrew Tridgell
f28946defb
AP_ADC_AnalogSource: avoid some float conversion warnings
2014-07-08 20:26:37 +10:00
Andrew Tridgell
198ada2b42
APM_Control: avoid some float conversion warnings
2014-07-08 20:26:20 +10:00
Andrew Tridgell
baa0217bec
AP_RangeFinder: trigger a new reading automatically
...
this fixes Maxbotix I2C
2014-07-08 16:28:18 +10:00
Andrew Tridgell
f6d9bc5d7e
AP_RangeFinder: fixed detection of multiple types
...
Pair-Programmed-With: Allyson Kreft
2014-07-08 15:08:18 +10:00
Andrew Tridgell
7ceb14bec0
HAL_Empty: make I2C ops fail
2014-07-08 15:08:18 +10:00
Andrew Tridgell
9386295428
AP_RangeFinder: added SONAR2_TYPE parameter
...
thanks to Allyson for noticing
2014-07-08 15:08:18 +10:00
Andrew Tridgell
05d4f5fb5a
AP_RangeFinder: convert PX4 driver to new API
2014-07-08 15:08:18 +10:00
Andrew Tridgell
4cba48ade2
AP_RangeFinder: removed old style analog drivers
...
replaced by generic analog driver
2014-07-08 15:07:51 +10:00
Andrew Tridgell
ed346fd639
AP_RangeFinder: convert MaxbotixI2C driver to new API
2014-07-08 15:07:51 +10:00
Andrew Tridgell
0063d83dbc
AP_RangeFinder: convert the PulsedLight driver to new API
...
not tested yet
2014-07-08 15:07:50 +10:00
Andrew Tridgell
22b9059647
AP_RangeFinder: have two instances on all platforms
...
rover needs two sonars for obstacle avoidance
2014-07-08 15:07:50 +10:00
Andrew Tridgell
e69a473315
SITL: update simulated sonar support
2014-07-08 15:07:50 +10:00
Andrew Tridgell
6f33ca4988
AP_RangeFinder: added SONAR_RMETRIC option
...
this allows correct support for non-ratiometric rangefinders such as
the SF/02
2014-07-08 15:07:50 +10:00
Andrew Tridgell
92b76b4be4
AP_RangeFinder: converted analog rangefinder backend to new API
...
this gets analog rangefinders of all types working
2014-07-08 15:07:50 +10:00
Andrew Tridgell
cb037f3416
AP_RangeFinder: new rangefinder API ready for its first backend
...
the backends are setup to have just the minimum functionality needed
for a rangefinder, with all of the higher level logic in the
frontend. This should make writing a new backend easier
2014-07-08 15:07:50 +10:00
Andrew Tridgell
429431157b
AP_RangeFinder: disable old rangefinder drivers
...
these will be re-enabled when they are converted to the new class API
2014-07-08 15:07:50 +10:00
akdslr
d759a9dd9b
AP_RangeFinder: Seperated the Backend driver functionality into a separate class
2014-07-08 15:07:49 +10:00
akdslr
3f17969b19
AP_RangeFinder: Changes from the May 4th plane test flight
2014-07-08 15:07:49 +10:00
akdslr
2e586ccfb2
AP_RangeFinder_PulsedLightLRF: Updated the value to write to the register to trigger a measurement
2014-07-08 15:07:49 +10:00
akdslr
5f4168d5f8
AP_RangeFinder_PX4_test: Added an example sketch for the PX4 range finder
2014-07-08 15:07:49 +10:00
akdslr
18c06277f8
AP_RangeFinder: Added a new PX4 range finder and modified the RangeFinder parent class to support having multiple devices simultaneously
2014-07-08 15:07:49 +10:00
akdslr
a2df275bd9
AP_RangeFinder_PulsedLightLRF: Updated the register definitions for the new hardware
2014-07-08 15:07:49 +10:00
Andrew Tridgell
e118984c26
AP_Baro: save some flash and memory on APM2
...
we don't need the I2C MS5611 driver
2014-07-08 14:21:42 +10:00
Andrew Tridgell
d50d5b8f24
VibTest: fixed sample count output on console
2014-07-08 10:59:30 +10:00
Andrew Tridgell
03770c4d34
VibTest: added gyro data and support 3 sensors
...
will be used for vibration testing on FMUv3
2014-07-08 10:07:58 +10:00
Randy Mackay
2b64c511ed
AC_WPNav: update yaw only when track is at least 2m
2014-07-06 17:02:12 +09:00
Randy Mackay
c9661cfb09
AC_WPNav: integrate set_desired_velocity_xy function name change
2014-07-06 17:01:10 +09:00
Randy Mackay
82ed70b25e
AC_PosControl: add xyz velocity controller
...
Velocity controller interpretsthe velocity requests as
desired velocities (i.e. feed forward). These are then used to update
the target position and also added to the target velocity.
Also renamed the set_desired_velocity() function to
set_desired_velocity_xy() to make clear only lat and lon axis are
updated.
2014-07-06 17:01:02 +09:00
Randy Mackay
fe8a5be802
AP_Mission: support MAV_CMD_NAV_VELOCITY msg
2014-07-06 17:01:00 +09:00
Randy Mackay
34b91496f9
GCS_MAVLink: generate after adding CMD_NAV_VELOCITY
2014-07-06 17:00:57 +09:00
Randy Mackay
35167c262e
GCS_Mavlink: add MAV_CMD_NAV_VELOCITY
...
This is an earth frame velocity request message
2014-07-06 17:00:55 +09:00
Randy Mackay
9103899048
GCS_Common: minor typo in comments
2014-07-06 17:00:52 +09:00
Randy Mackay
f4c9d58051
AP_Mission: add support for MAV_CMD_NAV_GUIDED
2014-07-06 17:00:26 +09:00
Randy Mackay
be003c1906
GCS_MAVLink: generate after adding CMD_NAV_GUIDED
2014-07-06 17:00:24 +09:00
Randy Mackay
05c63592ce
GCS_MAVLink: add CMD_NAV_GUIDED to ardupilotmega.xml
2014-07-06 17:00:21 +09:00
Andrew Tridgell
c138244155
AP_Compass: support 3 mags on PX4
2014-07-04 12:07:47 +10:00
Emile Castelnuovo
b420a5c6db
AP_HAL_VRBRAIN: removed empty lines
2014-07-03 11:09:20 +10:00
Niels Joubert
fabd7601f0
GPS: Fix dataflash logging bug in SBP driver
2014-07-03 09:57:10 +10:00
Niels Joubert
b57d1f5245
GPS: Include 75-class CPUs in RTK support since they will have 64 bit floating point values.
2014-07-03 09:57:07 +10:00
Andrew Tridgell
849c4905fb
HAL_PX4: print overtime message on stuck task
...
this should make it easier to narrow down stuck task bugs
2014-07-03 09:11:24 +10:00
Andrew Tridgell
67f5ba0b94
AP_Scheduler: added current_task static
...
will be used to debug stuck tasks on PX4
2014-07-03 09:09:11 +10:00
Emile Castelnuovo
bdd9fe77c7
VRBRAIN: change default pin for analog input.
2014-07-01 12:23:25 +02:00
LukeMike
f70da39206
VRBRAIN: changed the management of the pwm output
2014-07-01 12:21:36 +02:00
LukeMike
fa4fffc878
VRBRAIN: deleted unnecessary customizations
2014-07-01 12:21:35 +02:00
Emile Castelnuovo
b2680984a5
AP_HAL_VRRBAIN: added comment
2014-07-01 12:21:34 +02:00
Andrew Tridgell
bed5db35c7
GCS_MAVLink: fixed missing header
2014-07-01 14:57:41 +10:00
Andrew Tridgell
4c22aa20ad
GCS_MAVLink: regenerate headers
2014-07-01 14:26:44 +10:00
Andrew Chapman
7cdd5a700b
CameraFeedback: alt rel/msl, renamed CAMERA_EVENT
...
- include both “alt_msl” and “alt_rel”
- rename CAMERA_EVENT to CAMERA_STATUS
- clarify comments regarding message origin and order
- change pitch/roll/yaw to be camera rather than vehicle, earth frame
2014-07-01 14:25:55 +10:00
Andrew Tridgell
544d872d65
GCS_MAVLink: fixed a shadowed variable
2014-07-01 09:18:20 +10:00
Andrew Tridgell
773bc7bcbe
GCS_MAVLink: added missing RTK headers
2014-06-30 20:06:34 +10:00
Andrew Tridgell
f9d87bcc88
AP_GPS: fixed build errors and warnings in SBP driver
...
shadowed variables and implied casts in structures
2014-06-30 11:15:51 +10:00
Andrew Tridgell
bcb3d1af14
GCS_MAVLink: fixed flymaple build
...
has dual GPS but no RTK support
2014-06-30 10:51:19 +10:00
Andrew Tridgell
fc11deb547
GCS_MAVLink: regenerate headers
2014-06-30 10:31:11 +10:00
Niels Joubert
fa78634959
AP_GPS: GPS calculates MAVLink messages for GPS and GPS_RTK
2014-06-30 10:30:16 +10:00
Niels Joubert
baf0697f48
GCS_MAVLink: Add support for GPS_RTK messages
2014-06-30 10:30:16 +10:00
Niels Joubert
ad5311c089
MAVLink: New message definitions for GPS_RTK
2014-06-30 10:29:57 +10:00
Niels Joubert
2b1169b0ab
AP_GPS: SwiftNav RTK Driver and GPS AutoSwitch param
2014-06-30 10:29:56 +10:00
Niels Joubert
fee79c5bac
SITL: Piksi Heartbeat Message support, Integer-RTK baseline simulation
2014-06-30 10:29:56 +10:00
Niels Joubert
a251d0010a
AP_NOTIFY: RTK GPS visual notification through faster blink
2014-06-30 10:29:56 +10:00
Niels Joubert
398f32d538
AP_Math: Comments on WGS coordinate conversions
2014-06-30 10:29:56 +10:00
Andrew Tridgell
1ed716976c
GCS_MAVLink: regenerate mavlink headers
2014-06-30 08:25:16 +10:00
Andrew Chapman
c6a76e8d97
CameraFeedback: added CAMERA_FEEDBACK_FLAGS for open/closed loop
...
This is so a GCS can tell if a certain picture was definitely captured
(e.g. with a CCB or machine vision cam) or only requested in the blink
(e.g. uni-directional CHDK)
2014-06-30 08:24:38 +10:00
Andrew Tridgell
fd87f28a07
DataFlash: save some flash space on APM2
...
don't include log message headers that are not used on APM2
2014-06-30 07:58:42 +10:00
Andrew Tridgell
e6d8e329d5
DataFlash: allow logging of 3 accels/gyros
2014-06-30 07:58:30 +10:00
Andrew Tridgell
ca12592448
AP_InertialSensor: allow for 3 accels and 3 gyros on Pixhawk
...
this supports FMUv3
2014-06-30 07:58:27 +10:00
Andrew Tridgell
ece01da10e
AP_InertialSensor: fixed _dump_registers() for MPU6000
...
need to take the semaphore to prevent bus errors
2014-06-29 12:11:21 +10:00
lthall
4072fcd99e
Inav: use horizontal body frame for accel corrections
2014-06-21 14:58:59 +09:00
Emile Castelnuovo
8f3a4bc88b
VRBRAIN: correction to AP_Compass_VRBRAIN.cpp
2014-06-19 11:27:45 +02:00
Emile Castelnuovo
946a461873
VRBRAIN: added VRBRAIN to #if
2014-06-19 11:27:44 +02:00
LukeMike
8f552d5758
VRBRAIN: Changed the management of VirtualRobotix's boards.
2014-06-19 11:27:38 +02:00
Michael Oborne
30a3927ea8
AP_Mount: fix where status_msg() is sent
...
send to the channel where the trigger msg was sent from
2014-06-18 12:03:18 +10:00
svefro
b473f8fd4d
AP_RCMapper: Added warning to RCMAP_THROTTLE
...
Warning user that changing RCMAP_Throttle could be dangerous
2014-06-17 21:04:19 +10:00
Randy Mackay
9b81e46e61
AP_Common: add example sketch
2014-06-17 20:53:53 +10:00
Randy Mackay
2f7dee3ba5
AP_Mission: squeeze loiter turns radius into high byte of p1
2014-06-17 20:53:50 +10:00
Randy Mackay
b79f729540
AP_Common: add LOWBYTE, HIGHBYTE macros
2014-06-17 20:53:47 +10:00
Randy Mackay
fa16e0967f
AP_Common: remove unused location mask definitions
2014-06-17 20:53:45 +10:00
Andrew Tridgell
e2fe3d2de7
GCS_MAVLink: re-generate headers
2014-06-17 20:21:54 +10:00
Andrew Tridgell
0db226daf5
GCS_MAVLink: merge in upstream changes
2014-06-17 20:19:35 +10:00
Andrew Chapman
87fcfbf9dd
GCS_MAVLink: re-generate MAVLink headers
2014-06-17 20:16:39 +10:00
Andrew Chapman
048767e389
GCS_MAVLink: camera feedback mavlink messages
...
CAMERA_EVENT and CAMERA_FEEDBACK messages, and a couple of enums they
use (CAMERA_EVENT_TYPES and CAMERA_FEEDBACK_FLAGS)
Adjusted some types and added more explicit descriptions of units as
suggested on the call last week.
I will add camera parameter list/get/set functionality as suggested
using the existing parameter mechanism and component IDs rather than
the new CAMERA_INFO messages I had proposed.
2014-06-17 20:15:20 +10:00
Randy Mackay
11e08e1492
DataFlash: common Log_Write_Camera
...
pair programmed with Craig Elder
2014-06-17 14:11:36 +10:00
Randy Mackay
0c9a496262
AC_AttControlHeli: add ATC_RATE_FF_ENAB parameter
...
Because this class inherits from AC_AttitudeControl library this new
parameter must be added here as well
2014-06-10 21:25:33 +09:00
Randy Mackay
46f25c52a4
AC_AttControl: allow enabling/disabling feedforward and accel limiting
2014-06-10 20:03:02 +09:00
Randy Mackay
a2f54fdf2c
AC_WPNav: smooth waypoint by freezing feed-forward and allowing overshoot
...
First part of this fix is freezing the position controller's xy-axis
feed foward as we transition to the new segment.
Second part is work-around for straight line segments in that we allow
the target point to actually overshoot the end of the segment by up to
2m if the segment is a "fast waypoint". Ideally we would instead notice
the waypoint has been completed and take any left over time or distance
and move our target along the track towards the next waypoint but that
would require a much larger change to allow the wpnav lib to hold the
next two waypoints.
2014-06-10 20:03:01 +09:00
Randy Mackay
ce85d1f6b2
AC_WPNav: use curr pos target as spline origin
...
We only use the current target position as origin if the waypoint
controller is active (i..e has been used in the past 1 second). This is
consistent with how we initialise straight line waypoints
2014-06-10 20:02:59 +09:00
Randy Mackay
130eb07d48
AC_AttControl: angle_ef_roll_pitch_rate_ef_yaw supports zero yaw accel
2014-06-10 20:02:58 +09:00
Randy Mackay
02b4b21f67
AC_AttControl: disable feed forward by default
...
Can be re-enabled by setting ATC_RATE_FF_ENAB parameter to 1
2014-06-10 20:02:55 +09:00
Randy Mackay
b57c0dabf6
AC_AttControl: check accel_rp_max instead of rate_bff_ff_enabled
...
We use the accel_rp_max, accel_y_max to check whether to apply accel
limiting or not. This is related to separate from the
body-frame-feed-forward.
2014-06-10 20:02:54 +09:00
Randy Mackay
2bb30b3ef9
AC_AttControl: add set_yaw_target_to_current_heading method
2014-06-10 20:02:49 +09:00
Randy Mackay
d9c966c927
AC_AttControl: RATE_FF_ENAB param to disable rate feed forward
2014-06-10 20:02:48 +09:00
Randy Mackay
4d4c7a2118
AC_AttControl: move freeze_ff to flags structure
2014-06-10 20:02:46 +09:00
Randy Mackay
a662f87ffb
AC_AttControl: remove resolved To-Do
...
This To-Do is resolved by heli flight modes calling the
relax_bf_rate_controller method
2014-06-10 20:02:45 +09:00
Randy Mackay
7f734f38d6
AC_AttControl: add earth frame angle constraints
...
This should help recovery time if pilot switches out of ACRO (into
Stabilize, AltHold, etc) while inverted
2014-06-10 20:02:43 +09:00
Randy Mackay
698cf934b8
AC_AttControl: formatting fixes
2014-06-10 20:02:42 +09:00
lthall
2bb63857fa
AC_AttControl: clean up stabilize
2014-06-10 20:02:40 +09:00
lthall
c24d293e1b
AC_AttControl: zero _accel_xyz_max stops feed forward
...
Also added place holder for turning off feed forward.
2014-06-10 20:02:39 +09:00
lthall
8bbce7e658
AC_PosControl: freeze feed forward for alt control in Auto
2014-06-10 20:02:36 +09:00
lthall
922026c15c
AC_AttControl: rate compensation for yaw
2014-06-10 20:02:34 +09:00
lthall
0d87298221
AC_PosControl: freeze feed forward and vector fixes
2014-06-10 20:02:33 +09:00
Randy Mackay
5209598459
AC_AttControl: rename init_targets to relax_bf_rate_controller
2014-06-10 20:02:27 +09:00
lthall
1bdde31f6b
Copter: Fix zero throttle flip issue Stabilize
...
The problem is that the init_targets is intended to ensure the
controller doesn't build up the I term when the throttle is low. Because
it is poorly named (or used) it have been written to do something else.
Here I change it to do what the code is trying to use it to do.
2014-06-10 20:02:01 +09:00
Randy Mackay
915dad2da4
AC_Circle: use fast_atan2 to calc bearing from center
...
This does not save much time because it's only called at initialisation
2014-06-06 18:51:09 +09:00
Randy Mackay
f23e94707c
AC_WPNav: use fast_atan2 for bearing calcs
2014-06-06 18:51:08 +09:00
David Dewey
17374ff5e8
AP_Math: fast_atan2
...
This is 126us per call vs 199us on the AVR. it is accurate to about
0.28 degrees
Committed by rmackay9 but contribution is from David Dewey
2014-06-06 18:50:41 +09:00
Ju1ien
28ce66f314
INav: clear historic z-axis position estimate when set_altitude called
2014-06-06 18:42:42 +09:00
Randy Mackay
efd6d6dc70
AC_WPNav: spline div by zero fix
...
Also add check for straight line navigation to ensure speed is not
reduced below zero when it hits the leash limit
Also minor formatting changes
2014-06-05 22:23:38 +09:00
lthall
0912bec8f5
Spline div zero and leash limit fix
2014-06-05 22:23:35 +09:00
Andrew Tridgell
f0df912a11
AP_Mission: added support for MAV_CMD_DO_INVERTED_FLIGHT
2014-06-05 15:44:18 +10:00
Andrew Tridgell
ef4a79cc9a
GCS_MAVLink: rebuild MAVLink headers
2014-06-05 15:44:03 +10:00
Andrew Tridgell
67937b5b79
GCS_MAVLink: added MAV_CMD_DO_INVERTED_FLIGHT
...
used to invert from a mission
2014-06-05 15:43:46 +10:00
Andrew Tridgell
5a1aa8dfe7
AP_L1_Control: implement turn_distance() with turn angle
...
uses a linear approximation for now.
2014-06-05 09:34:23 +10:00
Andrew Tridgell
7a6186f7e6
AP_Navigation: added a turn_distance() method with turn_angle
2014-06-05 09:33:42 +10:00
Andrew Tridgell
49f93b91b2
APM_OBC: fixed formatting to match APM coding standard
2014-06-02 10:47:02 +10:00
Andrew Tridgell
e9e1799700
AP_Compass: fixed VRBrain build
2014-06-02 10:42:37 +10:00
Andrew Tridgell
d554616e86
AP_EPM: fix for HAL_GPIO_*
2014-06-02 10:42:36 +10:00
Andrew Tridgell
3705c90b8e
AP_Baro: fix for HAL_GPIO_*
2014-06-02 10:42:36 +10:00
Andrew Tridgell
d70bee9249
AP_AHRS: fix for HAL_GPIO_*
2014-06-02 10:42:36 +10:00
Andrew Tridgell
0d83d4f4f5
APM_OBC: fix for HAL_GPIO_*
2014-06-02 10:42:36 +10:00
Andrew Tridgell
1e2214f8d1
DataFlash: fix for HAL_GPIO_*
2014-06-02 10:42:36 +10:00
Andrew Tridgell
732cd0e130
AP_Relay: fix for HAL_GPIO_*
2014-06-02 10:42:36 +10:00
Andrew Tridgell
50c08ced4c
AP_Notify: fixes for HAL_GPIO_*
2014-06-02 10:42:35 +10:00
Andrew Tridgell
4c43cd9775
AP_InertialSensor: fixes for HAL_GPIO_*
2014-06-02 10:42:35 +10:00
Andrew Tridgell
805d79debe
HAL_FLYMAPLE: fix for HAL_GPIO_*
2014-06-02 10:42:35 +10:00
Andrew Tridgell
3015356671
HAL_AVR: fixes for HAL_GPIO_ define change
2014-06-02 10:42:35 +10:00
Andrew Tridgell
18a64d17d3
AP_HAL: added HAL_ prefix to GPIO_ defines
...
this fixes a bug caused by GPIO_INPUT and GPIO_OUTPUT already being
defined in NuttX, which caused pinMode() not to setup pins for output
when requested
2014-06-02 09:24:52 +10:00
Andrew Tridgell
fa4eb5475a
HAL_PX4: implement analog input stop pins
...
this allows multiple sonars to cooperate without interference
2014-06-02 08:35:41 +10:00
Randy Mackay
2b0f142a17
AC_PosControl: fix typo in D-filter definition
2014-05-29 17:50:48 +09:00
Randy Mackay
7e3213edbf
AC_AttControl: increase default accel max
2014-05-29 17:40:26 +09:00
Randy Mackay
29ca7a10df
AC_PosControl: set alt hold accel control D term filter
2014-05-29 17:40:23 +09:00
Randy Mackay
0969e464fb
AC_AttControl: set roll, pitch, yaw rate control D term filters
2014-05-29 17:40:17 +09:00
Randy Mackay
faf3415e5e
AC_PID: example sketch prints individual P, I and D values
2014-05-29 17:39:19 +09:00
Robert Lefebvre
b35ec4339e
AC_PID: Add method to set the D-term Filter Rate from main code.
2014-05-29 17:39:10 +09:00
Robert Lefebvre
f1c3f2a3d1
AC_PID: Remove get_leaky_i function which is now found in AC_HELI_PID.
2014-05-29 17:39:08 +09:00
Robert Lefebvre
7c9249de93
AC_AttitudeControl_Heli: Change to use AC_HELI_PID class instead of AC_PID. Remove FF parameters from class.
2014-05-29 17:39:06 +09:00
Robert Lefebvre
6333b4bba6
AC_PID: update example sketch to test AC_HELI_PID
2014-05-29 17:39:01 +09:00
Robert Lefebvre
ef7dc815cd
AC_PID: Change Private members to Protected so that AC_HELI_PID can access them.
2014-05-29 17:38:59 +09:00
Robert Lefebvre
94e9bed9cf
AC_PID: Add new AC_HELI_PID as a child of AC_PID
2014-05-29 17:38:57 +09:00
Andrew Tridgell
0b6407256c
GCS_MAVLink: moved 3 more send_*() functions to GCS_Common.cpp
2014-05-28 09:35:30 +10:00
Andrew Tridgell
37c50d9587
HAL_PX4: fixed use of FMU servo pins as digital inputs
...
these pins can be PWM output or digital input or digital output
2014-05-25 22:03:44 +10:00
Andrew Tridgell
2d9e9d9bc3
AP_Compass: added COMPASS_PRIMARY parameter
...
this allows selection of which compass is the primary. Useful if the
first compass starts giving spurious data (as happened in our plane)
2014-05-25 22:03:44 +10:00
priseborough
edc79ca2a4
AP_NavEKF: Increase divergence test margin based on analysis of more user flight logs
...
Analysis of copter logs has shown cases with a healthy EKF where spikes in EKF4.DS of up to 25% of the threshold have occurred.
A value of closer to 10% for normal operation is preferred.
2014-05-24 22:20:24 +10:00
Andrew Tridgell
aba11a0634
AP_L1_Control: wrap the target_bearing
2014-05-23 07:30:58 +10:00
Randy Mackay
cde7d31dad
AC_WPNav: fix divide by zero when origin and dest are same location
2014-05-22 21:18:24 +09:00
Andrew Tridgell
63da53c842
GCS_MAVLink: moved main update() routine into GCS_Common.cpp
...
this fixes a common timeout error with loading large missions, and
means less per-vehicle code
2014-05-21 12:45:25 +10:00
Andrew Tridgell
42c1501563
AP_Common: moved map_baudrate() into AP_Common
...
this version supports a much wider range of baudrates
2014-05-21 12:45:25 +10:00
Andrew Tridgell
7d712f90bf
APM_OBC: adjusted docs for FS_HB_PIN
...
thanks to Warren for the question
2014-05-21 12:45:25 +10:00
Randy Mackay
69ad632e2a
GPS: correct NAVFILTER parameter description
...
These corrected values match the GPS_Engine_Setting enum in GPS.h
Thanks to Adolfo R for noticing the issue and providing the fix
2014-05-20 22:08:40 +09:00
Andrew Tridgell
a7d6a26bec
HAL_PX4: fixed auto-flow control
...
the 6 bytes written to break the radio out of bootloader broke
auto flowcontrol detection
2014-05-19 22:02:39 +10:00
Randy Mackay
597d5227f5
AC_WPNav: rename set_loiter_target to init_loiter_target
2014-05-19 12:27:25 +09:00
Randy Mackay
e7b3c00767
AC_WPNav: set_loiter_target uses set_xy_target
...
Loiter is only a horizontal position controller so it should not set the
z-axis position.
Moved pos_control.set_speed and accel functions so order matches
init_loiter_targets function order
2014-05-19 12:27:20 +09:00
Ju1ien
aed5787c1b
AC_WPNav: bug fix for loiter init in Hybrid
...
AC_PosControl::init_xy_controller() has been added to PosControl and is
called by init_loiter_target.
Hybrid is currently using set_loiter_target function to init the loiter
controller. So we have to call init_xy_controller() by set_loiter_target
function.
What happens otherwise?
In AC_PosControl::update_xy_controller, we update "now" with
now = hal.scheduler->millis();
and, as _last_update_xy_ms has not been updated previously by
init_xy_controller(), we just call init_xy_controller().
So, _dt_xy will be negative and used anyways in all the functions and
PID called by update_xy_controller.
That will avoid at least _accel_target.x/y to be set to 0 but I'm not
sure for the high values, probably an I_term that is not reset and
reached very high value.
Or maybe a cast error somewhere... no clue at all
2014-05-19 12:27:16 +09:00
priseborough
5fe0d2c1b2
AP_NavEKF: Add protection for accel bias estimation errors
...
Don't do bias estimation if tilted by more than 60 degrees to prevent scale
factor errors affecting result unnecessarily.
Prevent Kalman gain from having the wrong sign due to numerical errors
associated with small process noise values.
Allow smaller Z accel bias process noise values to be set
2014-05-18 08:09:00 +10:00
priseborough
3222e8f7cb
AP_NavEKF: Default parameter adjustments
...
Bring Plane glitch protection thresholds into alignment with copter and
rover
Slight increase in accelerometer bias process noise to prevent bias
estimate divergence into limits (Rover and Plane only as Copter does not
seem respond as well to this change)
effective increase in threshold on divergence test to allow increased
margin for bad GPS velocities
2014-05-18 08:08:49 +10:00
Andrew Tridgell
65fd25fb5a
AP_InertialSensor: fixed example build
2014-05-18 08:08:19 +10:00
Andrew Tridgell
b99ae63cbb
HAL_Linux: more generic fix for scheduler issues in example sketches
...
this ensures drivers can run
2014-05-16 22:40:38 +10:00
Andrew Tridgell
30f5e2c37f
AP_GPS: work around scheduling issue in example code
2014-05-16 22:35:32 +10:00
priseborough
e40e50e2e1
AP_NavEKF: Prevent start-up transients re-tripping divergence test
2014-05-16 22:05:22 +10:00
Andrew Tridgell
73976e2ca4
AP_GPS: fixed example build
2014-05-16 22:05:04 +10:00
Andrew Tridgell
8533aecf18
AP_InertialSensor: fixed example build
2014-05-16 21:24:25 +10:00
priseborough
a19015ed61
AP_NavEKF: Scale divergence check with covariance
...
This provides consistent behaviour for a range of gyro bias process
noise settings and automatically adjusts sensitivity as filter learns bias
2014-05-16 21:24:25 +10:00
priseborough
0337d44b2e
AP_NavEKF: Fix bug causing immediate clearing of diverged status on reset
2014-05-16 21:24:04 +10:00
priseborough
d150904dc6
AP_NavEKF: Increase gyro bias process noise
...
This is required to stop the bias estimate from becoming too static
towards the end of longer flights.
2014-05-16 21:24:04 +10:00
Andrew Tridgell
49e7ee9ba7
GCS_MAVLink: added setup_uart() method
...
this provides a common way of dealing with UART setup for a GCS
instance. It includes code to cope with SiK radios stuck in bootloader
mode.
2014-05-16 11:44:33 +10:00
Andrew Tridgell
b3c1e515dc
AP_AHRS: when no accel info available in buffer use current value
...
this prevents an initialisation error, and is reasonable in flight too
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-05-15 22:19:54 +10:00
Andrew Tridgell
315290029a
AP_AHRS: fixed check of accel sensor health
...
we need to check health of each accelerometer separately
2014-05-15 22:18:56 +10:00
Andrew Tridgell
5edf4ba596
AP_NavEKF: fixed up handling of bitfields in faultStatus
...
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-05-15 21:42:39 +10:00
Andrew Tridgell
79edc4b467
GCS_MAVLink: re-generate with addition of MAV_SYS_STATUS_AHRS
2014-05-15 21:14:21 +10:00
Andrew Tridgell
ccebeba5a5
GCS_MAVLink: added MAV_SYS_STATUS_AHRS
...
will be used to indicate AHRS health
2014-05-15 21:14:21 +10:00
priseborough
f01cc78d37
DataFlash: Add EKF fault status logging
2014-05-15 21:14:21 +10:00
priseborough
ce8e1daa16
AP_NavEKF: Improved divergence detection and reset
...
Divergence is now detected by looking for very large changes in the gyro
bias. This will cause the filter to be reset and declared unhealthy for
10 seconds.
Don't reset filterDiverged status immediately during reset
Set filterDiverged true if covariance blows up
Add fault status reporting
2014-05-15 21:14:21 +10:00
Andrew Tridgell
5d2d6e0063
GCS_MAVLink: regenerated MAVLink headers
2014-05-15 21:14:21 +10:00
Andrew Tridgell
983ac9cbf4
GCS_MAVLink: merge in latest upstream XML changes
2014-05-15 21:14:21 +10:00
Andrew Tridgell
1a05c27bbb
AP_AHRS: added healthy() function
...
this will be used to report when the AHRS subsystem becomes unhealthy
2014-05-15 21:14:21 +10:00
Andrew Tridgell
086142580a
AP_InertialSensor: added VibTest sketch
...
logs all accel data at high rate to SD card
2014-05-15 21:14:21 +10:00
Jonathan Challinger
e883b889b6
SITL: Add compassmot interference
2014-05-15 21:14:20 +10:00
Randy Mackay
4ebde25a26
AP_Relay: add -1:Disabled to list of param values
2014-05-15 17:13:37 +09:00
Randy Mackay
5d20594fa4
AC_WPNav: bug fix for loiter and waypoint update rate
...
Thanks to EmileC for spotting this
2014-05-12 20:13:46 +09:00
Andrew Tridgell
85ebe81ed3
AP_NavEKF: fixed logic for divergence test
...
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-05-11 18:00:38 +10:00
priseborough
40dc0e56fe
AP_NavEKF: Add protection for badly conditioned innovation variances
2014-05-11 18:00:38 +10:00
priseborough
925c5751bd
AP_NavEKF: Add ability to inhibit in-flight mag cal and clean up moding
...
This will enable in-flight magnetometer calibration to be inhibited unconditionally,
This is required for long balloon carriage flights where ground speed can be high
enough to put it into in-air state, but with very poor observability of magnetic field
states causing bad state estimates and heading offsets to develop over time.
The covariance matrix no longer has rows and columns artificially zeroed when in static
mode. Instead booleans indicating whether wind or magentic field state estimation is
active are used to:
a) Set the process noise on these states to zero to stop their variances from increasing
unchecked when not being updated, and
b) Turn off updates for these states when measurement fusion is being performed.
This reduces the likelihood of a badly conditioned covariance matrix forming
during static mode operation.
A filter divergence check has also been added that will declare the filter unhealthy if
position, velocity and magnetic field observations are all failing their innovation
consistency checks. This unhealthy status will persist for 10 seconds after the
condition clears.
AP_NavEKF: Remove unnecessary zeroing of wind covariances
2014-05-11 18:00:38 +10:00
priseborough
3026ccee13
AP_NavEKF: Use baro data during launch transients whilst in static mode
...
Baro data can be used as it will still be valid during the launch and
is not a synthesised measurement.
2014-05-11 18:00:38 +10:00
Randy Mackay
05f5164dfa
Mission: rename AUTORESET to RESTART
2014-05-09 11:31:37 +09:00
Hug0
6b0d5f9770
AP_InertialNav: fix pos error degradation rate
...
degrate position_error to 10% over 2 seconds (assumes 5hz update rate)
must be *0.7943 instead of 0.7934
2014-05-08 23:09:39 +09:00
Randy Mackay
badc127c34
AC_WPNav: fix example sketch
2014-05-08 16:25:13 +09:00
Randy Mackay
9b6a4e0fc7
AC_Sprayer: fix example sketch
2014-05-08 16:25:11 +09:00
lthall
9ab9eaec25
AC_WPNav: Loiter jerk default to 10m/s/s/s
...
Pair programmed with Randy
2014-05-08 16:16:05 +09:00
Randy Mackay
1cb297580f
Copter: reduce Circle init twitch by using stopping point
2014-05-08 16:15:57 +09:00
Randy Mackay
091ff91a70
WPNav: add wp_and_spline_init to set speeds an init pos controller
2014-05-08 16:15:50 +09:00
Randy Mackay
c13db680b7
AC_PosControl: remove reset_I_xy
...
lean_angles_to_accel is now used to load the position rate I terms based
on vehicle's initial roll and pitch angle
2014-05-08 16:15:48 +09:00
Randy Mackay
cd8b1f278c
AC_PosControl: remove unused _cos_yaw variable
...
Also removed _sin_yaw, _cos_pitch, _step saving a total of 17bytes of
RAM
Also made get_speed_up, get_speed_down, lean_angles_to_accel functions
const
2014-05-08 16:15:46 +09:00
Randy Mackay
48ec0caf75
AC_WPNav: run navigation at 10hz in SITL
2014-05-08 16:15:44 +09:00
Randy Mackay
0819e05896
AC_PosControl: lean_angles_to_accel added for smooth initialisation
...
init_xy_controller also added to capture initialisation all in one place
2014-05-08 16:15:41 +09:00
lthall
b38c484874
AC_WPNav: add LOIT_JERK parameter
...
Limit accel output from loiter controller.
Call new pos_control.init_xy_controller when loiter starts
Remove sudden stop when pilot requested acceleration is zero
Pair programmed with Randy
2014-05-08 16:15:38 +09:00
Randy Mackay
71fae1e6f2
AC_AttControl: lean_angle_max accessor fn const
2014-05-08 16:15:36 +09:00
Randy Mackay
fd9f8f571f
AC_WPNav: replace inav, ahrs pointers with references
2014-05-08 16:15:26 +09:00
lthall
21c93e48ab
AC_PosControl: include vel error when get_stopping_point_z
...
Pair programmed with Randy
2014-05-08 16:15:24 +09:00
Randy Mackay
a1f1dd8059
AC_PosControl: add is_active_z method
...
Consolidated z-axis timeout checks to save 4bytes of RAM
Added POS_CONTROL_ACTIVE_TIMEOUT_MS to make timeout consistent
2014-05-08 16:15:22 +09:00
Andrew Tridgell
74227cd7f0
AP_HAL: prevent some FastDelegate warnings
2014-05-08 11:11:03 +10:00
Andrew Tridgell
a295760e56
AP_Rally: fixed indentation
...
previous indentation confused emacs24
2014-05-08 11:01:52 +10:00
Andrew Tridgell
4efcae46ab
SITL: cope with more rubbish startup values from JSBSim
2014-05-04 17:30:10 +10:00
Andrew Tridgell
320834a5e7
HAL_PX4: read from FRAM in 128 byte chunks (2nd try)
...
this time without the amazingly silly bug
2014-05-02 22:12:45 +10:00
Andrew Tridgell
db6b96caa0
Revert "HAL_PX4: read from FRAM in 128 byte chunks"
...
This reverts commit a92366c455
.
This commit may be associated with FRAM corruption on Pixhawk. Revert
until we understand why
2014-05-02 21:52:26 +10:00
Andrew Tridgell
a92366c455
HAL_PX4: read from FRAM in 128 byte chunks
...
this fixes FRAM read on Roberts Pixhawk. We don't know why yet.
2014-05-02 12:24:54 +10:00
Randy Mackay
937e9ea687
AC_PosControl: add set_target_to_stopping_point_xy method
...
Fixed bug in get_stopping_point_xy in which it would update Z-axis
target if vehicle was moving less than 10cm/s horizontally
2014-04-30 21:46:20 +09:00
Randy Mackay
7dd366d84e
AC_WPNav: init_loiter sets speed, accel before calcing stopping distance
...
The stopping distance depends upon the speed and acceleration so these
must be updated first
2014-04-30 21:46:18 +09:00
Randy Mackay
0103ae2eb0
AC_WPNav: add WPNAV_ACCEL_Z
...
Allows configurable z-axis acceleration during missions
2014-04-30 21:46:12 +09:00
Randy Mackay
9f63de9b59
AC_PosControl: set_speed_z accepts positive descent speeds
2014-04-30 21:46:09 +09:00
Randy Mackay
510c9920a6
AC_WPNav: rename get_horizontal_velocity to get_speed_xy
...
This new method name is consistent with the equivalent in the
AC_PosControl class
2014-04-30 21:46:06 +09:00
Andrew Tridgell
eb1fb63e57
APM_Control: added logging of parameter changes in AUTOTUNE
...
this will make it easier to analyse logs
2014-04-30 22:22:13 +10:00
Andrew Tridgell
871d0c0e44
APM_Control: moved the log structure to ArduPlane core
...
this allows it to work with old style .log files
2014-04-30 21:22:28 +10:00
Andrew Tridgell
4f250579db
DataFlash: added LOG_ATRP_MSG define
2014-04-30 21:22:28 +10:00
priseborough
114bd56e2a
AP_NavEKF: Fix display names in parameter list
2014-04-30 06:35:41 +10:00
Randy Mackay
5cc26569fc
AP_Motors: fix example sketch
2014-04-29 20:46:34 +09:00
priseborough
5fefce5899
AP_NavEKF: Synthetic sideslip fusion numerical error protections
2014-04-29 17:26:45 +10:00
Jonathan Challinger
0bb7b8e938
AP_GPS: Fix bug that causes permanent lag if we miss a message
2014-04-29 15:35:46 +10:00
Randy Mackay
2be99d7a92
TriCopter: output_test for individual motors
...
Based on original work by Nils Hogberg
2014-04-29 11:41:16 +09:00
Randy Mackay
07766e55f9
SingleCopter: output_test for individual motors
...
Based on original work by Nils Hogberg
2014-04-29 11:41:14 +09:00
Randy Mackay
3610cfe24c
TradHeli: output_test for individual motors
...
Based on original work by Nils Hogberg
2014-04-29 11:41:13 +09:00
Randy Mackay
8f74f5b3b0
CoaxCopter: output_test for individual motors
...
Based on original work by Nils Hogberg
2014-04-29 11:41:12 +09:00
Randy Mackay
d63d82ec17
MotorMatrix: output_test for individual motors
...
Based on original work by Nils Hogberg
2014-04-29 11:41:10 +09:00
Vizual54
11d02ea5d2
AP_Motors: output_test for individual motors
...
Modified and integrated by Randy Mackay
2014-04-29 11:36:58 +09:00
Randy Mackay
6517638670
GCS_MAVLink: generate after adding DO_MOTOR_TEST
2014-04-29 11:23:07 +09:00
Randy Mackay
28846c6c99
GCS_MAVLink: add DO_MOTOR_TEST message
2014-04-29 11:23:04 +09:00
Andrew Tridgell
818e500509
AP_Mission: improve the AP_Mission docs
...
DisplayName isn't a description
2014-04-29 11:46:06 +10:00
Andrew Chapman
782fbe1ec5
AP_Mission: added reset() function
2014-04-29 11:46:06 +10:00
Andrew Chapman
a80e72ff82
AP_Mission: added MIS_AUTORESTART parameter
...
- added MIS_AUTORESTART parameter, defaults to 0
- added start_or_resume() function to either start or resume a mission
based on that parameter value
2014-04-29 11:46:06 +10:00
Andrew Tridgell
cf9b67d8fc
GCS_MAVLink: prevent uninitialised bytes being written to a serial port
2014-04-27 15:34:30 +10:00
Randy Mackay
e855cfec02
AC_Fence: add 10sec manual recovery
...
This resolves issue #461 by giving the pilot a minimum of 10 seconds to
attempt to manually recover before the autopilot will attempt to retake
control to bring the copter home or land.
2014-04-27 11:11:07 +09:00
Randy Mackay
db51d37071
AC_WPNav: add clear_pilot_desired_acceleration
...
This allows quickly clearing out the pilot desired acceleration for
loiter contoller.
2014-04-25 14:45:14 +09:00
Randy Mackay
06bef6e3b8
Parachute: clear release time when enabled
...
This resolves an issue in which the parachute could be suddenly released
when the user enabled the parachute. The sequence that could have
caused this bad behaviour were (1) the parachute is triggered (2) the
user disables the parachute in the 0.5sec between the trigger and the
actual release, (3) the user re-enables the parachute and the old
release time from (1) is used.
2014-04-24 19:22:11 +09:00
Randy Mackay
ad99918fee
AC_WPNav: recalc leash lengths if set_horizontal_velocity is called
...
Resolves bug in which do-set-speed allowed reducing the speed during the
mission but not increasing it.
Slow down distance is also recalculated.
Unnecessary call to calc_wp_leash_length removed from
set_spline_origin_and_destination.
2014-04-24 13:16:08 +09:00
Randy Mackay
46fba47c8e
AC_WPNav: slow target point's speed near destination
2014-04-24 13:16:00 +09:00
priseborough
ecc8e45eda
AP_NavEKF: Fix bug in position reset logic
2014-04-23 18:16:02 +10:00
Andrew Tridgell
b0fd94f18e
AP_GPS: initialise a variable in uBlox driver
2014-04-23 18:15:53 +10:00
Randy Mackay
7c02a02bd8
AC_WPNav: reset_I flag moved to position controller
2014-04-23 15:00:14 +09:00
Randy Mackay
098f8169b0
AC_PosControl: add keep_xy_I_terms method
...
Stops horizontal PID's I terms from being reset when the controller is
next updated
2014-04-23 15:00:12 +09:00
Randy Mackay
4d5b73b968
AC_WPNav: add reset_I to set_loiter_target
2014-04-23 15:00:07 +09:00
Ju1ien
6c71569775
AC_PosControl: update_xy_controller allows not resetting I term
2014-04-23 14:59:49 +09:00
Ju1ien
5d0476e522
AC_WPNav: add reset_I to init_loiter_target
2014-04-23 14:59:47 +09:00
Randy Mackay
09a35cf90f
AC_PosControl: bugfix for freezing I-term build-up
2014-04-23 11:33:53 +09:00
Randy Mackay
559a258ede
AC_WPNav: bug fix to limit target point from moving beyond leash
...
Also pull Z-axis acceleration from position controller instead of using
#define
2014-04-22 23:05:11 +09:00
Randy Mackay
9c6995d8bb
AC_PosControl: add get_accel_z method
2014-04-22 23:05:08 +09:00
Randy Mackay
e565ee6d33
AC_PosControl: stop I term build-up when motors at max
2014-04-22 23:05:06 +09:00
Andrew Tridgell
e10542dcae
AP_Mission: added get_current_nav_index() function
...
this will return 0 when there is no current command, which is what is
expected in MAVLink when there is no mission
(it prevents the text to speech announcing "65 thousand 6 hundred and
thirty five", which is quite annoying!)
2014-04-22 11:40:18 +10:00
Michael Day
96173bfb8a
AP_Rally: Added one getter method and made a utility method public.
2014-04-22 11:40:18 +10:00