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

Japan certification for nRF2401, carrier mode only

Sir,

We are using your radio component in our system since many years. We are in the process to get conformity with Japanese rules.

The lab in charge of testing is asking us to continuously emit in carrier mode only , Is this possible ?

We tried a software to send only 0 (no information) but due to your modulation type there is always a modulation with the carrier.

Do you have any factory setting to send only the carrier ?

Do you have a certification of your radio with Japan conformity?

It’s very urgent as we need to deliver product to Japan next month , and the lab is asking one month to proceed.

Thank you in advance for a reply by return.

Kind Regards

Parents
  • static void radio_restart(void)
    {
    	NRF_RADIO->POWER=0;
    	volatile uint32_t dummy=10000;
    	while(dummy--);
    	NRF_RADIO->POWER=1;
    	dummy=10000;
    	while(dummy--);
    
    	if ( ((NRF_FICR->OVERRIDEEN) & FICR_OVERRIDEEN_BLE_1MBIT_Msk) == FICR_OVERRIDEEN_BLE_1MBIT_Override)
    	{
    		NRF_RADIO->OVERRIDE0 = NRF_FICR->BLE_1MBIT[0];
    		NRF_RADIO->OVERRIDE1 = NRF_FICR->BLE_1MBIT[1];
    		NRF_RADIO->OVERRIDE2 = NRF_FICR->BLE_1MBIT[2];
    		NRF_RADIO->OVERRIDE3 = NRF_FICR->BLE_1MBIT[3];
    		NRF_RADIO->OVERRIDE4 = NRF_FICR->BLE_1MBIT[4]| (RADIO_OVERRIDE4_ENABLE_Pos << RADIO_OVERRIDE4_ENABLE_Enabled);
    	}
    }
    
    void radio_tx_carrier(uint8_t txpower, uint8_t mode, uint8_t channel)
    {
    	radio_restart();
    	NRF_RADIO->SHORTS     = RADIO_SHORTS_READY_START_Msk;
    	NRF_RADIO->TXPOWER    = (txpower << RADIO_TXPOWER_TXPOWER_Pos);
    	NRF_RADIO->MODE       = (mode << RADIO_MODE_MODE_Pos);
    	NRF_RADIO->FREQUENCY  = channel;
    	NRF_RADIO->TEST       = (RADIO_TEST_CONSTCARRIER_Enabled << RADIO_TEST_CONSTCARRIER_Pos) | (RADIO_TEST_PLLLOCK_Enabled << RADIO_TEST_PLLLOCK_Pos);
    	NRF_RADIO->TASKS_TXEN = 1;
    }
    
Reply
  • static void radio_restart(void)
    {
    	NRF_RADIO->POWER=0;
    	volatile uint32_t dummy=10000;
    	while(dummy--);
    	NRF_RADIO->POWER=1;
    	dummy=10000;
    	while(dummy--);
    
    	if ( ((NRF_FICR->OVERRIDEEN) & FICR_OVERRIDEEN_BLE_1MBIT_Msk) == FICR_OVERRIDEEN_BLE_1MBIT_Override)
    	{
    		NRF_RADIO->OVERRIDE0 = NRF_FICR->BLE_1MBIT[0];
    		NRF_RADIO->OVERRIDE1 = NRF_FICR->BLE_1MBIT[1];
    		NRF_RADIO->OVERRIDE2 = NRF_FICR->BLE_1MBIT[2];
    		NRF_RADIO->OVERRIDE3 = NRF_FICR->BLE_1MBIT[3];
    		NRF_RADIO->OVERRIDE4 = NRF_FICR->BLE_1MBIT[4]| (RADIO_OVERRIDE4_ENABLE_Pos << RADIO_OVERRIDE4_ENABLE_Enabled);
    	}
    }
    
    void radio_tx_carrier(uint8_t txpower, uint8_t mode, uint8_t channel)
    {
    	radio_restart();
    	NRF_RADIO->SHORTS     = RADIO_SHORTS_READY_START_Msk;
    	NRF_RADIO->TXPOWER    = (txpower << RADIO_TXPOWER_TXPOWER_Pos);
    	NRF_RADIO->MODE       = (mode << RADIO_MODE_MODE_Pos);
    	NRF_RADIO->FREQUENCY  = channel;
    	NRF_RADIO->TEST       = (RADIO_TEST_CONSTCARRIER_Enabled << RADIO_TEST_CONSTCARRIER_Pos) | (RADIO_TEST_PLLLOCK_Enabled << RADIO_TEST_PLLLOCK_Pos);
    	NRF_RADIO->TASKS_TXEN = 1;
    }
    
Children
Related