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