Andrew Tridgell
f125f6619a
fixed formatting of ADC driver
...
it was a nasty mix of DOS and UNIX
2011-12-16 20:09:29 +11:00
Andrew Tridgell
b484411c41
timers: change to 1kHz timer by default
...
we were using a 227Hz timer, which is far too slow
2011-12-16 20:09:25 +11:00
Andrew Tridgell
e187ff149f
desktop: fixed type of dword eeprom read
2011-12-16 20:09:18 +11:00
Andrew Tridgell
62e92f406e
AP_Math: make out vector and matrix elements used types with fixed sizes
...
this prevents differences between CPU types
2011-12-16 20:09:11 +11:00
Pat Hickey
d6a8440ef2
APM_RC_APM2: Remove OutputCh from ::Init()
...
* These calls were off by one anyway, by using the channel numbers
as ints ant not CH_n macros, and that caused an ESC cal problem.
2011-12-15 13:47:43 -08:00
Andrew Tridgell
85e295332f
AP_Math: added Polygon_complete() function
...
used to veryify user supplied boundaries
2011-12-15 14:42:34 +11:00
Andrew Tridgell
117a98f9a2
AP_Math: added a Polygon_outside() function
...
this tests if a point is outside of a polygon. This will be used as
part of our geo-fencing support, and also for a new 'fenced mode'
2011-12-15 14:34:58 +11:00
Andrew Tridgell
0147c7b6c6
DCM: added matrix_reset() method
2011-12-13 21:32:50 +11:00
Andrew Tridgell
a819c1a3dc
IMU: abstract the setting of the LEDs in IMU initialisation
...
we need this to cope with different LED pin assignments on APM1/APM2
2011-12-13 18:19:12 +11:00
Andrew Tridgell
90c6bad814
autotest: make magnetic field point down
2011-12-12 22:14:01 +11:00
Andrew Tridgell
081f35f51c
desktop: fixed build with new AP_Baro code
2011-12-12 15:14:55 +11:00
Andrew Tridgell
8d882c3640
desktop: fixed desktop barometer code
2011-12-12 15:14:55 +11:00
Andrew Tridgell
3648c81dd9
barometer: fixed HIL barometer build
2011-12-12 15:14:55 +11:00
Andrew Tridgell
5d503fd65e
ADC: change adc.Ch() to return a float
...
this gives us a bit more precision in airspeed measurement, and costs
us virtually nothing as we are converting to float immediately after
getting the value
2011-12-12 15:14:55 +11:00
Andrew Tridgell
14866927e1
dcm: fixed an uninitialised variable
...
if no compass and not in motion the DCM we would multiply by an
uninitialised number
2011-12-11 15:21:10 -08:00
Pat Hickey
f4aaa56b16
AP_Baro_MS5611: Asynchronous operation, plus c++ style changes.
...
Yeah, I know this was a big change to make all at once.
2011-12-11 15:21:10 -08:00
Pat Hickey
d026e48032
AP_Baro : Add init( AP_PeriodicProcess * ) method to interface & implementations
...
AP_Baro_MS5611 and AP_Baro_BMP085 implement the interface, with stubs only
2011-12-11 15:21:10 -08:00
Pat Hickey
a626e21e98
AP_Baro_BMP085: move apm2_hardware flag from init to constructor.
2011-12-11 15:21:10 -08:00
Pat Hickey
f3ad7f3af8
Wire and SPI Init: move to sketch system.pde from libraries
...
* Wire.begin removed from AP_Baro_BMP085::init()
* SPI.begin removed from AP_Baro_MS5611::init()
* SPI.begin removed from AP_InertialSensor_MPU6000::hardware_init()
* Both Wire.begin and SPI.begin added very early in init_ardupilot in
ArduCopter/system.pde and ArduPlane/system.pde
2011-12-11 15:21:10 -08:00
Pat Hickey
49ca774734
AP_PeriodicProcess: AP_TimerProcess can register multiple callbacks.
2011-12-11 15:21:10 -08:00
Pat Hickey
1bfab64543
AP_Baro_BMP085: Delete commented out code
...
* If its important to get old code back, thats why version control exists
2011-12-11 15:21:09 -08:00
Pat Hickey
f3270b7f13
AP_Baro_BMP085: implement AP_Baro interface
2011-12-11 15:21:09 -08:00
Pat Hickey
f52453beed
AP_Baro_MS5611: init must also perform SPI.begin
2011-12-11 15:21:09 -08:00
Pat Hickey
64eb1889ab
AP_Baro_MS5611: CS pin is arduino pin 40
2011-12-11 15:21:09 -08:00
Pat Hickey
1832ed0355
AP_Baro_MS5611: Implement AP_Baro interface
2011-12-11 15:21:09 -08:00
Pat Hickey
f0ab0318b3
AP_Baro_BMP085: Conform to AP_Baro interface. Make the rest private.
2011-12-11 15:21:09 -08:00
Pat Hickey
a41b6da263
AP_Baro_MS5611: conform to AP_Baro interface
2011-12-11 15:21:09 -08:00
Pat Hickey
d113992c10
AP_Baro: Create virtual interface
2011-12-11 15:21:09 -08:00
Pat Hickey
fdffd69257
AP_Baro_MS5611: renamed class implementation from APM_MS5611
2011-12-11 15:21:09 -08:00
Pat Hickey
c407b0d85e
AP_Baro_MS5611.h: reorganized
...
* moved ms5611 macros to c file
* reorganized class declaration & retabbed
* made Temp, Pres, and Alt private variables.
2011-12-11 15:21:09 -08:00
Pat Hickey
34cebd8a3e
AP_Baro_MS5611: Overwrote with Jose Julio's latest files.
2011-12-11 15:21:09 -08:00
Pat Hickey
cc6837cbab
AP_Baro: Export AP_Baro_BMP085 and AP_Baro_BMP085_HIL headers.
2011-12-11 15:21:09 -08:00
Pat Hickey
f445ec1242
AP_Baro_BMP085(+_HIL): Rename classes from APM_BMP085 to AP_Baro_BMP085.
2011-12-11 15:21:09 -08:00
Pat Hickey
7032c32b42
BMP085 fix line endings
2011-12-11 15:21:09 -08:00
Pat Hickey
7ef146044e
AP_Baro: move all APM_BMP085 files inside AP_Baro
2011-12-11 15:21:09 -08:00
Pat Hickey
9250053bfe
Added AP_Baro and AP_Baro_MS5611 classes.
...
Incomplete and does not work.
2011-12-11 15:21:08 -08:00
Randy Mackay
67855b207d
Arducopter, RangeFinder - added SONAR_TYPE parameter and properly support the XL (default), LV and long distance XL (aka XLL) sonar types
2011-12-11 16:40:59 +09:00
Pat Hickey
56b0be3124
APM_RC: APM1 fast output speed increased to 400hz.
2011-12-10 13:06:06 -08:00
Pat Hickey
7afb091f26
APM_RC: APM2 fast output speed increased to 400hz.
2011-12-10 13:04:11 -08:00
Pat Hickey
f3a4fbc7af
AP_IMU_INS: Eliminate init_accel from cold start.
...
* Bug reported by Jason, 10 Dec 11
2011-12-10 13:00:54 -08:00
Randy Mackay
fa0723f115
ArduCopter - removed limitation on Maxbotix sonar type requiring ADC so it can work with APM2.
...
modified default analog pin in test sketch to be AN4 which is consistent with APM2 default
2011-12-10 18:33:30 +09:00
Randy Mackay
df1e54ec79
RangeFinder - fixed example sketch so it works again
2011-12-10 16:32:34 +09:00
Randy Mackay
1f53c25577
RangeFinder - small bug fix to initialise prescale variable.
...
Fixed up example sketch so it compiles and works again!
2011-12-10 16:25:41 +09:00
James Goppert
6dc236b8f2
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-12-07 20:59:15 -05:00
Jason Kemmerling
21c3282c9c
Fixed along track bug.
2011-12-07 20:55:06 -05:00
James Goppert
2feacea1f1
Added APM2 support.
2011-12-07 19:19:30 -05:00
James Goppert
a25353da79
Added AP_Board to APO
2011-12-07 16:31:56 -05:00
Jason Short
9d1f56c6da
Split P and I term
2011-12-06 21:10:30 -08:00
Jason Short
9ed6463b39
Split the P and I terms in PI
2011-12-06 21:08:47 -08:00
Wenyao Xie
c4203631dc
APO velocity/ altitude working.
2011-12-06 19:38:23 -05:00
Wenyao Xie
2432ae130d
Fixed baro.
2011-12-06 18:56:16 -05:00
Wenyao Xie
7593aae452
Fixed Barometer Altitude
2011-12-06 13:28:39 -05:00
Wenyao Xie
410c18ac05
Fixed Barometer Reading
2011-12-06 13:26:07 -05:00
Wenyao Xie
50032ef703
Working on baromemter altitude
2011-12-05 20:57:19 -05:00
Jason Kemmerling
1d9efea9af
Sailboat wind measurement working.
2011-12-05 15:53:29 -05:00
Andrew Tridgell
5c99035823
fixed the desktop build
...
This fixes a vtable link bug
2011-12-05 18:06:58 +11:00
James Goppert
7fae764c55
Along track fix for negative.
2011-12-04 01:36:53 -05:00
James Goppert
98a21a70c0
Improved along track calculation for APO.
2011-12-04 01:25:14 -05:00
James Goppert
f8fab5f7d6
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-12-04 00:45:34 -05:00
Wenyao Xie
fd77fe5a9d
Rover live test WORKS! "Murphy's Law is a turtle"
2011-12-03 22:42:08 -05:00
Jason Short
fa7f39ba20
Access to _clamp val. May want to make a private member and write accessor.
2011-12-03 17:57:12 -08:00
Jason Short
e37dffadf3
Added faster conversion from and to degrees*100 / rads
2011-12-03 17:56:41 -08:00
Andrew Tridgell
b4965d34a9
GPS: added FAKE_GPS_LOCK_TIME
...
this allows you to fake up a GPS lock after a specific number of
seconds
2011-12-04 09:06:57 +11:00
Wenyao Xie
dac3ba48e0
Fixed apo live mode bugs for 2.0 update.
2011-12-03 15:38:37 -05:00
Wenyao Xie
a802796c67
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-12-03 14:00:23 -05:00
James Goppert
8300c5e738
Changed BlockPIDDfb behaviour.
2011-12-03 12:13:11 -05:00
Andrew Tridgell
f96a48e42b
autotest: support all 11 PWM output channels
...
this will allow for more complex aircraft
2011-12-02 22:45:48 +11:00
Andrew Tridgell
66d65121cc
autotest: switch to big-endian metric packets internally
...
now that all the sim code is internal to the APM git repo, we can
choose saner packet formats
2011-12-02 22:12:58 +11:00
Andrew Tridgell
43e3948816
desktop: show the full path to the desktop executable
2011-12-02 21:46:55 +11:00
Andrew Tridgell
7167fec784
desktop: added SO_REUSEADDR after accept()
2011-12-02 17:37:55 +11:00
Andrew Tridgell
706c6c38fa
desktop: fixed calculation of angular velocities
...
thanks to James Goppert for the frame conversion maths
2011-12-02 17:37:54 +11:00
James Goppert
b9f370e33d
Commented out debugging in guide.
2011-11-29 18:08:50 -05:00
James Goppert
38c19c50be
Merge branch 'master' of github.com:arktools/ardupilotone
...
Conflicts:
libraries/APO/AP_Guide.cpp
2011-11-29 18:06:38 -05:00
James Goppert
b6dcd70cf9
Working on yaw command.
2011-11-29 17:38:18 -05:00
Wenyao Xie
a0824b4cbe
Fixed guidance bugs in APO.
2011-11-29 17:37:42 -05:00
James Goppert
92efa90d0f
APO fixes.
2011-11-29 13:59:44 -05:00
James Goppert
e8d74ae3fe
Fixed apo radio error.
2011-11-28 12:29:05 -05:00
James Goppert
83aceb5e8f
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-11-28 00:56:29 -05:00
James Goppert
715e7c84a4
Updated apo for merge with apm 2.0 changes.
...
Still need to handle switches for 2.0 board in hal.
Should probably move into hal ctor.
2011-11-28 00:53:30 -05:00
Andrew Tridgell
bdb1599e96
desktop: improved the accuracy of the sensor emulation
2011-11-28 16:22:33 +11:00
Andrew Tridgell
e491168273
ADC: remove a very small (0.2 degrees/s) bias in the ADC code
...
small bias from integer rounding
2011-11-28 16:22:33 +11:00
James Goppert
fcb4d9cb15
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-11-27 23:56:17 -05:00
James Goppert
999a5892f0
Fixed mode switching.
2011-11-27 23:55:28 -05:00
Andrew Tridgell
df957db8d9
desktop: setup TCP sockets as non-blocking
...
the sendto() blocks unexpectedly on MacOS
2011-11-28 13:53:57 +11:00
Andrew Tridgell
4036604fb7
mavlink: move Mavlink_compat.h to common code
...
this will allow it to be used by ArduCopter
2011-11-28 13:53:57 +11:00
Doug Weibel
997ddde7f5
Added back the feature to prompt users when an invalid CLI command is entered.
...
Thanks to Yury Smirnov for this patch!
2011-11-26 21:10:53 -07:00
Andrew Tridgell
0da5125b7f
upload: force hex file format for upload
...
this should fix a problem with hex file format detection on MacOS
2011-11-27 09:36:10 +11:00
Andrew Tridgell
0720bf7bf1
desktop: build fix for fjall
2011-11-26 18:24:29 +11:00
Andrew Tridgell
f2a0a49d55
desktop: fixed desktop build for strlcat_P() changes
2011-11-26 17:18:09 +11:00
Andrew Tridgell
7fa59a6849
AP_Common: added typesafe wrapper for memcpy_P()
2011-11-26 17:17:50 +11:00
Andrew Tridgell
92e0e929a4
AP_Common: replace strlcat_P() with a C implementation
...
the one in the Arduino libc was giving us bogus results on one
machine, and is suspect. We couldn't spot what is wrong in the
assembler, but replacing the implementation with a C one fixes the
bug, so we replaced it
2011-11-26 17:02:56 +11:00
Andrew Tridgell
c9b0b384f7
desktop: added framerate and initial height code
...
this allows the sensors to initialise before the simulator has
connected. The GPS will give a value indicating no GPS lock
2011-11-25 20:00:19 -08:00
Andrew Tridgell
24a7a18481
desktop: fixed swap_float()
...
get indexes right
2011-11-25 20:00:19 -08:00
Andrew Tridgell
62f98b091f
desktop: import updated DataFlash code
...
this fixes a logging bug
2011-11-25 20:00:19 -08:00
Andrew Tridgell
de0c38339d
desktop: fixed ADC value for airspeed
2011-11-25 20:00:19 -08:00
Andrew Tridgell
02f25ac36d
libraries: rename purple to APM2
2011-11-25 20:00:19 -08:00
Andrew Tridgell
2b7e0c8494
DataFlash_Purple: added new logging methods needed for ArduPlane
...
builds, but not tested yet
2011-11-25 20:00:18 -08:00
Andrew Tridgell
cba93dbd43
DataFlash_APM1: re-add defines lost from merge
2011-11-25 20:00:18 -08:00
Andrew Tridgell
0ee654d6bf
desktop: fixed desktop build
...
vtable error
2011-11-25 20:00:18 -08:00
Andrew Tridgell
de2898e5db
desktop: normalise roll and pitch rates
2011-11-25 20:00:18 -08:00
Andrew Tridgell
91b03a48c1
desktop: added SKETCH as a define
...
useful for automatically handling copter vs plane
2011-11-25 20:00:18 -08:00
Andrew Tridgell
ffba37d599
desktop: first version of register level SITL support
...
this adds register level emulation of the ADS7844 and the RC
input/output hardware on the APM1, allowing for SITL testing without
enabling HIL in the code
2011-11-25 20:00:18 -08:00
Pat Hickey
b8c44d2fc0
APM_RC: _set_speed functions implemented for APM_RC_APM1 and _Purple
...
* I have not tested any of these on real hardware.
2011-11-25 20:00:18 -08:00
Pat Hickey
ea4c220ee9
APM_RC: OCR register init moved from ArduCopter/radio.pde to lib inits.
2011-11-25 20:00:18 -08:00
Andrew Tridgell
6093db948b
compass: added AP_COMPASS_APM2_SHIELD
...
this makes the orientation clearer
2011-11-25 20:00:18 -08:00
Andrew Tridgell
18986d1d9f
barometer: fixed for purple build
2011-11-25 20:00:18 -08:00
Andrew Tridgell
0601f7e8ce
barometer: support 'make purple' for barometer example code
2011-11-25 20:00:18 -08:00
Andrew Tridgell
41caa949ca
fixed InertialSensor stub build
2011-11-25 20:00:18 -08:00
Pat Hickey
d2a0bd35f4
hil-sensors: added stub libraries for InertialSensor and PeriodicProcess
...
* Also added dummy ivar to APM_BMP085_hil
2011-11-25 20:00:18 -08:00
Andrew Tridgell
94423bc335
AP_IMU: fixed shim driver prototype
2011-11-25 20:00:18 -08:00
Andrew Tridgell
e0488e134f
desktop: fixed build with updated dataflash interface
2011-11-25 20:00:17 -08:00
Andrew Tridgell
8245835ea3
desktop: make AP_InertialSensor pure virtual
...
fixed a link error in Desktop build
thanks to Pat for the C++ foo
2011-11-25 20:00:17 -08:00
Andrew Tridgell
bb7af8c15a
dataflash: fixed datatypes to be compatible with desktop build
2011-11-25 20:00:17 -08:00
Andrew Tridgell
a9c0cbac77
desktop: make DataFlash for Desktop build replace APM1 build
2011-11-25 20:00:17 -08:00
Andrew Tridgell
6e9e857157
make configure default to 2560
...
1280 is less common for devs these days
2011-11-25 20:00:17 -08:00
Pat Hickey
82e7551c90
purple: rework DataFlash to separate purple and APM1 hardware support
...
the purple support is still a work in progress, but the APM1 support
should be fine
2011-11-25 20:00:16 -08:00
Pat Hickey
a159669cee
build: added jtag-program make target
...
useful for when you have hosed your USB
2011-11-25 20:00:16 -08:00
Pat Hickey
e53bcba4d9
purple: rework AP_IMU library to use AP_IntertialSensor library
...
the AP_IMU keeps the handling of the calibration, but most of the real
work happens in the lower level AP_IntertialSensor library
2011-11-25 20:00:16 -08:00
Pat Hickey
82b48784ef
purple: added AP_InertialSensor library
...
this abstracts the way of getting inertial sensor (gyro and
accelerometer) data for the APM1 and purple hardware. The Oilpan code
is based closely on the old APM1 code
2011-11-25 20:00:16 -08:00
Pat Hickey
c9f7618ccc
purple: rework the RC_Channel library for the APM_RC changes
2011-11-25 20:00:16 -08:00
Pat Hickey
f36ded2854
RangeFinder: rework to use AnalogSource library
...
this removes the hacks that check for the ADC object, and instead
choose the method of getting the analog sonar value via the
AnalogSource API
2011-11-25 20:00:16 -08:00
Pat Hickey
0c0a1b1dcc
purple: Added AnalogSource library
...
this library abstracts out the way of getting an analog value. If the
ADC library is being used then it calls the ADC Ch() method, otherwise
it calls analogRead()
2011-11-25 20:00:16 -08:00
Pat Hickey
017f121566
AP_ADC: rework ADC library to use PeriodicProcess and ISR_Register
...
this makes it possible to build the ADC library when another driver
may also want that interrupt
2011-11-25 20:00:16 -08:00
Pat Hickey
d288b8870d
purple: added PeriodicProcess library
...
this library provides a clean API for drivers to request periodic
timer driven calls at whatever rate they need
2011-11-25 20:00:16 -08:00
Pat Hickey
1daadb5068
purple: added ISR_Registry() library
...
this allows libraries to register interrupt handlers, so multiple
components can use the same hardware level interrupt
2011-11-25 20:00:16 -08:00
Pat Hickey
36346fd86b
purple: rework APM_RC library for purple hardware
...
this splits the APM_RC class into instances for purple and APM1, and
adds example sketches for both
2011-11-25 20:00:16 -08:00
Pat Hickey
2d8ce38aeb
barometer: add purple_hardware option to Init()
...
this allows selection of right hardware at Init() time
2011-11-25 20:00:15 -08:00
Jason Short
6f3b56b38f
increased filter
2011-11-25 11:34:05 -08:00
James Goppert
4fa9b7ef85
Working on comments.
2011-11-24 15:54:08 -05:00
James Goppert
29b7eb12a7
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-11-24 14:28:25 -05:00
James Goppert
7ef8578029
Separated controller block class.
...
Also improved documentation of AP_ControllerBlock.
2011-11-24 13:28:14 -05:00
James Goppert
bfda005b5a
Removed old variable from hal.
2011-11-24 02:08:27 -05:00
Wenyao Xie
40b3c303f7
Worked on autopilot state/ mode mapping. Corrected PIDBlock sign error.
2011-11-22 16:42:51 -05:00
Andrew Tridgell
73e0ab0c63
desktop: more fixes for DataFlash filesystem changes
2011-11-20 19:06:24 +11:00
James Goppert
d61e59d779
Fixed most of quad guidance issues.
2011-11-19 23:34:14 -05:00
James Goppert
60b41311f0
Working on memory problem.
2011-11-19 22:20:06 -05:00
James Goppert
937a268513
Bug located in quad position loop, improved hil.
2011-11-19 21:39:14 -05:00
James Goppert
2337153966
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-11-18 14:36:47 -05:00
Andrew Tridgell
6d048646c3
desktop: added support for new DataFlash functions
2011-11-18 17:50:12 +11:00
Doug Weibel
f752c4b799
Change to logging file system.
...
This commit is somewhat temporary as I have come up with a better scheme and will be modifying this. Just making this commit in case I need to roll back
2011-11-17 21:25:51 -07:00
Jason Short
afef359aec
Upped pressure filter a bit
2011-11-17 11:12:18 -08:00
Wenyao Xie
8017b0415e
Working on new hil message for mavlink.
2011-11-15 17:15:54 -05:00
Andrew Tridgell
355519ad1e
desktop: when in the CLI, use blocking writes
...
this prevents us missing information from the logs
2011-11-11 09:53:46 +11:00
Andrew Tridgell
9677600433
desktop: don't start alarm till setup() has finished
2011-11-10 21:57:47 +11:00
Jason Short
0e1727e492
MAV_CMD_DO_SET_ROI
2011-11-09 12:07:57 -08:00
Andrew Tridgell
9af935f2f2
desktop: don't alarm in CLI
...
loop() is not called in menu system
2011-11-10 00:14:04 +11:00
Andrew Tridgell
0820ff52a8
desktop: exit if loop() doesn't run for 5 seconds
...
this should stop runaway processes
2011-11-09 19:40:34 +11:00
Andrew Tridgell
a0fd4f710f
desktop: force awk on macos
...
this may help on jasons box
2011-11-09 17:21:53 +11:00
Andrew Tridgell
53f62b7484
desktop: exit on EOF from stdin
2011-11-09 17:21:53 +11:00
Jason Short
0ca427bdd9
Removed debugging code from APM_PI
2011-11-08 14:41:21 -08:00