Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
b7d5ccf
relay(all): boot & sync refactoring
mcspr Nov 25, 2025
b9bab97
rpnrules status signature fix
mcspr Nov 26, 2025
3dcc039
relays bitset gaps
mcspr Nov 26, 2025
88d00d9
fixup! rpnrules status signature fix
mcspr Nov 26, 2025
a42d4bf
if dupe
mcspr Nov 26, 2025
930645c
immediately
mcspr Nov 26, 2025
a156595
std::min oops
mcspr Nov 26, 2025
0bb330f
settings query
mcspr Nov 26, 2025
9b14f4f
expect timer to be already started
mcspr Nov 26, 2025
8649314
uninitialized mem
mcspr Nov 26, 2025
bff767c
2nd clamp when setting mask[index]
mcspr Nov 26, 2025
6e8809a
sem
mcspr Nov 26, 2025
cfab77d
pulse lingers w/o flags
mcspr Nov 27, 2025
1829235
pulse find id in both
mcspr Nov 27, 2025
c8491ae
params
mcspr Nov 27, 2025
27a192c
oops
mcspr Nov 27, 2025
de8cb76
missing null check
mcspr Nov 27, 2025
d98e336
unused method. count() used instead
mcspr Nov 27, 2025
3da06cf
calculate sync mask for timer api
mcspr Nov 27, 2025
9f46e28
check pending timers when notifying
mcspr Nov 27, 2025
9dc8cde
fixup! std::min oops
mcspr Nov 27, 2025
31040bd
mask size fix x2
mcspr Nov 27, 2025
38c1a1d
words
mcspr Nov 27, 2025
71ab1ca
oops
mcspr Nov 27, 2025
45d85c6
words
mcspr Nov 27, 2025
24ef1fe
missing pulse delay reset & fix mqtt forward
mcspr Nov 28, 2025
49ac705
api & mqtt handlers
mcspr Nov 28, 2025
9a3dd1a
another broken sync code in dual prov
mcspr Nov 28, 2025
dc5a754
test warnings
mcspr Nov 28, 2025
7f1b673
previous iteration used relay.flags, fix to apply only when changing …
mcspr Nov 28, 2025
45c2dea
terminal output shows flags only when changing target
mcspr Nov 28, 2025
70e9084
mqttForward() false handling aka dont report id changes when getter=s…
mcspr Nov 28, 2025
1f42a0f
unused branch
mcspr Nov 28, 2025
e769932
.count() -> .any(), no need to count every bit when expecting .count(…
mcspr Nov 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions code/espurna/config/defaults.h
Original file line number Diff line number Diff line change
Expand Up @@ -886,53 +886,53 @@
#endif

#ifndef RELAY1_DELAY_ON
#define RELAY1_DELAY_ON 0
#define RELAY1_DELAY_ON RELAY_DELAY_ON
#endif
#ifndef RELAY2_DELAY_ON
#define RELAY2_DELAY_ON 0
#define RELAY2_DELAY_ON RELAY_DELAY_ON
#endif
#ifndef RELAY3_DELAY_ON
#define RELAY3_DELAY_ON 0
#define RELAY3_DELAY_ON RELAY_DELAY_ON
#endif
#ifndef RELAY4_DELAY_ON
#define RELAY4_DELAY_ON 0
#define RELAY4_DELAY_ON RELAY_DELAY_ON
#endif
#ifndef RELAY5_DELAY_ON
#define RELAY5_DELAY_ON 0
#define RELAY5_DELAY_ON RELAY_DELAY_ON
#endif
#ifndef RELAY6_DELAY_ON
#define RELAY6_DELAY_ON 0
#define RELAY6_DELAY_ON RELAY_DELAY_ON
#endif
#ifndef RELAY7_DELAY_ON
#define RELAY7_DELAY_ON 0
#define RELAY7_DELAY_ON RELAY_DELAY_ON
#endif
#ifndef RELAY8_DELAY_ON
#define RELAY8_DELAY_ON 0
#define RELAY8_DELAY_ON RELAY_DELAY_ON
#endif

#ifndef RELAY1_DELAY_OFF
#define RELAY1_DELAY_OFF 0
#define RELAY1_DELAY_OFF RELAY_DELAY_OFF
#endif
#ifndef RELAY2_DELAY_OFF
#define RELAY2_DELAY_OFF 0
#define RELAY2_DELAY_OFF RELAY_DELAY_OFF
#endif
#ifndef RELAY3_DELAY_OFF
#define RELAY3_DELAY_OFF 0
#define RELAY3_DELAY_OFF RELAY_DELAY_OFF
#endif
#ifndef RELAY4_DELAY_OFF
#define RELAY4_DELAY_OFF 0
#define RELAY4_DELAY_OFF RELAY_DELAY_OFF
#endif
#ifndef RELAY5_DELAY_OFF
#define RELAY5_DELAY_OFF 0
#define RELAY5_DELAY_OFF RELAY_DELAY_OFF
#endif
#ifndef RELAY6_DELAY_OFF
#define RELAY6_DELAY_OFF 0
#define RELAY6_DELAY_OFF RELAY_DELAY_OFF
#endif
#ifndef RELAY7_DELAY_OFF
#define RELAY7_DELAY_OFF 0
#define RELAY7_DELAY_OFF RELAY_DELAY_OFF
#endif
#ifndef RELAY8_DELAY_OFF
#define RELAY8_DELAY_OFF 0
#define RELAY8_DELAY_OFF RELAY_DELAY_OFF
#endif

#ifndef RELAY1_PROVIDER
Expand Down
16 changes: 16 additions & 0 deletions code/espurna/config/general.h
Original file line number Diff line number Diff line change
Expand Up @@ -397,12 +397,28 @@
#define RELAY_SYNC RELAY_SYNC_ANY
#endif

// When booting, use relay# (1..32) to set up status & sync mode order.
// Last relay# used by default (0)
#ifndef RELAY_SYNC_ID
#define RELAY_SYNC_ID 0
#endif

// Time (in ms) to wait between relay state changes.
// Setting to zero (default) will cause relay switches to change as soon as possible
#ifndef RELAY_DELAY_INTERLOCK
#define RELAY_DELAY_INTERLOCK 0
#endif

// Time (in ms) to wait before turning relay ON or OFF. Applied to every relay, use RELAY#_... build flag to configure per relay
// This setting also has priority when RELAY_SYNC != RELAY_SYNC_ANY
#ifndef RELAY_DELAY_ON
#define RELAY_DELAY_ON 0
#endif

#ifndef RELAY_DELAY_OFF
#define RELAY_DELAY_OFF 0
#endif

// Default pulse mode / normal mode. Switching from it will start the 'pulse' timer and reset the relay back after it finishes
#ifndef RELAY_PULSE_MODE
#define RELAY_PULSE_MODE RELAY_PULSE_NONE
Expand Down
Loading