/**************************************************************************//*** * @brief Sets the TX RF bandwidth [Hz]. * * @return None. *******************************************************************************/ void set_tx_rf_bandwidth(double* param, char param_no) // "tx_rf_bandwidth=" command { uint32_t bandwidth_hz; if(param_no >= 1) { bandwidth_hz = param[0]; ad9361_set_tx_rf_bandwidth(ad9361_phy, bandwidth_hz); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the RX FIR state. * * @return None. *******************************************************************************/ void set_rx_fir_en(double* param, char param_no) // "rx_fir_en=" command { uint8_t en_dis; if(param_no >= 1) { en_dis = param[0]; ad9361_set_rx_fir_en_dis(ad9361_phy, en_dis); console_print("rx_fir_en=%d\n", en_dis); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the RX2 RF gain. * * @return None. *******************************************************************************/ void set_rx2_rf_gain(double* param, char param_no) // "rx2_rf_gain=" command { int32_t gain_db; if(param_no >= 1) { gain_db = param[0]; ad9361_set_rx_rf_gain (ad9361_phy, 1, gain_db); console_print("rx2_rf_gain=%d\n", gain_db); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the RX2 GC mode. * * @return None. *******************************************************************************/ void set_rx2_gc_mode(double* param, char param_no) // "rx2_gc_mode=" command { uint8_t gc_mode; if(param_no >= 1) { gc_mode = param[0]; ad9361_set_rx_gain_control_mode(ad9361_phy, 1, gc_mode); console_print("rx2_gc_mode=%d\n", gc_mode); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the DDS TX2 Tone 2 scale. * * @return None. *******************************************************************************/ void set_dds_tx2_tone2_scale(double* param, char param_no) // dds_tx2_tone2_scale= { uint32_t scale = (uint32_t)param[0]; if(param_no >= 1) { dds_set_scale(DDS_CHAN_TX2_I_F2, scale); dds_set_scale(DDS_CHAN_TX2_Q_F2, scale); console_print("dds_tx2_tone2_scale=%d\n", scale); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the TX2 attenuation [mdB]. * * @return None. *******************************************************************************/ void set_tx2_attenuation(double* param, char param_no) // "tx1_attenuation=" command { uint32_t attenuation_mdb; if(param_no >= 1) { attenuation_mdb = param[0]; ad9361_set_tx_attenuation(ad9361_phy, 1, attenuation_mdb); console_print("tx2_attenuation=%d\n", attenuation_mdb); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the DDS TX2 Tone 2 frequency [Hz]. * * @return None. *******************************************************************************/ void set_dds_tx2_tone2_freq(double* param, char param_no) // dds_tx2_tone2_freq= { uint32_t freq = (uint32_t)param[0]; if(param_no >= 1) { dds_set_frequency(DDS_CHAN_TX2_I_F2, freq); dds_set_frequency(DDS_CHAN_TX2_Q_F2, freq); console_print("dds_tx2_tone2_freq=%d\n", freq); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Displays all available commands. * * @return None. *******************************************************************************/ void get_register(double* param, char param_no) // "register?" command { uint16_t reg_addr; uint8_t reg_val; if(param_no >= 1) { reg_addr = param[0]; reg_val = ad9361_spi_read(NULL, reg_addr); console_print("register[0x%x]=0x%x\n", reg_addr, reg_val); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the DDS TX2 Tone 2 scale. * * @return None. *******************************************************************************/ void set_dds_tx2_tone2_scale(double* param, char param_no) // dds_tx2_tone2_scale= { double scale = param[0]; if(param_no >= 1) { dds_set_scale(DDS_CHAN_TX2_I_F2, scale); dds_set_scale(DDS_CHAN_TX2_Q_F2, scale); scale = dds_st.cached_scale[DDS_CHAN_TX2_I_F2]; console_print("dds_tx2_tone2_scale=%f\n", scale); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the DDS TX2 Tone 1 scale. * * @return None. *******************************************************************************/ void set_dds_tx2_tone1_scale(double* param, char param_no) // dds_tx2_tone1_scale= { int32_t scale = (int32_t)param[0]; if(param_no >= 1) { dds_set_scale(ad9361_phy, DDS_CHAN_TX2_I_F1, scale); dds_set_scale(ad9361_phy, DDS_CHAN_TX2_Q_F1, scale); scale = dds_st.cached_scale[DDS_CHAN_TX2_I_F1]; console_print("dds_tx2_tone1_scale=%d\n", scale); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the RX sampling frequency [Hz]. * * @return None. *******************************************************************************/ void set_rx_samp_freq(double* param, char param_no) // "rx_samp_freq=" command { uint32_t sampling_freq_hz; if(param_no >= 1) { sampling_freq_hz = (uint32_t)param[0]; ad9361_set_rx_sampling_freq(ad9361_phy, sampling_freq_hz); ad9361_get_rx_sampling_freq(ad9361_phy, &sampling_freq_hz); dds_update(); console_print("rx_samp_freq=%d\n", sampling_freq_hz); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the DDS TX2 Tone 2 phase [degrees]. * * @return None. *******************************************************************************/ void set_dds_tx2_tone2_phase(double* param, char param_no) // dds_tx2_tone2_phase= { int32_t phase = (uint32_t)param[0]; if(param_no >= 1) { dds_set_phase(DDS_CHAN_TX2_I_F2, (uint32_t)(phase * 1000)); if ((phase - 90) < 0) phase += 360; dds_set_phase(DDS_CHAN_TX2_Q_F2, (uint32_t)((phase - 90) * 1000)); phase = dds_st.cached_phase[DDS_CHAN_TX2_I_F2] / 1000; console_print("dds_tx2_tone2_phase=%d\n", phase); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the DDS TX1 Tone 1 scale. * * @return None. *******************************************************************************/ void set_dds_tx1_tone1_scale(double* param, char param_no) // dds_tx1_tone1_scale= { int32_t scale = (int32_t)param[0]; if (ad9361_phy==0) { console_print ("Error: no AD9361 device selected\n"); return; } if(param_no >= 1) { dds_set_scale(DDS_CHAN_TX1_I_F1, scale, ad9361_phy); dds_set_scale(DDS_CHAN_TX1_Q_F1, scale, ad9361_phy); scale = ad9361_phy->dds_st.cached_scale[DDS_CHAN_TX1_I_F1]; console_print("dds_tx1_tone1_scale=%d\n", scale); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the TX RF bandwidth [Hz]. * * @return None. *******************************************************************************/ void set_tx_rf_bandwidth(double* param, char param_no) // "tx_rf_bandwidth=" command { uint32_t bandwidth_hz; if (ad9361_phy==0) { console_print ("Error: no AD9361 device selected\n"); return; } if(param_no >= 1) { bandwidth_hz = param[0]; ad9361_set_tx_rf_bandwidth(ad9361_phy, bandwidth_hz); } else show_invalid_param_message(1); }
void set_ad_num (double* param, char param_no) { uint32_t adi_num = (uint32_t)param[0]; if(param_no >= 1) { switch (adi_num) { case 0: ad9361_phy = ad9361_phy_0; break; case 1: ad9361_phy = ad9361_phy_1; break; default: ad9361_phy = ad9361_phy_0; break; } // set_spi_ss(ad9361_phy->pcore_id); console_print ("ad_num=%d\n", ad9361_phy->pcore_id); } else show_invalid_param_message(1); };
/**************************************************************************//*** * @brief Sets the DDS TX1 Tone 2 frequency [Hz]. * * @return None. *******************************************************************************/ void set_dds_tx1_tone2_freq(double* param, char param_no) // dds_tx1_tone2_freq= { uint32_t freq = (uint32_t)param[0]; if (ad9361_phy==0) { console_print ("Error: no AD9361 device selected\n"); return; } if(param_no >= 1) { dds_set_frequency(DDS_CHAN_TX1_I_F2, freq, ad9361_phy); dds_set_frequency(DDS_CHAN_TX1_Q_F2, freq, ad9361_phy); console_print("dds_tx1_tone2_freq=%d\n", freq); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the RX FIR state. * * @return None. *******************************************************************************/ void set_rx_fir_en(double* param, char param_no) // "rx_fir_en=" command { uint8_t en_dis; if (ad9361_phy==0) { console_print ("Error: no AD9361 device selected\n"); return; } if(param_no >= 1) { en_dis = param[0]; ad9361_set_rx_fir_en_dis(ad9361_phy, en_dis); console_print("rx_fir_en=%d\n", en_dis); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the RX2 RF gain. * * @return None. *******************************************************************************/ void set_rx2_rf_gain(double* param, char param_no) // "rx2_rf_gain=" command { int32_t gain_db; if (ad9361_phy==0) { console_print ("Error: no AD9361 device selected\n"); return; } if(param_no >= 1) { gain_db = param[0]; ad9361_set_rx_rf_gain (ad9361_phy, 1, gain_db); console_print("rx2_rf_gain=%d\n", gain_db); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the RX2 GC mode. * * @return None. *******************************************************************************/ void set_rx2_gc_mode(double* param, char param_no) // "rx2_gc_mode=" command { uint8_t gc_mode; if (ad9361_phy==0) { console_print ("Error: no AD9361 device selected\n"); return; } if(param_no >= 1) { gc_mode = param[0]; ad9361_set_rx_gain_control_mode(ad9361_phy, 1, gc_mode); console_print("rx2_gc_mode=%d\n", gc_mode); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the TX2 attenuation [mdB]. * * @return None. *******************************************************************************/ void set_tx2_attenuation(double* param, char param_no) // "tx1_attenuation=" command { uint32_t attenuation_mdb; if (ad9361_phy==0) { console_print ("Error: no AD9361 device selected\n"); return; } if(param_no >= 1) { attenuation_mdb = param[0]; ad9361_set_tx_attenuation(ad9361_phy, 1, attenuation_mdb); console_print("tx2_attenuation=%d\n", attenuation_mdb); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the RX sampling frequency [Hz]. * * @return None. *******************************************************************************/ void set_rx_samp_freq(double* param, char param_no) // "rx_samp_freq=" command { uint32_t sampling_freq_hz; if (ad9361_phy==0) { console_print ("Error: no AD9361 device selected\n"); return; } if(param_no >= 1) { sampling_freq_hz = (uint32_t)param[0]; ad9361_set_rx_sampling_freq(ad9361_phy, sampling_freq_hz); ad9361_get_rx_sampling_freq(ad9361_phy, &sampling_freq_hz); dds_update(ad9361_phy); console_print("rx_samp_freq=%d\n", sampling_freq_hz); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Displays all available commands. * * @return None. *******************************************************************************/ void get_register(double* param, char param_no) // "register?" command { uint16_t reg_addr; uint8_t reg_val; if (ad9361_phy==0) { console_print ("Error: no AD9361 device selected\n"); return; } if(param_no >= 1) { reg_addr = param[0]; reg_val = ad9361_spi_read(NULL, reg_addr); console_print("register[0x%x]=0x%x\n", reg_addr, reg_val); } else show_invalid_param_message(1); }
/**************************************************************************//*** * @brief Sets the DDS TX1 Tone 2 phase [degrees]. * * @return None. *******************************************************************************/ void set_dds_tx1_tone2_phase(double* param, char param_no) // dds_tx1_tone2_phase= { int32_t phase = (uint32_t)param[0]; if (ad9361_phy==0) { console_print ("Error: no AD9361 device selected\n"); return; } if(param_no >= 1) { dds_set_phase(DDS_CHAN_TX1_I_F2, (uint32_t)(phase * 1000), ad9361_phy); if ((phase - 90) < 0) phase += 360; dds_set_phase(DDS_CHAN_TX1_Q_F2, (uint32_t)((phase - 90) * 1000), ad9361_phy); phase = ad9361_phy->dds_st.cached_phase[DDS_CHAN_TX1_I_F2] / 1000; console_print("dds_tx1_tone2_phase=%d\n", phase); } else show_invalid_param_message(1); }