void rf_blade_set_rx_cal(void *h, srslte_rf_cal_t *cal) { rf_blade_handler_t *handler = (rf_blade_handler_t*) h; bladerf_set_correction(handler->dev, BLADERF_MODULE_RX, BLADERF_CORR_FPGA_PHASE, cal->dc_gain); bladerf_set_correction(handler->dev, BLADERF_MODULE_RX, BLADERF_CORR_FPGA_GAIN, cal->dc_phase); bladerf_set_correction(handler->dev, BLADERF_MODULE_RX, BLADERF_CORR_LMS_DCOFF_I, cal->iq_i); bladerf_set_correction(handler->dev, BLADERF_MODULE_RX, BLADERF_CORR_LMS_DCOFF_Q, cal->iq_q); }
static inline int set_rx_dc_corr(struct bladerf *dev, int16_t i, int16_t q) { int status; status = bladerf_set_correction(dev, BLADERF_MODULE_RX, BLADERF_CORR_LMS_DCOFF_I, i); if (status != 0) { return status; } status = bladerf_set_correction(dev, BLADERF_MODULE_RX, BLADERF_CORR_LMS_DCOFF_Q, q); return status; }
static inline int set_dc(struct bladerf *dev, bladerf_module module, int16_t dc_i, int16_t dc_q) { int status; status = bladerf_set_correction(dev, module, BLADERF_CORR_LMS_DCOFF_I, dc_i); if (status != 0) { return status; } status = bladerf_set_correction(dev, module, BLADERF_CORR_LMS_DCOFF_Q, dc_q); if (status != 0) { return status; } return 0; }