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

Gazell Max throughput Multilink

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??

Parents
  • 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.

  • Yes, I just tried for 10 mins, no problem. I guess issue could be with smth else. Have you tried to test with just the example code and no modification except for the Gazell configuration ?

    Host:

    	static uint8_t channel_table[6]={4, 25, 42, 63, 77,33};
    // Initialize Gazell.
    bool result_value = nrf_gzll_init(NRF_GZLL_MODE_HOST);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    		result_value = nrf_gzll_set_channel_table(channel_table,6);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    		
    		result_value = nrf_gzll_set_datarate(NRF_GZLL_DATARATE_1MBIT);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    		result_value = nrf_gzll_set_timeslot_period(900);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    

    Device 1 (and 2 with modification for channel map)

    	static uint8_t channel_table[5]={ 25, 63, 33};
    	//static uint8_t channel_table[5]={4,42, 77};
    // Initialize Gazell.
    bool result_value = nrf_gzll_init(NRF_GZLL_MODE_DEVICE);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    // Attempt sending every packet up to MAX_TX_ATTEMPTS times.
    result_value = nrf_gzll_set_max_tx_attempts(MAX_TX_ATTEMPTS);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    			result_value = nrf_gzll_set_datarate(NRF_GZLL_DATARATE_1MBIT);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    	result_value = nrf_gzll_set_timeslot_period(900);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    	result_value = nrf_gzll_set_timeslots_per_channel(4);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    	result_value = nrf_gzll_set_channel_table(channel_table,3);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    
Reply
  • Yes, I just tried for 10 mins, no problem. I guess issue could be with smth else. Have you tried to test with just the example code and no modification except for the Gazell configuration ?

    Host:

    	static uint8_t channel_table[6]={4, 25, 42, 63, 77,33};
    // Initialize Gazell.
    bool result_value = nrf_gzll_init(NRF_GZLL_MODE_HOST);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    		result_value = nrf_gzll_set_channel_table(channel_table,6);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    		
    		result_value = nrf_gzll_set_datarate(NRF_GZLL_DATARATE_1MBIT);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    		result_value = nrf_gzll_set_timeslot_period(900);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    

    Device 1 (and 2 with modification for channel map)

    	static uint8_t channel_table[5]={ 25, 63, 33};
    	//static uint8_t channel_table[5]={4,42, 77};
    // Initialize Gazell.
    bool result_value = nrf_gzll_init(NRF_GZLL_MODE_DEVICE);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    // Attempt sending every packet up to MAX_TX_ATTEMPTS times.
    result_value = nrf_gzll_set_max_tx_attempts(MAX_TX_ATTEMPTS);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    			result_value = nrf_gzll_set_datarate(NRF_GZLL_DATARATE_1MBIT);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    	result_value = nrf_gzll_set_timeslot_period(900);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    	result_value = nrf_gzll_set_timeslots_per_channel(4);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    	result_value = nrf_gzll_set_channel_table(channel_table,3);
    GAZELLE_ERROR_CODE_CHECK(result_value);
    
Children
No Data
Related