Andrew Tridgell
a9c570702c
AP_Param: fixed build warning
7 years ago
Lucas De Marchi
1a45aa12f5
AP_Param: warn on last pass only about unknown parameters
...
Do not warn about unknown parameters on the first pass, i.e. when
AP_Param:load_all() is called. This is because we may still not know
about dynamically loaded parameters. When we call the second (last)
time, we expect to already know all possible parameters, so print a
warning to both console and the debug terminal.
7 years ago
Lucas De Marchi
7f0d5ddf21
AP_Param: stop panic()'ing on unknown parameters
...
Our track record on keeping parameters up to date with master is not
great and panic()'ing when loading them apparently is not helping
because every and each vehicle has a different file.
On aerofc load_defaults_file() is used in the same way as
load_embedded_param_defaults() is in which the panic() behavior has been
previously removed.
This finishes the removal of the panic param and add warnings to the
debug console when reading the parameters (rather than when counting
them).
7 years ago
Peter Barker
83b918f1c3
AP_Param: make send_parameter_value_all a GCS method rather than static
7 years ago
Peter Barker
32795f0a8f
AP_Param: correct possible use of nullptr during param count
...
::first can return nullptr
7 years ago
Andrew Tridgell
c6c5603382
AP_Param: added back key dumping code
...
this is essential for working out conversion tables.
7 years ago
Michael du Breuil
a1a5665213
AP_Param: Support marking a param group as ignoring the enable flag
7 years ago
Andrew Tridgell
51512ed7c0
AP_Param: don't panic on bad embedded parameters
...
this makes life much easier for vendors
7 years ago
Andrew Tridgell
d0d6040b3e
AP_Param: use wider range of sentinal values
...
this copes better with power off while writing parameters
7 years ago
Andrew Tridgell
4ac49483c8
AP_Param: added support for embedded parameters
...
use a block of flash to hold embedded parameters that can be changed
using apj_tool.py
7 years ago
Jacob Walser
d5896287b7
AP_Param: Add set_by_name and set_and_save_by_name helpers
7 years ago
Peter Barker
e3599ab4f9
AP_Param: remove CLI
8 years ago
Michael du Breuil
8de96ee4a1
AP_Param: Check for duplicate group id's before handling groups
8 years ago
Andrew Tridgell
7e24be95c9
AP_Param: added macro for var table extension in object
8 years ago
Andrew Tridgell
60e4c0eb98
AP_Param: make count_parameters() thread safe
8 years ago
Andrew Tridgell
47803e73e4
AP_Param: allow for dynamic var_info tables
...
this allows the var_info entry in a table to be a constant pointer,
allowing the selection of a type for a parameter class at runtime.
8 years ago
Peter Barker
c93942695f
AP_Param: load parameters from a comma-separated-list
...
This patch will break things for anyone who is using
a comma in their filenames for their ardupilot defaults
files.
8 years ago
Peter Barker
fe189fefbc
AP_Param: Factor load_defaults_file (NFC)
8 years ago
Andrew Tridgell
79b0c856b2
AP_Param: added support for frame specific parameters
...
this allows for libraries that have parameters that are only activated
on particular frame types
8 years ago
Lucas De Marchi
85eadca7ad
AP_Param: shut up float comparison warning
...
We want to compare the value previously set in memory.
8 years ago
murata
59454b0c6f
AP_Param: Unify from print or println to printf.
8 years ago
Andrew Tridgell
4687785185
AP_Param: fixed a bug in default file handling
...
this fixes a bug in how default file values are handled that affects
any common sub-objects. When we had a default value for something like
SERVO12_FUNCTION then configured_in_defaults_file() would return true
for SERVO1_FUNCTION as it shares a common default value pointer
this changes the implementation to use the object pointer instead
8 years ago
Peter Barker
a481e52861
AP_Param: make configured() const
8 years ago
Pierre Kancir
5aa4bc4368
AP_Params: fix seg fault in debug function
...
otherwise at start, when loading paramter is could fail at AP_Param.cpp:611, Debug("scan past end of eeprom")"
8 years ago
Andrew Tridgell
d005cbffd8
AP_Param: added convert_parent_class()
8 years ago
Andrew Tridgell
05e9462a9c
AP_Param: added CONVERT_FLAG_REVERSE and CONVERT_FLAG_FORCE
8 years ago
Andrew Tridgell
d430cd62a6
AP_Param: fixed loading defaults file after storage
...
make sure defaults don't override storage values
8 years ago
Andrew Tridgell
0c32178d07
AP_Param: added reload_defaults_file()
...
this allows defaults to be set for parameters in pointer objects
8 years ago
Andrew Tridgell
0d6801fbe6
AP_Param: added find_old_parameter() method
...
allows for custom conversion of parameters
8 years ago
Andrew Tridgell
be9ac273ce
AP_Param: apply notify check to AP_ParamV too
...
thanks to Francisco
8 years ago
Andrew Tridgell
eaa68f32e3
AP_Param: avoid a notify if value is already correct
8 years ago
Francisco Ferreira
a3fcebc501
AP_Param: add set_and_notify to vectors
8 years ago
murata
c808ee2f49
Global: To nullptr from NULL.
...
RC_Channel: To nullptr from NULL.
AC_Fence: To nullptr from NULL.
AC_Avoidance: To nullptr from NULL.
AC_PrecLand: To nullptr from NULL.
DataFlash: To nullptr from NULL.
SITL: To nullptr from NULL.
GCS_MAVLink: To nullptr from NULL.
DataFlash: To nullptr from NULL.
AP_Compass: To nullptr from NULL.
Global: To nullptr from NULL.
Global: To nullptr from NULL.
8 years ago
Peter Barker
2bd13af43d
AP_Param: unhide groups when generating parameters in autotest
8 years ago
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
8 years ago
Andrew Tridgell
68f0777dac
AP_Param: fixed bug with deeply nested parameter trees
...
enumeration could loop forever if the IDs overlapped due to 8 bit
masking
8 years ago
Lucas De Marchi
e6d5bac527
AP_Param: don't used reserved word in macros
...
`class` is a reserved word and should not be used as macro arguments.
It's very common in C++ to use "clazz" instead in these cases.
8 years ago
Andy Little
0d113b265c
Examples: fix examples for px4
...
The change to use AP_BoardConfig messed up the examples. Here are some
updated but there are plenty more to do.
8 years ago
Andrew Tridgell
a071fa3921
AP_Param: display defaults path on startup
9 years ago
Andrew Tridgell
1581a5e354
AP_Param: fixed forced save of constructor override parameters
...
this fixes the problem where setting ATC_RAT_YAW_FILT to 20 in copter
didn't stick across reboots
9 years ago
Francisco Ferreira
af6d8e3c36
AP_Param: explicitly cast to float to avoid Clang warning
...
/home/travis/build/ArduPilot/ardupilot/libraries/AP_Param/AP_Param.h:542:22: warning: using floating point absolute value function 'fabsf' when argument is of integer type [-Wabsolute-value]
bool force = fabsf(_value - v) < FLT_EPSILON;
9 years ago
Ricardo de Almeida Gonzaga
5bd034a5a8
Global: start using cmath instead of math.h
9 years ago
Andrew Tridgell
86416e8f05
AP_Param: added set_default_by_name()
9 years ago
Andrew Tridgell
0530af93aa
AP_Param: allow top level parameters to be pointers
...
this will allow for the attitude_control variable in quadplane to be a
pointer
9 years ago
Andrew Tridgell
7d92202db9
AP_Param: save flash space for parameter strings
...
now that we no longer need AVR support we can use nul terminated
strings for parameter names, saving a couple of k of flash space
9 years ago
Andrew Tridgell
018c7425a4
AP_Param: added AP_PARAM_NO_SHIFT
...
used for cases where we know the shift is not needed
9 years ago
Andrew Tridgell
71b6d3e33d
AP_Param: add in nested group offset in load for conversion
9 years ago
Randy Mackay
c15fa950c0
AP_Param: convert_old_parameter becomes public and accepts scaling
9 years ago
Andrew Tridgell
12067b27b3
AP_Param: cope with multi-level nesting and zero-idx
...
this copes properly with multi-level nesting of groups, and fixes an
issue with an idx of zero in nested groups
9 years ago
Andrew Tridgell
ff04871fc5
AP_Param: fixed a reporting problem with AP_Vector3f
...
if we load an element other than the X element of a Vector3f via
MAVLink then the value reported back to the GCS would be at the wrong
offset in memory. This led to some very confusing results for users
9 years ago