Commit Graph

3561 Commits

Author SHA1 Message Date
Andrew Tridgell 089db43183 show group_element too 2012-02-15 10:42:21 +11:00
Andrew Tridgell ea6a46fc9b AP_Param: added eeprom_aaparam.c dump utility 2012-02-15 10:41:06 +11:00
Andrew Tridgell c14097ffa1 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 c662140a2b 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 330ff5dc8b 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 3e7cc2499b autotest: increase the rudder gain
this gives a bit better landing approach and turns in auto
2012-02-15 08:50:45 +11:00
Andrew Tridgell 4398171374 SITL: catch floating point errors
if we get a FPE then log a message and exit
2012-02-15 08:50:45 +11:00
Andrew Tridgell 245d265c6a DCM: added a SITL_debug() for DCM normalisation errors
I have seen normalisation errors during simulation runs, but have not
yet tracked down the cause. This log message may help track things
down.
2012-02-15 08:50:45 +11:00
Andrew Tridgell 601a991a46 added SITL_debug() macro
this can be used to print a message into the logs in the SITL
simulator. This will be used for critical conditions.
2012-02-15 08:50:45 +11:00
Andrew Tridgell 085cc00c33 RC_Channel_aux: fixed a uninitialied variable error, and save a bit of stack space 2012-02-15 08:50:45 +11:00
Michael Oborne 4b9c08d075 APM Planner 1.1.36
add guided mode wp
fix setup setting save (if closed without switching tabs)
2012-02-14 22:13:11 +08:00
Andrew Tridgell 11835508a7 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 090068bee4 autotest: use more rudder for steering
this helps the landing a lot
2012-02-14 15:16:35 +11:00
Andrew Tridgell 1e7d3f5d48 autotest: raise the target airspeed on landing
we were stalling the plane in the final meters of the approach
2012-02-14 12:30:46 +11:00
Andrew Tridgell d62cc01b65 autotest: adjusted APM parameters
enable compass and tweak tuning
2012-02-14 11:26:42 +11:00
Andrew Tridgell 8f18d08eb5 autotest: added a lot more interal checking
check each of the sub-tests pass for overall pass
2012-02-14 11:26:42 +11:00
Andrew Tridgell 43c56be70c SITL: add some magnetometer offsets
this ensures the compass null_offset algorithm has some work to do in
autotest
2012-02-14 11:26:42 +11:00
Andrew Tridgell f95d7cadc5 fixed SITL GPS heading to be 0..360 2012-02-14 11:26:42 +11:00
Jason Short c9b432955d removed unused Vars 2012-02-13 15:25:23 -08:00
Jason Short 4faba2048c Lowered for Jani 2012-02-13 15:25:23 -08:00
Andrew Tridgell 27cd2893af autotest: fixed the directory that the git hash is fetched in 2012-02-14 09:06:24 +11:00
Andrew Tridgell c042ef1298 APM: fixed some build warnings 2012-02-14 08:58:56 +11:00
Andrew Tridgell 8d1729b3ba 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 6a42598ade use stdint types in the compass code 2012-02-14 08:35:03 +11:00
Andrew Tridgell be5ffdedbb AP_Param: allow dumping of AP_Vector3f
this means the 'show' command in the CLI shows the compass offsets now
2012-02-14 08:34:50 +11:00
Andrew Tridgell 957df64b86 added some AP_Param testing of the compass 2012-02-14 08:34:25 +11:00
Andrew Tridgell cdf296d8f6 fixed some printf casts 2012-02-14 08:34:10 +11:00
Andrew Tridgell 35badbb97d 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 d90dc4d893 GPS: change back to 4Hz for MTK GPS
this will hopefully fix the NO_GPS problems that have been regularly
happening in recent months. I will watch the logs carefully to see if
the problem recurs
2012-02-13 22:50:20 +11:00
Andrew Tridgell 804332c340 AP_Baro: fixed some signed/unsigned warnings
and a potential bug on timer wrap
2012-02-13 21:39:18 +11:00
Andrew Tridgell d574c78c2c autotest: fixed displayed git hash in autotest 2012-02-13 20:29:55 +11:00
Andrew Tridgell 669516cb15 autotest: fixed git hash parsing 2012-02-13 18:02:35 +11:00
Andrew Tridgell 74bbc72b11 move AP_Var code and example into libraries/AP_Var
you can use AP_Var by defining USE_AP_VAR
2012-02-13 16:22:53 +11:00
Andrew Tridgell 23ed5c2cee fixed imax load/save in PID 2012-02-13 16:22:53 +11:00
Andrew Tridgell 37cabb4cfa fixed dead zone load/save 2012-02-13 16:22:53 +11:00
Andrew Tridgell 150a67c262 fixed PID initialisation 2012-02-13 16:22:53 +11:00
Andrew Tridgell 4c5c9b5d3a make the sw version different for VARTest
so we don't accidentially load bad parameters into ArduPlane
2012-02-13 16:22:53 +11:00
Andrew Tridgell 47807ec68d RC_Channel_aux: catch invalid function settings
a bad function setting would overwrite the heap
2012-02-13 16:22:53 +11:00
Andrew Tridgell d5b96fe9bd make it easy to run simulator under valgrind 2012-02-13 16:22:53 +11:00
Andrew Tridgell 1f05e7dafb fixed types in GPS detect code
using int everywhere is wasteful and non-portable
2012-02-13 16:22:53 +11:00
Andrew Tridgell ecdbfd257a token is 16 bits now 2012-02-13 16:22:53 +11:00
Andrew Tridgell ed2271ceea check sizes in VARTest
ensures the AP types are plain old data
2012-02-13 16:22:52 +11:00
Andrew Tridgell d55a0c3a71 added AP_Param::show_all()
this moves the logic into common code
2012-02-13 16:22:52 +11:00
Andrew Tridgell 0f9adbdae0 token size for first()/next() is now 16 bits 2012-02-13 16:22:52 +11:00
Andrew Tridgell 9175ebe33a change back to 256 max variables in _var_info[]
this keeps the header to 24 bits, and allows the token to be 16
bits. If we need more variables we can put them in a nested group.
2012-02-13 16:22:52 +11:00
Andrew Tridgell 617082769a go back to 1024 bytes for variables in EEPROM 2012-02-13 16:22:52 +11:00
Andrew Tridgell 0b3e3ec5c8 added group indexes to GCS_MAVLINK class 2012-02-13 16:22:52 +11:00
Andrew Tridgell 31d28e2181 update VARTest to use exact variables from ArduPlane 2012-02-13 16:22:52 +11:00
Andrew Tridgell 9c5a5473ab added indexes to group info structures 2012-02-13 16:22:52 +11:00
Andrew Tridgell f2a6a31645 AP_Param: added group idx, and change packing of header elements
adding a idx element to the GroupInfo will make it less likely that a
developer will change the IDs of group elements, and make it easier to
see that these IDs are important for identifying a variable in EEPROM

The header packing has changed to make it 24 bits on all platforms,
which allows us to lower the EEPROM variable max size to 1024 bytes
again
2012-02-13 16:22:52 +11:00