Commit Graph
16452 Commits
Author SHA1 Message Date
J. Nick Koston 632e8fddf7 Merge rp2-lwip-seg-pool-and-heap into rp2-3-connection-slots for hardware testing 2026-08-10 22:16:29 -05:00
J. Nick Koston c7bf312b1b [rp2] Size the lwIP segment pool and heap for concurrent senders
Two lwIP values on rp2 were copied from ESP32, where MEM_LIBC_MALLOC=1
and MEMP_MEM_MALLOC=1 make them labels rather than caps. On rp2 they
are static pools and a fixed heap, so they became hard limits.

MEMP_NUM_TCP_SEG is a global pool but was set to TCP_SND_QUEUELEN (17),
which is per-PCB. lwIP's sanity check only demands >=, so that is the
floor for a single connection: one busy PCB could drain the pool for
every other PCB, including the other API connections, mDNS and
web_server. Size it to 2x the per-PCB queue instead, which costs about
340 bytes.

MEM_SIZE stayed at arduino-pico's 16KB. TCP_OVERSIZE defaults to
TCP_MSS, so one PCB holding a full TCP_SND_BUF pins about 6KB; two
connections exhausted the heap while api's max_connections on rp2 is 4.
Raise it to 32KB, which is arduino-pico's own next tier.

Either limit surfaces the same way: ERR_MEM from tcp_write(), then
EWOULDBLOCK, then a refused send_message().

The docstring now records why MEMP_MEM_MALLOC=1 is not the answer here,
since it looks like the obvious fix and is not. lwIP's heap takes its
protection from LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT, which defaults
to 0, so under NO_SYS=1 mem_malloc() and mem_free() are unprotected,
and memp.c calls mem_malloc() outside SYS_ARCH_PROTECT. Routing RX pbuf
allocation through it lets the pendsv IRQ race the main loop on one
unguarded free list; that faults within seconds on CYW43.

Also fixes two stale comments in api_frame_helper.h that still claimed
rp2 uses an 8xMSS send buffer; it has been 4xMSS since #14843.

RAM cost on tests/components/bluetooth_proxy/test.rp2040-ard.yaml is
16,724 bytes, leaving about 162KB for the heap.
2026-08-10 22:15:42 -05:00
J. Nick Koston 51b0240fb8 [rp2] Fix %f formatting in logs (#18256) 2026-08-10 22:05:19 -05:00
Jesse Hills f697cf2011 [api] Add DeviceCapabilities message for optional-feature flags (#17984) 2026-08-11 14:52:19 +12:00
J. Nick Koston 4921f6b6e7 Merge branch 'dev' into rp2-3-connection-slots 2026-08-10 21:47:31 -05:00
Jesse Hills 8728aaa616 [core] Use MAC address size constants in BLE components (#18252) 2026-08-11 14:21:03 +12:00
J. Nick Koston eab9a47aa2 [bluetooth_proxy] Retry dropped services-done, disconnect and scanner-state notifications (#18225) 2026-08-11 14:20:39 +12:00
Jesse Hills c2ba2fbfc4 [ld24xx] Use MAC address size constants instead of literals (#18253) 2026-08-11 14:18:09 +12:00
J. Nick Koston 3de01d2a2e Bump aioesphomeapi to 45.8.0 (#18251) 2026-08-10 19:56:35 -05:00
dependabot[bot] 791d6659c0 Bump platformdirs from 4.11.0 to 4.11.1 (#18250)
Signed-off-by: dependabot[bot] <support@github.com>
2026-08-11 00:43:35 +00:00
Boris KrivonogandJ. Nick Koston 007c677da1 [mitsubishi_cn105] Refactor property encoding/decoding (#16709)
Co-authored-by: J. Nick Koston <nick@koston.org>
2026-08-10 18:58:34 -05:00
J. Nick Koston f28d991ae9 Fix two stale comments 2026-08-10 18:25:41 -05:00
Bonne EgglestonandClaude Fable 5 2a0f2d59f0 [modbus_server] Add coil/discrete-input support (#17464)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-10 18:13:12 -05:00
J. Nick Koston 6c29bbc506 Initiate cached connections at medium parameters and dispose stale successes 2026-08-10 18:05:41 -05:00
c8d2c3691a [mitsubishi_cn105] Add vertical vane direction select (#16723)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
2026-08-10 17:58:37 -05:00
J. Nick Koston d3dc97d42d Tear down a handle stamped mid-escalation and pin the wrap flags literally 2026-08-10 17:53:31 -05:00
J. Nick Koston 63ce235937 Request OTA state listeners from the backend that uses them 2026-08-10 17:39:25 -05:00
J. Nick Koston dcc89ab985 Decide the timeout escalation under the lock and drop links at OTA start 2026-08-10 17:38:16 -05:00
J. Nick Koston c58e5ad8d5 Settle cached connections to medium parameters on link-up 2026-08-10 17:32:01 -05:00
Josef ZweckandJ. Nick Koston 82a63658f9 [hoermann_hcp] Add Hörmann HCP garage door component (#17355)
Co-authored-by: J. Nick Koston <nick@koston.org>
2026-08-10 17:20:20 -05:00
J. Nick Koston 9d1506c9e0 Fix the remaining stale pool attribution in the rp2 schema docstring 2026-08-10 17:16:14 -05:00
J. Nick Koston ff3e14099c Point the slot range message at rp2040_ble and explain the import split 2026-08-10 17:14:24 -05:00
J. Nick Koston 6ceca44023 Tear down unowned late links and make the cleanup handle reset lock-atomic 2026-08-10 17:02:54 -05:00
J. Nick Koston 5c2c11f6cb Build the shared rp2350 target on rpipico2w and test the slot accounting 2026-08-10 17:00:43 -05:00
J. Nick Koston 0429d05859 Move BTstack pool ownership into rp2040_ble and count connection slots like esp32_ble 2026-08-10 16:56:57 -05:00
J. Nick Koston f90027f7c5 Anchor the wrap guards from live code and cover the rp2350 link 2026-08-10 16:48:38 -05:00
J. Nick Koston 7bc02eb25a Merge branch 'rp2-3-connection-slots' of https://github.com/esphome/esphome into rp2-3-connection-slots 2026-08-10 16:42:47 -05:00
J. Nick Koston e7412865d6 Merge branch 'dev' of https://github.com/esphome/esphome into rp2-3-connection-slots 2026-08-10 16:38:22 -05:00
J. Nick Koston b8c0ea14d9 Merge branch 'dev' into rp2-3-connection-slots 2026-08-10 16:38:18 -05:00
J. Nick Koston c53cc5f7d4 Drop addressed completions that do not match the owner's peer 2026-08-10 16:18:04 -05:00
J. Nick Koston 5b7a6d4e81 Anchor all four wrap symbols, add 2-slot coverage, log outside the lock 2026-08-10 16:09:17 -05:00
J. Nick Koston 03a39597e8 Bound a lost cancel completion to a short budget and re-issue the cancel on escalation 2026-08-10 16:06:37 -05:00
J. Nick Koston 14f6f834f1 Route connection-complete events by ownership, not address 2026-08-10 15:59:50 -05:00
J. Nick Koston af1bbd16e5 Restart the connect timer when a client cancel lands at the deadline 2026-08-10 15:54:30 -05:00
J. Nick Koston 16bcba31ed Enter CONNECTING before the lock releases so an instant completion routes 2026-08-10 15:41:34 -05:00
J. Nick Koston 2a936c8b76 Move peer_addr_type_ to the word-sized member group 2026-08-10 15:35:27 -05:00
J. Nick Koston 4f98bc4baf Apply review feedback: owner-matched release, retry throttle, wrap link guards, slot-tagged logs 2026-08-10 15:31:58 -05:00
J. Nick Koston d5497f3c43 Simplify pool wrap init and connect serialization paths 2026-08-10 15:19:55 -05:00
Bonne Eggleston 596827c51c [modbus_client] Add read/write multiple registers (FC 0x17) (#18215) 2026-08-10 15:18:48 -05:00
J. Nick Koston ff56ba16bd [bluetooth_connection] Support 3 connection slots on rp2 2026-08-10 15:12:30 -05:00
J. Nick Koston 8a16ead8ce [web_server] Fix basic auth with long credentials (#18237) 2026-08-10 14:49:14 -05:00
dependabot[bot] 334afdefb5 Update argcomplete requirement from >=3.7.0 to >=3.7.2 (#18243)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-10 15:44:32 -04:00
dependabot[bot] e7a2980b9c Bump ruff from 0.16.1 to 0.16.2 (#18245)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-10 15:44:30 -04:00
dependabot[bot] b5a78c6c46 Bump CodSpeedHQ/action from 5.0.2 to 5.0.3 (#18246)
Signed-off-by: dependabot[bot] <support@github.com>
2026-08-10 19:36:22 +00:00
dependabot[bot] 8650d175f4 Bump aiohappyeyeballs from 2.6.2 to 2.7.1 (#18244)
Signed-off-by: dependabot[bot] <support@github.com>
2026-08-10 14:26:41 -05:00
2999e7b925 [modbus] Add API for reading/writing coils and discrete inputs in server mode (#17264)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2026-08-10 14:23:49 -05:00
207ae2e4cb [bk72xx_ble] Support active scanning by packing the GAPM start command (#18169)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: bdraco <663432+bdraco@users.noreply.github.com>
2026-08-10 14:02:37 -05:00
Boris Krivonog 9e78a768a2 [mitsubishi_cn105] Extract top-level hub (#16987) 2026-08-10 14:02:16 -05:00
J. Nick Koston e4d08a73b0 [ufm01] Prefix PassiveReadResult enumerators to avoid Realtek SDK macro collision (#18240) 2026-08-10 13:03:01 -05:00
J. Nick Koston 4cf7ad9c63 [ble_device_base] Treat a partially bound merger as unbound (#18235) 2026-08-10 13:02:27 -05:00