Maxim Prokhorov
fe421ff41d
test(build): prettify memanalyser script
2025-06-08 22:07:56 +03:00
Maxim Prokhorov
3dfea4e449
sns(i2c): deprecate brzo, optional transmission stop
...
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
2025-06-08 22:07:56 +03:00
Maxim Prokhorov
82feb95daa
test(build): configurable paths & .gitignore test caches
...
add one more level of directories for build config & its cache
replace test/pio_cache w/ test/build/cache
2025-06-08 22:07:56 +03:00
Hamed Ta
1fcc5e717d
button(settings): fix global setting override for delays ( #2648 )
...
don't try to parse empty indexed.ref() when global setting is available
webui currently sets btnRepDel, causing it to always be 0
2025-06-07 11:20:26 +03:00
Hamed Ta
9d846bc853
i2c: fix infinite loop in 16bit address u8...u32 reader ( #2647 )
2025-06-07 11:07:52 +03:00
Maxim Prokhorov
1ecdf3b6fa
pio(env): fix sensor init for sonoff-basic-{dht,dallas}
...
disable 2nd button and set up sensor pin same way as -r2 variant
https://matrix.to/#/!tfWecjWFXBjDLgUhvx:gitter.im/$hMmbgBxOgAI9Tzb6ApmDoq3fs_5IXVpX29toVdvZFqs
2025-06-03 23:04:45 +03:00
Maxim Prokhorov
7260ec833a
all: fix typos, spelling, phrasing
...
resolve #2645 w/ some extra corrections
2025-06-03 21:25:44 +03:00
Maxim Prokhorov
4be618f28e
core: version bump
2025-06-01 16:05:22 +03:00
Maxim Prokhorov
95d1f99261
webui(build): fix import
2025-06-01 06:08:18 +03:00
Maxim Prokhorov
2681b38c4f
webui: rebuild blobs
...
slightly smaller b/c of https://github.com/madler/pigz
note that windows node still ships with zlib
2025-06-01 06:06:37 +03:00
Maxim Prokhorov
b2fa614c39
webui(build): un-vendor clone-stats & bump deps
...
amends 9ccef13050
fixed in vinyl-fs 4.0.1
2025-06-01 05:57:55 +03:00
Maxim Prokhorov
72ac4f1c5f
core: version bump
2025-06-01 04:26:56 +03:00
Maxim Prokhorov
4af7e18a2f
api: detect not-REST data requests with uncommon params
...
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
2025-05-27 04:56:22 +03:00
Maxim Prokhorov
b23851ab77
api: response-stream cannot read from unaligned mem
...
names() references arbitrary stringview, not string
internal cbuf does not use memcpy_P, but memcpy
2025-05-27 04:56:19 +03:00
Maxim Prokhorov
43eefd6124
webui(build): sync dependencies
...
build output is the same as before, no need to recreate blobs
attempt to fix clone-stats-node22 name field sometimes appearing in lockfile
2025-05-06 01:08:09 +03:00
Maxim Prokhorov
4b1aadeded
lib: consistent writeable -> writable
2025-04-15 20:56:46 +03:00
Maxim Prokhorov
b41a20aa86
webui(build): support type=...;base64
...
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
2025-04-15 20:43:01 +03:00
Maxim Prokhorov
2bb8f15c76
webui(vite): rename when building
...
same as gulp, index.${name}.html
2025-04-15 03:09:44 +03:00
Maxim Prokhorov
367dca8b05
webui(test): import when paths become available
2025-04-14 23:44:50 +03:00
Maxim Prokhorov
ed60ee02fc
webui(build): expect string or string[] as preset arg
2025-04-14 23:26:17 +03:00
Maxim Prokhorov
cadde6dac6
webui(build): shared build & test paths
2025-04-14 23:18:25 +03:00
Maxim Prokhorov
fc5a5f4d40
webui(preset): .env unused
2025-04-14 05:18:25 +03:00
Maxim Prokhorov
4b624a2e99
webui(lib): missing file
2025-04-14 04:56:15 +03:00
Maxim Prokhorov
68631fbbcd
webui(build): gulp html modifications should not happen in parallel
...
Promise.all() does not handle array members in sequence
2025-04-14 04:47:00 +03:00
Maxim Prokhorov
93d7d3986b
webui(build): vitest.config.js & shared location imports
2025-04-14 04:08:48 +03:00
Maxim Prokhorov
e7acf9fb6a
webui(build): rollup circular dependency
...
avoid sharing utility funcs through the main module
2025-04-14 04:08:48 +03:00
Maxim Prokhorov
e0cc18b4e9
webui(doc): preset configuration & files
2025-04-14 04:08:48 +03:00
Maxim Prokhorov
144cebf8b9
webui(build): unused esbuild defines
2025-04-14 04:08:48 +03:00
Maxim Prokhorov
f63dfe2b51
webui(build): npm-update
2025-04-14 01:14:13 +03:00
Maxim Prokhorov
0853a8e346
webui(build): .ico -> .svg favicon
...
initial generation via https://picsvg.com/
> Created by potrace 1.10, written by Peter Selinger 2001-2011
compressed via https://jakearchibald.github.io/svgomg/
2025-04-14 01:14:13 +03:00
Maxim Prokhorov
9dc57878c1
webui(build): build params & vite dev support
...
- experimental vite dev server support
- gulp webui_build & webui_PRESET -> build
- gulp task params for build and dev server
- bundle sources using rollup in both gulp and vite
- PRESET lib to manage available modules and their constants
replacing 'define' method of .js code treeshaking
2025-04-14 01:14:13 +03:00
Maxim Prokhorov
a5a65c6a61
webui(build): types and fixup pipeline comment section
2025-04-05 01:03:59 +03:00
Maxim Prokhorov
831e935c7c
webui(build): wrap gulp.dest to log outputs
...
using original function naming, too
2025-04-05 00:24:38 +03:00
Maxim Prokhorov
cbd28d26e4
webui(build): separate stylesheet files per module
2025-04-05 00:24:38 +03:00
Maxim Prokhorov
5152dc9958
webui(template): missing password-reveal click handler
2025-04-04 18:50:57 +03:00
Maxim Prokhorov
70b9843288
webui(debug): local cmdoutput instance & dev log output
...
avoid awkward `... | null` for the console text elem member var
update handlers to also clear up oldest lines when pushing new ones
2025-04-04 17:13:43 +03:00
Maxim Prokhorov
1697f0193f
webui(local): do not attach network event handlers
2025-04-04 17:12:37 +03:00
Maxim Prokhorov
f08f86608f
webui(build): adjust mtime based on inline-source
...
consistent datetime value when rebuilding from the same source
2025-04-03 18:48:01 +03:00
Maxim Prokhorov
60ace03ef3
webui(menu): status highlighted inconsistently
2025-04-03 16:17:00 +03:00
Maxim Prokhorov
31247d4f02
webui(impl): empty callback is always done
2025-04-03 15:57:33 +03:00
Maxim Prokhorov
6d55788b69
webui(impl): noexcept hints for simple data moves
2025-04-03 15:00:35 +03:00
Maxim Prokhorov
401fac953f
webui(ws): cache log object reference
2025-04-03 14:51:53 +03:00
Maxim Prokhorov
74f4f48e09
webui(ws): use loop timing when waiting
2025-04-03 14:27:09 +03:00
Maxim Prokhorov
7ced7ebb26
webui(ws): avoid off-by-one length for output
...
pretend this is a generic 'print' interface and do not fall back to
char buffer output default that injects '\0' at the end
2025-04-03 07:40:21 +03:00
Maxim Prokhorov
9ba2734878
debug(impl): reduce stack usage by not constructing sv
...
pass message + length to callbacks in all cases
2025-04-03 03:14:31 +03:00
Maxim Prokhorov
221f33566c
webui: rebuild blobs
2025-04-03 03:02:12 +03:00
Maxim Prokhorov
a8756c7975
webui(ws): proper type of the callback container element
...
lists refer to plain funcs, std::func only applies to a single callback
namespace things yet again to fix the original implementation discrepancy
2025-04-03 03:01:05 +03:00
Maxim Prokhorov
cac3e84110
webui(ws): namespace for postponed callbacks
2025-04-03 02:32:38 +03:00
Maxim Prokhorov
7efb72c86e
webui(ws): refactored payload storage
...
- introduce plain constructors for storage container
pack std::func, vector pointer or vector itself in one union
streamline main entry to accept just Storage{} instead of vector plus
iterator stored currently
- allow postponed callback to set json buffer size
set up small buffers for logging, no need to spawn 3KiB for one entry
drop the last wsSend usage in onConnected in favour of a callback
- revert 'manual' for all and sequence implementation in favour
of just one - for a single std::func callback
2025-04-03 02:24:39 +03:00
Maxim Prokhorov
2525d88b04
webui(server): headers helpers
2025-04-03 02:22:54 +03:00