When one host and one device,the through can be 16KBps。But,when one host and two device ,the Max throughput is only 6KBps。Can you tell me Why ?????And Can you tell me the Max throughput you test??
When one host and one device,the through can be 16KBps。But,when one host and two device ,the Max throughput is only 6KBps。Can you tell me Why ?????And Can you tell me the Max throughput you test??
Hi Davy,
Tests from our developers showed the max throughput (with only one device) can get up to 213kbps. We need to see your timeslot and channel configuration to find why you only get 128kbps.
When you have 2 devices, there are chances that the 2 devices transmit at the same timeslot and interfere. You may want to define different channels for each of them, so they won't collide.
Hi Davy,
If you check the documentation you can find that if you use NRF_GZLL_DATARATE_1MBIT you should use timeslot period >=900us. Leaving the timeslot at 600us let it not enough time for ACK if the packet is max payload size.
What we suggested earlier about avoiding collision is to use different channel hopping table on each of the device. The host will have all the channels that the devices use. For example the channel table on the host can be {4, 16, 25, 42, 63, 77} and on the device 1 you use {4, 25, 63} and on device 2 you use {16, 42, 77} this way the 2 won't collide. But you will have lower throughput when only one device is active compare to the max speed you can achieve. Of course you can implement a switch, so that when the host detects that there are 2 device in-sync, it can tell the device to switch to the half channel table set-up and switch back to the full channel table when there is only one device connect.
Hi Davy,
If you check the documentation you can find that if you use NRF_GZLL_DATARATE_1MBIT you should use timeslot period >=900us. Leaving the timeslot at 600us let it not enough time for ACK if the packet is max payload size.
What we suggested earlier about avoiding collision is to use different channel hopping table on each of the device. The host will have all the channels that the devices use. For example the channel table on the host can be {4, 16, 25, 42, 63, 77} and on the device 1 you use {4, 25, 63} and on device 2 you use {16, 42, 77} this way the 2 won't collide. But you will have lower throughput when only one device is active compare to the max speed you can achieve. Of course you can implement a switch, so that when the host detects that there are 2 device in-sync, it can tell the device to switch to the half channel table set-up and switch back to the full channel table when there is only one device connect.