Hi!
Is it technically possible to implement performing of unmodulated TX carrier transmission by a write to some BLE characteristic? If yes, then from what to start?
Thank you!
Hi!
Is it technically possible to implement performing of unmodulated TX carrier transmission by a write to some BLE characteristic? If yes, then from what to start?
Thank you!
I guess that you could, as all DTM, radio test functions are available from with the SDK, but you wouldn't be able to receive any BLE communications after doing so.
I've tried this procedure in my project
NRF_RADIO->SHORTS = 0; NRF_RADIO->EVENTS_DISABLED = 0; NRF_RADIO->TASKS_DISABLE = 1; while (NRF_RADIO->EVENTS_DISABLED == 0) { // Do nothing. } NRF_RADIO->EVENTS_DISABLED = 0; // prepare radio NRF_RADIO->SHORTS = RADIO_SHORTS_READY_START_Msk; NRF_RADIO->TXPOWER = (tx_power << RADIO_TXPOWER_TXPOWER_Pos); NRF_RADIO->MODE = (mode << RADIO_MODE_MODE_Pos); // set channel NRF_RADIO->FREQUENCY = channel; // begin NRF_RADIO->TASKS_TXEN = 1;
But getting to a breakpoint with empty call stack in ozone.
If I execute only this in a main function, then it somehow works, though currently I don't have anything to analyze if it was transmitted or not.
I've tried this procedure in my project
NRF_RADIO->SHORTS = 0; NRF_RADIO->EVENTS_DISABLED = 0; NRF_RADIO->TASKS_DISABLE = 1; while (NRF_RADIO->EVENTS_DISABLED == 0) { // Do nothing. } NRF_RADIO->EVENTS_DISABLED = 0; // prepare radio NRF_RADIO->SHORTS = RADIO_SHORTS_READY_START_Msk; NRF_RADIO->TXPOWER = (tx_power << RADIO_TXPOWER_TXPOWER_Pos); NRF_RADIO->MODE = (mode << RADIO_MODE_MODE_Pos); // set channel NRF_RADIO->FREQUENCY = channel; // begin NRF_RADIO->TASKS_TXEN = 1;
But getting to a breakpoint with empty call stack in ozone.
If I execute only this in a main function, then it somehow works, though currently I don't have anything to analyze if it was transmitted or not.
Have a look at the nRF SDK Radio Test Example.
It may be that you can configure a DevKit to detect the unmodulated carrier, although I've not tried it myself.
Yes, I went through this example but it has softdevice disabled.
Yes.
I don't think that you can do what you wish with the SoftDevice enabled.
You'll need to react to data received either through a custom characteristic or over the Nordic BLE UART code, then disable the softdevice to run the radio test code.
I tend to check a gpio line on power-up and switch to my DTM code before SoftDevice start-up. You could check an NVM location to do the same and then after a period erase that NVM location and trigger a reset.