Pat Hickey
8b3d013294
AP_Param: One more nexted group recursion disableable by macro
...
* c.f. e5515bb6ef82
2012-02-29 18:48:54 -08:00
Pat Hickey
42078f2794
AP_Param: Make nested group recursion disableable by macro
...
* Eliminates recursive calls inside AP_Param.
This is important to Pat @ Galois, but not the project in general.
Recursion depth on these functions is bounded structurally using
existing nested group constructors (can't create loops in finite space)
and checked at init time
2012-02-28 16:28:27 -08:00
Andrew Tridgell
078268528e
AP_Param: show numerical value in eeprom dump utility
2012-02-28 09:43:49 +11:00
Andrew Tridgell
701da6c30f
AP_Param: fixed v.load() on a sub-element of a AP_Vector3f
...
this isn't actually used at the moment in APM, but we should get it
right in case someone does try to load a single element of a vector
2012-02-28 09:43:49 +11:00
Andrew Tridgell
ac44b73951
AP_Param: fixed setting of CAM_P_G in ArduCopter
...
the variable CAM_P_G has the same prefix as the CAM_P group. We want
to allow for parameters having a common prefix with a group, so we
need to keep searching after we've found a group that matches the
prefix
2012-02-27 10:54:33 +11:00
Andrew Tridgell
7fe4a41c31
AP_Param: make the templating code a bit clearer
...
add comments on the arguments, and name them in a clearer way
2012-02-27 10:54:33 +11:00
Andrew Tridgell
051bd78b37
AP_Param: added some comments on AP_Vector3f handling
2012-02-25 11:37:20 +11:00
Andrew Tridgell
007a6b8958
AP_Param: added special handling for Vector3f
...
We would like to be able to use Vector3f as a parameter while exposing
the individual elements of the vector as MAVLink parameters. This
change to AP_Param makes that possible, by giving AP_Vector3f a dual
personality
2012-02-25 11:37:20 +11:00
Andrew Tridgell
f30c721886
AP_Param: added ParamToken type for variable list traversal
2012-02-19 17:05:28 +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
Michael Oborne
b020a87c13
eedump ap param in perl
2012-02-15 21:31:58 +08: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
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
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
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
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
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
244d2055ff
AP_Param: fixed desktop build
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
Andrew Tridgell
a1057fe738
AP_Param: disable debug ready for production
2012-02-13 16:22:51 +11:00
Andrew Tridgell
7ffb9b462d
AP_Param: make ptype in first() and next() optional
2012-02-13 16:22:51 +11:00
Andrew Tridgell
b6ee5ca982
added nested group support and validation
2012-02-13 16:22:51 +11:00
Andrew Tridgell
30c76664ce
added size of Vector6f
2012-02-13 16:22:51 +11:00
Andrew Tridgell
2154288e2b
hacks to get AP_Param to compile
2012-02-13 16:22:50 +11:00
Andrew Tridgell
937f8a4741
new AP_Param subsystem
2012-02-13 16:22:50 +11:00
Randy Mackay
98f3386ea0
Arduino 1.0 - changed all #includes of "WProgram.h", "wiring.h" and "WConstants.h to "Arduino.h".
...
Modified FastSerial's write function to return size_t (number of bytes written).
2012-01-28 12:25:47 +09:00
Mike Smith
d79f62ce66
Teach the Makefile about the new Arduino sourcefile suffix
2012-01-15 11:51:38 -08:00
Jason Short
f43c29e840
fixed type error
2012-01-10 23:43:44 -08:00
Michael Oborne
3848f2094e
make file relax
2011-12-17 20:42:51 +08:00
Michael Oborne
fd35ba5976
add relax
2011-12-17 16:53:14 +08:00
Doug Weibel
e965d95ba8
Added back the feature to prompt users when an invalid CLI command is entered.
...
Thanks to Yury Smirnov for this patch!
2011-11-26 21:10:53 -07:00
Andrew Tridgell
e2e613cdfc
upload: force hex file format for upload
...
this should fix a problem with hex file format detection on MacOS
2011-11-27 09:36:10 +11:00
Andrew Tridgell
e9c7f8de21
AP_Common: added typesafe wrapper for memcpy_P()
2011-11-26 17:17:50 +11:00
Andrew Tridgell
57c4385a18
AP_Common: replace strlcat_P() with a C implementation
...
the one in the Arduino libc was giving us bogus results on one
machine, and is suspect. We couldn't spot what is wrong in the
assembler, but replacing the implementation with a C one fixes the
bug, so we replaced it
2011-11-26 17:02:56 +11:00
Andrew Tridgell
3b5c124fc6
make configure default to 2560
...
1280 is less common for devs these days
2011-11-25 20:00:17 -08:00
Pat Hickey
c65a8c4616
build: added jtag-program make target
...
useful for when you have hosed your USB
2011-11-25 20:00:16 -08:00
James Goppert
fc84c15426
Separated controller block class.
...
Also improved documentation of AP_ControllerBlock.
2011-11-24 13:28:14 -05:00
Wenyao Xie
6c51157b2d
Working on new hil message for mavlink.
2011-11-15 17:15:54 -05:00
Andrew Tridgell
75d7ee01d1
desktop: fixed 2 crashes in the menu code
...
handle an empty line gracefully, and use pgm_read_pointer() for
functions pointers in progmem
2011-11-07 22:56:13 +11:00
Andrew Tridgell
152da9c91b
added pgm_read_pointer()
...
this will be used by the menu code to make reading pointers from
progmem portable
2011-11-07 22:56:13 +11:00
Andrew Tridgell
11109e4a03
force LANG=C for MacOS awk
2011-11-07 13:33:38 +11:00
James Goppert
585507f188
Clean up formatting for AP_Common
2011-10-28 14:43:43 -04:00