123
Fork of LG by
Diff: DevicePLCS.h
- Revision:
- 173:7f938afb0447
- Parent:
- 167:bedc0a9d559a
- Child:
- 177:672ef279c8e0
--- a/DevicePLCS.h Fri Jun 17 13:54:50 2016 +0000 +++ b/DevicePLCS.h Sun Jun 19 03:54:35 2016 +0000 @@ -1,32 +1,6 @@ #ifndef __DEVICE_PLCS_H__ #define __DEVICE_PLCS_H__ -//Path length control system sequencer typedefs -typedef struct _DevicePLCSSequencerSettings { - uint8_t enabled; //Enable sequence generation - uint8_t analog; //Modulate analog (voltage) output - uint8_t logic; //Modulate logic (GPIO pin) output - int32_t amplitude; //Generator analog output amplitude - volts in 16.16 format - int32_t sequence[64]; //Generator sequence - dimensionless units -1...+1 in 16.16 format - uint8_t position[2]; //Sequence position -} DevicePLCSSequencerSettings; - -typedef struct _DevicePLCSSequencerState { - uint8_t enabled; //Enable sequence generation - //uint8_t counter; //Sequence counter: sequence position = device.measurement.counter + device.measurement.length * device.plcs.sequencer.counter - uint8_t analog; //Modulate analog (voltage) output - uint8_t logic; //Modulate logic (GPIO pin) output - uint32_t amplitude; //Generator analog output amplitude - volts in 16.16 format - uint8_t position[2]; //Sequence position - uint32_t sample[2]; //Sequencer analog output = sequence[]: current/delayed - dimensionless units -1...+1 in 16.16 format - uint32_t voltage; //Sequencer analog output = sequence[] * amplitude - volts in 16.16 format -} DevicePLCSSequencerState; - -typedef struct _DevicePLCSSequencer { - DevicePLCSSequencerSettings settings; - DevicePLCSSequencerState state; -} DevicePLCSSequencer; - //Path length control system phase feedback typedefs typedef struct _DevicePLCSFeedbackTransferFunction { uint32_t points; //Number of actual control points (up to 16) @@ -165,12 +139,14 @@ typedef struct _DevicePLCSOutputSettings { uint8_t enabled; //Enable DAC output + uint8_t sequencer; //Enable sequencer output summation DevicePLCSOutputStart start; DevicePLCSOutputTransferFunction transfer; } DevicePLCSOutputSettings; typedef struct _DevicePLCSOutputState { uint8_t enabled; //Enable DAC output + uint8_t sequencer; //Enable sequencer output summation uint32_t voltage; //Voltage output uint32_t code; //Code output } DevicePLCSOutputState; @@ -184,7 +160,7 @@ // Information signal amplitude ADC: device.controller.SSP.ADC[4] // Path length control system DAC: device.controller.SSP.DAC[1] typedef struct _DevicePathLengthControlSystem { - DevicePLCSSequencer sequencer; + //DevicePLCSSequencer sequencer; DevicePLCSFeedback feedback; DevicePLCSReference reference; DevicePLCSDetector detector;