- typing info to clean-up path <-> string and arguments mixups
- argparse.FileType deprecated, use another built-in 'fileinput' that allows similar behaviour
- tool selection always uses shutil.which result for a full cmd path
- tool exec errors treated as script errors
size & storage set up when constructed, avoid splitting auto-size & explicit one
more expensive in code size than just a global, but can be remedied elsewhere
same as gpio init, settings & eeprom initialized statically within a func context
revise internals to access specific instance
- implement wrapper class for the rotate to slightly change the behaviour
correctly reference size info and move 'fill' aka 'clean' into the class itself
- increase storage rotation limits for 2M+ boards, 16 & 32 respectively
for 8M and 16M board configurations
bump to 8 original 4M one and extra check for 2M
- minor clean-up to terminal output. shorter strings, more static ones
fixes log size comparison, ref. https://github.com/hamed-ta/espurna/pull/2
try to use common funcs instead of code dup for sync and async variants
async buffer align & size calc moved into a separate struct
common code when dealing with fixed size ints
c++23 bit_cast when dealing with 'cpymem'-like ops
compat header continues to use std number comparison since
libstdcxx feature detection seem to rely on 'import' / 'include'
(and 'bits/version.h' is not available in gcc4)
resolve#2649
> Updated the reverse loop in AnimFly::Run to cast numLeds to a signed type, preventing an endless loop when shifting LEDs backward
resolve#2650
> Revised the pixel cache update in ColorWave::move to iterate with size_t and decrement safely
copilot is either afraid that numLeds is zero or it is <2
which is theoretically possible, but very unlikely w/ neopixel setups
continue refactoring of sensors using multiple read entities
allow to have separate readings in either form
- global voltage & frequency only
- global & channel a only
- global & channel b only
- global & channel a & channel b (default)
still, prone to ordering errors. driver code might need a separate loop
to allow more flexible processing, outside of 'sensor' method constraints
(also note that I have no idea if it actually works on a real device)
remove inconsistent i2c_{read,write}_uint, improve buffer variant instead
ade7953sensor explicitly counting variable length ints
brzo currently is in a persistent todo-list
- there is no runtime configuration of i2c pins
- api does not support cached writes, only repeated start
- api is quite different from the 'Wire' implementation
(albeit, whole implementation is much smaller)
- code would really benefit from cxx rewrite, as any
upside from asm use is generally offset by readability
plus, re-using memory locations already introduces
'unobvious' asm code, which is not visible w/o disasm
- code focuses on gcc4.x compatibility and breaks w/ gcc9.x+
register allocation *could* be fixed by using u16 temporaries
this seems to work ok'ish, but it is unclear whether there
is any need for the full u32 value space
count every param that was not already handled internally
allow terminal handler to process "line=..." w/ put handler
impl todo and iterate over all available "line=..."s
in case there are any unquotable or binary sources
SCRIPT is an odd one per the spec, ignore type=...
as it is describing how minification & bundling is done