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
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
8ccf3a05f0
Mavlink: fixed warnings about limits on int32 values
2012-03-27 15:37:25 +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
f39d8dbde8
GCS: get_integrator() is now get_gyro_drift() in DCM
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
aa4beb9753
APM: make it possible to build ArduPlane with quaternion support
2012-03-10 10:34:29 +11:00
Andrew Tridgell
46c91fa0c4
APM: added logging of DCM, HWSTATUS and SIMSTATE
2012-03-10 10:34:27 +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
1fc24b506e
AP_Param: update users of AP_Param for ParamToken
2012-02-19 17:05:28 +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
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
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
153575a01c
token is 16 bits now
2012-02-13 16:22:53 +11:00
Andrew Tridgell
f5f6e2d4ec
added group indexes to GCS_MAVLINK class
2012-02-13 16:22:52 +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
Michael Oborne
e71266c258
change rc norm_output to scale evenly across the entire range
2012-01-20 16:24:55 +08: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
Michael Oborne
0c75c863de
add circle to output modes
2011-12-29 18:21:32 +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
1b64185b18
geofence: main geo-fence code
...
this implements the primary logic of geo-fencing
2011-12-16 20:11:51 +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
Andrew Tridgell
b0aa1deac2
MAVLink: fixed link flood on waypoint upload
2011-12-13 20:39:04 +11:00
Andrew Tridgell
bb861117a3
apm2: fixed for new barometer code
2011-12-11 15:21:10 -08: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
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
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
a69b4c2d7e
MAVLink: fixed throttle display in VFR_HUD
2011-11-21 20:29:19 +11: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
Michael Oborne
95479e29ae
Add MAVLINK_MSG_ID_HIL_STATE message
2011-10-30 18:17:37 +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
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
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
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
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
Andrew Tridgell
e7bc74a38e
remove unused climb_rate code
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
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
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
Andrew Tridgell
89fa70520f
imported ArduPlane from ArduPilotMega svn
2011-09-09 11:29:39 +10:00