Maxim Prokhorov
39f2fa14cc
webui(build): bump esbuild & vitest
2025-03-05 18:44:06 +03:00
Maxim Prokhorov
12a6506905
webui(build): bump locked versions
2025-03-05 18:44:06 +03:00
Maxim Prokhorov
f984ec9dbc
libs(delimiter): revert to shared iterator instance
...
old gcc compat, plus stl would work more nicely
2025-03-05 18:44:06 +03:00
Maxim Prokhorov
cc0f3b2d03
sns(dht): merge common dht11 & dht12 calculations
...
notice sign bit in both bytes, apply magnitude mask to integer & scale
nb. technically... dht11 shares dht12 format, but prefer to stay on the integer side
2025-03-05 18:13:33 +03:00
Maxim Prokhorov
305918d5d8
sns(dht): different number representations for dht22
...
sometimes sign-magnitude, sometimes twos-complement
resolve #2638
2025-03-05 18:13:33 +03:00
Maxim Prokhorov
ff6d86c7e5
light(color): fix stateful parser api
2025-03-05 18:13:33 +03:00
Maxim Prokhorov
edb458fac6
test(sch): fix utc offset
2025-03-05 18:13:33 +03:00
Maxim Prokhorov
5ff4efd513
test(sns): voltage magnitude should work
2025-03-05 18:13:33 +03:00
Maxim Prokhorov
180361a89d
test: expected vs. actual stringified
2025-03-05 18:13:33 +03:00
Maxim Prokhorov
824c527064
libs(delimiter): stateless and stateful splitview
...
reference, value, difference and tag metadata
std::find_if needs same type for begin() and end()
2025-03-05 18:13:33 +03:00
Maxim Prokhorov
91fa550018
libs(delimiter): iterate over split view
...
adjust internals to provide .begin(), .end(), and the iterator object itself
since the original class is only forward-going, iterator behaves the same
2025-03-05 18:13:33 +03:00
Maxim Prokhorov
56061ec054
led(api): apply mode through payload string
...
allow to reset to a specific mode without settings reload
similarly, interpret on & off as modes and not just status updates
2025-03-05 18:13:33 +03:00
Maxim Prokhorov
6aaa62fac7
types(span): infer const from T
2025-03-05 18:13:33 +03:00
Maxim Prokhorov
6cc364e04d
led(api): status changes state based on payload
...
do not always reset status when processing payload
allow to pass mode string as payload (e.g revert from from manual mode via mqtt)
2025-03-05 18:13:33 +03:00
Maxim Prokhorov
8e91a34a48
led: constexpr methods instead of temporaries
2025-03-05 18:13:33 +03:00
Maxim Prokhorov
4a4dcaeab5
sch(restore): avoid duplicate actions on matching schedule
...
skip restore::run when action was already executed at least once
(since restore search never returns offset==0 result)
2025-03-05 18:13:33 +03:00
Maxim Prokhorov
0114d69809
led: shared delay logic and schedule checks
2025-03-05 18:13:15 +03:00
Maxim Prokhorov
0033735caa
led(relay): ensure link exists before applying status
2025-03-05 18:13:07 +03:00
Maxim Prokhorov
a189c5f33f
test(delimiter): split and delimiter view
...
using comparison macro for tests referencing string views
move all local code related to unity to a separate object
2025-03-05 18:12:59 +03:00
Maxim Prokhorov
ac86899764
libs(delimiter): split strings using the same utility function
2025-03-05 18:12:47 +03:00
Maxim Prokhorov
8e698ac28b
util(stream): not all 3.x.x streams have peek api
2025-03-05 18:12:39 +03:00
Maxim Prokhorov
1366713896
terminal: typo
2025-01-29 12:47:31 +03:00
Maxim Prokhorov
27cf0afc11
terminal: semicolon with serial and telnet
2025-01-29 12:36:00 +03:00
Maxim Prokhorov
776acaaa84
terminal: strict state check when injecting lf
...
avoid accidentally returning Lf as remaining string when the given line is already terminated
2025-01-29 12:36:00 +03:00
Maxim Prokhorov
356fcc6555
terminal: semicolon as line break
2025-01-29 12:36:00 +03:00
Maxim Prokhorov
c9e13d4025
terminal: remove line break requirement from all api calls
...
already handled internally
2025-01-29 12:36:00 +03:00
Maxim Prokhorov
3970dfbbcc
terminal: string delimiters and reworked line api
...
update string search logic to use brute-force for a full string, not just a single char
(ref. c++17/c++20 algorithm std::search defaults)
original code mixed lineview/buffer logic outside of the terminal parser
instead, make sure that delimited classes never return delimiter itself
line classes do so as well, equaly handling both '\n' and '\r\n'
existing terminal api now handles implicitly terminated strings by default
reworked linebuffer initialization order to use inheritance in place of
plain member init. as a bonus, its main methods are no longer templated
reducing the resulting code size per linebuffer specialization (not by very much, though)
2025-01-29 12:35:49 +03:00
Maxim Prokhorov
ab876d4ec8
terminal: report about remaining input and auto-inject line break at the end
...
- extra flag to include new-line after the input ends
- keep tokens sv to the original string.
unless escaped characters appear, prefer to not make extra buffers
(only matters for >12byte tokens; smaller strings do not allocate)
- keep remaining sv, after line break encountered by the parser.
update api caller to re-use the parser, no need for a separate line delim class
2025-01-29 12:27:36 +03:00
Maxim Prokhorov
96fbde0d99
terminal: serial noise
2025-01-29 12:27:36 +03:00
Maxim Prokhorov
bae01f55a1
terminal: sv switch instead of pstr
2025-01-29 12:27:36 +03:00
Lübbe Onken
97db8fcc8d
ha: color_mode flag is deprecated ( #2634 )
...
Deprecated flag `color_mode` used in MQTT JSON light config , the `color_mode` flag is not used anymore and should be removed.
...
This will stop working in Home Assistant Core 2025.3
2025-01-24 05:52:34 +03:00
dependabot[bot]
0934262f14
build(deps): bump vite from 5.4.9 to 5.4.14 in /code ( #2635 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 5.4.9 to 5.4.14.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.14/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v5.4.14/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-24 05:51:45 +03:00
Maxim Prokhorov
c23bfeb6d9
core: bump version
2025-01-14 23:51:39 +03:00
Maxim Prokhorov
05513b5d63
pio: uninstall one package at a time
...
amend 7c2130b722
since install skips deps, skip them in uninstall as well
2025-01-14 19:42:20 +03:00
Maxim Prokhorov
4d8b7658f9
alexa: fauxmoesp version bump
...
mentioned in #2632
2025-01-13 19:18:09 +03:00
Maxim Prokhorov
881c55ddd0
onewire: private anonymous ns
...
merged files should not share anonymous scope
under espurna::driver:: ...
2025-01-13 19:15:28 +03:00
Maxim Prokhorov
21ee2d560d
onewire: check for presence & more debug strings
...
- halt methods when reset() does not result in PRESENCE pulse
clear up naming, separate reset() and presence() check
- port search, writes and requests are logged
- wire reset is logged
2025-01-10 23:23:47 +03:00
Maxim Prokhorov
0927423d28
onewire: terminal crash and output fixes
...
- do not refer to non-existent memory
- actually report ok & error after command is done
2025-01-10 23:22:53 +03:00
Maxim Prokhorov
a90716e60f
dallas: w1 & w1.devices should show the port
2025-01-10 23:22:53 +03:00
Maxim Prokhorov
7337d7f158
gpio: only keep unique entries in locks list
...
frequently calling gpioLock & gpioUnlock should not consume so much ram
2025-01-10 23:22:22 +03:00
Maxim Prokhorov
a29aec2281
rpn: sv is copied
2025-01-10 23:21:10 +03:00
Maxim Prokhorov
5108e32174
rfb: fix rcswitch anonymous include
2024-12-28 05:52:51 +03:00
Maxim Prokhorov
d0029bc393
rfb: private and public symbols fixes
...
as usual with older code, use global namespace { ... } instead of static
public functions from .h moved to the very end of the file
fixup module:: and keys:: references
2024-12-28 05:41:57 +03:00
Maxim Prokhorov
bd2e52af87
rfb: fix code api passing invalid string length
...
broken in c45a1ec097 converting from ptr to sv
point to the null char, not the actual buffer storage end
resulting sv length is off-by-one, unless converted to a string obj
2024-12-28 05:09:26 +03:00
Maxim Prokhorov
332d29bdf4
sch: keep sun .last from updating when .next stays the same
...
update tests & externalize event hanlding implementation
prevent spurious .last == .next when .next never did or cannot happen
ref. 758ff844 , in case update routine is called repeatedly
ref. #2629 , 'event' should output coherent values
2024-12-07 18:08:44 +03:00
Maxim Prokhorov
758ff844a6
sch: skip next day search w/ valid sunrise or sunset
2024-12-07 16:56:35 +03:00
Maxim Prokhorov
6500f45d59
ota: fix -latest build
...
enum case only valid for -git, both -latest and base should be excluded
2024-12-07 15:21:10 +03:00
Maxim Prokhorov
930b130e63
ota: condition typo & fix END version check
2024-12-07 14:44:13 +03:00
Maxim Prokhorov
df0c6aaac4
sch: dump internal events by name
...
also try to simplify .size() branching
2024-12-07 14:34:55 +03:00
Maxim Prokhorov
2fb3e30d70
sch: record last action when restoring
2024-12-07 14:18:07 +03:00