Commit Graph

64 Commits

Author SHA1 Message Date
rmackay9 21d72bb49b 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 655446feec INS: make it possible to do accel cal on a different serial port 2012-11-21 21:41:34 +11:00
Andrew Tridgell 3646b4b846 INS: switch to SREG = oldSREG pattern for interrupt mask/restore 2012-11-20 22:31:23 +11:00
Andrew Tridgell bbb2bbc721 INS: set the acceptable calibration error equal on all axes 2012-11-20 19:28:49 +11:00
Andrew Tridgell b9fb683236 INS: show calibration values on failure
this will help debug bad calibrations
2012-11-20 19:28:15 +11:00
Andrew Tridgell e2afc9ea18 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 4174cfd4a7 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 98a806fb90 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 2a70138ad1 INS: fixed raw accel offset for APM1
we now get reasonable offset values
2012-11-20 18:32:27 +11:00
Andrew Tridgell f2744f8ff7 INS: use vector subtraction to make code clearer 2012-11-20 18:32:27 +11:00
rmackay9 317b719a62 AP_InertialSensor: correct typo to datasheet's filename 2012-11-20 00:37:42 +09:00
rmackay9 e2b1cb7e8d 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 e835cef181 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 1cd4b08fac 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 4bca609b9f 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 2fd9022f03 ArduCopter: bug fix to DMP initialisation (it was freezing due to SPI bus conflicts) 2012-09-28 18:34:23 +09:00
Andrew Tridgell 3306ba95a7 MPU6k: save 72 bytes of memory
the buffer can be on the stack
2012-09-18 13:58:50 +10:00
rmackay9 8624b0138e AP_InertialSensor_Stub: added num_samples_available method to fix HIL build 2012-09-10 11:38:13 +09:00
rmackay9 d8142c2351 AP_InertialSensor_MPU6000: move _last_sample_time_micros to capture time data_interrupt was called 2012-09-10 11:38:08 +09:00
rmackay9 bd3eab7c0f 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 3901387c8d 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 67252c8a9b 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 3f0efe4570 uncrustify libraries/AP_InertialSensor/AP_InertialSensor_MPU6000.h 2012-08-21 19:03:14 -07:00
uncrustify 91d52b6290 uncrustify libraries/AP_InertialSensor/AP_InertialSensor_Oilpan.h 2012-08-21 19:03:14 -07:00
uncrustify c47127fb80 uncrustify libraries/AP_InertialSensor/AP_InertialSensor_Stub.h 2012-08-21 19:03:14 -07:00
uncrustify c3de56ba94 uncrustify libraries/AP_InertialSensor/AP_InertialSensor.h 2012-08-21 19:03:14 -07:00
uncrustify 9d7ca3a876 uncrustify libraries/AP_InertialSensor/AP_InertialSensor_MPU6000.cpp 2012-08-21 19:03:14 -07:00
uncrustify bc6d3811bc uncrustify libraries/AP_InertialSensor/AP_InertialSensor_Oilpan.cpp 2012-08-21 19:03:14 -07:00
uncrustify a946ed762b uncrustify libraries/AP_InertialSensor/AP_InertialSensor_Stub.cpp 2012-08-21 19:03:14 -07:00
uncrustify 78f95e5cce uncrustify libraries/AP_InertialSensor/examples/MPU6000/MPU6000.pde 2012-08-21 19:03:14 -07:00
Andrew Tridgell 0491188c03 MPU6000: fixed some build warnings 2012-08-09 16:19:21 +10:00
Andrew Tridgell e9d0ae3e7f AP_Param: update remaining libraries for new constructor syntax 2012-08-08 12:11:57 +10:00
rmackay9 23a1e33e20 AP_InertialSensor_MPU6000: another attempt at fixing the SITL build 2012-07-28 17:19:19 +09:00
rmackay9 06a4aaa763 AP_InertialSensor_MPU6000: changed DMP memory definition (dmpMem) to const uint8_t to remove SITL compile errors (hopefully)
Removed unused 'dump' variable from dmp_load_mem to reduce compiler warnings
2012-07-28 16:33:04 +09:00
rmackay9 ea4e56309d AP_InertialSensor_Oilpan: changed initialisation order of parameters to remove compiler warning 2012-07-28 15:22:37 +09:00
rmackay9 dfea845c37 AP_InertialSensor: methods added to access DMP functionality 2012-07-28 14:14:43 +09:00
Jason Short 25c3ed6c4b Oilpan ADC parameters added
including a function that configures each Accel Axis
Defaults matching old behavior
Added param group
2012-07-18 22:57:11 -07:00
Andrew Tridgell 02b9ea4dfe MPU6k: removed an unused variable 2012-06-29 21:54:09 +10:00
Craig Elder fe742f1c23 IMU: expose IMU_PRODUCT_ID as EEPROM Variable
this will allow us to log the Product ID in tlogs
2012-05-09 18:30:36 -07:00
Craig Elder c323a71933 AP_InertialSensor: Return product ID from sensor initialization
this exposes the product ID to the IMU Layer
2012-05-09 18:30:36 -07:00
Craig Elder b824a87b90 MPU6000: Fixed Scaling on Accelerometers Rev C vs Rev D
Rev C have non standard scaling factor that is 1/2 of the data sheet
Rev D chips conform to the specification
2012-05-09 18:30:35 -07:00
Andrew Tridgell 76a3fd9a4e MPU6k: added suspend/resume on init 2012-05-01 12:06:54 +10:00
Andrew Tridgell 07e8360970 InertialSensor: fixed HIL build 2012-03-10 10:34:34 +11:00
Andrew Tridgell f46fba54dc AP_InertialSensor: added a get_gyro_drift_rate() interface
this returns the expected max drift rate for the particular type of
gyro being used
2012-03-10 10:34:33 +11:00
Andrew Tridgell ff4f7ccc65 InertionSensor: update for new Ch6() interface 2012-03-10 10:34:32 +11:00
Andrew Tridgell a052aa8435 AP_InertialSensor: added new_data_available() interface 2012-03-10 10:34:28 +11:00
Randy Mackay 98f3386ea0 Arduino 1.0 - changed all #includes of "WProgram.h", "wiring.h" and "WConstants.h to "Arduino.h".
Modified FastSerial's write function to return size_t (number of bytes written).
2012-01-28 12:25:47 +09:00
Andrew Tridgell 9ef1c421bd MPU6k: don't init the Wire library
we don't use Wire any more
2011-12-28 20:41:53 +11:00
Andrew Tridgell 1cb8728a6b MPU6000: protect the driver from double initialisation
initialising twice can lockup the driver
2011-12-28 16:00:48 +11:00
Andrew Tridgell f2bbfb1296 MPU6000: minor fixes
the hardware functions should be private, and cs_pin should be uint8_t
2011-12-28 16:00:48 +11:00