Skip to main content
Associate II
January 27, 2026
Question

What are the differences in SubGHz calibration processing between STOP2 mode and Sleep mode?

  • January 27, 2026
  • 1 reply
  • 163 views

I found in my tests that for the same sequence of operations (Radio.SetChannel -> Radio.RadioSetTxGenericConfig -> Radio.Send), the time required differs significantly between waking up from STOP2 sleep mode and waking up from Sleep mode.

 

Here is Radio workflow:

Startup -> Sleep -> Calibration -> Standby

 

Here is the test code, with two additional modifications.

void app_fsk_send(void)
{
 if (!s_radio_init_flag) {
 Radio.Init(&s_radio_events);
 s_radio_init_flag = true;
 }

 TxConfigGeneric_t tx_config;

 uint8_t syncword[] = {0xC1, 0x94, 0xC1, 0x00, 0x00, 0x00, 0x00, 0x00};

 if (!s_radio_init_flag) {
 Radio.Init(&s_radio_events);
 s_radio_init_flag = true;
 }

 priv_prbs9_generator(s_payload, 16);

 tx_config.fsk.ModulationShaping = RADIO_FSK_MOD_SHAPING_G_BT_1;
 tx_config.fsk.FrequencyDeviation = 40000;
 tx_config.fsk.BitRate = 100000; /* BitRate */
 tx_config.fsk.PreambleLen = 4; /* in Byte */
 tx_config.fsk.SyncWordLength = 3; /* in Byte */
 tx_config.fsk.SyncWord = syncword; /* SyncWord Buffer */
 tx_config.fsk.whiteSeed = 0; /* WhiteningSeed */
 tx_config.fsk.HeaderType = RADIO_FSK_PACKET_VARIABLE_LENGTH; /* If the header is explicit, it will be transmitted in the GFSK packet. If the header is implicit, it will not be transmitted */
 tx_config.fsk.CrcLength = RADIO_FSK_CRC_OFF; /* Size of the CRC block in the GFSK packet */
 tx_config.fsk.CrcPolynomial = 0;
 tx_config.fsk.Whitening = RADIO_FSK_DC_FREE_OFF;

 UTIL_TIMER_Time_t t1 = UTIL_TIMER_GetCurrentTime();

 Radio.SetChannel(868950000);
 Radio.RadioSetTxGenericConfig(GENERIC_FSK, &tx_config, 14, 5000);
 Radio.Send(s_payload, 16);

 UTIL_TIMER_Time_t t2 = UTIL_TIMER_GetCurrentTime();

 APP_PRINTF("cost %d ms\r\n", t2 - t1);

 UTIL_SEQ_WaitEvt(1 << CFG_SEQ_Evt_RadioOnTstRF);
 Radio.Sleep();

 if (s_tx_flag == 1) {
 APP_PRINTF("tx timeout\r\n");
 }
 s_tx_flag = 0;
}

different1.png

 

different2.png

 

Here is the test results:

1. Radio.Sleep with  STOP2 mode,each transmission test costs 36 ms.

radio sleep with STOP2radio sleep with STOP2

2. Radio.Sleep with  SLEEP mode,each transmission test costs 4-6 ms.

radio sleep with SLEEPradio sleep with SLEEP

3. Radio.Standby with  STOP2 mode,the first transmission test cost 35 ms, after that, each transmission test costs 5-6 ms.

radio standby with STOP2radio standby with STOP2

4. Radio.Standby with  SLEEP mode,the first transmission test cost 6 ms, after that, each transmission test costs 1 ms.

radio standby with SLEEPradio standby with SLEEP

 

 

1 reply

ZeepuntAuthor
Associate II
January 27, 2026

MCU:STM32WLE5CCU6 with SubGHz