ask about TX power in ANT application

HI Nordic support team.

I have a question relate to TX power in ANT application:

- ANT Tx application using: ant_broadcast ->Tx

ANT Rx application using:  ant_continuous_scanning_controller

- SDK 17.1, segger embedded studio

We using ANT application connect to sensor. Each 6s sensor wakeup Ant appliction by external interupt and transmit data by call ant_message_send();

It mean we can see Tx power each 6s.

When we using power consumtion monitor i see that it seem ANT appliction transmit power each 1s instead 6s as my target.

You can see in PIC bellow:

Here is som configure and function in my code:

// ANT sTx configuration 
static void application_initialize()
{
    uint32_t err_code;
    /* Set library config to report RSSI and Device ID */
    //err_code = sd_ant_lib_config_set(ANT_LIB_CONFIG_MESG_OUT_INC_RSSI | ANT_LIB_CONFIG_MESG_OUT_INC_DEVICE_ID);
    //APP_ERROR_CHECK(err_code);

    const uint16_t dev_num = (uint16_t)NRF_FICR->DEVICEID[0];

    const ant_channel_config_t ms_channel_config =
    {
        .channel_number    = ANT_MS_CHANNEL_NUMBER,
        .channel_type      = CHANNEL_TYPE_MASTER,
        .ext_assign        = 0x00,
        .rf_freq           = RF_FREQ,            // channel 25
        .transmission_type = CHAN_ID_TRANS_TYPE,
        .device_type       = CHAN_ID_DEV_TYPE,
        .device_number     = dev_num,
        .channel_period    = CHAN_PERIOD,       // PERIOD   32767
        .network_number    = ANT_NETWORK_NUM,
    };

    err_code = ant_channel_init(&ms_channel_config);
    APP_ERROR_CHECK(err_code);

    // Fill tx buffer for the first frame
    ant_message_send();

    err_code = sd_ant_channel_open(ANT_MS_CHANNEL_NUMBER);
    APP_ERROR_CHECK(err_code);
}


//Callback function for external interupt
//each time interupt happened will send Tx messa, period is 6s 
static void in_pin_handler(nrf_drv_gpiote_pin_t pin, nrf_gpiote_polarity_t action)
{
    NRF_LOG_INFO("Int example0\n");
    Qflag = true;
    //nrf_drv_gpiote_out_toggle(PIN_OUT);
    ant_message_send();
    //NRF_LOG_INFO("Message sent %s", string);
    NRF_LOG_INFO("Index  %d", index);
    index++;
    
}

// <o> RF_FREQ - RF Frequency. 
#ifndef RF_FREQ
#define RF_FREQ 25
#endif

// <o> CHAN_PERIOD - Channel Period (in 32 kHz counts). 
#ifndef CHAN_PERIOD
#define CHAN_PERIOD   32767
#endif

Can you help me explain, why Tx power is transmited each 1s instead 6s.

I try to change period of sensor to 30s, i receive same result. Tx transmit power each 1s.

=> it take so much power, and our production cannot running in target time(2-3 year)

Related