Commit Graph

96 Commits

Author SHA1 Message Date
Andrew Tridgell db0d3c5e89 AP_Param: fixed race in param count handling 2020-04-29 07:36:55 +10:00
Andrew Tridgell 766fb32292 AP_Param: added set_enable() API
used to set value of an enable parameter, clearing count cache
2020-04-29 07:36:55 +10:00
Andrew Tridgell 456b685779 AP_Param: make type_size() public 2020-04-29 07:36:55 +10:00
Andrew Tridgell bb87da628e AP_Param: fixed build warning 2020-04-28 10:32:23 +10:00
Andrew Tridgell 8d1bf46dab AP_Param: use smaller param area for all 1M flash boards 2020-03-28 15:28:03 +11:00
Nick Exton 741abaf760 AP_Param: Add static assert on NVM struct sizes 2020-03-14 13:47:25 +11:00
Siddharth Purohit 1d2985e967 AP_Param: add method to find key of top level group variable by pointer 2020-02-19 13:59:53 +09:00
Peter Hall 5164eacc4a AP_Param: add get and set functions 2020-02-18 10:18:12 +11:00
Peter Hall 623c1aa3cd AP_Param: add singleton 2020-02-18 10:18:12 +11:00
Peter Hall 1ee14ffa75 AP_Param: use thread safe object buffer 2020-02-12 07:05:05 +11:00
Andrew Tridgell aa3642d9de AP_Param: save 7k flash for HAL_MINIMIZE_FEATURES boards 2020-02-01 06:58:43 +11:00
Michael du Breuil 1f20cc10f8 AP_Param: Fix failing to invalidate the cached parameter count
This would cause a GCS to download fewer then the requested number of
parameters
2020-01-15 14:02:59 +11:00
Andrew Tridgell 7ef86c9bb1 AP_Param: added convert_parameter_width()
this allows for easy conversion of the width of a parameter without
changing indexes
2020-01-14 14:23:11 +11:00
Andrew Tridgell 6573857a90 AP_Param: support @READONLY marker in param files
allows for read-only parameters embedded in firmware
2019-09-12 10:50:30 +10:00
Peter Barker b493805fb4 AP_Param: methods to provide amount of parameter space used
AP_Param: provide method for storage size
2019-08-28 11:51:09 +10:00
Andrew Tridgell f897eae89d AP_Param: enable reduced size support for AP_Periph 2019-08-27 10:29:56 +10:00
Peter Barker 2049e86dda AP_Param: optionally return parameter flags in AP_Param::find(...) 2019-08-22 09:23:56 +10:00
Peter Barker 70daf0010b AP_Param: add param flag bit indicating internal-use-only 2019-08-22 09:23:56 +10:00
Michael du Breuil 40753ab14e AP_Param: Remove non functional AP_Param ignore flags 2019-06-11 10:28:45 +10:00
Randy Mackay 2ccb9061d9 AP_Param: minor format fixes 2018-12-06 12:23:41 +09:00
Randy Mackay 98cd300885 AP_Param: add set_defaults_from_table 2018-12-06 12:23:41 +09:00
Andrew Tridgell 4d662a913a AP_Param: use background parameter save
this moves both the storage scan and the save code out of the main
thread and into the IO thread. It means that if we have more than 30
parameters saves in very rapid succession while armed that we can lose
parameter changes, but that is extremely unlikely.

This fixes an issue where parameter saves in flight can cause
considerable scheduling problems, sometimes several milliseconds
2018-08-16 12:40:10 +10:00
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.
2018-06-28 10:18:19 -07:00
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).
2018-06-28 10:18:19 -07:00
Andrew Tridgell c6c5603382 AP_Param: added back key dumping code
this is essential for working out conversion tables.
2018-01-24 18:23:59 +11:00
Michael du Breuil a1a5665213 AP_Param: Support marking a param group as ignoring the enable flag 2018-01-17 22:21:55 +00:00
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
2017-12-18 11:14:59 +11:00
Jacob Walser d5896287b7 AP_Param: Add set_by_name and set_and_save_by_name helpers 2017-10-25 21:07:09 +11:00
Peter Barker e3599ab4f9 AP_Param: remove CLI 2017-08-14 10:23:50 +09:00
Andrew Tridgell 7e24be95c9 AP_Param: added macro for var table extension in object 2017-05-03 20:12:04 +10:00
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.
2017-03-25 16:22:10 +11:00
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.
2017-02-23 22:46:33 -08:00
Peter Barker fe189fefbc AP_Param: Factor load_defaults_file (NFC) 2017-02-23 22:46:33 -08:00
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
2017-02-14 19:49:29 +11:00
Lucas De Marchi 85eadca7ad AP_Param: shut up float comparison warning
We want to compare the value previously set in memory.
2017-02-06 09:27:22 -08:00
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
2017-01-24 09:50:25 +11:00
Peter Barker a481e52861 AP_Param: make configured() const 2017-01-20 13:02:53 +09:00
Andrew Tridgell d005cbffd8 AP_Param: added convert_parent_class() 2017-01-12 17:39:37 +11:00
Andrew Tridgell 05e9462a9c AP_Param: added CONVERT_FLAG_REVERSE and CONVERT_FLAG_FORCE 2017-01-12 17:39:37 +11:00
Andrew Tridgell 0c32178d07 AP_Param: added reload_defaults_file()
this allows defaults to be set for parameters in pointer objects
2017-01-12 17:39:37 +11:00
Andrew Tridgell 0d6801fbe6 AP_Param: added find_old_parameter() method
allows for custom conversion of parameters
2016-12-31 10:55:59 +09:00
Andrew Tridgell be9ac273ce AP_Param: apply notify check to AP_ParamV too
thanks to Francisco
2016-12-09 14:36:01 -08:00
Andrew Tridgell eaa68f32e3 AP_Param: avoid a notify if value is already correct 2016-12-09 14:36:01 -08:00
Francisco Ferreira a3fcebc501 AP_Param: add set_and_notify to vectors 2016-11-15 11:42:54 -08:00
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.
2016-11-02 16:04:47 -02:00
Peter Barker 2bd13af43d AP_Param: unhide groups when generating parameters in autotest 2016-10-26 09:53:14 +11:00
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.
2016-10-24 09:42:01 -02:00
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
2016-10-23 15:27:42 +11:00
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.
2016-10-15 15:19:17 -03:00
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.
2016-10-04 12:50:47 -03:00