Commit Graph

256 Commits

Author SHA1 Message Date
Peter Barker 06b763ca94 AP_Param: add and use global NaNf float value 2024-09-26 19:26:59 +10:00
Andrew Tridgell faf769d8cd AP_Param: throw error if we lose parameters
if we can't save a parameter due to the queue size not being large
enough then there is a coding error, likely the code trying to save
large numbers of parameters while armed
2024-08-20 09:30:22 +10:00
Iampete1 838fbc2b3b AP_Param: Fix `ENABLE_DEBUG` enabled error with no embedded param 2024-07-30 08:51:09 +10:00
Andrew Tridgell ae8ee5325c AP_Param: added get_eeprom_full()
for arming check
2024-06-18 10:29:55 +10:00
Andrew Tridgell 6bd2be548b AP_Param: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
muramura ddae068657 AP_Param: Summarize the type definitions settings 2024-05-21 09:46:32 +10:00
Iampete1 cd0bdda93d AP_Param: add convert_bitmask_parameter_width method 2024-04-17 22:15:22 +01:00
Peter Barker 684b621b8c AP_Param: move serial_manager parameters up to base class 2024-02-29 12:12:19 +11:00
Peter Barker 079ffb4a40 AP_Param: add comments around G2 parameter conversion 2024-02-27 21:13:39 +11:00
Peter Barker dd628b025f AP_Param: remove unused old_top_element param from convert_class 2024-02-27 10:37:45 +11:00
Peter Barker f2e9e84278 AP_Param: simplify g2 object conversion 2024-02-27 10:37:45 +11:00
Andy Piper 1ba5898b82 AP_Param: remove unused variable 2024-02-22 14:40:55 +11:00
Peter Barker b22185436e AP_Param: allow AP_PARAM_KEY_DUMP from sim_vehicle cmdline
./Tools/autotest/sim_vehicle.py -v ArduCopter --map --configure-define=AP_PARAM_KEY_DUMP=1
2024-02-21 21:05:12 +11:00
Andrew Tridgell df45140a56 AP_Param: fixed build of CubeOrange-periph 2024-02-15 13:41:29 +11:00
Andrew Tridgell 08468904db AP_Param: fixed cygwin build
the cygwin build is not generating binaries failing with:

   undefined reference to `AP_Param::load_param_defaults(char const volatile*, int, bool)

there is a 2nd problem that the CI test for cygwin doesn't fail when
the build fails. That will be addressed separately
2024-02-15 13:41:29 +11:00
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
Iampete1 75ac3f98fa AP_Param: Allow override of AP_PARAM_DYNAMIC_ENABLED define 2023-10-17 10:23:20 +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
Peter Barker d806dd8ef1 AP_Param: allow AP_SCRIPTING_ENABLED to come from hwdef files 2023-06-09 16:10:52 +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
Andrew Tridgell 4899ec9457 AP_Param: added set() to AP_Enum 2023-04-14 07:48:24 +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
Iampete1 15daff879e AP_Param: add shared Info defines 2023-01-11 18:41:34 +11:00
Iampete1 dd31742463 AP_Param: align param info structures to save flash 2023-01-11 18:41:34 +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 3d98122179 AP_Param: move complex AP_ParamT functions to cpp 2022-09-13 09:09:33 +10:00
Iampete1 90780e52b3 AP_Param: remove AP_ParamV `=` operator 2022-08-03 13:43:48 +01:00
Iampete1 59d75813cc AP_Param: params always use set method 2022-08-03 13:43:48 +01: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
Andrew Tridgell 45c016ea13 AP_Param: make configured_in_storage() private
prevent future bugs using the wrong method
2022-06-06 13:11:50 +10:00
Joshua Henderson d002fde67e AP_Param: eedump_apparam fix accessing uninit var 2022-05-17 10:26:18 +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