I'm trying to connect ~10 BLE sensors to an M524 (M-SoM) acting as central, but in my tests it caps out at 4 simultaneous connections. I know the Tracker SoM (nRF52840) is limited to 3 central connections. Is there a similar (not) documented limit for the M-SoM, and if so, what is it?
Is there any way to raise that limit to 10 total links on RTL872x without forking the firmware (if its not a HW-limit), e.g. a build flag, config option, or something settable at runtime via the API? Or is 4 a hard compile-time limit baked into the released system firmware?
Thanks for confirming! I'll just work around it with multiple M-SoMs for now.
That said, if there's interest, I happen to have 10 sensors on hand and could try forking Device OS to bump the link count and test whether 10 simultaneous connections actually work on the hardware.
I'd only invest the time though if there's a realistic chance of getting it merged upstream if it works.
From briefly looking at the RTL SDK I don't think you can just make the value bigger in practice. Part of the issue is that BLE and Wi-Fi share a single radio and TDM timeslice the use of the radio. Above a certain number of connections you'll probably run into excessive packet loss.
The normal way to deal with a limited number of connections is to round-robin poll each of the sensors with a connect - read- disconnect pattern for each. Obviously this will limit the speed at which you can poll.