Hi everyone,
thanks for this discussion - this question addresses almost exactly a potential use case I've been looking into.
I'd like to try and implement something this using just BLE advertising first, without using the timeslot API; the only thing I could not figure out how to do is in MartinBL's reply:
- Configure it to advertise on a single advertising channel.
- Have all your other nodes scan continuously on the same channel.
How do I do that? I'm currently using SD130 on nRF51 platform, and I have already tried something along the following lines:
ble_gap_opt_ch_map_t foo; foo.conn_handle = 0; foo.ch_map[0] = 0; foo.ch_map[1] = 0; foo.ch_map[2] = 0; foo.ch_map[3] = 0; foo.ch_map[4] = 0x10; sd_ble_opt_set(BLE_GAP_OPT_CH_MAP,(const ble_opt_t*)(&foo));
That should disable all channels except 37, but as far as I can tell, it doesn't have any effect.
I've already done a first experiment for measuring the latency (just toggle a pin as soon as an advertisement has been received, and compare across several boards with logic analyzer), but I'm still seeing something around 2-4 ms of difference, so I'm assuming the advertisement channel scan is still happening...
Best regards, Florian