This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AWR1243: MMWL_setRfTxPowMonConfig only returns TX0 Power report

Part Number: AWR1243

I am porting the monitor example to Linux, MMWL_setRfTxPowMonConfig only returns TX0 Power report,I can't get the power report for tx1, tx2

int32_t MMWL_setRfTxPowMonConfig(unsigned char deviceMap)
{
    int32_t         retVal;
   // rlTxPowMonConf_t tx0PowrMonCfg = {0};
    rlTxPowMonConf_t tx0PowrMonCfg = { 0, 7, 0, 0, 0, 30, 30, 0, 0 };
  //  rlTxPowMonConf_t tx1PowrMonCfg = {0};
    rlTxPowMonConf_t tx1PowrMonCfg = { 0, 7, 0, 0, 0, 30, 30, 0, 0 };
    rlTxPowMonConf_t tx2PowrMonCfg = { 0, 7, 0, 0, 0, 30, 30, 0, 0 };


    rlAllTxPowMonConf_t data = { &tx0PowrMonCfg, &tx1PowrMonCfg, &tx2PowrMonCfg };


    /* TX Power Monitoring configuration */
    retVal = rlRfTxPowrMonConfig(RL_DEVICE_MAP_CASCADED_1, &data);

    /* Sanity Check: Was the mmWave link successful? */
    if (retVal != 0)
    {
        /* Error: Link reported an issue. */
        printf("Error: rlRfTxPowrMonConfig retVal=%d\n", retVal);
        return -1;
    }

    printf("Debug: Finished information related to TX Power monitor configurations to BSS\n");
    return retVal;
}

  • Hi,

    I have just tried default mmwavelink_monitoring from mmWave DFP 1.2.5.1 version and I can see Tx0, Tx1 and Tx2 Power report.

    I would request you to check the same DFP with AWR1243 ES3.0 silicon version.

    Monitoring report comes as async-event message as RL_RF_AE_MON_TX0_POWER_REPORT, RL_RF_AE_MON_TX1_POWER_REPORT and RL_RF_AE_MON_TX2_POWER_REPORT SBID.

    Regards,

    Jitendra

  • I only enable TX0_POWER_MONITOR_EN,I can see TX0 report. I only enable TX1_POWER_MONITOR_EN,I can see TX1 report.  But I enable TX0_POWER_MONITOR_EN and TX1_POWER_MONITOR_EN,  I can only see TX0 report.

    rlMonAnaEnables_t data =  {
                                    (0 << 0) |      /* TEMPERATURE_MONITOR_EN */               \
                                    (0 << 1) |      /* RX_GAIN_PHASE_MONITOR_EN */             \
                                    (0 << 2) |      /* RX_NOISE_MONITOR_EN */                  \
                                    (0 << 3) |      /* RX_IFSTAGE_MONITOR_EN */                \
                                    (1 << 4) |      /* TX0_POWER_MONITOR_EN */                 \
                                    (0 << 5) |      /* TX1_POWER_MONITOR_EN */                 \
                                    (0 << 7) |      /* TX0_BALLBREAK_MONITOR_EN */             \
                                    (0 << 8) |      /* TX1_BALLBREAK_MONITOR_EN */             \
                                    (1 << 10) |      /* TX_GAIN_PHASE_MONITOR_EN */            \
                                    (0 << 11) |      /* TX0_BPM_MONITOR_EN */                  \
                                    (0 << 12) |      /* TX1_BPM_MONITOR_EN */                  \
                                    (0 << 14) |      /* SYNTH_FREQ_MONITOR_EN */               \
                                    (0 << 15) |      /* EXTERNAL_ANALOG_SIGNALS_MONITOR_EN */  \
                                    (0 << 16) |      /* INTERNAL_TX0_SIGNALS_MONITOR_EN */     \
                                    (0 << 17) |      /* INTERNAL_TX1_SIGNALS_MONITOR_EN */     \
                                    (0 << 19) |      /* INTERNAL_RX_SIGNALS_MONITOR_EN */      \
                                    (0 << 20) |      /* INTERNAL_PMCLKLO_SIGNALS_MONITOR_EN */ \
                                    (0 << 21) |      /* INTERNAL_GPADC_SIGNALS_MONITOR_EN */   \
                                    (0 << 22) |      /* PLL_CONTROL_VOLTAGE_MONITOR_EN */      \
                                    (0 << 23) |      /* DCC_CLOCK_FREQ_MONITOR_EN  */          \
                                    (0 << 24) |      /* RX_IF_SATURATION_MONITOR_EN */         \
                                    (0 << 25) |      /* RX_SIG_IMG_BAND_MONITORING_EN */       \
                                    (0 << 26) |      /* RX_MIXER_INPUT_POWER_MONITOR */        \
                                     0x0 };

  • Hi,

    You have set the wrong bit. Here is the structure I have used and got Tx0 and Tx1 monitoring report.

    rlMonAnaEnables_t data = {
    (0 << 0) | /* TEMPERATURE_MONITOR_EN */ \
    (0 << 1) | /* RX_GAIN_PHASE_MONITOR_EN */ \
    (0 << 2) | /* RX_NOISE_MONITOR_EN */ \
    (0 << 3) | /* RX_IFSTAGE_MONITOR_EN */ \
    (1 << 4) | /* TX0_POWER_MONITOR_EN */ \
    (1 << 5) | /* TX1_POWER_MONITOR_EN */ \
    (0 << 7) | /* TX0_BALLBREAK_MONITOR_EN */ \
    (0 << 8) | /* TX1_BALLBREAK_MONITOR_EN */ \
    (0 << 10) | /* TX_GAIN_PHASE_MONITOR_EN */ \
    (0 << 11) | /* TX0_BPM_MONITOR_EN */ \
    (0 << 12) | /* TX1_BPM_MONITOR_EN */ \
    (0 << 14) | /* SYNTH_FREQ_MONITOR_EN */ \
    (0 << 15) | /* EXTERNAL_ANALOG_SIGNALS_MONITOR_EN */ \
    (0 << 16) | /* INTERNAL_TX0_SIGNALS_MONITOR_EN */ \
    (0 << 17) | /* INTERNAL_TX1_SIGNALS_MONITOR_EN */ \
    (0 << 19) | /* INTERNAL_RX_SIGNALS_MONITOR_EN */ \
    (0 << 20) | /* INTERNAL_PMCLKLO_SIGNALS_MONITOR_EN */ \
    (0 << 21) | /* INTERNAL_GPADC_SIGNALS_MONITOR_EN */ \
    (0 << 22) | /* PLL_CONTROL_VOLTAGE_MONITOR_EN */ \
    (0 << 23) | /* DCC_CLOCK_FREQ_MONITOR_EN */ \
    (0 << 24) | /* RX_IF_SATURATION_MONITOR_EN */ \
    (0 << 25) | /* RX_SIG_IMG_BAND_MONITORING_EN */ \
    (0 << 26) | /* RX_MIXER_INPUT_POWER_MONITOR */ \
    0x0 };

    Regards,

    Jitendra