* reduce risk of corrupt radio.yml #1412
Adds CRC16 checksum to radio.yml when saved.
Adds save to temporary file, folowed by rename to radio.yml
Adds check on load, with fall-back to temporary file
* Made sure that only the first read block of radio.yml is checked for the 'checksum' value.
Added checksum generation on radio.yml produced by conversion.
* Added namespace.
Github actions triggered build failed on this - compiler difference.
* Fixed typo in code not run locally.
* Made checksum result code a enum class.
Fixed null-poionter dereference bug.
* Added check and handling for radio.yml file not read (will be handled as if checksum failed)
Added evaluation of checksum when radio_new.yml is read.
Added f_unlink() calls before f_rename() to ensure the target filename does not exist.
* Added radio.yml cheksum handling to Simulator/Companion.
Cleaned radio firmware handling of checksum field up to be newline agnostic.
* Added handling of files without checksum.
- Letting files pass the check if no checksum field is present (old files) and the size is realistic (25 bytes)
* Fixed bug causing new conversion from binary if no radio.yml BUT a radio_new.yaml
is present in the filesystem.
Now the conversion is only performed if neither file exsits.
* repair rebase problems
* rerun yaml generator
* fix another rebase problem
* update text in companion to be more meaningful when the radio.yml file has a checksum error
fix wrong error message in trace
* add trigger to check radio config when leavin menu_radio
* fix: add handling for temporary and error yaml radio settings files to simu/simulator/libsimulator
* fix corner cases when comverting non crc-ed files
* chore: Tweak radio data warnings for screen sizes
- Changed the define to be a little shorter
- Added missing define for TW
- Three string lengths to suit 128, 212 and basically colorlcd
Co-authored-by: gagarinlg <malte@langermann.net>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
* [simulation] Hardening: Fix some potential crashes & 26 memory leaks, improve LCD performance.
* [simpgmspace] Init trims; Make sure `REa` is really defined (to match board files).
* [simpgmspace][opentxsimulator] Verify current running state before start/stop; Move rotary enc. init.
* [simpgmspace][LcdWidget] Improve performance by moving LCD content change check to lcdRefresh() & limiting LcdWidget refresh time to 60 fps max.
* [simueeprom] Ensure thread could be started, set default running state to false.
* [simufatfs] Fix paths report trace.
* [eepromimportexport] Fix memory leaks resulting from import debugging scheme being used.
* [customdebug] Introduce new scheme for custom debug output in compliance with Qt recommendations (see docs for QLoggingCategory).
* [opentxeeprom] Fix extra conversion table cache elements being created and also not properly deleted (and hence leaking).
* [opentxinterface] Unregister EEpromInterfaces in unregisterOpenTxFirmwares();
* [storage] Unregister storage factories on exit (fixes leak); create virtual StorageFormat/StorageFactory destructors (prevents warnings).
* [helpers] GVarGroup now emits own signal, no need to pass ModelPanel pointer (removes dependency on modeledit.h)
* [DebugOutput] Clear simulator trace hook before exiting (prevent possible issues); Fix leak and possible bad QString allocations when reading from buffer; Fix leak with combo box event filter.
* [TelemetrySimulator] Fix leak by deleting LogPlaybackController object on exit; Only set up data fields once; convert timers to static.
* [build] Consolidate all Companion/Simulator shared items in `common` library to reduce build time/etc (node & edge still remain awkward).
* [simulatorwidget] Delete removed spacer object (previously-forgotten "26th" leak).
* [DebugOutput] Fix stray trailing characters issue with new text buffer allocation (from previous commit); Increase maximum buffer sizes to better accommodate slower systems.
* Cosmetics.
* Re #4224: Introduced settingsPath and use std::string for paths in simpgmspace.
* Re #4224: Relevant parts of simpgmspace.cpp moved into simufatfs.cpp and simudisk.cpp
* Removed "/" from "mask_monitor_logsw.png"
* Re #4224: findTrueFileName() refactoring
* Faster gtests (less waiting for eeprom operations to finish)
* Re #4224: Radio settings and models directories now taken from alternate path (if set) [simu]
* Fixes#3322: together with previous changes to the SD browser this prevents the simulator from browsing higher than SD card root path.
* f_chdir() debug traces