e576925bee feat: Reduce risk of corrupt radio.yml (#1481)
* 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>
2022-08-31 12:56:17 +10:00
2022-08-27 19:03:05 +10:00
2021-11-15 12:36:56 +11:00
2022-06-11 15:38:08 +02:00
2022-06-11 15:38:08 +02:00
2013-12-02 18:47:43 +01:00
2019-11-04 08:50:13 +01:00
2022-04-19 14:24:55 +10:00

GitHub release (latest by date) GitHub license Commit Tests Gitpod ready-to-code Conventional Commits Discord Support us on OpenCollective

Welcome to EdgeTX!

The cutting edge open-source firmware for your R/C radio!

About EdgeTX

EdgeTX is the cutting edge of OpenTX. It is the place where innovative ideas and cutting-edge features are developed and field-tested by the enthusiasts of our hobby. EdgeTX is a community project – ideas from the community, developed by the community, and enjoyed by the community! The community will always have a say in what EdgeTX is and what EdgeTX will be in the future. Without community feedback and involvement EdgeTX cannot exist.

Community

Discord

Facebook

Github Discussions

Community Guidelines

Installation Guide

Installation Video

FAQ

Reporting Issues / Requesting features

Development WIKI

Lua Documentation Site

Flasher Info Page

Flasher Downloads

SD Card Info Page

SD Card Downloads

Sound Packs Info Page

Sound Packs Downloads

EdgeTX Build Environment Docker Images

Acknowledgements

Some icon assets provided by ICONS8.
Lua Documentation site powered with the kind support of GitBook.

S
Description
No description provided
Readme GPL-2.0
400 MiB
Languages
C 71.9%
C++ 25.4%
Python 0.9%
CMake 0.6%
Shell 0.3%
Other 0.7%