Commit Graph

12643 Commits

Author SHA1 Message Date
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 0b6c810a6e build: added ERLE build type 2014-07-14 08:52:43 +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
Andrew Tridgell e96ab86eab build: fixed directory handling in build_binaries.sh 2014-07-14 08:13:28 +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
Andrew Tridgell 35e905d003 build: added some debug 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 022425584b TradHeli: Move two static bools into heli_flags structure to save 2 bytes RAM. 2014-07-13 17:11:30 +09:00
Robert Lefebvre 4b9aea2c55 Parameters: Update Tune Comments with new options 2014-07-13 17:11:27 +09:00
Robert Lefebvre aff98e34e5 TradHeli: Force recalc scalers after setting main loop time in MotorsHeli so that ramp scalers are right for 32-bit. 2014-07-13 17:11:25 +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
lthall f53181ec66 Copter: Acro balance fix 2014-07-13 15:51:49 +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 527de3f2e4 AntennaTracker: changes for more common mavlink code 2014-07-13 15:37:50 +10:00
Andrew Tridgell 3143e192d3 Rover: changes for more common mavlink code 2014-07-13 15:37:50 +10:00
Andrew Tridgell 71d2333ea8 Copter: changes for more common mavlink code 2014-07-13 15:37:50 +10:00
Andrew Tridgell c5a765758c Plane: update for new API 2014-07-13 15:37:50 +10:00