Doug Weibel
e109992c12
Add a CLI setup action to reset the magnetometer offsets
...
Since the magnetometer offsets are not available through the MAVLink parameter interface (since they are an AP_Var vector) this little feature allows them to be reset from the CLI. Useful if you somehow get bad offsets or if you change magnetometer. If you have a bad set of large offset values I have seen issues with the nulling algorithm have trouble converging to the proper values. I have never seen it have trouble converging from 0/0/0, so this could be a useful feature from time to time.
2012-01-15 16:15:08 -07:00
Doug Weibel
17b31d0b5b
Fix airspeed sensor support for APM2.
...
Airspeed sensor should be attached to Analog input 0
2012-01-15 16:12:08 -07:00
Doug Weibel
17b3e514dc
Just a little more commenting work on global variables
2012-01-15 16:11:02 -07:00
Doug Weibel
fd8dc84fac
Update battery monitoring code for ArduPlane
...
Fixes compatibility for APM2. Also a significant update to the battery monitoring code: We previously had monitoring modes for individual cell voltages for 3 and 4 cell lipos. These have been removed as they were never really supported (the cell voltages were computed but were not reported or recorded anywhere). Also, some clean-up/prep work was done for supporting monitoring 2 separate battery packs. The CLI battery and current monitoring tests were consolidated into 1 test.
2012-01-15 16:10:28 -07:00
Doug Weibel
622217357c
Bug fix for compass.
...
This is a fix for an interesting bug when a DCM matrix reset was added to the ground start. This bug only showed up if (A) a ground start were performed after an air start or due to use of the "Calibrate Gryo" action, (B) if the current orientation were sufficiently different from 0/0/0, and (C.) if the particular magnetometer had sufficiently large offsets. Why did resetting the DCM matrix to 0/0/0 pitch/roll/yaw at ground start cause a bug? The magnetometer offset nulling determines the proper offsets for the magnetometer by comparing the observed change in the magnetic field vector with the expected change due to rotation as calculated from the rotation in the DCM matrix. This comparison is made at 10Hz, and then filtered with a weight based on the amount of rotation to estimate the offsets. Normally it would take considerable time at normal in-flight rotation rates for the offset estimate to converge.
If a DCM matrix reset occurs when the offset nulling algorithm is up and running, the algorithm sees the DCM reset as a instantaneous rotation, however the magnetic field vector did not change at all. Under certain conditions the algorithm would interpret this as indicating that the offset(s) should be very large. Since the "rotation" could also have been large the filter weighting would be large and it was possible for a large erroneous estimate of the offset(s) to be made based on this single (bad) data point.
To fix this bug methods were added to the compass object to start and stop the offset nulling algorithm. Further, when the algorithm is started, it is set up to get fresh samples. The DCM matrix reset method now calls these new methods to stop the offset nulling before resetting the matrix, and resume after the matrix has been reset.
2012-01-12 14:44:24 -07:00
Doug Weibel
6f9c6a3b8e
Adding comments for global variables
2012-01-11 12:37:43 -07:00
analoguedevices
47197891e3
Put in commented-out APM2 # defines, to save people the trouble of having to type them in themselves.
2012-01-09 02:00:46 +00:00
Doug Weibel
0fb4082581
Bug fix for issue 438.
...
The rate in a change alt command does not need to be signed. The code will determine if the rate needs to be positive or negative
2012-01-08 18:24:55 -07:00
Michael Oborne
5d5800ee1f
fix relay on apm 1 AP
2012-01-05 07:51:01 +08:00
Andrew Tridgell
645eac6f38
I2c: default to 5ms timeout, and faster bus speed
...
we will slow down the speed when we get a failure
2012-01-04 16:36:47 +11:00
Doug Weibel
35fba5d4a3
Tweak to FBW min altitude
...
Patch from Yury
2011-12-31 15:44:40 -07:00
Jason Short
bc7f0a567c
Small issue with newline formatting
2011-12-29 23:02:02 -08:00
Michael Oborne
0c75c863de
add circle to output modes
2011-12-29 18:21:32 +08:00
Andrew Tridgell
5aca951438
APM: added error checking on barometer read
...
if the barometer is dead and the GPS has a fix, use the GPS for
altitude
2011-12-28 20:41:53 +11:00
Andrew Tridgell
2c41264a9b
APM: added error checking on compass read
2011-12-28 20:41:53 +11:00
Andrew Tridgell
c6b8a08918
APM: convert to new I2C library
2011-12-28 20:41:53 +11:00
Andrew Tridgell
c91827ee09
geofence: re-breach if user changes mode outside the fence
...
if the user changes mode while outside the fence, and fencing is still
enabled, then declare a new breach
2011-12-28 17:28:35 +11:00
Andrew Tridgell
b108b907e0
APM: Update for DataFlash changes
2011-12-28 16:00:49 +11:00
analoguedevices
fefda548d2
Added contributor names, removed "alpha" from firmware name
2011-12-26 17:13:37 +00:00
Andrew Tridgell
4cd4987ae7
APM: fixed some unsigned/signed warnings
2011-12-26 19:17:11 +11:00
Andrew Tridgell
d09c344ab8
APM-log: fixed reading of GPS logs
2011-12-26 19:17:11 +11:00
Andrew Tridgell
94cbbf6f28
APM-log: changed to use df_NumPages
...
this copes with different data flash sizes on APM1 and APM2
2011-12-26 19:17:11 +11:00
Doug Weibel
7779dff355
Correct a bug in throttle failsafe feature
2011-12-24 15:34:31 -07:00
Doug Weibel
c40093a1a7
Remove old debug print
2011-12-24 14:26:35 -07:00
Doug Weibel
4009018167
Fix scaling on "turn coordination" yaw PID so that P gain values fall in "usual" range 0.1 to 10.
2011-12-24 14:26:35 -07:00
Andrew Tridgell
66029af574
setup the main loop failsafe after RC library is setup
2011-12-23 11:13:01 +11:00
Andrew Tridgell
f7dda9f413
added comment on using GPS ground course
2011-12-23 11:13:01 +11:00
Andrew Tridgell
968ad78df0
APM2: default magnetometer to enabled
...
all APM2s have a MAG at the moment
thanks to Chris for the suggestion
2011-12-22 17:51:14 +11:00
Andrew Tridgell
ef3c5c071a
failsafe: make sure we clear any RC override in manual failsafe
2011-12-22 10:55:43 +11:00
Andrew Tridgell
c6633d7bc9
fixed HIL build
2011-12-21 23:31:39 +11:00
Andrew Tridgell
ad63c10ab7
APM: added failsafe support
...
we now pass all channels through at 50Hz if the main loop stops
running, regardless of why. This gives us a reasonable failsafe, as
long as the low level RC library is still working, and interrupts
don't get completely disabled.
2011-12-21 23:31:39 +11:00
Andrew Tridgell
0aab4da1a1
mainloop_count should be uint16_t
2011-12-21 23:31:38 +11:00
Andrew Tridgell
61b2b2e32a
always declare a timer_scheduler
...
we should always run this code
2011-12-21 23:31:38 +11:00
Andrew Tridgell
73146bae5d
APM: show temperature in airpressure test
...
useful for tracking down baro bugs
2011-12-19 18:52:56 +11:00
Andrew Tridgell
98406e842b
geofence: send fence status messages on fence events
...
this ensures the fence status goes out as soon as possible, which
means the messages arrive in a sane order on the GCS
2011-12-19 11:25:59 +11:00
Andrew Tridgell
226470c614
APM: added RST_SWITCH_CH parameter
...
This is useful for switching back to the mode indicated by the control
switch after a failsafe or fence breach. I was just changing modes
each time, but it is far more elegant to have a spring loaded switch
for "I am ready to take control again", rather than continually
changing modes.
2011-12-19 11:25:59 +11:00
Andrew Tridgell
54b8aab0ac
Log: fixed logging dependence on compiler arg eval order
2011-12-18 17:31:45 +11:00
Andrew Tridgell
8a7d064842
APM: run mavlink loop while erasing logs
2011-12-18 10:19:52 +11:00
Andrew Tridgell
ce035fc324
geofence: enable return to old control mode via FENCE_CHANNEL
...
if you disable fencing with the fence channel switch while still in
GUIDED mode to the return point, then reset the control mode back to
the transmitter control mode
2011-12-18 10:00:44 +11:00
Andrew Tridgell
5d2301ef47
fixed airspeed sensor for ArduPlane on APM2
...
we were trying to use a non-existant ADC chip!
2011-12-17 07:29:09 +11:00
Andrew Tridgell
4bbd5392ef
removed AperiodicProcess code
...
this code was never being used, and was more complex than it was
worth.
2011-12-17 07:29:09 +11:00
Andrew Tridgell
ed17f64459
geofence: added FENCE_TRIGGERED_PIN
...
this allows for a digital pin to be set high when the geofence
triggers. This pin can be connected to an external failsafe device
2011-12-17 07:29:08 +11:00
Michael Oborne
eed0eea13b
apm 1280 disables
2011-12-16 22:26:39 +08:00
Andrew Tridgell
1ab2b416a3
geofence: store fence points as int32_t
...
this keeps maximum precision in fence boundaries
2011-12-16 20:11:51 +11:00
Andrew Tridgell
b3327c64de
geofence: added fence status reporting and faster altitude check
2011-12-16 20:11:51 +11:00
Andrew Tridgell
a6e451c1b2
geofence: don't trim control surfaces on geo-fence breach
...
the user input is likely to be bad
2011-12-16 20:11:51 +11:00
Andrew Tridgell
1b64185b18
geofence: main geo-fence code
...
this implements the primary logic of geo-fencing
2011-12-16 20:11:51 +11:00
Andrew Tridgell
238c25c05e
geofence: added geo-fencing control parameters
2011-12-16 20:11:51 +11:00
Andrew Tridgell
1455ff4a91
removed an unused variable
2011-12-16 20:09:49 +11:00
Andrew Tridgell
e1e9002fad
only check for "enter 3 times" in first 20s after boot
...
we don't want stray bytes on serial3 to make us enter the CLI during
flight!
2011-12-16 20:09:32 +11:00
Doug Weibel
a77f91fa4e
Changes to logging file system to avoid problems with 0 and 1 page logs
2011-12-13 20:09:07 -07:00
Andrew Tridgell
e8617fc929
DCM: reset the DCM matrix after a ground start
2011-12-13 21:33:07 +11:00
Andrew Tridgell
b0aa1deac2
MAVLink: fixed link flood on waypoint upload
2011-12-13 20:39:04 +11:00
Andrew Tridgell
d416013bd8
fixed a hang on 2nd run of IMU test
...
we should not try to initialise the ISR handlers twice
2011-12-13 18:28:50 +11:00
Andrew Tridgell
c007fb49b8
IMU: update ACM and APM for flash_leds change in IMU init
2011-12-13 18:19:41 +11:00
Andrew Tridgell
4e4a4a685c
fixed two more CONFIG_HARDWARE #ifdef bugs
2011-12-13 17:05:48 +11:00
Andrew Tridgell
dd4498d113
desktop: fixed Wire.begin() build problem
2011-12-12 15:14:55 +11:00
Andrew Tridgell
80a0dfe862
fixed hardware config check for barometer
2011-12-12 15:14:55 +11:00
Andrew Tridgell
65ed8cc2c3
added sitl build target
2011-12-12 15:14:55 +11:00
Andrew Tridgell
4319d1ceb0
throttle: only use throttle slew in auto throttle modes
...
we don't want STABILISE and FBWA to have throttle change limits
2011-12-12 15:14:55 +11:00
Andrew Tridgell
fa683c5718
airspeed: smooth the airspeed value a bit more
...
the value is very noisy in my tests. A bit more smoothing may help
2011-12-12 15:14:55 +11:00
Andrew Tridgell
faf58a355b
airspeed: use floating point values and better averaging in zero_airspeed()
...
this makes the calibration of airspeed a bit more accurate, and
prevents truncation of airspeed values
2011-12-12 15:14:55 +11:00
Andrew Tridgell
bb861117a3
apm2: fixed for new barometer code
2011-12-11 15:21:10 -08:00
Pat Hickey
85b82e75f6
ArduPlane: update AP_Baro construtors and initializers
2011-12-11 15:21:10 -08:00
Pat Hickey
6710cf5c5a
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
5fd8fea957
ArduCopter & ArduPlane: Added support for apm2beta build via APM2_BETA_HARDWARE define
...
* This enables the BMA085 driver for compatibility with beta boards.
* The CLI_SLIDER_ENABLED=DISABLED line does not need to be in the makefile.
config.h takes care of this default.
2011-12-11 15:21:09 -08:00
Pat Hickey
6f27c4c779
ArduPlane: added config.h and defines.h to support CONFIG_BARO
2011-12-11 15:21:09 -08:00
Pat Hickey
63d3b6a278
ArduPlane: Rename APM_BMP085 classes to AP_Baro_BMP085 classes
2011-12-11 15:21:09 -08:00
Pat Hickey
c64e3f5772
ArduPlane: calibrate accel with imu.init_accel after imu.init
...
* complements commit 73418559, where init_accel was eliminated
from AP_IMU_INS::init cold start.
2011-12-10 13:32:47 -08:00
Doug Weibel
f34333d42b
Minimum ground speed patch from Claudio Natoli. Thanks Claudio!
...
This patch will boost the target airspeed as necessary to keep the ground speed above a parameter value - param_min_groundspeed. Airspeed is still limited to FBW-max. Setting min_groundspeed to zero (default) disables the feature.
2011-12-09 16:43:25 -07:00
Doug Weibel
77a7734111
Augment failsafe gcs_send_text message
2011-12-09 09:11:45 -07:00
Doug Weibel
4f6f9a6be4
Add hook to dump log filesystem index for debugging
2011-12-07 08:13:30 -07:00
Andrew Tridgell
c1569e49a8
fixed the "reboot on GPS lock" bug
...
the problem was that with APM2 we may not have a 2nd GCS instance. The
"gps alt: xxx" message was being unconditionally sent to both GCS
instances, which caused a crash
2011-12-04 09:06:58 +11:00
Andrew Tridgell
899c1364cc
test: removed the broken gyro test and merge it into the imu test
...
the gyro test assumed APM1 hardware, and would hang on APM2. The imu
test can just as easily display gyro and accelerometer data as well as
roll/pitch/yaw, so combine it in one test
2011-12-03 14:08:20 +11:00
Doug Weibel
b3b218fa40
Fix for intermittent bug of log #1 starting on page 2 and confusing file system
2011-11-28 19:43:10 -07:00
Doug Weibel
aa6c336479
Add DataFlash.Init before doing a forced log erase on eeprom reset.
...
Add progress indication during log erase
2011-11-28 19:42:27 -07:00
Andrew Tridgell
7f4c87eeec
mavlink: don't force CLI and HIL with mavlink10 build
2011-11-28 16:22:33 +11:00
Andrew Tridgell
e61d945874
mavlink: paranoia setting of failsafe when forcing AUTO mode
...
this shouldn't be needed, but will do no harm, and I thought I saw
this fail in a test
2011-11-28 16:22:33 +11:00
Andrew Tridgell
833f5f5895
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
Andrew Tridgell
d295b7d76c
build: CLI_SLIDER_ENABLED doesn't need to be forced off in apm2 build
...
this is handled by config.h now
2011-11-28 13:53:57 +11:00
Doug Weibel
ca5560ef1c
Add Guided mode to failsafe handling
2011-11-26 21:10:53 -07:00
Andrew Tridgell
fb21e619fe
Logs: don't print hundreds of bogus log boundaries
...
this can take quite a long time
2011-11-26 17:02:55 +11:00
Pat Hickey
0fa8ce9a52
ArduPlane: rev version number from 2.26 to 2.27 Alpha
2011-11-25 20:00:19 -08:00
Pat Hickey
a6bf2d9cd6
ArduPlane: LED digital writes use LED_OFF and LED_ON
2011-11-25 20:00:19 -08:00
Andrew Tridgell
7467bf649c
ArduPlane: rename purple to APM2
2011-11-25 20:00:19 -08:00
Andrew Tridgell
0604f2c667
USB-MUX: auto-switch telemetry port based on UXB mux for ArduPlane
...
when USB is unplugged, switch baud rate to the SERIAL3_BAUD rate from
EEPROM
2011-11-25 20:00:19 -08:00
Andrew Tridgell
2bed1dcfd5
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
Andrew Tridgell
c8b592f8a7
purple: there are no dipswitches on the purple board
2011-11-25 20:00:18 -08:00
Andrew Tridgell
67e5c89226
compass: added AP_COMPASS_APM2_SHIELD
...
this makes the orientation clearer
2011-11-25 20:00:18 -08:00
Andrew Tridgell
b6bab1d92d
purple: adc test not useful if no ADC
2011-11-25 20:00:18 -08:00
Andrew Tridgell
6c856dde4e
purple: fixed LED and IO pin defintitions
2011-11-25 20:00:18 -08:00
Andrew Tridgell
2db5a2b5e2
purple: add the remaining hw defines for purple hardware
2011-11-25 20:00:18 -08:00
Andrew Tridgell
01cfd64327
timer_scheduler doesn't exist in HIL_MODE_ATTITUDE
2011-11-25 20:00:18 -08:00
Andrew Tridgell
0d3e07c2f7
build: added hlsensors target
2011-11-25 20:00:18 -08:00
Andrew Tridgell
446a9aac84
re-organiser sensor declarations
...
this tries to make the #ifdef nesting easier to understand
2011-11-25 20:00:17 -08:00
Andrew Tridgell
ee3254ef8f
adc.Init() takes timer_scheduler
2011-11-25 20:00:17 -08:00
Andrew Tridgell
992fc87112
purple: always declare timer_scheduler
2011-11-25 20:00:17 -08:00
Pat Hickey
c93d7a9560
purple: added new parameters to Init() functions
...
this adapts the test code for the purple API changes
2011-11-25 20:00:17 -08:00
Pat Hickey
ed74d1c987
test: added new passthru test
...
this passes radio inputs direct to servo outputs, which is useful for
hardware testing
2011-11-25 20:00:17 -08:00
Pat Hickey
71ebf1f543
removed old commented out code
2011-11-25 20:00:17 -08:00
Pat Hickey
fefc7da1d1
purple: added new parameters needed for new library APIs
...
new APIs pass in timer_scheduler. We also to init the isr_registry
2011-11-25 20:00:17 -08:00
Pat Hickey
5626f4a127
purple: fixed APM_RC.Init() to add isr_registry parameter
2011-11-25 20:00:17 -08:00
Pat Hickey
d3a45a053d
purple: declare sensors for purple library rework
...
we need some different declarations to match the new APIs
2011-11-25 20:00:17 -08:00
Pat Hickey
d5ebf30d74
purple: added config options for purple/APM1 hardware
2011-11-25 20:00:17 -08:00
Pat Hickey
f580a4bea0
purple: added hardware defines for ArduPlane
2011-11-25 20:00:17 -08:00
Pat Hickey
395f43bee8
build: added new command line build targets
...
this makes it more convenient to build common options
2011-11-25 20:00:16 -08:00
Andrew Tridgell
32073eaa51
mod barometer.Init() based on hardware
2011-11-25 20:00:15 -08:00
Michael Oborne
f66a6b4308
Add rc input to cli planner mode
2011-11-26 11:23:14 +08:00
Doug Weibel
516216f159
Change type to support "dump all with -1"
2011-11-24 18:55:33 -07:00
Doug Weibel
4a07bb3127
Logging cleanup. Fixed missing cast, removed erase warning, added -1 to dump all option, and fix intermittent bug for log number 1.
2011-11-24 18:55:33 -07:00
Doug Weibel
06c88cf07b
Simplified logging logic for finding start/end of log files
2011-11-24 18:55:32 -07:00
Doug Weibel
e02d615c8a
Rework logging file system to be more robust
2011-11-22 20:20:17 -07:00
Andrew Tridgell
a69b4c2d7e
MAVLink: fixed throttle display in VFR_HUD
2011-11-21 20:29:19 +11:00
Andrew Tridgell
2cc0cd65b4
zero airspeed on ground start when initiated by MAVLink
...
If the users asks for a new calibration, that should include the
airspeed sensor
2011-11-21 20:29:18 +11:00
Andrew Tridgell
2137e91ede
fixed disabling of GPS in ArduPlane
...
we may need a new hex
2011-11-21 20:29:18 +11:00
Andrew Tridgell
d9f32ce5b8
Log: prevent looping forever
...
this happened with an empty dataflash
2011-11-20 19:06:24 +11:00
analoguedevices
1a610ba450
Rev version number
2011-11-19 23:43:47 +00:00
Jason Short
014204409a
shortened strings
2011-11-19 14:02:45 -08:00
Doug Weibel
0bc31fa236
Remaining changes to the logging file system.
...
With these changes the logging system will allow overwriting of logs with no loss of functionality. I have tested (successfully) logging with the Dataflash being filled and overwriting previous files. I have also tested with a single long file that partially overwrites itself.
2011-11-17 21:25:51 -07:00
Doug Weibel
a11ea12ca8
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
fc3e7767ba
Mission Scripting updates
2011-11-16 00:22:23 -08:00
analoguedevices
fa4896ee91
Rev version number
2011-11-16 05:04:36 +00:00
Doug Weibel
1c6469d25b
Fix Do_Jump bug. Also fix cross track bearing bug after Jump
2011-11-15 20:44:19 -07:00
Doug Weibel
b23dd36f6d
Missed hunk for last commit
2011-11-15 20:43:00 -07:00
Doug Weibel
b7494774f7
Add logging of DCM drift correction integrator in PM
...
This may be a temporary feature… Mostly added to check new (lower) integrator limit.
2011-11-15 20:42:59 -07:00
analoguedevices
b4ccf3b41b
Rev version number to 2.25
2011-11-14 05:31:27 +00:00
Michael Oborne
0a2f67a235
modify crosstrack calc
2011-11-13 08:25:24 +08:00
Andrew Tridgell
49053a9721
fixed a valgrind warning
...
need to initialise all fields
2011-11-08 17:26:53 +11:00
Andrew Tridgell
a045e4ec7e
Log: better way to check for -1 long portably
2011-11-08 07:58:34 +11:00
Andrew Tridgell
4113d04f70
Log: make find_last_log_page() portable
...
this makes it work with platforms with a larger 'long'
2011-11-07 23:50:49 +11:00
Andrew Tridgell
0775f57a89
Log: fixed a bug where we could index outside an array
...
when we first start up, num_existing_logs may be zero
2011-11-07 22:56:13 +11:00
Jason Short
80c7e135d5
renamed some command variables to align with Arduplane
...
reworked the arming code and moved the DCM gains out.
updated climb_rate to include sonar data.
2011-11-04 21:41:51 -07:00
Amilcar Lucas
01df18b292
Added camera and/or antenna mount support.
...
It is fully configurable with the mission planner, there is no need to change
the source code to adapt to your setup.
It needs more testing, but the SIL is not working for me.
2011-10-31 22:55:58 +01:00
Andrew Tridgell
ac4c604a6b
GCS: fixed timeout loading waypoints
...
while loading waypoints we could saturate the link
2011-10-31 21:25:35 +11:00
James Goppert
663ed536c4
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-10-30 23:12:53 -04:00
James Goppert
249ce91d78
Switching to new eclipse project style.
2011-10-30 22:57:34 -04:00
Michael Oborne
193940f2e2
Revert Changes
...
switch back to old nav_rol lcalc
switch back to old planner - non mavlink 1.0
2011-10-31 07:23:20 +08:00
Michael Oborne
95479e29ae
Add MAVLINK_MSG_ID_HIL_STATE message
2011-10-30 18:17:37 +08:00
Michael Oborne
6d2be49304
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-10-30 14:27:13 +08:00
Andrew Tridgell
e6f7bf9df8
MAVLink: use new MAV_MODE_FLAG_CUSTOM_MODE_ENABLED flag
...
this enables us to tell if custom_mode is set
2011-10-30 13:00:54 +11:00
Andrew Tridgell
3f7d46b17e
fixed uninitialised variable warning
2011-10-30 11:48:56 +11:00
Andrew Tridgell
c914b11504
use C++ tricks to minimise differences for MAVLink 1.0
...
this should make maintainence/testing a bit easier
2011-10-30 11:48:56 +11:00
Michael Oborne
0707198bd5
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-10-30 07:35:10 +08:00
James Goppert
b655482b98
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-10-29 15:09:35 -04:00
James Goppert
c56c3e33e1
Working on cmake support.
2011-10-29 15:01:05 -04:00
Andrew Tridgell
3991f9eff3
move g_rc_function[] to RC_Channel library
...
libraries should not rely on data declared in the main program. This
caused a build error for the Desktop build for ArduCopter under cygwin
2011-10-29 18:42:18 +11:00
Michael Oborne
63c884a6df
better crosstrack
2011-10-29 12:54:13 +08:00
Michael Oborne
abed7fa5f2
Merge branch 'master' of https://code.google.com/r/meee146-hil
2011-10-29 11:37:54 +08:00
Andrew Tridgell
4a92048ef0
fixed "Free RAM" display on bootup
2011-10-28 21:34:10 +11:00
Michael Oborne
357f299d61
APM track following change
2011-10-28 12:05:22 +08:00
Doug Weibel
c7d91a199c
Bug fixes for command logic re-write
2011-10-27 13:45:57 -06:00
Doug Weibel
1cd3c21774
Initial rewrite of command logic.
...
Changes mission structure so that conditional and immediate commands are located between associated waypoints instead of after the second waypoint.
2011-10-27 13:45:52 -06:00
Andrew Tridgell
c0c771042f
CLI: enable "hit enter 3 times" support for CLI
...
if you hit enter 3 times before you send any mavlink packets, we will
enter CLI mode
2011-10-27 21:54:07 +11:00
Andrew Tridgell
6cd604e510
mavlink: fixed WP upload
...
The previous code accepted arbitrary command codes here, and ACKed
them. Later we should specifically list which ones are OK
2011-10-26 12:18:24 +11:00
Andrew Tridgell
d18071d6c2
MAVLink: MAVLink 1.0 support now builds
...
not testing at all - so be careful!
2011-10-24 12:21:26 +11:00
Andrew Tridgell
2c4c00ece8
mavlink: started adding support for MAVLink 1.0
...
this is nowhere near complete, and does not compile yet
2011-10-24 10:20:36 +11:00
Doug Weibel
86ea3a9558
Add a feature for a minimum altitude parameter while flying in FBW-B
...
This patch written by YureZzZ - Thank you!
2011-10-16 23:11:40 -06:00
Michael Oborne
6987e6c4b2
hil sensor cleanup
2011-10-14 18:14:32 +08:00
Michael Oborne
392160314e
Sensor hil fix's
2011-10-13 22:22:03 +08:00
Andrew Tridgell
52dc221969
support building with common Makefile.desktop
2011-10-11 17:49:40 +11:00
Michael Oborne
ec7fa70fd6
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-10-11 08:05:14 +08:00
Michael Oborne
a28a0f9433
Merge branch 'desktop-wip' of https://code.google.com/r/tridge60-apm-wip
2011-10-10 07:22:57 +08:00
Andrew Tridgell
ed2bec75b9
added build makefiles
2011-10-10 07:18:38 +11:00
Amilcar Lucas
ea27d1604a
More optimizations
...
I forgot these ones.
2011-10-09 15:34:47 +02:00
Amilcar Lucas
282722eae6
Optimize the code a bit more, only perform calculations if they are necessary
2011-10-09 15:27:17 +02:00
Amilcar Lucas
02f023a9ec
Use a single if instead of four
2011-10-09 15:27:17 +02:00
Amilcar Lucas
758ae5a78e
Use the shorter macro call instead
2011-10-09 13:57:35 +02:00
Andrew Tridgell
2cb93f5a16
fixed a crash in HIL
...
The g_rc_function[RC_Channel_aux::k_flap_auto] ptr came out as NULL
during one HIL run on a desktop CPU, which led to ArduPlane
crashing. I am not yet sure if this can happen in real flight, but I
think the NULL check is worthwhile to be sure.
2011-10-09 22:09:00 +11:00
Andrew Tridgell
1195c4750e
fixed some ambiguous if/else combinations
...
gcc was complaining about the logic
2011-10-09 22:09:00 +11:00
Andrew Tridgell
dcc6f30af1
don't initialise DataFlash if logging is disabled
...
this fixes HIL without an IMU
2011-10-09 22:08:59 +11:00
Andrew Tridgell
e927cf94d7
use memcheck_available_memory() instead of freeRAM()
...
this gives a more accurate view of free memory
2011-10-09 22:08:59 +11:00
Andrew Tridgell
657367426b
avoid the need for compiler optimisation for HIL build
...
read_airspeed() is only available when in a non-HIL build. The
optimiser normally removes this call, but when debugging in a desktop
build, it is nice to avoid using the optimiser
2011-10-09 22:08:58 +11:00
Amilcar Lucas
6a5d6889b7
Only use radio_in values if the channel is not used as flight_mode_channel
2011-10-08 22:15:54 +02:00
Amilcar Lucas
101dc83239
Fix compilation
2011-10-02 14:52:02 +02:00
Amilcar Lucas
4b35757a1e
Moved relay control functions to it's own library
2011-10-02 01:00:27 +02:00
Amilcar Lucas
213e731061
Correct/update channel assigment comment
2011-10-02 00:06:44 +02:00
Doug Weibel
dd8367eae4
Add auto flap functionality to FBW-B
2011-09-30 07:25:36 -06:00
Doug Weibel
8f2ae139a4
Fix missing capitalization
2011-09-30 07:25:35 -06:00
Doug Weibel
b6cd0ad9b8
Rework prev commit a bit cleaner as suggested by Janne Mäntyharju
2011-09-30 07:25:35 -06:00
Doug Weibel
aac8eac0cb
Add code to disable throttle if we are on the ground and in FBW_B or higher
...
Add code to disable throttle if we are on the ground and in FBW_B or higher. We believe we are on the ground if speed < 5 and alt < 5. Also check that we are not trying to perform a takeoff.
2011-09-30 07:25:35 -06:00
James Goppert
204c6bb6e7
Added makefiles for ArduCopter/ArduPlane.
...
These files are not generated by cmake. They are necessary for
the make based build to work. To build using this method
type make in the directoy such as ArudPlane/ArduCopter. Make
sure that you do not call cmake in the ArduPlane etc directory
as this will overwrite this Makefile with the autogenerated cmake
version. Cmake should be called from withing a build directory.
2011-09-30 07:16:48 -04:00
Janne M
cd02e78af7
Fixed board setting in cmake-file. Removed now autogenerated Makefile
2011-09-30 11:17:08 +03:00
James Goppert
112d5e9531
Improvements to cmake.
2011-09-29 21:23:26 -04:00
James Goppert
bfe0331803
Corrected makefile.
2011-09-29 18:57:19 -04:00
James Goppert
a0db0fc25f
Added missing files.
2011-09-29 14:18:05 -04:00
James Goppert
3a00ceb593
Added ArduBoat/ ArduRover/ and APO library.
2011-09-29 14:12:15 -04:00
Jason Short
1243e76f29
Dead Zone fix - Now the range is full instead of clipped. Should make the Yaw much more smooth.
2011-09-26 22:12:39 -07:00
Amilcar Lucas
cd0bbd718b
Fix issue #285
2011-09-25 11:36:31 +02:00
Amilcar Lucas
a3152b2410
Moved mavlink_check_target() to the libraries/.
...
This allows it to be reused by the other libraries and by other projects ArduPlane, ArduCopter, ArduRover ... etc.
It also reduces code duplication
2011-09-24 14:40:07 +02:00
Doug Weibel
5767575a73
Correct bug in auto flap handling
2011-09-22 20:50:15 -06:00
Andrew Tridgell
c5bf8312b8
removed some more unused defines
...
mavlink is now the only choice for HIL and GCS
2011-09-19 11:04:02 +10:00
Andrew Tridgell
3a81e12866
get rid of the last active uses of the SendDebug macros
...
please use gcs_send_text*() from now on, to ensure serial queueing
2011-09-19 11:04:02 +10:00
Andrew Tridgell
e7bc74a38e
remove unused climb_rate code
2011-09-19 11:04:02 +10:00
Andrew Tridgell
c2126e127d
use gcs_send_text_fmt() and cleanup a few old debug lines
2011-09-19 11:04:02 +10:00
Andrew Tridgell
943c234c62
GCS: added new gcs_send_text_fmt() method
...
this allows low priorty formatted messages to be sent to the ground
station, without causing a CPU stall on the serial send buffer
2011-09-19 11:04:02 +10:00
Andrew Tridgell
f71674ffa4
GCS: don't send low priority messages unless they fit
...
check the serial transmit buffer, and don't send low priority messages
unless they can go straight out without blocking the CPU
2011-09-19 11:04:02 +10:00
Andrew Tridgell
8f604a1035
added gcs_severity enum
...
this makes it harder to mixup defines
2011-09-19 11:04:02 +10:00
Andrew Tridgell
4e346a0cc5
remove some more old cruft
2011-09-19 11:04:02 +10:00
Andrew Tridgell
225e6d760f
remove Mavlink_Common.h and used deferred logic for params/waypoints
...
this moves the mavlink send logic into GCS_Mavlink.pde, and also
ensures we only ever send parameters and waypoints when there is
sufficient space in the serial send buffer
2011-09-19 11:04:02 +10:00
Andrew Tridgell
ef6e2c2adf
remove some more unused code in the GCS interface
2011-09-19 11:04:02 +10:00
Andrew Tridgell
de18df06b5
GCS: make the two GCS links gcs0 and gcs3
...
the artifical separation between 'gcs' and 'hil' just leads to
confusion. This also simplifies the code a bit more, and saves us a
bit more text
2011-09-19 11:04:02 +10:00
Andrew Tridgell
35fcd6dae7
GCS: simplify the API for sending messages
...
this makes the code clearer, and saves us another 100 bytes of text
2011-09-19 11:04:02 +10:00
Andrew Tridgell
83492f92f2
MAVLink: use enum ap_message and remove unused param argument
...
saves us another 200 bytes of text
2011-09-19 11:04:02 +10:00
Andrew Tridgell
9fed709be2
removed some more dead messages, and convert MSG_* to an enum
...
this make it safer to add a new message while keeping deferred queue
the right size
2011-09-19 11:04:02 +10:00
Andrew Tridgell
7d6301976e
remove unused MESSAGE_COMMAND_LIST
2011-09-19 11:04:02 +10:00
Andrew Tridgell
bc1bfed22d
HIL: first step in simplifying the HIL/GCS code
...
this gets rid of the messy #ifdefs around HIL_PORT, and removes
non-MAVLink GCS and HIL support
2011-09-19 11:04:01 +10:00
Andrew Tridgell
46d6974da2
remove unsued MSG_LOCAL_LOCATION
...
this saves us a bit of code
2011-09-18 11:07:24 +10:00
Andrew Tridgell
ee1541cda7
rework the MAVLink send code to avoid excessive stack usage
...
this avoids a varient of the gcc excessive stack usage bug, by
wrapping the send calls in NOINLINE functions. This saves us a lot of
stack space, and strangely enough produces slightly smaller code!
2011-09-18 11:05:21 +10:00
Janne M
326f913e64
Merge branch 'divider'
2011-09-17 23:56:41 +03:00
Janne M
95dd8cc35b
Added voltage divider, input voltage and amps per volt to parameters.
2011-09-17 22:32:19 +03:00
Amilcar Lucas
c9d9ee0d3b
Merge some small misc improvements from APM_Camera branch
2011-09-17 20:25:31 +02:00
Andrew Tridgell
4fed88ffbf
ArduPilot updates for new DCM code
...
G_Dt is no longer needed, and scale ADC values by 8 to match old
constants
2011-09-17 14:58:02 +10:00
Andrew Tridgell
d34f8ceca6
MAVLink: only send HEARTBEAT and SYS_STATUS during initialisation
...
I am concerned that some of the mavlink send routines may impact on
sensor calibration, so its safer to just send the minimum information
to keep the GCS happy
2011-09-17 14:58:02 +10:00
Michael Oborne
c6eae87f8a
fix remote error value
2011-09-15 18:26:59 +08:00
unknown
7bb800aafc
Merge branch 'master' of https://code.google.com/p/ardupilot-mega/
2011-09-14 16:02:21 +02:00
unknown
9f028bb5a0
Adding CMake support
2011-09-14 15:44:55 +02:00
Amilcar Lucas
c58b563584
Revert more of 6dcbc7f44bc0.
...
Fix an issue with initialization of channels that on-line changed their function.
For the curious people that the code size overhead of having any aux channel do any function (with this code) is 44 bytes.
To see wich code I'm talking about, do a git diff 05057ac2d455..this_commit (replace this commit with the commit hash of this commit)
2011-09-13 14:01:35 +02:00
Amilcar Lucas
ef955eace4
These changes were meant to be inside commit a14c06adc06b. I'm sorry but reverting stuff is not that easy
2011-09-13 01:54:47 +02:00
Amilcar Lucas
dd843d18ec
Added support for routing any function to any of the aux. servos.
...
This is a manual merge from the APM_Camera branch.
It reverts the stuff that Oliver did not menat to do with his commit 6dcbc7f44bc0
2011-09-13 01:24:06 +02:00
Amilcar Lucas
f7f745055d
Use the G_RC_AUX macro when possible. Added more comments. Remove unused code
2011-09-12 20:21:12 +02:00
Doug Weibel
5a14d546bb
Correct bug in initialization of auxiliary channels
...
The value of aux_servo_function[CH_x] was not being set before the radio init_rc_in() function was setting channel angle/range.
2011-09-12 20:21:12 +02:00
Doug Weibel
2a0912b867
Change default setting for auto_trim to disabled per user (JB) request.
2011-09-12 07:24:52 -06:00
Doug Weibel
d6370fd389
Correct state machine processing for long failsafe event following short failsafe from lower modes
2011-09-11 21:59:46 -06:00
Doug Weibel
1a8b74063a
Disable stick mixing if in failsafe
...
If trim values differ from failsafe channel values then stick mixing will adversely affect performance while in failsafe
2011-09-11 21:50:32 -06:00
Amilcar Lucas
b8832fe9ab
Use G_RC_AUX macro to simplify accessing the auxiliary servos
2011-09-12 00:02:47 +02:00
Amilcar Lucas
69a9f44fee
This is ugly, but it fixes compilation on arduino
2011-09-11 23:25:06 +02:00
Amilcar Lucas
5a27954e26
Moved update_aux_servo_function() to the RC_Channel_aux.* files.
...
This simplifies code sharing between ArduCopter and Arduplane at the expense of 48bytes.
Moved CH_x defines out of the defines.h file and into the library where they belong
2011-09-11 23:07:30 +02:00
Amilcar Lucas
966f9f962a
Moved the RC_Channel_aux class to its own file. The includes could be improved, has anyone got any ideas how ?
2011-09-11 19:13:01 +02:00
Amilcar Lucas
ed112b2243
Only run camera code if camera support is enabled
2011-09-11 17:41:18 +02:00
Amilcar Lucas
55e6ac5fe6
Fix RC range reversal
2011-09-11 04:12:04 +02:00
Amilcar Lucas
42de4efc40
Revert "Fix RC range reversal"
...
This reverts commit d5046b1097b0b5455aa1a59e9dd80533e589432e.
2011-09-11 04:07:36 +02:00
Amilcar Lucas
f53364bf41
Fix RC range reversal
2011-09-11 04:04:02 +02:00
Amilcar Lucas
5454cd503b
For now point the camera manually via the RC inputs
2011-09-11 02:40:13 +02:00
Amilcar Lucas
5fc771f9d8
Added a comment about lower half of the array
2011-09-10 23:58:25 +02:00
Amilcar Lucas
f60969a5d5
Added comments explaining when should the function be used
2011-09-10 23:36:47 +02:00
Amilcar Lucas
329df04157
Egg_drop has a 0..100 range
2011-09-10 23:35:23 +02:00
Andrew Tridgell
6d059b8eba
Revert "added support for AP_ADC MAVLink packet"
...
This reverts commit a65a2dda2c1bfa95437880227a3abddc95b329f5.
I am reverting this not for any sane reason, but because my 3 APM
boards now lock up on any I2C operation, and I don't know why. I can't
see how this change could have caused it, but I don't want to take the
chance.
2011-09-10 22:00:29 +02:00
Andrew Tridgell
a2d602b090
added support for AP_ADC MAVLink packet
...
this adds AP_ADC, which sends raw ADC 16 bit values for all 6 ADC
channels at the Extra3 MAVLink stream rate. Extra3 was previously
unused
2011-09-10 14:18:15 +02:00
Amilcar Lucas
ada409855a
Moved a camera mount function call, out of the servos update function
2011-09-10 13:47:09 +02:00
Amilcar Lucas
b977007bdf
Moved a function from radio.pde to the RC_Channel_aux library. Now its more readable and reusable
2011-09-10 13:26:29 +02:00
Amilcar Lucas
9e80f2e920
This is the real HEAD of the APM_Camera branch. Seams that lots of changes got lost in the SVN to GIT port
2011-09-09 16:18:38 +02:00
Amilcar Lucas
581603c3b7
This is the real HEAD of the APM_Camera branch. Seams that lots of changes got lost in the SVN to GIT port
2011-09-09 16:02:22 +02:00
Andrew Tridgell
6e2f231688
rename main pde file for arduino requirements
2011-09-09 11:52:25 +10:00
Andrew Tridgell
a1b2cc7229
import APM_Camera branch from SVN
2011-09-09 11:45:13 +10:00
Andrew Tridgell
89fa70520f
imported ArduPlane from ArduPilotMega svn
2011-09-09 11:29:39 +10:00