Jonathan Swoboda
d0307cec4f
Fix logging message
2025-07-19 20:12:33 -04:00
J. Nick Koston
1bc7b805c0
Merge branch 'integration' into memory_api
2025-07-19 13:46:17 -10:00
J. Nick Koston
79e20ed894
Merge branch 'api_buffering_cleanup' into integration
2025-07-19 13:46:07 -10:00
J. Nick Koston
b125cd6979
save some more
2025-07-19 13:45:58 -10:00
J. Nick Koston
0582fee82c
save some more
2025-07-19 13:43:47 -10:00
Jonathan Swoboda
cd4a10e4e1
Fix setup mode in v1 driver
2025-07-19 19:43:17 -04:00
J. Nick Koston
3400cdf4c0
Merge branch 'integration' into memory_api
2025-07-19 13:18:55 -10:00
J. Nick Koston
d72fe6ea4b
Merge branch 'api_buffering_cleanup' into integration
2025-07-19 13:18:44 -10:00
J. Nick Koston
2ca306c1c1
[api] Optimize frame helper buffering to reduce flash usage by 176 bytes
2025-07-19 13:15:55 -10:00
J. Nick Koston
3ad551b27e
Merge branch 'integration' into memory_api
2025-07-19 12:34:13 -10:00
JonasB2497
727e8ca376
[sdl][mipi_spi] Respect clipping when drawing ( #9722 )
...
Co-authored-by: clydebarrow <2366188+clydebarrow@users.noreply.github.com >
2025-07-19 22:29:02 +00:00
tmpeh
5ed77c10ae
Fix format string error in ota_web_server.cpp ( #9711 )
2025-07-19 11:24:26 -10:00
J. Nick Koston
9682c6c3d7
Merge branch 'bugfix/make_schedule_rollover_atomic' into integration
2025-07-19 11:13:38 -10:00
J. Nick Koston
d67508a6eb
move defines
2025-07-19 11:12:59 -10:00
J. Nick Koston
b25206b7bb
move defines
2025-07-19 11:12:41 -10:00
J. Nick Koston
112c6e34a5
move defines
2025-07-19 11:11:32 -10:00
J. Nick Koston
2ed70c3c60
Merge branch 'bugfix/make_schedule_rollover_atomic' into integration
2025-07-19 10:53:31 -10:00
J. Nick Koston
9119ac1c32
fix stale comments
2025-07-19 10:50:40 -10:00
J. Nick Koston
152e3ee587
make more readable
2025-07-19 10:43:57 -10:00
J. Nick Koston
acbcc5f9b8
make more readable
2025-07-19 10:40:21 -10:00
J. Nick Koston
5ed589fc97
make more readable
2025-07-19 10:39:27 -10:00
J. Nick Koston
58696961bd
make more readable
2025-07-19 10:38:28 -10:00
J. Nick Koston
a5f5af9596
make more readable
2025-07-19 10:36:49 -10:00
RubenKelevra
fde80bc530
core/scheduler: split millis_64_ into different platform functions
2025-07-19 21:44:35 +02:00
RubenKelevra
211739bba0
core/scheduler: Make millis_64_ rollover monotonic on SMP
...
The current implementation uses only memory_order_relaxed on all atomic
accesses. That protects each variable individually but not the semantic
link between the low word (last_millis_) and the high-word epoch counter
(millis_major_). On a multi-core target a reader could observe a freshly
stored low word before seeing the matching increment of the epoch,
causing a ~49-day negative jump.
Key fixes
- Release/acquire pairing
- writer: compare_exchange_weak(..., memory_order_release, …)
- reader: first load of last_millis_ now uses memory_order_acquire
- ensures any core that sees the new low word also sees the updated
high word
- Epoch-coherency retry loop
- re-loads millis_major_ after the update and retries if it changed,
guaranteeing monotonicity even when another core rolls over
concurrently
- millis_major_ promoted to std::atomic<uint16_t> on SMP platforms
- removes the formal data race at negligible cost
- new macros for better readability
- ESPHOME_SINGLE_CORE – currently ESP8266/RP2040 only
- ESPHOME_ATOMIC_SCHEDULER – all others except LibreTiny
- Logging and comments
- loads atomics safely in debug output
- updated inline docs to match the memory ordering
Behavior on single-core or non-atomic platforms is unchanged; multi-core
targets now get a provably monotonic 64-bit millisecond clock with
minimal overhead.
2025-07-19 19:09:10 +02:00
J. Nick Koston
89b9bddf1b
[CI] Fix clang-tidy not running when platformio.ini changes ( #9678 )
2025-07-19 20:55:21 +12:00
J. Nick Koston
23f0c596c2
Merge branch 'integration' into memory_api
2025-07-18 22:21:19 -10:00
J. Nick Koston
dec3c69190
Merge branch 'batch_eliminate_heap' into integration
2025-07-18 22:20:08 -10:00
J. Nick Koston
3204cf52e9
Update esphome/components/api/api_connection.cpp
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-18 22:17:12 -10:00
J. Nick Koston
e2d509d63d
Merge branch 'integration' into memory_api
2025-07-18 22:11:40 -10:00
J. Nick Koston
00dd5d64de
Merge branch 'batch_eliminate_heap' into integration
2025-07-18 22:11:20 -10:00
J. Nick Koston
09705ca526
guard
2025-07-18 22:11:13 -10:00
J. Nick Koston
8223db761d
document
2025-07-18 22:05:55 -10:00
J. Nick Koston
9dddb749c5
Merge branch 'batch_eliminate_heap' into integration
2025-07-18 21:31:31 -10:00
J. Nick Koston
e2524c9764
[api] Eliminate heap allocation in process_batch_ using stack-allocated PacketInfo array
2025-07-18 21:14:25 -10:00
J. Nick Koston
03a2237f2e
Merge remote-tracking branch 'upstream/dev' into integration
2025-07-18 20:19:21 -10:00
J. Nick Koston
65cbb0d741
[gpio] Auto-disable interrupts for shared GPIO pins in binary sensors ( #9701 )
2025-07-19 05:31:53 +00:00
J. Nick Koston
ba62a368ff
Merge branch 'ble_tracker_read_up_to_end' into integration
2025-07-18 16:32:32 -10:00
J. Nick Koston
ffbadc0929
[esp32_ble_tracker] Batch BLE advertisement processing to reduce overhead
2025-07-18 16:30:56 -10:00
J. Nick Koston
d19e2d9cce
Merge branch 'bluetooth_proxy_fixes' into integration
2025-07-18 16:11:26 -10:00
J. Nick Koston
c7884253d2
cannot always need to update timestamp
2025-07-18 16:11:16 -10:00
J. Nick Koston
fd2e6b1d2d
Merge branch 'bluetooth_proxy_fixes' into integration
2025-07-18 16:09:47 -10:00
J. Nick Koston
6b8da2f0ca
preen
2025-07-18 16:09:37 -10:00
J. Nick Koston
45e9522221
Merge branch 'integration' into memory_api
2025-07-18 15:41:34 -10:00
J. Nick Koston
8084c19a6c
Merge branch 'bluetooth_proxy_fixes' into integration
2025-07-18 14:51:40 -10:00
J. Nick Koston
2c63d5c7ce
rpreen
2025-07-18 14:51:12 -10:00
J. Nick Koston
6a728c2d7d
Merge branch 'bluetooth_proxy_fixes' into integration
2025-07-18 14:43:29 -10:00
J. Nick Koston
7afb2fe077
preen
2025-07-18 14:43:05 -10:00
J. Nick Koston
57c0a44b55
Merge branch 'bluetooth_proxy_fixes' into integration
2025-07-18 14:33:50 -10:00
J. Nick Koston
b2ec2615bb
other way
2025-07-18 14:33:10 -10:00