Commit Graph

1126 Commits

Author SHA1 Message Date
Andrew Tridgell 54b91ce2f4 sitl: added build targets for different ACM frames 2012-01-04 21:45:46 +11:00
Andrew Tridgell 7aa294eca2 AP_Compass: when I2c fails, don't retry for 1s 2012-01-04 16:35:47 +11:00
Andrew Tridgell a7a00a35ab AP_Baro: when I2c fails, don't retry for 1s 2012-01-04 16:35:16 +11:00
Andrew Tridgell 65fbeea6d1 DataFlash: cope with older dataflash chips
some of the APM2 DataFlash cards use an older chip with only 4096
pages, and a density code of 6. Doug has one of these.
2012-01-04 16:16:35 +11:00
Michael Oborne 6a279138e9 add gps character count.
this problem happens when the mtk ends up in nmea mode at 10hz. there is no 50ms window of no activity
2011-12-31 13:05:33 +08:00
Michael Oborne e66e21cf20 remove gps callback in wait loop 2011-12-31 09:35:40 +08:00
Randy Mackay 19ed12444b GPS - removed GPS_MTK, GPT_NMEA and GPS_UBLOX. All functionality moved to AP_GPS many months ago. 2011-12-30 22:25:00 +09:00
Jason Short 3878ac01ef removed newlines to clean up code 2011-12-29 23:02:01 -08:00
Randy Mackay ff66a3417c OptFlow - initial support for APM2 (there are still problems) including adding ability to set Chip Select pin.
Other unrelated changes are:
a) fixed typo in 'esitmate_velocity' to 'estimate_velocity'.
b) moved init_compass from system.pde to sensors.pde which seemed consistent with other sensors.
2011-12-30 12:06:31 +09:00
Andrew Tridgell 671d0b82ad Baro: fixed MS5611 example sketch 2011-12-28 21:49:29 +11:00
Andrew Tridgell 5f0e070f4e compass: show timing in compass test 2011-12-28 21:44:18 +11:00
Andrew Tridgell c448e85ed1 Baro: show timing in baro test 2011-12-28 21:43:52 +11:00
Andrew Tridgell 669a129175 DCM: don't use compass unless its healthy 2011-12-28 20:41:54 +11:00
Andrew Tridgell 603b605eb1 I2C: fixed some warnings 2011-12-28 20:41:53 +11:00
Andrew Tridgell f4e1f3d54d desktop: exclude I2C library 2011-12-28 20:41:53 +11: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 2960abf41f I2C: convert barometer library to new I2C library
this also adds a healthy attribute and error checking
2011-12-28 20:41:53 +11:00
Andrew Tridgell f93c716126 I2C: convert compass code to new I2C library
this also adds a healthy attribute, and error checking on all I2C
calls
2011-12-28 20:41:53 +11:00
Andrew Tridgell 632e74b76d I2C: imported the I2C library from Wayne Truchsess
this gives us a more robust interface, including timeouts
2011-12-28 20:28:31 +11:00
Andrew Tridgell f8e1d88815 TimerProcess: prevent a race in setting up the timer callbacks 2011-12-28 16:00:49 +11:00
Andrew Tridgell 089470a671 DataFlash: moved high level logging logic to library
this moves out all the high level logic from ArduPlane/ArduCopter to
the library. It also adds a "config page", as the last page in the
flash. This is used to check if the flash needs erasing. We only erase
now if the DF_LOGGING_FORMAT has changed.

This patch also adds a public CardInserted() method, which is used to
disable logging on APM2 if a dataflash card is not inserted
2011-12-28 16:00:48 +11:00
Andrew Tridgell 42eb62cc46 DataFlash: fixed sense of card detect 2011-12-28 16:00:48 +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
Andrew Tridgell d35113f8a6 TimerProcess: check for duplicate registrations
if a driver gets initialised twice, make sure it doesn't get called
twice in the timer loop
2011-12-28 16:00:48 +11:00
Andrew Tridgell 0a08a0b515 TimerProcess: make some variables uint8_t
save a couple of bytes
2011-12-28 16:00:48 +11:00
Mike Smith ac3f7512cc Fix issue #423 - FastSerial flush bug. 2011-12-26 15:52:21 -08:00
Andrew Tridgell 9f5718bcfa added in DataFlash.cpp
forgot this ....
2011-12-26 19:34:06 +11:00
Andrew Tridgell 887ff43e1f desktop: added attachInterrupt() support 2011-12-26 19:17:11 +11:00
Andrew Tridgell 22c8db774f desktop: fixed for new DataFlash inheritance 2011-12-26 19:17:11 +11:00
Andrew Tridgell dd26ef3089 dataflash: reworked classes to move most code to parent class
this moves all the non-hardware specific code to the parent
DataFlash_Class class, keeping the hw specific code much smaller and
simpler.

This should prevent discrepancies creeping in between APM1 and APM2
support again
2011-12-26 19:17:11 +11:00
Andrew Tridgell 8bf05982ae dataflash: fixed APM2 flash logging
we had log wrap disabled on APM2, and also had the wrong log size. The
mainline code assumed 4096, but it is 8192 pages long.
2011-12-26 19:17:11 +11:00
Andrew Tridgell df0d151891 MPU6000: change to 98Hz low pass filter
based on recommendation from Pat
2011-12-26 19:17:11 +11:00
Andrew Tridgell 3ef707a2c3 MPU6000: use data ready interrupt to prevent stale data
We listen for a data ready interrupt and only read new data in read()
if there is new data
2011-12-26 19:17:11 +11:00
Andrew Tridgell 71e08f8484 fixed the MPU6000 test sketch 2011-12-26 19:17:11 +11:00
Randy Mackay af121c492d Merge remote-tracking branch 'origin/master' 2011-12-25 12:34:16 +09:00
Randy Mackay c3ea1ca5dc AP_GPS - updated MTK rate to 10Hz and fixed lat/lon printing inaccuracy in Arducopter logs and AP_TEST example sketch 2011-12-25 12:33:06 +09:00
Andrew Tridgell 7c0f39aec5 added MPU6000 test sketch
this doesn't work yet - Pat, any idea why?
2011-12-25 12:03:39 +11:00
Andrew Tridgell 09c97bb367 removed dead test program
this one doesn't build, and has been replaced by IMU_MPU6000_test
2011-12-24 18:11:04 +11:00
Andrew Tridgell f587a01165 ADC: update for new ap_proceduce prototype 2011-12-21 23:31:38 +11:00
Andrew Tridgell 5b75458502 AP_Baro: update MS5611 driver for new ap_proceduce prototype
this saves calling millis() quite so often
2011-12-21 23:31:38 +11:00
Andrew Tridgell cef1c4c558 MPU6k: update driver for new ap_proceduce prototype 2011-12-21 23:31:38 +11:00
Andrew Tridgell 8cc2b7669b PeriodicProcess: added set_failsafe() call
this adds an optional failsafe function that will be called in the
timer loop
2011-12-21 23:31:38 +11:00
Andrew Tridgell 845683a56c added comment in polygon code 2011-12-21 23:31:38 +11:00
Andrew Tridgell eac625ba8f rollover is not a bug
subtracting unsigned numbers does the right thing
2011-12-21 23:31:38 +11:00
Andrew Tridgell eec5f000b5 added code format markers to AP_InertialSensor library 2011-12-21 23:31:38 +11:00
Andrew Tridgell 614aeb274c fixed build of IMU_MPU6000_test 2011-12-21 23:31:38 +11:00
Andrew Tridgell b52cd45670 fixed comment 2011-12-19 20:52:59 +11:00
Andrew Tridgell 7c9c26e2b7 AP_Math: re-work polygon algorithm for perfect precision
using sign checking and 64 bit integer math only when needed results
in an algorithm that is just as fast as the floating point version,
but has perfect results for any representable lat/lng
2011-12-19 18:52:56 +11:00
Randy Mackay a51e868766 AP_RangeFinder - change sonar example sketch to use default Sonar PIN for APM2 (A1) 2011-12-18 14:15:50 +09:00