Commit Graph

93 Commits

Author SHA1 Message Date
Andrew Tridgell
bada70d871 InertialSensor: fixed example build on 1280 2012-12-20 14:53:22 +11:00
Andrew Tridgell
3c0440b0b4 Math: use common degrees() and radians() functions 2012-12-20 14:53:22 +11:00
Andrew Tridgell
7277d4934d AP_InertialSensor: move constructor into cpp 2012-12-20 14:53:22 +11:00
Andrew Tridgell
b06e072c87 AP_InertialSensor: fixed example build 2012-12-20 14:52:36 +11:00
Pat Hickey
eb530b86e8 move Arduino.mk to /mk/Arduino.mk 2012-12-20 14:52:35 +11:00
Andrew Tridgell
44f860e102 InertialSensor: fixed some compiler warnings 2012-12-20 14:52:35 +11:00
Pat Hickey
b502732249 AP_InertialSensor: rewrite basic code for spi device transactions
* I'm not touching that DMP stuff because I'm pretty convinced it should
  instead be deprecated
2012-12-20 14:52:32 +11:00
Pat Hickey
a4f41c1d29 AP_InertialSensor: MPU6000 uses scheduler panic 2012-12-20 14:52:31 +11:00
Andrew Tridgell
7d27e420ae AP_HAL: remove unnecessary Arduino.h includes 2012-12-20 14:52:30 +11:00
Andrew Tridgell
2c1682f310 InertialSensor: use AP_HAL progmem 2012-12-20 14:51:39 +11:00
Andrew Tridgell
c064becf28 AP_InertialSensor: updates for new AP_Param API 2012-12-20 14:51:39 +11:00
Pat Hickey
475da4eca4 CONFIG_HAL_BOARD - test sketches fixed up, build all passes 2012-12-20 14:51:37 +11:00
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