Andrew Tridgell
f30c721886
AP_Param: added ParamToken type for variable list traversal
2012-02-19 17:05:28 +11:00
Jason Short
669e8e34ea
added a limit to range output
2012-02-18 21:08:17 -08:00
Randy Mackay
0b369cf78b
Optflow - added reference to FastSerial to resolve compile error on Arduino 1.0.
...
also removed reference to DCM (no longer required) and removed some old code.
2012-02-18 18:09:40 +09:00
Andrew Tridgell
2472f0a2f3
SITL: increase the amount of noise in the simulated ADC
...
this increases the noise to 2 bits, which actually can have the effect
of improving accuracy, as it leads to better averaging
2012-02-18 19:27:15 +11:00
Andrew Tridgell
9602b1f91b
DCM: only add in centripetal accel if we have GPS lock
...
if we don't have a GPS or the GPS doesn't have a good lock then we
can't rely on the ground speed for adjusting the acceleration vector
2012-02-18 19:27:15 +11:00
Andrew Tridgell
371a91cfcf
IMU: move _sensor_cal to general IMU class
...
this makes it available both in shim and INS subclasses
2012-02-18 10:51:57 +11:00
Andrew Tridgell
2b8f0c3a48
AP_Param: moved AP_Vector3f and AP_Matrix3f declarations to AP_Math.h
...
this avoids us needing AP_Math.h in every utility sketch and example
2012-02-18 10:51:57 +11:00
Andrew Tridgell
70a135c47c
AP_Param: fixed copy-assignment operators for AP_Param vectors
2012-02-18 10:51:57 +11:00
Andrew Tridgell
e656928c01
AP_Param: added a set_and_save_ifchanged() method
...
this can be used to avoid the scan() in more frequenctly saved
variables, such as the MAVLink stream rates in APM
2012-02-18 10:51:57 +11:00
Andrew Tridgell
6f080742b8
AP_Param: added an initialised() method
...
this will be used by the compass code
2012-02-18 10:51:57 +11:00
justinbeech
5255512bf9
Found free extra 256 bytes of RAM eliminate _clz use from libgcc
...
Believe it or not, changing / 2^31 to >>31 saved 256 bytes in the "d" segment.
The reason is that GCC version prior to 4.3.5 does not have a count_leading_zeros (clz) assembler macro, so it uses a 256 byte lookup table called _clz
The _clz table gets pulled in if you do 64 bit division.
This tiny change is the only place that we do long long division.
Changing to a shift saves 256 bytes of ram.
2012-02-17 09:46:05 +00:00
Jason Short
560985b509
made I term return in same pattern as D term
2012-02-16 22:09:22 -08:00
Andrew Tridgell
3fbb5a2d6c
ADC: on channel overflow we should not zero last_ch6_micros
...
this happens every 64 seconds because of unused channels on the
ADC. Zeroing this creates a bad delta_t value for the DCM code.
2012-02-16 17:48:36 +11:00
Jason Short
8e88d9e19e
change constant to float 44330.0
2012-02-15 09:10:14 -08:00
Michael Oborne
b020a87c13
eedump ap param in perl
2012-02-15 21:31:58 +08:00
Andrew Tridgell
bc89b53bdc
SITL: adjust the SITL compass code to have saner z values
2012-02-15 22:34:16 +11:00
Andrew Tridgell
63d768143d
Compass: enable compass offsets for HIL compass
...
this makes the null_offsets algorithm have an effect for the HIL
compass that is used for SITL, which makes for easier testing of
compass calibration
2012-02-15 22:33:50 +11:00
Andrew Tridgell
7d21692301
fixed dump size
2012-02-15 10:44:09 +11:00
Andrew Tridgell
d2cc6740f0
show group_element too
2012-02-15 10:42:21 +11:00
Andrew Tridgell
aaba4db144
AP_Param: added eeprom_aaparam.c dump utility
2012-02-15 10:41:06 +11:00
Andrew Tridgell
812b7ae5ae
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
c39914e734
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
7355f5613c
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
7ba65aecf3
RC_Channel_aux: fixed a uninitialied variable error, and save a bit of stack space
2012-02-15 08:50:45 +11:00
Andrew Tridgell
273a974814
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
9103f7688c
fixed SITL GPS heading to be 0..360
2012-02-14 11:26:42 +11:00
Andrew Tridgell
a1c041b597
use stdint types in the compass code
2012-02-14 08:35:03 +11:00
Andrew Tridgell
6c20ff9492
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
4ec3857476
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
e70e1814ac
AP_Baro: fixed some signed/unsigned warnings
...
and a potential bug on timer wrap
2012-02-13 21:39:18 +11:00
Andrew Tridgell
550b0be231
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
e7e7450f90
fixed imax load/save in PID
2012-02-13 16:22:53 +11:00
Andrew Tridgell
c497ad9b7e
fixed dead zone load/save
2012-02-13 16:22:53 +11:00
Andrew Tridgell
845d056c18
fixed PID initialisation
2012-02-13 16:22:53 +11:00
Andrew Tridgell
c6b6898266
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
d41c56214c
fixed types in GPS detect code
...
using int everywhere is wasteful and non-portable
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
ee2cb32a44
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
6cf7015859
added indexes to group info structures
2012-02-13 16:22:52 +11:00
Andrew Tridgell
7621b96a52
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
Andrew Tridgell
711cee9dfa
fixed support for AP_PARAM_SPARE
...
spare group elements are needed if we remove a group parameter
2012-02-13 16:22:52 +11:00
Andrew Tridgell
db8a58f994
fixed build on arduino 1.0
2012-02-13 16:22:52 +11:00
Andrew Tridgell
170fdef857
convert APM_PI library to AP_Param
2012-02-13 16:22:52 +11:00
Andrew Tridgell
74e0d2ef2a
convert AC_PID library to AP_Param
2012-02-13 16:22:52 +11:00
Andrew Tridgell
4a9cb731d4
fixed missing return in D value
2012-02-13 16:22:52 +11:00
Andrew Tridgell
c4b7a3116a
restore _fCut that was lost in AP_Param development
2012-02-13 16:22:51 +11:00
Andrew Tridgell
df77c462a4
fixed initialisation of RC_Channel class
2012-02-13 16:22:51 +11:00
Andrew Tridgell
244d2055ff
AP_Param: fixed desktop build
2012-02-13 16:22:51 +11:00
Andrew Tridgell
c195be594a
desktop: more progmem string functions
2012-02-13 16:22:51 +11:00
Andrew Tridgell
34bc88eab5
AP_Param: added generic cast_to_float
2012-02-13 16:22:51 +11:00