Other Parts Discussed in Thread: CC2640, , SYSCONFIG
Hi Clément,
On our old MCU CC2640 we used successfully HCI_EXT_ModemTestTxCmd(HCI_EXT_TX_UNMODULATED_CARRIER, TEST_FREQUENCY_2440) to generate and test RF signal.
On our new MCU CC2642R + SDK SimpleLink CC13xx CC26xx [6.10.0.29], this HCI API does not work: locks up, does not return to the calling code. You helped me in the past to resolve this problem and run an API, all in ticket:
e2e.ti.com/.../4535375
The solution in this ticket was to use:
- API: HCI_EXT_EnhancedModemTestTxCmd(HCI_EXT_TX_UNMODULATED_CARRIER, 0, TEST_FREQUENCY_2440); // where 0 is for One_Mbps_Phy
- Also use PTM mode in sysconfig + NPI included in the CCS build, also to remove DEBUG from Compiler pre-defines: needed 'cos PTM is enabled and initializes the UART.
This solution was fine for our previous needs, but now we want to continue to use the UART serial port on CC2642R, and still transmit UNMODULATED_CARRIER on 2440 MHz. Can you suggest a solution for this task?
In PTM mode, if I try to run:
g_UartHandle = UART_open(Board_UART0, &g_UartParams);
I get 0 handle ('cos PTM has already opened the UART?), and the following API locks up:
(void)UARTCC26XX_control(g_UartHandle, UARTCC26XX_RETURN_PARTIAL_ENABLE, NULL);
I tried the following solution but had 2 undefined symbols MRDY_PIN, SRDY_PIN during the build process, in file npi_tl.c (will check them further):
NPI included in the CCS build: in tick box for folders on the left in CCS
Code sequence:
Debug_close(); // release UART
ret = HCI_EXT_EnablePTMCmd(); // to enable RF cmd execution
if (ret == HCI_SUCCESS)
{
HCI_EXT_EnhancedModemTestTxCmd(HCI_EXT_TX_UNMODULATED_CARRIER, 0, EMC_TEST_FREQUENCY_2440); // 0 -> One_Mbps_Phy
. . .
------------------
Any suggestions are very welcome.