Commit Graph

193 Commits

Author SHA1 Message Date
Andrew Tridgell
5130f93c03 AP_Param: fixed setting of defaults for dynamic param trees
when we load a VARPTR subtree we need to re-scan the parameter
defaults file from @ROMFS/defaults.parm in case there are defaults
applicable to this subtree
2024-02-03 07:45:51 +11:00
Andrew Tridgell
e039ff2a30 AP_Param: don't enable param backup on all boards
this fixes an issue with resetting of parameters when going between
4.4.x and 4.5.x on MatekH743, and on any other board using flash
storage where the storage size has increased from 16k to 32k between
4.4.x and 4.5.x

The problem is that when you update to 4.5.x the parameter code stored
a backup of parameters in the StorageParamBak storage region which is
in the last section of storage. When you downgrade to 4.4.x the
AP_FlashStorage::load_sector() code tries to load this data and gets
an error as it is beyond the end of the available 16k storage. This
triggers an erase_all() and loss of parameters
2024-01-28 08:42:57 +11:00
Andrew Tridgell
50b95c81ca AP_Param: whitespace fix 2024-01-23 15:00:30 +11:00
Tim Tuxworth
4919ae8f59 AP_Param: added convert_centi_parameter() 2024-01-23 15:00:30 +11:00
Peter Barker
6ce4dfea57 AP_Param: use ROMFS API for defaults file parsing if no AP_FileSystem 2024-01-18 21:44:15 +11:00
Peter Barker
bd2d0100cd AP_Param: include defaulkts-file-parsing when AP_PARAM_DYNAMIC_ENABLED 2024-01-18 21:44:15 +11:00
Peter Barker
27fa5f8d2c AP_Param: use @ROMFS/defaults.parm rather than apj_tool for defaul parms 2024-01-17 18:28:48 +11:00
Iampete1
daf8aeeadc AP_Param: check dynamic param tables are avalable before adding a param 2023-11-28 11:22:43 +11:00
Andrew Tridgell
4f0ba39b64 AP_Param: fixed parameter defaults array length handling
we need to add up the total for all comma separated parameter files
2023-08-22 11:07:30 +10:00
Ryan Friedman
33c1e23e55 AP_Param: Use math header function names for type punning
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman
e6f523dad1 AP_Param: Use explicit type instead of auto for crc
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman
c382eb192a AP_Param: Switch from type punning to defined behavior
* This was undefined behavior in the C++ standard
* Use the safer options in AP_Common
* Removes a compiler warning

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Peter Barker
fd10c5e9e1 AP_Param: replace HAVE_FILESYSTEM_SUPPORT with backend defines 2023-05-17 09:40:39 +10:00
Iampete1
6cd5cf8195 AP_Param: print length of defaults list as part of key dump 2023-01-24 10:16:56 +11:00
Iampete1
49d23e16df AP_Param: rework embedded defualts list as no longer needed 2023-01-24 10:16:56 +11:00
Iampete1
02af134ba6 AP_Param: allow defualt values to be given by const float var 2023-01-24 10:16:56 +11:00
Peter Barker
37b54a7c9c AP_Param: correct compilation when debugging enabled
Correct passing through ov varargs from macro
2023-01-11 13:55:36 +11:00
Peter Barker
7f9714d722 AP_Param: make check_var_info void
Given all the callers die anyway, make it void
2023-01-10 10:48:15 +11:00
Andrew Tridgell
bdcffe2966 AP_Param: allow for removing parameters from lua scripts
when a parameter is removed it leaves a gap in the index numbers. We
need to cope with that gap when we add the parameters in the script to
allow params to be re-ordered or removed
2022-11-10 12:27:53 +11:00
Andrew Tridgell
f7d5789b0e AP_Param: fixed handling of long lines in defaults.parm
lines longer than 100 bytes were causing the parsing to stop
2022-10-07 07:53:16 +11:00
Andrew Tridgell
39fdc38c71 AP_Param: make load_defaults_file() available on ChibiOS 2022-09-14 18:04:46 +10:00
Iampete1
fcab0c70a2 AP_Param: allow init of all Vector3f values to single float 2022-07-28 16:51:33 +10:00
Iampete1
5b290920a7 AP_Param: keep track of defualt values in linked list 2022-07-20 17:59:59 +10:00
murata
261d97062c AP_Param: Console output can be disabled 2022-05-17 09:53:06 +10:00
Andrew Tridgell
0879b497a4 AP_Param: fixed param class conversion code
param class conversion was unconditionally overwriting the parameter
from the old parameter. This meant if the user has set a value in an
old firmware they could not change it in a new firmware.

I hit this with ARSPD_TYPE. I had previously set this to 0 in a
previous use of the board, and found that it kept resetting to 0 on
the new firmware when I tried to enable airspeed
2022-03-29 10:41:33 +11:00
Willian Galvani
19db542111 AP_Param: Use AP:FS for accessing files 2022-03-22 10:19:21 +11:00
Peter Barker
13f7e12d2a Revert "AP_Param: Use AP:FS() to read files"
This reverts commit e6929892e3.
2022-02-07 14:13:08 +11:00
murata
1e46fe3cf3 AP_Param: Remove meaningless semicolons 2022-02-07 08:27:34 +09:00
Willian Galvani
e6929892e3 AP_Param: Use AP:FS() to read files 2022-02-01 17:35:26 +11:00
murata
a6bbfca44e AP_Param: Change from a direct value to a defined name 2022-01-25 10:45:36 +11:00
Andrew Tridgell
7242b6e3e5 AP_Param: make accessing var_info() a bit more efficient 2022-01-11 13:04:53 +11:00
Andrew Tridgell
1343af85e2 AP_Param: added support for dynamic parameter tables
this allows for up to 10 dynamic tables to be added by scripts. The
parameter tables can have up to 63 float parameters
2022-01-11 13:04:53 +11:00
Joshua Henderson
78819a1c97 AP_Param: fix convert_class when index is 0 2022-01-10 19:31:45 +00:00
Jaaaky
485227b2c1 AP_Param: Fix multi #include's 2021-12-21 10:38:46 +11:00
Peter Barker
bcee8b56ee AP_Param: simplify set_defaults_from_table error path 2021-11-22 22:43:02 +11:00
Josh Henderson
ed32136006 AP_Param: remove unused convert_parent_class() 2021-11-02 10:18:09 +11:00
Josh Henderson
9cae5d1120 AP_Param: add sub-group class param conversion method 2021-11-02 10:18:09 +11:00
Peter Barker
0305a79b7b AP_Param: move from HAL_NO_GCS to HAL_GCS_ENABLED 2021-09-22 21:37:00 +10:00
bugobliterator
b43c9961a3 AP_Param: disable format security 2021-09-22 21:36:34 +10:00
Andrew Tridgell
17f8b0b11a AP_Param: disable debug code by default
found on EU dev call
2021-09-16 21:05:48 +10:00
Andrew Tridgell
10cbd3fd80 AP_Param: added a flag for hidden parameters 2021-09-07 10:36:16 +10:00
Andrew Tridgell
0b948d3faf AP_Param: allow save_sync without send 2021-04-21 07:12:55 +10:00
Andrew Tridgell
23785c00dc AP_Param: improved queue handling and added set_and_save_by_name_ifchanged 2021-04-21 07:12:55 +10:00
Andrew Tridgell
eac027b5c5 AP_Param: fixed handling of group_element=255 in sentinal detection
EK3_DRAG_BCOEF_Y has a group element of 255, which was being detected
as a sentinal
2021-04-20 16:59:17 +10:00
Andrew Tridgell
160b25c557 AP_Param: fixed KEY_DUMP option
use right index, and use ::printf
2021-04-15 06:57:16 +10:00
Andrew Tridgell
7b98ab0f12 AP_Param: added get_param_by_index
useful for parameter conversion within an object
2021-04-15 06:57:16 +10:00
Peter Barker
936aa63135 AP_Param: remove confusing comment
The code refered to is within is_sentinel - and it has a copy of the
comment
2021-03-19 12:21:25 +11:00
Andrew Tridgell
ac35867c17 AP_Param: fixed valgrind errors with AP_Param::ParamToken 2021-01-26 10:43:09 +11:00
Andrew Tridgell
6c684538d3 AP_Param: greatly speed up param download with disabled parameters
allows fast skip over disabled subgroups. This removes a long delay
with param download on a MatekF405-STD where the final parameters
associated with the OSD took 80ms to fetch, causing a long loop delay
2021-01-26 10:43:09 +11:00
Andrew Tridgell
4d58bcb321 AP_Param: support restoring from parameter backup region
if header on primary parameter storage is corrupt then restore from
backup
2021-01-16 06:47:10 +11:00