1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-02 10:24:11 +01:00
Commit Graph

49 Commits

Author SHA1 Message Date
James Cotton
d2842169ee Sensors: Need to support MPU6000 for revision 3 2012-09-26 04:04:48 -05:00
James Cotton
88b483f37d PIOS_MPU6000: Make the driver perform the rotation to bring it into the OP
coordinate system

Previously there were hacks spread throughout to deal with various ways of
positioning the chips.  Now the driver structure specifies the rotation
of the chip relative to the board layout and the output X/Y/Z are already
in OP convention.

This flag seems to do the right thing for Revolution, CC3D, and RevoMini
2012-09-11 01:46:22 -05:00
James Cotton
daad1d6f8f Sensors: Scope some variables to suppress warnings 2012-08-25 17:12:37 -05:00
James Cotton
c5fda8208b TOFIX: For now hardcode a reversed orientation of MPU6000 for RevoMini 2012-08-25 14:41:03 -05:00
James Cotton
0decce582b Got all the sensors reading 2012-08-25 14:19:15 -05:00
James Cotton
221ae05ef6 Perform the update every cycle. Mag rate of 0.001 seems to work well. 2012-07-27 13:20:30 -05:00
James Cotton
abb0caa6bd Try a different mag nulling algorithm. 2012-07-27 13:14:18 -05:00
James Cotton
880d58e4d9 Changes to mag nulling from D-Lite. Perform update only when we have a new
vector sufficiently different from the previous one.
2012-07-26 20:38:16 -05:00
James Cotton
c587ceebfd Make the mag offset nulling convergence rate come from the UAVO. When it is
set to zero nulling does not occur to allow us to still calibrate the sensors.
2012-07-25 11:23:27 -05:00
James Cotton
3b57b492d0 Mag bias tracking seems to work 2012-07-25 11:19:39 -05:00
James Cotton
1a5af9dafb Remove some old debugging code 2012-07-25 11:10:10 -05:00
James Cotton
d1e6dcc2f0 First pass implementation of William Premerlani's magnetometer bias correction 2012-07-25 11:07:40 -05:00
James Cotton
5649813c2b Make sure to always compare BiasCorrectedRaw against its enum. Also reversed
the order of TRUE,FALSE in the definition to make it safer anyway.
2012-07-21 17:24:58 -05:00
James Cotton
d36663dbbd Treat the GyroBias UAVO like a state estimate of the actual gyro bias so now we
subtract that from the raw sensor readings to get the Gyros UAVO value
2012-07-21 15:14:45 -05:00
James Cotton
7cdf47c1d4 Make the sensors code only apply the GyroBias from the UAVO which is now coming
consistently only from the attitude module
2012-07-21 13:51:20 -05:00
James Cotton
70606a46a1 Include initial gyro bias calibration into the level calibration of revo like
it is with CC.
2012-06-13 23:07:23 -05:00
James Cotton
9c1fa2dfc6 Revert "Get mag before gyros so that when gyro chip is acting up we still see mag data."
This reverts commit d2a3e39bbf.
2012-06-12 13:10:24 -05:00
James Cotton
d2a3e39bbf Get mag before gyros so that when gyro chip is acting up we still see mag data.
Helpful for board diagnostics.
2012-06-09 11:06:41 -05:00
James Cotton
836e34a483 Change revo sensors to update at 500 Hz and make sure in all cases it waits for
the relevant queue to provide data.  Also disable the quaternion stabilization
flag.
2012-05-12 13:12:56 -05:00
James Cotton
6c0dc80978 Shuffle more stack sizes around 2012-05-05 11:33:47 -05:00
James Cotton
b0ef456ccb Kickstart MPU6000 if there is no data 2012-04-13 20:29:41 -05:00
James Cotton
a0d1b00ade Cover an edge condition for the MPU6000 IRQ not firing 2012-04-13 19:37:30 -05:00
James Cotton
e82323af32 Make revolution work with the FreeRTOS queue based MPU6000 driver 2012-04-03 03:41:52 -05:00
Corvus Corax
0742c88a98 enabled optional rtation of Revolution board 2012-03-26 05:25:52 +02:00
Corvus Corax
d32dd0ccd4 Fixed fmod() versus fmodf() usage in flight/... 2012-03-26 04:16:54 +02:00
James Cotton
2f8049e20a Update the bootloader hw version for the mpu6000 board and make the sensor code
and initialization respond appropriately.  Enable hte L3GD20 and BMA180.
Let the board type determine which is used.
2012-03-22 00:41:37 -05:00
James Cotton
a77a859e5c Using some config switches to get this board up and running 2012-03-21 00:48:31 -05:00
James Cotton
7961aba83c Clean up a few more compiler warnings
Conflicts:

	flight/PiOS/Common/pios_ms5611.c
2012-03-03 13:32:56 -06:00
James Cotton
91a226fc12 Sometimes the mag stops updating so kickstart it 2012-03-03 13:31:46 -06:00
James Cotton
a778c45d6f For L3GD20 sensor task run at the sensor speed 2012-01-28 10:11:30 -06:00
James Cotton
13447ac907 Fix the MPU6000 implementation 2012-01-28 00:21:58 -06:00
James Cotton
b4435d0b35 For L3GD20 sensor task on revo update gyro once per physical sample 2012-01-26 23:29:12 -06:00
James Cotton
e4df3202e0 L3GD20: Update sensor task for revo to use the new queue 2012-01-25 22:50:19 -06:00
James Cotton
205aabe895 L3GD20: Make this sensor push data onto a FreeRTOS queue so that the sensor
reading task can block according.  Also now the gyro data is sent to
stabilization multiple times per update of the attitude loop.
2012-01-25 01:20:07 -06:00
James Cotton
f8e59443b8 If the BMA180 isn't read when an IRQ fires (because the flash chip has claimed
the bus) then it won't fire another interrupt until read.  For now this is
dealt with in the sensor loop by forcing a read when the fifo is empty.
2012-01-21 10:13:46 -06:00
James Cotton
6d72678086 Add timeout in the sensor task for reading sensors to stop the watchdog firing.
All sensors should later be converted to use FreeRTOS queues.
2012-01-21 08:32:41 -06:00
James Cotton
ce2d0fcbb1 L3GD20 data now running through IRQ -> FIFO 2012-01-17 19:36:32 -06:00
James Cotton
35025303cd Getting data from gyro. 2012-01-17 19:29:38 -06:00
James Cotton
cc47520baa Checking ID on ST gyro works 2012-01-04 23:23:42 -06:00
James Cotton
0fbcf7723d Code to disable all gyros. All modules now running. 2012-01-04 22:37:15 -06:00
James Cotton
0cc18e7dcf Add files for new L3DG20 sensor 2012-01-04 20:33:54 -06:00
James Cotton
25dfb5463e Add option to switch to using the MPU6000 accel instead of BMA180. Disabled by
default.
2011-12-29 02:08:13 -06:00
James Cotton
bf98630851 Add streaming the sensor data out of the serial port 2011-12-26 17:52:45 -06:00
James Cotton
9bf06bbd3e Force the loading of the sensor gains and biases at the beginning 2011-12-24 16:14:28 -06:00
James Cotton
1092ac3184 Use the scale and bias terms for hte mag and accel 2011-12-24 15:58:12 -06:00
James Cotton
dd89d232ba Add a magnetometer bias term although currently hardcoded to my board 2011-12-15 00:57:19 -06:00
James Cotton
2240ad924a Fix the orientation of the magnetometer 2011-12-15 00:46:43 -06:00
James Cotton
9148bb2c65 Make sure the sensors module grabs the sesor biases initially. 2011-12-14 10:38:43 -06:00
James Cotton
a37a17a4fb Created a separate Sensor module and Attitude module for revolution 2011-12-12 21:40:39 -06:00