Commit Graph

229 Commits

Author SHA1 Message Date
Andrew Tridgell
736cb4c34b AP_Var: move the MetaClass lib into AP_Var
AP_Var is the only one that uses it, and it generates warnings in our
build if we leave it in AP_Common
2012-11-06 21:42:54 +11:00
Andrew Tridgell
ef919c4e36 AP_Param: fixed a bug with setting nested parameters
This bug meant that setting a parameter in a parent class for a doubly
nested parameter group, where the parameter index in the parent class
is 4 or greater would actually set the first element in that parent
class.

At the moment only one parameter fits these narrow constraints - the
RCn_DZ element of the RC_Channel_aux class. So if someone set RC5_DZ
to 17 in ArduPlane it would actually set RC5_MIN to 17.
2012-11-05 22:08:43 +11:00
rmackay9
79fc5f072e AP_Curve: replace Serial.print with Serial.print_P to save 18 bytes of memory 2012-10-22 16:40:57 +09:00
Pat Hickey
1bf21aae20 AP_Menu: create new library with menu from AP_Common 2012-10-18 20:50:16 -07:00
Pat Hickey
76e93e9fd7 AP_Common: PSTR def has specific version for avr-gcc 4.6 compatibility
* Also a small change in FastSerial/vprintf.cpp, which duplicates the
  PSTR definition
* Won't effect others using earlier versions of avr-gcc
2012-10-15 20:42:18 -07:00
Pat Hickey
5796ee91ca AP_Semaphore: make into separate library rather than part of AP_Common 2012-10-09 10:55:06 -07:00
rmackay9
23442f9caf AP_Semaphore: added new library to help remove conflicts over SPI bus 2012-10-06 12:41:35 +09:00
Andrew Tridgell
e761645e24 AP_Param: added find_by_index() 2012-09-20 07:42:35 +10:00
rmackay9
93ae29a3e9 ArduCopter: added throttle curve (although disabled by default) for all multicopters 2012-09-18 23:05:08 +09:00
uncrustify
f3945772e9 uncrustify libraries/AP_Common/AP_Vector.h 2012-08-21 19:19:51 -07:00
uncrustify
953cab5c5f uncrustify libraries/AP_Common/AP_Test.h 2012-08-21 19:19:51 -07:00
uncrustify
4b60e53736 uncrustify libraries/AP_Common/AP_Loop.h 2012-08-21 19:01:03 -07:00
uncrustify
7d438cd65d uncrustify libraries/AP_Common/include/menu.h 2012-08-21 19:01:02 -07:00
uncrustify
6bb8e4e8ac uncrustify libraries/AP_Common/AP_Common.h 2012-08-21 19:01:02 -07:00
uncrustify
0c99546f45 uncrustify libraries/AP_Common/AP_MetaClass.h 2012-08-21 19:01:02 -07:00
uncrustify
e79d9adea0 uncrustify libraries/AP_Common/c++.h 2012-08-21 19:00:52 -07:00
uncrustify
3a26b94af2 uncrustify libraries/AP_Common/tools/eedump.c 2012-08-21 19:00:51 -07:00
uncrustify
4a50e56a48 uncrustify libraries/AP_Common/tools/eedump_apparam.c 2012-08-21 19:00:51 -07:00
uncrustify
3e4507a4a2 uncrustify libraries/AP_Common/menu.cpp 2012-08-21 19:00:51 -07:00
uncrustify
09c4f76b57 uncrustify libraries/AP_Common/AP_Param.cpp 2012-08-21 19:00:51 -07:00
uncrustify
c18e73a54d uncrustify libraries/AP_Common/c++.cpp 2012-08-21 19:00:51 -07:00
uncrustify
ca476e5851 uncrustify libraries/AP_Common/examples/menu/menu.pde 2012-08-21 19:00:51 -07:00
Pat Hickey
42e24a869f uncrustify libraries/AP_Common/AP_Param.h with fixups by hand 2012-08-21 19:00:51 -07:00
rmackay9
976679208c AP_Common: change a few more "int" to "int16_t" 2012-08-18 18:05:18 +09:00
Andrew Tridgell
c70bae9617 AP_MetaClass: fixed a warning 2012-08-09 16:19:04 +10:00
Andrew Tridgell
7f4b7703c1 AP_Param: fixed some build warnings 2012-08-09 16:18:53 +10:00
Andrew Tridgell
e6e25525bc AP_Param: avoid saving values within 0.01% of the default value
this saves some more space due to rounding errors
2012-08-08 13:13:30 +10:00
Andrew Tridgell
c298d5130f AP_Param: major update to use default values in var_info table
this stores the default value for all scalar variables in the var_info
table, which makes it possible to avoid storing default values in
eeprom. That allows us to oversubscribe the eeprom space with a much
lower risk of overrun.
2012-08-08 12:11:57 +10:00
Andrew Tridgell
e1725e9ea5 AP_Param: added some docs on the eeprom header format 2012-07-10 14:03:49 +10:00
Andrew Tridgell
9d221b3625 AP_Common: fixed some duplicate product ID warnings 2012-05-17 23:37:32 +10:00
Craig Elder
69bf5700cd IMU: expose IMU_PRODUCT_ID as EEPROM Variable
this will allow us to log the Product ID in tlogs
2012-05-09 18:30:36 -07:00
Craig Elder
4c46955612 PRODUCT: Define product IDs for all supported products 2012-05-09 18:30:36 -07:00
Andrew Tridgell
4f90e6e844 build: cope with Arduino 1.0 in command line build
this should autodetect 1.0 versus older builds
2012-04-27 15:38:42 +10:00
Amilcar Lucas
6e9ffb4249 correct small typos in comments 2012-03-11 21:30:09 +01:00
Andrew Tridgell
f4329d2680 AP_Param: ensure we can't have duplicate keys in Parameters.h
this is O(n^2), but only at startup, and takes less than 1ms to run.
It catches a very nasty coding error
2012-03-02 15:48:28 +11:00
Pat Hickey
337af0c7a2 AP_Param: nested group recursion into next_group disableable by macro
* c.f. 0251932c81fe7eb, e5515bb6ef82
2012-02-29 19:48:43 -08:00
Pat Hickey
2648694489 AP_Param: One more nexted group recursion disableable by macro
* c.f. e5515bb6ef82
2012-02-29 18:48:54 -08:00
Pat Hickey
eac8b66385 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
cb52b6c6d9 AP_Param: show numerical value in eeprom dump utility 2012-02-28 09:43:49 +11:00
Andrew Tridgell
a432232db9 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
87a6d97f7b 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
fa443bd928 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
f10097a6d5 AP_Param: added some comments on AP_Vector3f handling 2012-02-25 11:37:20 +11:00
Andrew Tridgell
2e9105c68a 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
53b87229ff AP_Param: added ParamToken type for variable list traversal 2012-02-19 17:05:28 +11:00
Andrew Tridgell
882cd4ea83 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
4b15b63d21 AP_Param: fixed copy-assignment operators for AP_Param vectors 2012-02-18 10:51:57 +11:00
Andrew Tridgell
7f3858cb7f 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
80a6773b8b AP_Param: added an initialised() method
this will be used by the compass code
2012-02-18 10:51:57 +11:00
Michael Oborne
2f81776b0d eedump ap param in perl 2012-02-15 21:31:58 +08:00