Andrew Tridgell
98015636d9
APM: interpret zero lat/lng as being current location
...
this makes it easy to have a "loiter in current position" mission
element
2012-08-15 12:39:34 +10:00
Andrew Tridgell
98d5a49717
APM: fixed LOITER_TIME and LOITER_TURNS
...
These now follow the mavlink spec. Loiter time is in seconds, and
loiter turns is now 32 bit angle, so can handle larger numbers of
turns.
2012-08-15 12:39:34 +10:00
Andrew Tridgell
35c88dd418
INS: disable INS AP_Param table when not on APM1 hardware
...
this could cause overwriting of memory with default values
2012-08-11 22:06:03 +10:00
Andrew Tridgell
3b9623a44c
Mavlink: log wind estimation result
2012-08-11 22:06:03 +10:00
Andrew Tridgell
9d9c7b0455
APM: allow for navigation by dead-reckoning
...
we now ask AHRS if we have a position estimate, and use that if
available
2012-08-11 12:01:08 +10:00
Andrew Tridgell
aa839c3f46
APM: pass airspeed sensor to AHRS
2012-08-11 08:57:44 +10:00
Andrew Tridgell
9bdf204e35
APM: support the MISSION_WRITE_PARTIAL_LIST command
...
this allows missions to be partially updated in flight
2012-08-09 17:13:36 +10:00
Andrew Tridgell
a7399c405d
MAVLink: removed the need for Mavlink_compat.h
...
we have now fully transitioned to MAVLink 1.0, so we no longer need
the compatibility layer and the old names in the code
2012-08-09 12:22:46 +10:00
Andrew Tridgell
16d63978f1
MAVLink: moved mavlink variables back to library
...
these were moved to the main sketches to allow for compile time
selection of MAVLink 0.9 vs 1.0. We no longer support 0.9, so we can
move it back, which simplifies some test sketches
2012-08-09 12:06:21 +10:00
Andrew Tridgell
4c77cbcd0b
APM: Added RST_MISSION_CH option
...
this allows a pilot to reset the mission using a transmitter
switch. Very useful for repeating a mission during testing
2012-08-09 10:33:16 +10:00
Andrew Tridgell
54f97bb9e7
APM: removed THROTTLE_REVERSE option
...
Better to use RC3_REV
2012-08-09 10:04:44 +10:00
Andrew Tridgell
6e46db39a1
APM: Added STICK_MIXING option
...
this replaces the compile time option. Disabling during long distance
flights when the transmitter may be out of range is useful.
2012-08-09 08:53:29 +10:00
Amilcar Lucas
9a8fd4738e
Add an optional second mount to ArduPlane and ArduCopter
2012-08-08 23:22:24 +02:00
Andrew Tridgell
f33d15ab80
APM: removed pointless load() call
2012-08-08 16:51:23 +10:00
Andrew Tridgell
5e19c0cf04
AP_Airspeed: removed values passed to constructor
2012-08-08 16:38:39 +10:00
Andrew Tridgell
7d9e4a7559
APM: fixed default flap speed
...
the default of 255 translates to -1 as a AP_Int8, so use zero to mean
no flaps
2012-08-08 13:04:21 +10:00
Andrew Tridgell
67f076a9db
APM: change variables to use _cm, _cd and _ms suffix for units
...
this makes it less likely that we mix up units
2012-08-08 12:12:30 +10:00
Andrew Tridgell
b366205172
APM: removed cli slider and dipswitch options
...
use mavlink/eeprom for all config
2012-08-08 12:12:29 +10:00
Andrew Tridgell
f98b887dbe
AP_Param: update ArduPlane core for new AP_Param interface
2012-08-08 12:11:57 +10:00
Jonathan Challinger
e97305ea6e
APM: fixed rounding of altitude
...
the cast was rounding to the nearest meter
2012-08-08 12:07:35 +10:00
Amilcar Lucas
03b902d4b7
Add me :)
2012-08-06 00:40:12 +02:00
Amilcar Lucas
fe4713b46e
RC_Channel: Allow each channel to know who they are, this simplifies the enabling and output function calls.
2012-08-05 23:08:31 +02:00
Amilcar Lucas
f3f89004e9
More work on ch9, 10 and 11
2012-08-04 19:44:41 +02:00
Amilcar Lucas
4be8073328
Implement set ROI
2012-08-04 18:44:29 +02:00
Amilcar Lucas
9b31938519
The mount type must be updated periodically
2012-08-04 18:44:08 +02:00
Amilcar Lucas
431ed1c9b9
More flexible RC support
2012-08-04 18:39:20 +02:00
Amilcar Lucas
813e3ad229
Enable camera triggering by default
2012-08-04 16:32:47 +02:00
Amilcar Lucas
8f836b2fd6
ATmega1280 does not have enough memory for mount support so disable AUTO GPS support, to allow mount support to fit.
...
This should almost have no side effects, because the most users use MTK anyways.
If the user defined a GPS protocol, than we will NOT overwrite it
2012-08-04 16:32:20 +02:00
Andrew Tridgell
526344ab7c
APM: added control switch debouncer
...
this adds a switch debouncer, similar to the one used in
ArduCopter. I'm adding this after a flight on the weekend where noise
on the control mode channel caused a mode change away from auto.
To prevent this change adding excessive mode switch latency, it also
moves the reading of the control switch to the 10Hz loop, away from
the 3.3Hz loop. That gives us 0.2s delay in mode switch changes and
allows for spikes in the control mode for 0.1 seconds without changing
mode.
2012-08-01 13:59:37 +10:00
rmackay9
95522fb8a3
ArduPlane: bug fix to global var_info parameter list for ahrs object.
2012-08-01 10:52:34 +09:00
Andrew Tridgell
24ba59f528
APM: fixed overflow in geofence code for altitudes above 327 meters
2012-07-31 15:46:47 +10:00
Andrew Tridgell
cc9712860b
APM: fixed case of 'LAND_PITCH_CD'
...
mavlink parameters are uppercase by convention
2012-07-29 17:07:38 +10:00
rmackay9
717d0d25d4
ArduPlane: allow MPU6000's DMP to be used for attitude estimation.
...
Enable by adding this line to APM_Config.h:
#define DMP_ENABLED ENABLED
2012-07-28 19:50:40 +09:00
rmackay9
d9e92c0beb
ArduPlane: change to Parameters.pde to support moving var_info from AP_AHRS to AP_AHRS_DCM
2012-07-28 14:31:01 +09:00
Michael Oborne
eeac211b1d
AP Fix Hil Airspeed calc in m/s
2012-07-26 20:21:17 +08:00
Andrew Tridgell
cfe19c8f53
APM: update version for 2.50 release
2012-07-26 11:36:17 +10:00
Andrew Tridgell
6243cf77a8
APM: added a SCALING_SPEED parameter
...
this allows users to adjust the base speed used for scaling roll/pitch
PIDs. This can be used to make PIDs work for both airspeed and
non-airspeed control
2012-07-26 11:30:23 +10:00
Andrew Tridgell
caa16cbb54
APM: fixed HIL build
2012-07-26 10:09:07 +10:00
Andrew Tridgell
efc184c3ad
APM: fixed build
...
the SET_ROI commands are not supported yet
2012-07-26 10:03:36 +10:00
Andrew Tridgell
d4599aa4f0
APM: switch back to old nav_roll calculation
...
the old nav_roll will be used for the 2.50 release to prevent the need
for re-tuning. For the release after that we will use the new
calculation
2012-07-26 10:03:36 +10:00
Michael Oborne
7dd58227a6
AP fix sitl hil attitude mode.
2012-07-24 07:18:25 +08:00
Andrew Tridgell
16ddc9fb8a
APM: fixed a problem with wayoints completing early
...
when a user forces a waypoint jump, we may need to reset prev_WP to
prevent us thinking the waypoint is complete before we have started
2012-07-21 20:32:07 +10:00
Andrew Tridgell
d0ebb4ca26
MAVLink: fixed another two places where micros() was used for a millisecond time
2012-07-20 11:57:15 +10:00
Jason Short
dbcfbfe857
Added Oilpan INS group object param
2012-07-18 23:07:50 -07:00
Jason Short
fdf8724b66
Arduplane: Fixed unsigned int comparison warning
2012-07-18 23:07:34 -07:00
Jeff Taylor
c083ca5f35
APM: Fixed bug where landing_pitch wasnt initialized properly
...
this adds a new LAND_PITCH_CD parameter to control the landing pitch
when an airspeed sensor is not being used
2012-07-19 13:59:30 +10:00
Andrew Tridgell
2121491197
APM: rename airspeed_cruise to airspeed_cruise_cm to make the units clearer
...
it is in cm/s, not m/s
2012-07-19 11:50:41 +10:00
Andrew Tridgell
2673179075
APM: Use g.airspeed_cruise for turn rate calculation if the airspeed sensor is disabled.
...
This gives our best approximation for auto flight
2012-07-19 11:50:41 +10:00
Jonathan Challinger
3c4f971618
APM: Removed unused YAW_DAMPENER code.
...
YAW_DAMPENER was defined as zero
2012-07-19 11:50:21 +10:00
Jonathan Challinger
87c78cff5e
APM: Removed incorrect nav_gain_scaler from nav_roll calculation.
...
nav_gain_scaler was originally added due to a perceived improvement in
loiter performance, but is incorrect for navigation. Turn rate is a
function of airspeed and bank angle, ground speed has no effect on
that.
2012-07-19 11:50:06 +10:00
Amilcar Lucas
504809d146
ArduPlane parameters: re-order the files, looks like the second file gets ignored :(
2012-07-18 22:52:17 +02:00
Amilcar Lucas
61f0cd15be
ArduPlane parameters: Add base class info as well
2012-07-18 22:39:49 +02:00
Amilcar Lucas
d911e4f61e
Support up to 11 servos in APM2
...
Conflicts:
ArduPlane/ArduPlane.pde
2012-07-18 22:01:19 +02:00
Michael Oborne
45609b3e6f
fix rc libray param gen
2012-07-18 07:03:39 +08:00
Jonathan Challinger
e271f97b53
Changed mavlink GLOBAL_POSITION_INT.relative_alt message to correctly return altitude above ground.
2012-07-17 16:15:11 +10:00
Andrew Tridgell
ead41670c4
Airspeed: change APM to use new AP_Airspeed library
...
the next step is AHRS dead reckoning
2012-07-16 11:21:50 +10:00
Michael Oborne
e877650c06
AP fix duplicate keys in param config
2012-07-13 07:06:01 +08:00
Amilcar Lucas
8e14ebbc10
Merge the changes from APM_Camera branch into ArduCopter
...
Conflicts:
ArduCopter/Camera.pde
ArduCopter/Parameters.pde
2012-07-11 00:39:13 +02:00
Andrew Tridgell
d07593b3bb
APM: added credit for FBW altitude limit code
...
thanks Yuri!
2012-07-10 08:36:50 +10:00
Andreas M. Antonopoulos
3b0a4f8c68
param_parser: cosmetic
...
Arduplane: doc fixes
2012-07-08 21:45:26 -07:00
Andrew Tridgell
58fd1d1cf6
APM: fixed DisplayName/Description mixups in parameter docs
2012-07-07 17:40:43 +10:00
Andrew Tridgell
7bc724d118
APM: changed PID library to do automatic deltat calculation
...
this fixes a problem with the HDNG2RLL PID, which was using the wrong
time base and prevents similar bugs from happening in the future
2012-07-06 19:59:18 +10:00
Andrew Tridgell
6ced622da4
APM: fixed some build warnings and type errors
2012-07-06 19:59:18 +10:00
Andrew Tridgell
855d67c30a
APM: more parameter documentation
2012-07-05 15:06:45 +10:00
Andrew Tridgell
85332ff85b
GeoFence: fixed default return altitude units
...
off by 100x!
2012-07-05 15:06:44 +10:00
Andrew Tridgell
ba39738606
MAVLink: added climb rate reporting
2012-07-05 13:00:46 +10:00
Andrew Tridgell
6afbfdafeb
Docs: fixed some units in APM parameter docs
2012-07-05 13:00:46 +10:00
Andrew Tridgell
fe54329de2
MAVLink: remove MAVLink 0.9 protocol support
...
this simplifies the code a lot. We're not going back to 1.0
2012-07-05 13:00:46 +10:00
Andrew Tridgell
5623ef99a0
APM: changed test for having completed a waypoint
...
the new test is that we have passed a "finish line" perpendicular to
the track between the last waypoint and the current waypoint.
The previous tests are also still used, so if we circle a waypoint or
get within the waypoint radius we also consider it completed
2012-07-04 12:42:46 +10:00
Andrew Tridgell
d9351ff681
APM: use new location functions
2012-07-04 12:42:46 +10:00
Andrew Tridgell
f150c645c8
Mount: enable mount control via eeprom parameters
...
this enables MNT_* parameter control of the camera mount code. It also
fixes the conversion of calculated angles between degrees and
integers, and fixes stabilised mount control when yaw control is not
available.
2012-07-03 10:21:01 +10:00
Michael Oborne
84d2782c33
fixup sitl attribute group for planner. - causing invalid advanced/standard views
2012-07-01 21:43:32 +08:00
Andrew Tridgell
e791cad9ef
AnalogSource: convert analogRead() calls to the new API
...
this should give us much better analog values, plus save a bunch of
CPU time
2012-07-01 15:01:05 +10:00
Andrew Tridgell
1cb96e14a9
SITL: enable the SIM_* parameters in ArduCopter and ArduPlane
2012-06-29 15:10:52 +10:00
Andrew Tridgell
57579e494b
Barometer: fixed airstart for APM
...
we need to re-load the ground pressure and temperature from eeprom on
and airstart
2012-06-27 16:01:50 +10:00
Andrew Tridgell
44b7d94b1c
APM: ArduPlane updates for new compass interface
2012-06-27 16:01:50 +10:00
Andrew Tridgell
4fda89beb7
APM: update for new barometer interface
...
the barometer can now calibrate and return altitude values.
A 0.3 low pass filter is used on altitude to match the previous code
2012-06-27 16:01:50 +10:00
Andrew Tridgell
4a91c267d7
APM: set_centripetal() is now set_fly_forward()
...
this controls more than just centripetal correction
2012-06-27 16:01:49 +10:00
rmackay9
74d37a3713
ArduPlane HIL: fixed bug so g_gps->setHil calls send time as a uint32_t (was sending a float but was cast back to an uint32_t resulting in a meaningless time that never changed).
2012-06-26 22:59:24 +09:00
Amilcar Lucas
be6923be0f
Improve parameters descriptive text
2012-06-21 00:20:37 +02:00
Andrew Tridgell
7941abad16
APM: prepare for 2.40 release
2012-06-16 10:11:26 +10:00
Andrew Tridgell
5525180814
MAVLink: make usage of MAVLink defines more consistent
2012-06-15 16:27:11 +10:00
Andrew Tridgell
d4056213ad
APM: parameter enums should not be conditionally compiled
2012-06-15 11:57:00 +10:00
Andrew Tridgell
3a9096aa41
APM: added longer comment on k_format_version
2012-06-15 11:55:09 +10:00
Amilcar Lucas
bd632e9d01
Let's keep the same format version until CAMERA is activated by default
2012-06-13 21:28:13 +02:00
Amilcar Lucas
2cebd44313
With CLI and MOUNT active, the linker says: region `text' overflowed by 3858 bytes
...
So disable CLI when MOUNT is active. Sorry I did not detect it before, but the APM_Camera branch worked in a different way.
2012-06-13 21:08:09 +02:00
Amilcar Lucas
a12cb8fd9a
Added camera trigger functionality
2012-06-13 21:00:20 +02:00
Amilcar Lucas
f7ef60565e
Add "3 axis camera stabilization" and "point camera to 3D point" functionality
...
Patch by Gregory Fletcher and reviewed by me
2012-06-13 20:55:19 +02:00
Amilcar Lucas
e9226d6f0a
Spellcheck
2012-06-13 20:44:35 +02:00
Jason Short
29bb39f580
Added CLI level command
2012-06-11 23:01:25 -07:00
Jason Short
8e570fa2d0
Cosmetic changes only.
2012-06-10 13:10:07 -07:00
Jason Short
1eb2d0e485
Added missing Manual_level config
2012-06-10 13:08:48 -07:00
Jason Short
b03feabacc
Added missing Manual Level initializer
2012-06-10 13:08:22 -07:00
Andrew Tridgell
8f1121c980
GPS: Use appropiate GPS_ENGINE settings in APM, ACM and rover
2012-06-10 16:36:18 +10:00
Andrew Tridgell
c034a3a6f7
APM: ready for 2.40-beta
2012-06-08 18:03:21 +10:00
Andrew Tridgell
bfb2c1ee87
GPS: open the GPS serial port with a 256 byte buffer
...
the UBLOX needs more than 128 bytes for reliable parsing
2012-06-08 16:42:03 +10:00
Andrew Tridgell
43fe5bab78
re-enable the AP_Mount build
2012-06-04 19:32:11 +10:00
Andrew Tridgell
8d28cb51fc
added mavlink09 targets
...
allows easier building with mavlink0.9
2012-06-04 13:14:52 +10:00
Andrew Tridgell
18b5933240
AP_Mount: disable AP_Mount until it works with MAVLINK10
2012-06-04 13:14:51 +10:00
Michael Oborne
7d2532450a
enable mavlink10 by default
2012-06-04 08:02:08 +08:00
Michael Oborne
7007d46761
AP: add fake satellite count for hil.
2012-06-02 16:38:20 +08:00
Pat Hickey
c2060d6d5f
ArduPlane: Increment format number in Parameters.h
...
* Force all users to reconfigure to take advantage of elevon patch
( 669e6867 )
2012-05-28 20:51:12 -07:00
Pat Hickey
cb9459afed
ArduPlane: Fix effect of ELEVON_REVERSE
...
* Previously, the ELEVON_REVERSE parameter was equivelant in function to the
ELEVON_CH1_REVERSE parameter. These parameter values are found in
g.reverse_elevons and g.reverse_ch1_elevon, and used to map to the radio_out
channels in ArduPlane/Attitude.pde
* It seems the author's intent was for ELEVON_REVERSE to change the sign for
the combination of pitch & roll into ch1 & ch2, as there are already
parameters which change just the sign of ch1 and just the sign of ch2.
* Discovered this bug because I happened to build an elevon airframe which was
not possible to setup with the existing ELEVON_ and RCn_REV parameters.
* This will break existing elevon setups if the user used ELEVON_REVERSE
instead of ELEVON_CH1_REVERSE, since they were previously interchangable.
2012-05-27 22:15:08 -07:00
Michael Oborne
36f8f7c4eb
increase resolution on params 0.1 > 0.01
2012-05-24 06:22:57 +08:00
Andrew Tridgell
1fc8347af3
MAVLink: send time of GPS fix accurately
...
when we send a GPS_RAW message, set the usec field to the time we got
the fix from the GPS, not the current time. This makes it possible for
aerial photo processing to be more accurate, as the usec field with
more accurately reflect the planes position/time pair
2012-05-23 17:33:33 +10:00
Andrew Tridgell
5b5d43f5d0
Log: don't print '+' while erasing logs
...
we no longer do page based erase, so printing a + every 128 pages
makes no sense
2012-05-22 20:10:29 -07:00
Andrew Tridgell
557834f9a9
AirSpeed: added parameter ARSPD_USE
...
setting ARSPD_ENABLE to 1 and ARSPD_USE to 0 allows the airspeed
sensor to be initialised and logged without it being used for flight
control. This is very useful when initially testing an airspeed sensor
in a new plane. It also makes it possible to enable/disable the use of
the airspeed sensor during a flight at any time.
2012-05-22 20:02:23 +10:00
Andrew Tridgell
9eb3f44ce1
MAVlink: update ArduPlane for param fetch during DataFlash erase
...
same changes as for ArduCopter
2012-05-22 16:13:35 +10:00
Andrew Tridgell
07dac1a5a7
GPS: added ublox build target
...
useful for 1280 APM1s
2012-05-18 22:31:50 +10:00
Andrew Tridgell
116ed39e77
APM: prepare for 2.34
2012-05-14 14:29:59 +10:00
Michael Oborne
922338e982
AP - fix attitude level hil mavlink 1.0 issue
2012-05-06 11:05:35 +08:00
Andrew Tridgell
78d273fa34
Telemetry: make it possible to use UART2 on APM2
...
building with TELEMETRY_UART2=ENABLED allows you to use the solder
bridge on the APM2 to enable telemetry on UART2. This allows both USB
telemetry and a radio at the same time.
2012-05-04 10:39:44 +10:00
Michael Oborne
eee5a5bff0
more arduplane param info
2012-04-30 20:39:41 +08:00
Michael Oborne
650e9467d7
update some arduplane config items
2012-04-30 18:44:20 +08:00
Andrew Tridgell
1017b0f6a3
APM-nav: set NAV I value defaults to 0.1
...
a small I value is good on most planes, so I think this is a better
default than 0. Thanks to Chris for asking about this.
2012-04-30 12:27:30 +10:00
Andrew Tridgell
8134c9a883
autotest: fixes for MAVLink 1.0 in autotest
2012-04-27 15:15:53 +10:00
Andrew Tridgell
9d56d28615
MAVLink: make APM build with MAVLink 1.0 possible with arduino GUI
2012-04-24 22:24:58 +10:00
Andrew Tridgell
a51593d4ad
APM: updates for MAVLink 1.0
2012-04-24 19:54:20 +10:00
Andrew Tridgell
3347f461f6
use build_all.sh to ensure we don't break the mount code
2012-04-24 10:57:43 +10:00
Andrew Tridgell
0eadae9704
APM: use OutputCh_current() in MAVLink servo logging
...
this gives a more accurate picture of what is actually happening with
the servos
2012-04-24 10:57:43 +10:00
Michael Oborne
71f9e33f2f
fix potential null pointer
2012-04-20 17:57:06 +08:00
Andrew Tridgell
781280b001
sitl: allow sitl build with MAVLink 1.0
2012-04-20 10:09:21 +10:00
James Goppert
1bc4d54ce9
Worked on ArduCopter cmake options.
2012-04-19 16:05:08 -04:00
James Goppert
49744de519
Working on ArduPlane options.
2012-04-19 02:23:54 -04:00
James Goppert
f094085c25
Improved cmake options.
2012-04-18 23:15:29 -04:00
James Goppert
cc66e8e259
Changed default cmake port for ArduPlane.
2012-04-18 21:31:46 -04:00
James Goppert
0a38e2b8d4
Updated ArduPlane/ArduCopter cmake options.
2012-04-18 15:16:02 -04:00
James Goppert
26e3d6ae45
Switched to project specific cmake lists.
...
This is better since each project has very different options.
2012-04-17 23:07:20 -04:00
James Goppert
ee84a6d301
Making cmake local to projects.
2012-04-17 21:31:10 -04:00
Andrew Tridgell
6332c09425
AHRS: enable AHRS_ group in ArduPlane
2012-04-16 20:55:13 +10:00
Andrew Tridgell
840f7f87ca
ready for 2.33 release
2012-04-09 18:16:49 +10:00
Andrew Tridgell
b38d8c526f
MAVLink: make parameter send use adaptive stream rate
...
this makes it possible to fetch parameters with very low air data
rates
2012-04-02 11:18:53 +10:00
Andrew Tridgell
222009002e
MAVLink: allow for find grained stream rate control
...
streams can now be requested at any multiple of 20ms. So if you ask
for a stream at 7Hz then you will get it at close to 7Hz.
2012-04-02 11:18:53 +10:00
Andrew Tridgell
1e0a2fb0be
MAVLink: don't waste 100 bytes of bandwidth sending 1 byte of information
...
the GPS_STATUS message is a massive waste of bandwidth, but it is the
only message that tells us the number of visible satellites. So only
send it if that information changes.
This makes MAVLink work better at low baud rates
2012-03-30 17:46:20 +11:00
Andrew Tridgell
e9773ea09c
APM: use set_blocking_writes(false) when we have done ground start
2012-03-30 17:46:20 +11:00
Andrew Tridgell
36e741b078
MAVLink: raise the serial transmit buffer size to 256 bytes
...
the 128 byte serial transmit buffer was causing significant problems
with queueing of mavlink messages. With 256 bytes we can fit a lot
more messages out in each pass of the code, which makes telemetry more
efficient
As we discussed on the dev call, we now have enough free ram for this
to be worthwhile
2012-03-30 17:46:20 +11:00
Andrew Tridgell
5dbd2a2b60
APM: enable AP_Declination by default
2012-03-30 14:25:27 +11:00
Andrew Tridgell
a98a092a59
AP_Declination: enabled auto declination by default in APM
2012-03-30 14:25:27 +11:00
Andrew Tridgell
eb98442ed0
APM: Change version to 2.32
2012-03-29 12:50:12 +11:00
Andrew Tridgell
03800ec5f4
APM: Added MANUAL_LEVEL option
...
when MANUAL_LEVEL is set to 1, we don't do accelerometer levelling at
startup, and instead used the values saved in the EEPROM. This makes
it easier to do levelling on the bench, or once for a series of
flights for the day
2012-03-29 12:39:53 +11:00
Andrew Tridgell
491b73c4e2
APM: increase ArduPlane version to 2.31
2012-03-27 16:13:29 +11:00
Andrew Tridgell
8ccf3a05f0
Mavlink: fixed warnings about limits on int32 values
2012-03-27 15:37:25 +11:00
Andrew Tridgell
3a325541f6
APM: enable the new offset nulling in APM
2012-03-27 15:37:24 +11:00
Andrew Tridgell
dc71191f25
MAVLink: constrain variable changes to the datatype range
...
if someone tries to set a AP_Int16 to a value of 300000, they now get
32767 instead of -27678
2012-03-19 17:29:02 +11:00
Andrew Tridgell
c1e4f63907
APM: adapt ArduPlane for AHRS framework
2012-03-19 17:29:02 +11:00
Andrew Tridgell
f740f6e94d
APM: removed some config file cruft
...
these options are now settable via MAVLink
2012-03-18 13:34:40 +11:00
Michael Oborne
80b356367e
update AP version to 2.30
2012-03-18 10:27:49 +08:00
Amilcar Lucas
a203282779
correct small typos in comments
2012-03-11 21:30:09 +01:00
Andrew Tridgell
1e47ab26f2
AP_Declination: disable library when AUTOMATIC_DECLINATION is not ENABLED
...
unfortunately this library was causing avrdude to fail to load the hex
to my APM2. Until we work out why, it's disabled.
2012-03-11 21:46:41 +11:00
Adam M Rivera
2e1cacd67f
AP_Declination: Added call to compass.set_initial_location if the compass is enabled when the 3D fix is obtained.
...
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-03-11 20:59:47 +11:00
Adam M Rivera
566bbed7ad
AP_Declination: Added new config value to allow the user to have the declination overwritten on every 3D fix.
...
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-03-11 20:59:47 +11:00
Andrew Tridgell
f39d8dbde8
GCS: get_integrator() is now get_gyro_drift() in DCM
2012-03-10 10:34:33 +11:00
Andrew Tridgell
4f739ea28f
make 'ENABLE' and 'ENABLED' mean the same things
...
users get this wrong far too often!
2012-03-10 10:34:33 +11:00
Andrew Tridgell
d17a7e81e3
APM: removed quaternion special cases
2012-03-10 10:34:32 +11:00
Andrew Tridgell
3239a00b23
APM: avoid fetching the DCM matrix twice
...
also no special case for quaternions
2012-03-10 10:34:32 +11:00
Andrew Tridgell
04826065ef
Quaternion: show "Quaternion test" on startup if enabled
2012-03-10 10:34:29 +11:00
Andrew Tridgell
aa4beb9753
APM: make it possible to build ArduPlane with quaternion support
2012-03-10 10:34:29 +11:00
Andrew Tridgell
a54d6f744e
HWSTATUS: if we don't know the voltage, report it as zero
...
this will tell us if board_voltage() is really working
2012-03-10 10:34:28 +11:00
Andrew Tridgell
8e162ec35b
APM: fixed reset of control switch when short_fs_action is disabled
...
When FS_SHORT_ACTN is 0, we should not re-read the control switch
unless we changed mode on the initial short fs action
2012-03-10 10:34:28 +11:00
Andrew Tridgell
46c91fa0c4
APM: added logging of DCM, HWSTATUS and SIMSTATE
2012-03-10 10:34:27 +11:00
Andrew Tridgell
82dd1cd7ce
APM: added board_voltage() function
2012-03-02 15:48:27 +11:00
Pat Hickey
00180e7084
Cleanup: rename files with spaces in their names, replace with underscores
...
* Skipped /Tools/ArdupilotMegaPlanner/Resources/new...
and /archive/Configurator/Source/Utilities/TDMS/G...
because I don't want to mess with that.
2012-02-28 16:14:31 -08:00
rmackay9
630de04bd1
ArduPlane - updated to use new filter library
2012-02-28 21:03:04 +09:00
rmackay9
4501c488b4
ArduPlane - added Filter.h to unbreak the build!
2012-02-26 17:05:56 +09:00
rmackay9
6363da2829
ArduPlane - switch sonar to use new mode filter from filter library
2012-02-26 15:35:42 +09:00
Andrew Tridgell
3fe5b3151b
allow MAG_ENABLE to be changed in flight
...
this disables the compass in DCM if MAG_ENABLE is changed in
flight. Without this we would use a fixed yaw once the compass is
disabled
This also makes sure we don't pass the compass to DCM till we have
done a read. This ensures we have a good compass fix for the initial
DCM heading
2012-02-25 14:51:09 +11:00
Andrew Tridgell
17718720b1
GCS: force scalar type in copy_name()
...
this enables access to compass offsets over MAVLink
2012-02-25 11:37:20 +11:00
Andrew Tridgell
b231112957
DCM: renorm_sqrt_count is now called renorm_range_count
2012-02-23 08:16:08 +11:00
Andrew Tridgell
1fc24b506e
AP_Param: update users of AP_Param for ParamToken
2012-02-19 17:05:28 +11:00
Andrew Tridgell
b6fdf626e4
APM: expanded parameter area to match ACM
...
this ensures waypoints and basic eeprom layout remain in sync
2012-02-18 10:51:57 +11:00
Andrew Tridgell
6b357fc66b
AP_Param: fixed saving of sensor calibration
...
this fixes the saving of the accel and gyro calibration to EEPROM,
which was initially broken by the AP_Param conversion
2012-02-18 10:51:57 +11:00
Andrew Tridgell
8355823bc7
APM: use set_and_save_ifchanged() for GCS stream rates
...
this avoids a lot of EEPROM scan operations when the groundstation
updates the stream rates
2012-02-18 10:51:57 +11:00
Phil
f8ed9f0e8d
APM: Fix rudder in elevon mode.
...
elevon planes can have rudders too
2012-02-16 14:43:24 +11:00
Andrew Tridgell
2dcb594f4a
APM: changed hold_course for landing to be based on yaw_sensor
...
when we are in the final stages of a landing (less than 2 seconds from
landing waypoint, or less than 3m above landing altitude) we switch
the navigation to use a fixed course. The code previously used the
crosstrack_bearing for this, but this can lead to a large nav_roll in
this final stage of the approach, which can put a wing into the
runway. In autotest we were seeing a nav_roll value of -45 degrees as
we crossed the transition point for the landing, which often led to a
crash.
This changes the code to use the current yaw_sensor value instead,
which is much less likely to lead to large rolls in the final landing
stages.
2012-02-15 08:50:45 +11:00
Andrew Tridgell
c6b6320b43
APM: report the nav_bearing as hold_course when enabled
...
this gives a more accurate view of the navigation code, as when
hold_course is not -1 it overrides nav_bearing
2012-02-15 08:50:45 +11:00
Andrew Tridgell
252a2d0c9b
APM: added some comments related to hold_course
...
hold_course is either -1 (for disabled) or a course to hold for
takeoff/landing. This makes the code a bit clearer.
It also resets hold_course in all non-auto modes, to ensure it isn't
used
2012-02-15 08:50:45 +11:00
Andrew Tridgell
c93dedc955
when setting airspeed and groundspeed in a mission, don't save to EEPROM
...
If you include airspeed, throttle or groundspeed changes in a mission
then those should not be saved to EEPROM, as otherwise if you restart
and re-fly the mission you will be starting with different parameters
to the ones you used for the first flight.
This is particularly important for setting the target airspeed when
coming in for a landing. You typically set a low target, but if you
fly again the next day I think it would be a real surprise to find
that your loiter airspeed has then changed to the value from the
landing part of your last mission.
This one can be argued either way, but I think that not saving these
changes is the more conservative choice, and better fits the
'principal of least surprise'
2012-02-14 15:20:44 +11:00
Andrew Tridgell
df2ef6ff47
APM: fixed some build warnings
2012-02-14 08:58:56 +11:00
Andrew Tridgell
3907cf81f8
Mavlink: report the corrected pitch via MAVLink
...
this subtracts the TRIM_PITCH_CD from the pitch reported via
MAVLink. That gives a better indication of the true pitch in the tlog
2012-02-14 08:58:56 +11:00
Andrew Tridgell
da16ccf993
fixed some printf casts
2012-02-14 08:34:10 +11:00
Andrew Tridgell
c6f3f7065c
APM: the CLI fits nicely on the 1280 again now
...
I find the CLI very useful for testing, so enable it by default on the
1280. Logging is still off by default.
2012-02-14 08:33:49 +11:00
Andrew Tridgell
153575a01c
token is 16 bits now
2012-02-13 16:22:53 +11:00
Andrew Tridgell
16a5b5c3ee
added AP_Param::show_all()
...
this moves the logic into common code
2012-02-13 16:22:52 +11:00
Andrew Tridgell
781617cae0
token size for first()/next() is now 16 bits
2012-02-13 16:22:52 +11:00
Andrew Tridgell
50f9d12ad5
go back to 1024 bytes for variables in EEPROM
2012-02-13 16:22:52 +11:00
Andrew Tridgell
f5f6e2d4ec
added group indexes to GCS_MAVLINK class
2012-02-13 16:22:52 +11:00
Andrew Tridgell
a8140d9524
expand parameter area for ArduPlane
...
this ensures all parameters can be saved without overflow
2012-02-13 16:22:52 +11:00
Andrew Tridgell
bbc876fcdf
tidy up a comment
2012-02-13 16:22:52 +11:00
Andrew Tridgell
9fe8c079e7
fixed two parameter names
2012-02-13 16:22:51 +11:00
Andrew Tridgell
922139b824
expose mavlink stream rates as parameters
2012-02-13 16:22:51 +11:00
Andrew Tridgell
edfb8fe0b7
imported new Parameters code to APM
2012-02-13 16:22:51 +11:00
Andrew Tridgell
c4bd17052e
import new Parameters.h for AP_Param to APM
2012-02-13 16:22:51 +11:00
Andrew Tridgell
ab057d9801
implement dump of all vars in CLI using AP_Param
2012-02-13 16:22:51 +11:00
Andrew Tridgell
faa098b2b6
adapt mainline APM code to AP_Param
2012-02-13 16:22:51 +11:00
Sandro Benigno
3932e8b2a1
Battery monitor type 3 cannot calculate battery remaining properly, due it uses only voltage reading. This path set battery_remaining to a value out-of-band for that type of monitoring. It informs to external devices to not show that info.
2012-02-11 21:01:13 -02:00
Andrew Tridgell
c95a295fd6
allow for lower serial baud rates
...
not many people will use less than 9600 baud, except for those wanting
to test extreme range radios, which is what I'm trying to do :-)
2012-02-04 19:07:18 +11:00
Pat Hickey
5cdee95516
ArduPlane: Call APM_RC.enable_out for all channels in init_rc_out.
2012-01-22 12:03:11 -08:00
Michael Oborne
e71266c258
change rc norm_output to scale evenly across the entire range
2012-01-20 16:24:55 +08:00
Michael Oborne
9dafc668cd
fix SITL attitude hil
2012-01-20 16:04:49 +08:00
analoguedevices
40f37c1037
Increment version number in anticipation of a firmware hex push.
2012-01-16 22:48:46 +00:00
Doug Weibel
78ac65d6c3
Additional commenting on global variables
...
First pass done.
2012-01-16 10:28:03 -07:00
Doug Weibel
a3f9fee3d2
Additional commenting on global variables
2012-01-16 09:45:42 -07:00
Doug Weibel
2ea9db84e0
Update battery monitoring code for ArduCopter
...
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.
changed
2012-01-15 17:10:02 -07:00
Doug Weibel
82338f2571
Remove a debugging print
2012-01-15 16:37:07 -07:00
Doug Weibel
3b2196354f
Stashing some battery monitoring ratio values in the comments for future use.
2012-01-15 16:35:46 -07:00
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