Commit Graph

228 Commits

Author SHA1 Message Date
Andrew Tridgell df96832900 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 a3f1aa0c7b 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 7f06fa94a5 AP_Menu: create new library with menu from AP_Common 2012-10-18 20:50:16 -07:00
Pat Hickey def4ffbe86 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 a28099b04c AP_Semaphore: make into separate library rather than part of AP_Common 2012-10-09 10:55:06 -07:00
rmackay9 3220719645 AP_Semaphore: added new library to help remove conflicts over SPI bus 2012-10-06 12:41:35 +09:00
Andrew Tridgell 0922b82d42 AP_Param: added find_by_index() 2012-09-20 07:42:35 +10:00
rmackay9 aaab3c08aa ArduCopter: added throttle curve (although disabled by default) for all multicopters 2012-09-18 23:05:08 +09:00
uncrustify 8f9bb7f92c uncrustify libraries/AP_Common/AP_Vector.h 2012-08-21 19:19:51 -07:00
uncrustify 66b5774f93 uncrustify libraries/AP_Common/AP_Test.h 2012-08-21 19:19:51 -07:00
uncrustify f45a727fe6 uncrustify libraries/AP_Common/AP_Loop.h 2012-08-21 19:01:03 -07:00
uncrustify 0ed851024e uncrustify libraries/AP_Common/include/menu.h 2012-08-21 19:01:02 -07:00
uncrustify ea986d1c6e uncrustify libraries/AP_Common/AP_Common.h 2012-08-21 19:01:02 -07:00
uncrustify 3e37a14e6f uncrustify libraries/AP_Common/AP_MetaClass.h 2012-08-21 19:01:02 -07:00
uncrustify 05ff8d51c9 uncrustify libraries/AP_Common/c++.h 2012-08-21 19:00:52 -07:00
uncrustify 4017224463 uncrustify libraries/AP_Common/tools/eedump.c 2012-08-21 19:00:51 -07:00
uncrustify 3bfe5e9774 uncrustify libraries/AP_Common/tools/eedump_apparam.c 2012-08-21 19:00:51 -07:00
uncrustify eb1fff9584 uncrustify libraries/AP_Common/menu.cpp 2012-08-21 19:00:51 -07:00
uncrustify a6567abdc3 uncrustify libraries/AP_Common/AP_Param.cpp 2012-08-21 19:00:51 -07:00
uncrustify d9234edebc uncrustify libraries/AP_Common/c++.cpp 2012-08-21 19:00:51 -07:00
uncrustify 0890404680 uncrustify libraries/AP_Common/examples/menu/menu.pde 2012-08-21 19:00:51 -07:00
Pat Hickey b78c1b21a7 uncrustify libraries/AP_Common/AP_Param.h with fixups by hand 2012-08-21 19:00:51 -07:00
rmackay9 995b8a571b AP_Common: change a few more "int" to "int16_t" 2012-08-18 18:05:18 +09:00
Andrew Tridgell c69dccceb2 AP_MetaClass: fixed a warning 2012-08-09 16:19:04 +10:00
Andrew Tridgell 73d70354a3 AP_Param: fixed some build warnings 2012-08-09 16:18:53 +10:00
Andrew Tridgell fc26d49260 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 45c7c9b8d1 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 2bc530d04f AP_Param: added some docs on the eeprom header format 2012-07-10 14:03:49 +10:00
Andrew Tridgell 37f652e19b AP_Common: fixed some duplicate product ID warnings 2012-05-17 23:37:32 +10:00
Craig Elder fe742f1c23 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 a22b15adf1 PRODUCT: Define product IDs for all supported products 2012-05-09 18:30:36 -07:00
Andrew Tridgell 3177f57d48 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 a203282779 correct small typos in comments 2012-03-11 21:30:09 +01:00
Andrew Tridgell f1a389fe19 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 8fa559930f 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 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