amends e51e259f02
fixing incorrect conversion from kelvin, and also add full
conversion from possible farenheit source (if that ever happens)
experimenting with the idea of unit conversion... while a table-like
approach will work and will be slightly shorter, it would not have the
specific type checks and constexpr still does not play well with lambdas
plus, any conversion function referenced as a pointer will not really
be a constexpr (...and still require c++17 to work correctly when iterating)
cursor no longer calculates 'offset' but stores the absolute position
this also helps not introducing that specific math to the outside code
more const-correctness fixes and general accessors instead of plain structs
access and modification, where specific ctor or helper method should've
been used instead
Restore behaviour from dd12251e437ba1283024 unintentionally removed it
Instead of reverting to the 'atof' code, just use the provided string
as-is via RawJson (aka `serialized()` in the v6)
Note that the old approach may have caused some silent data loss b/c the
data could have been stored in 'double' or 'u64', where the ArduinoJson
only stores 'u32' and 'float' in it's internal buffer and does not (really)
warn us about any type incompatibilities.
(at least by default. but, the alternative is to store all floating point
numbers as 'double' internally, see ArduinoJson/Configuration.hpp)
resolves#2503
removes the extra 'save' button from the ui and the code that handles it
also make sure to use the updated foreach_prefix when looking for the
match in the settings
resolve#2502
Cursor is in a weird spot, by being both the pointer to the data and the
read-range that is used of specify the range in which we operate
Next TODO would be to move even more things to 'const', but that would
at least require to rework the cursor object and also remove it from the
members list.
Also, try to fix the API helper objects to persist the referenced struct
(best effort only, though, it is still possible to break things when not careful)
combine code/.gitignore and the one at the root of the repo
.bandit was part of codacy checks suite, current python code
should probably be updated to use either pylint directly and (/ or)
through the codeql python workflow
Since 'Enter' is also a submit button and another style gets applied,
both seem to overlap. Not very important on a desktop, but might be
easier to navigate on mobile screen
(plus, move settings backup buttons back at the top, accidentally moved
those to the bottom in the previous commit)
On the DEBUG page as well, trying to fix the scrolling behaviour when the
logging stream just started and will only jump after it spends some time at
the top row. Watching the element state to pause the autoscroll when we
manually move the slider, and resume it once the slider touches the bottom
of the textarea. Entering the command will reset the state and enable
the autoscrolling immediately
Separate variables that are used just for the internal loop,
and the ones that are supposed to go into the client as args
Clean up logging and the terminal output, certain things are
now visible through the settings query and there's no need to
dump the build value
Resolve the issue with the UnixHostDuino not really being compatible
with the esp8266 Core String (...and the rest of the Core, as well)
Port the CMakeLists.txt from the rpnlib and update it use FetchContent
instead of either manually fetching dependencies or using PIO artifacts
Caching is *expected* to work, but might need slight adjustments
Make more use of control-groups instead of adding a manual alignment
class to each element. Surprisingly, this is slightly larger than the
previous .gz.html output, but not enough to not consider the readability.
Status page updated to take the lengthy hostnames and version strings
into an account, remove those from the sidebar.
Clean-up terminal module. Use the same style for both input and output,
move the terminal handler and debug handler into an appropriate .cpp
Generate explicit events. Don't have a separate group observer that
tracks deletion, but handle it immediately from the 'button' event
Replace kv array with a direct key updates. While the backed part still
must optimize for size, from this side we should operate on keys directly