Commit Graph

81 Commits

Author SHA1 Message Date
Andrew Tridgell 38031edc9d AP_InertialSensor: removed spurious init() method 2012-12-20 14:51:36 +11:00
Andrew Tridgell c9a81d7de6 AP_InertialSensor: fixed sign of 16 bit SPI transfer
this gets accels and gyros working again
2012-12-20 14:51:36 +11:00
Pat Hickey dbcc4fc6a5 AP_InertialSensor: variable wibble 2012-12-20 14:51:36 +11:00
Pat Hickey 9aca19415a AP_InertialSensor: robust semaphores 2012-12-20 14:51:36 +11:00
Pat Hickey 1019fb45e7 AP_InertialSensor: remove sei in data interrupt handler 2012-12-20 14:51:36 +11:00
Pat Hickey a4f1f6a5db AP_Progmem: fix dependencies for all sketches touched by AP_HAL_AVR 2012-12-20 14:51:28 +11:00
Pat Hickey 4acf2c8591 AP_InertialSensor: ported to AP_HAL 2012-12-20 14:51:26 +11:00
Pat Hickey 3f1d9d7f69 AP_Param: #include <AP_Param.h> fixups for libraries & sketches
* I mostly went through with grep and added an #include <AP_Param.h> below
  every #include <AP_Common.h>. Not all of these example sketches might
  strictly need AP_Param.
2012-12-20 14:51:19 +11:00
rmackay9 b4e5176e2a ArduCopter, AP_InertialSensor: restore mpu6k sample rate to 200hz but keep default filtering at 42hz. 2012-12-09 14:27:33 +09:00
rmackay9 8b5f66255e AP_InertialSensor: add comments to give credit for accel calibration method to Rolfe Schmidt 2012-12-05 09:35:55 +09:00
rmackay9 a92b7f3477 AP_InertialSensor: add comments to give credit for accel calibration method to Rolfe Schmidt 2012-12-05 09:20:31 +09:00
Andrew Tridgell 3b18c57691 AP_InertialSensor: removed axis getters for accel/gyro
these were only being used in one place, and in that place were used
incorrectly!
2012-12-04 09:11:55 +11:00
Andrew Tridgell 5e77119377 AP_InertialSensor: fixed stub driver to work correctly with sensors HIL 2012-12-03 23:27:21 +11:00
Andrew Tridgell b237c0583d AP_InertialSensor: Added INS_MPU6K_FILTER option
this allows the user to select the MPU6000 filtering frequency
2012-11-30 07:15:19 +11:00
Andrew Tridgell 4f868e04cc AP_InertialSensor: return the example sample count in Oilpan 2012-11-30 07:15:19 +11:00
Andrew Tridgell 089ae0f9f3 AP_InertialSensor: allow specification of sample rate in init() call
this lets the caller not need to know the underlying sample rate. They
just ask for what rate updates happen. 

This also changes the MPU6k filtering to be less than half the sample
rate
2012-11-30 07:15:18 +11:00
Andrew Tridgell 7ea18d5a61 AP_InertialSensor: fixed example build 2012-11-24 21:08:06 +11:00
rmackay9 74daf73c49 AP_InertialSensor: increase acceptable Z accel offset to be 3.0 G
Note: Z offsets do tend to be larger than x and y offsets
2012-11-23 00:34:42 +09:00
Andrew Tridgell 11141d0af0 INS: make it possible to do accel cal on a different serial port 2012-11-21 21:41:34 +11:00
Andrew Tridgell f843705da3 INS: switch to SREG = oldSREG pattern for interrupt mask/restore 2012-11-20 22:31:23 +11:00
Andrew Tridgell a7e537d6c0 INS: set the acceptable calibration error equal on all axes 2012-11-20 19:28:49 +11:00
Andrew Tridgell 40fc0feaf9 INS: show calibration values on failure
this will help debug bad calibrations
2012-11-20 19:28:15 +11:00
Andrew Tridgell 85e050f16c INS: get check for send_msg the right way around!
I broke this in my previous commit
2012-11-20 19:10:30 +11:00
Andrew Tridgell fd3993287d INS: disable accel calibration on the 1280
this would put us well over 128k in sketch size
2012-11-20 18:41:04 +11:00
Andrew Tridgell 9c811671f1 INS: make calibrate_accel() return a bool
this will allow APM to auto set MANUAL_LEVEL to 1
2012-11-20 18:32:27 +11:00
Andrew Tridgell 152c12c283 INS: fixed raw accel offset for APM1
we now get reasonable offset values
2012-11-20 18:32:27 +11:00
Andrew Tridgell 3776e6108f INS: use vector subtraction to make code clearer 2012-11-20 18:32:27 +11:00
rmackay9 8ccac5da3d AP_InertialSensor: correct typo to datasheet's filename 2012-11-20 00:37:42 +09:00
rmackay9 d9b4407e64 AP_InertialSensor: changes after review with Tridge.
sanity checking added to accelerometer calibration routine.
user feedback is sent using gcs_send_text_fmt instead of Serial.printf.
moved ins parameters to new eeprom number to avoid conflicts with older parameters.
other small changes including renaming of functions and parameters.
2012-11-07 19:21:15 +09:00
rmackay9 49de46a548 AP_InertialSensor: merge in calibration features from IMU library
add gauss-newton method of accelerometer calibration
2012-11-07 19:20:27 +09:00
rmackay9 8c6fd340d7 AP_AHRS: added scheduler parameter to init
Required by the AP_AHRS_MPU6000 class which needs to disable timed processes that could interfere with it's communication with the mpu6000
2012-09-29 13:51:21 +09:00
rmackay9 41fbb19cf5 AP_InertialSensor_MPU6000: replaced _cs_pin parameter with #define and saved 1 byte of memory
Updated ArduCopter, ArduPlane and example sketches in AP_InertialSensor, AP_IMU and AP_AHRS libraries because they no longer need to pass in cs_pin to the constructor
2012-09-28 19:21:59 +09:00
rmackay9 921ab3fe12 ArduCopter: bug fix to DMP initialisation (it was freezing due to SPI bus conflicts) 2012-09-28 18:34:23 +09:00
Andrew Tridgell 7e544e8ead MPU6k: save 72 bytes of memory
the buffer can be on the stack
2012-09-18 13:58:50 +10:00
rmackay9 9f1033dc42 AP_InertialSensor_Stub: added num_samples_available method to fix HIL build 2012-09-10 11:38:13 +09:00
rmackay9 130f3b0030 AP_InertialSensor_MPU6000: move _last_sample_time_micros to capture time data_interrupt was called 2012-09-10 11:38:08 +09:00
rmackay9 7a265dbf61 AP_InertialSensor: use AP_TimerProcess's queue_process to run read from MPU6000 after any currently running processes complete 2012-09-10 11:38:03 +09:00
rmackay9 0a6219695b AP_InertialSensor: changed read of sensor from MPU6000 to happen immediately
This reduces the delay between when data arrives and when it is used
by up to 1ms.

Added num_samples_available method to all InertialSensors to allow
main loop timing to be synced with sensors.
2012-09-10 11:37:33 +09:00
rmackay9 c965963d7b AP_InertialSensor_MPU6000: bug fix. DMP was being enabled by default so although the results were not being used, this caused a delay in the main loop 2012-08-28 17:02:07 +09:00
uncrustify ad51ac5e11 uncrustify libraries/AP_InertialSensor/AP_InertialSensor_MPU6000.h 2012-08-21 19:03:14 -07:00
uncrustify 323ab9acf4 uncrustify libraries/AP_InertialSensor/AP_InertialSensor_Oilpan.h 2012-08-21 19:03:14 -07:00
uncrustify 8e5a031987 uncrustify libraries/AP_InertialSensor/AP_InertialSensor_Stub.h 2012-08-21 19:03:14 -07:00
uncrustify ac3960b3e7 uncrustify libraries/AP_InertialSensor/AP_InertialSensor.h 2012-08-21 19:03:14 -07:00
uncrustify e6c2616769 uncrustify libraries/AP_InertialSensor/AP_InertialSensor_MPU6000.cpp 2012-08-21 19:03:14 -07:00
uncrustify 77729b847f uncrustify libraries/AP_InertialSensor/AP_InertialSensor_Oilpan.cpp 2012-08-21 19:03:14 -07:00
uncrustify 0c322fb18a uncrustify libraries/AP_InertialSensor/AP_InertialSensor_Stub.cpp 2012-08-21 19:03:14 -07:00
uncrustify 25eaeff6a8 uncrustify libraries/AP_InertialSensor/examples/MPU6000/MPU6000.pde 2012-08-21 19:03:14 -07:00
Andrew Tridgell 0763bbd1af MPU6000: fixed some build warnings 2012-08-09 16:19:21 +10:00
Andrew Tridgell 518d6365ff AP_Param: update remaining libraries for new constructor syntax 2012-08-08 12:11:57 +10:00
rmackay9 5077674043 AP_InertialSensor_MPU6000: another attempt at fixing the SITL build 2012-07-28 17:19:19 +09:00