lockin-external: add doc
This commit is contained in:
parent
bd71136cdf
commit
e423eff0e2
|
@ -83,24 +83,13 @@ const APP: () = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Main DSP processing routine for Stabilizer.
|
/// Main DSP processing routine.
|
||||||
///
|
///
|
||||||
/// # Note
|
/// See `dual-iir` for general notes on processing time and timing.
|
||||||
/// Processing time for the DSP application code is bounded by the following constraints:
|
|
||||||
///
|
///
|
||||||
/// DSP application code starts after the ADC has generated a batch of samples and must be
|
/// This is an implementation of a externally (DI0) referenced PLL lockin on the ADC0 signal.
|
||||||
/// completed by the time the next batch of ADC samples has been acquired (plus the FIFO buffer
|
/// It outputs either I/Q or power/phase on DAC0/DAC1. Data is normalized to full scale.
|
||||||
/// time). If this constraint is not met, firmware will panic due to an ADC input overrun.
|
/// PLL bandwidth, filter bandwidth, slope, and x/y or power/phase post-filters are available.
|
||||||
///
|
|
||||||
/// The DSP application code must also fill out the next DAC output buffer in time such that the
|
|
||||||
/// DAC can switch to it when it has completed the current buffer. If this constraint is not met
|
|
||||||
/// it's possible that old DAC codes will be generated on the output and the output samples will
|
|
||||||
/// be delayed by 1 batch.
|
|
||||||
///
|
|
||||||
/// Because the ADC and DAC operate at the same rate, these two constraints actually implement
|
|
||||||
/// the same time bounds, meeting one also means the other is also met.
|
|
||||||
///
|
|
||||||
/// TODO: document lockin
|
|
||||||
#[task(binds=DMA1_STR4, resources=[adcs, dacs, iir_state, iir_ch, lockin, timestamper, pll], priority=2)]
|
#[task(binds=DMA1_STR4, resources=[adcs, dacs, iir_state, iir_ch, lockin, timestamper, pll], priority=2)]
|
||||||
fn process(c: process::Context) {
|
fn process(c: process::Context) {
|
||||||
let adc_samples = [
|
let adc_samples = [
|
||||||
|
|
Loading…
Reference in New Issue