This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

gazell maximum channel table size not honoured?

I'm trying to set up a gazell device with a channel table that is 16 channels long. This is for a pairing application where the host has a channel table that is 6 channels long and spans the entire 126 channel range. My host channel selection algorithm ensures that the first timeslot of any host will reside in timeslot 0-15, so an unpaired device sets its channel table to 16 entries, corresponding to channels 0-15.

Once the device and host are paired, the device switches to the same 6 channels that the host has and uses gazell sync to increase the communications data rate.

I have verified that in the 12.2.0 SDK, NRF_GZLL_CONST_MAX_CHANNEL_TABLE_SIZE is 16.

I'm setting up the device channel table (simple example) thusly:

uint8_t channel_table[NRF_GZLL_CONST_MAX_CHANNEL_TABLE_SIZE];

for (i = 0; i < sizeof(channel_table); i++) {
    channel_table[i] = i;
}

nrf_gzll_set_channel_table(channel_table, sizeof(channel_table));

This (and all calls below) are returning true (success).

I am using the NRF_GZLL_DEVICE_CHANNEL_SELECTION_POLICY_USE_SUCCESSFUL channel selection policy and have a the number of timeslots per channel set to 16 times the timeslots per channel setting (2). My timing setup code is the same for host and device:

ts_period = 600; /* 2Mbit */
ts_per_channel = 2;
ts_dwell = 1 for host and 16 for unpaired device

nrf_gzll_set_timeslot_period(ts_per_channel * ts_period); /* one for dev->host, one for host->dev ack */
nrf_gzll_set_timeslots_per_channel(ts_per_chan * ts_dwell);
nrf_gzll_set_timeslots_per_channel_when_device_out_of_sync(ts_per_chan * ts_dwell);

What I see is that if the host has one of its channels in the bottom 7 entries (channel 0 through 6), the device finds it and communicates just fine. If the host has one of its channels beyond that (channel 7-15), then the device never sees the host.

Is this a known issue? Am I misunderstanding something about the maximum channel table length?

Parents Reply Children
No Data
Related