The threshold levels and delay values are configured using the RFdc driver API.
// Initial Setup
XRFdc_Threshold_Settings Threshold_Settings;
Threshold_Settings.UpdateThreshold = XRFDC_UPDATE_THRESHOLD_BOTH; // Setup values for threshold 0 and 1
Threshold_Settings.ThresholdMode[0] = XRFDC_TRSHD_STICKY_UNDER; // Set threshold0 mode to Sticky Under
Threshold_Settings.ThresholdUnderVal[0] = 1000; // Measured in 14-bit unsigned LSBs
Threshold_Settings.ThresholdAvgVal[0] = 10; // Data must be below lower threshold for 10*8 4 GSPS RF-ADC samples
// Write threshold values to the selected tile/RF-ADC
XRFdc_SetThresholdSettings(ptr, Tile, Block, &Threshold_Settings);
The threshold clear operation is shown in the following code examples.
- Clear the thresholds by writing directly using the RFdc driver
API:
// Initial Setup XRFdc_SetThresholdClrMode(ptr, Tile, Block, Threshold, XRFDC_THRESHOLD_CLRMD_MANUAL_CLR); .... // During application run-time (after a threshold asserts) XRFdc_ThresholdStickyClear(ptr, Tile, Block, Threshold);
- Clear the thresholds using the AutoClear function; the threshold
clears with the QMC Gain
Update:
// Initial Setup XRFdc_QMC_Settings QMC_Settings; XRFdc_SetThresholdClrMode(ptr, Tile, Block, Threshold, XRFDC_THRESHOLD_CLRMD_AUTO_CLR); .... // During application run-time (after a threshold asserts - update t) QMC_Settings.GainCorrectionFactor = new_gain_value; XRFdc_SetQMCSettings(ptr, XRFDC_ADC_TILE, Tile, Block, &QMC_Settings); ... // QMC Gain applied by an Update Event