@@ -29,20 +29,29 @@ public class BreakoutAnalogOutput : Sink<Mat>
2929 /// Gets or sets the data type used to represent analog samples.
3030 /// </summary>
3131 /// <remarks>
32- /// If <see cref="BreakoutAnalogIODataType.S16"/> is selected, each DAC value is represented by a signed, twos-complement encoded
33- /// 16-bit integer. In this case, the output voltage always corresponds to <see cref="BreakoutAnalogIOVoltageRange.TenVolts"/>.
34- /// When <see cref="BreakoutAnalogIODataType.Volts"/> is selected, 32-bit floating point voltages between -10 and 10 volts are sent
35- /// directly to the DACs.
32+ /// If <see cref="BreakoutAnalogIODataType.S16"/> is selected, each DAC value is represented by a
33+ /// signed, twos-complement encoded 16-bit integer. In this case, the output voltage always
34+ /// corresponds to <see cref="BreakoutAnalogIOVoltageRange.TenVolts"/>. When <see
35+ /// cref="BreakoutAnalogIODataType.Volts"/> is selected, 32-bit floating point voltages between -10
36+ /// and 10 volts are sent directly to the DACs.
3637 /// </remarks>
3738 [ Description ( "The data type used to represent analog samples." ) ]
3839 [ Category ( DeviceFactory . ConfigurationCategory ) ]
3940 public BreakoutAnalogIODataType DataType { get ; set ; } = BreakoutAnalogIODataType . S16 ;
4041
4142 /// <summary>
42- /// Send samples to analog outputs.
43+ /// Send an matrix of samples to all enabled analog outputs.
4344 /// </summary>
44- /// <param name="source"> A sequence of 12xN sample matrices containing the analog data to write to channels 0 to 11.</param>
45- /// <returns> A sequence of 12xN sample matrices containing the analog data that were written to channels 0 to 11.</returns>
45+ /// <remarks>
46+ /// If a matrix contains multiple samples, they will be written to hardware as quickly as
47+ /// communication allows. The data within each input matrix must have <see cref="Depth.S16"/> when
48+ /// <c>DataType</c> is set to <see cref="BreakoutAnalogIODataType.S16"/> or <see cref="Depth.F32"/>
49+ /// when <c>DataType</c> is set to <see cref="BreakoutAnalogIODataType.Volts"/>.
50+ /// </remarks>
51+ /// <param name="source"> A sequence of 12xN sample matrices containing the analog data to write to
52+ /// channels 0 to 11.</param>
53+ /// <returns> A sequence of 12xN sample matrices containing the analog data that were written to
54+ /// channels 0 to 11.</returns>
4655 public override unsafe IObservable < Mat > Process ( IObservable < Mat > source )
4756 {
4857 var dataType = DataType ;
@@ -103,10 +112,17 @@ public override unsafe IObservable<Mat> Process(IObservable<Mat> source)
103112 }
104113
105114 /// <summary>
106- /// Send samples to analog outputs.
115+ /// Send an 12-element array of values to update all enabled analog outputs.
107116 /// </summary>
108- /// <param name="source"> A sequence of 12x1 element arrays each containing the analog data to write to channels 0 to 11.</param>
109- /// <returns> A sequence of 12x1 element arrays each containing the analog data to write to channels 0 to 11.</returns>
117+ /// <remarks>
118+ /// This overload should be used when <c>DataType</c> is set to <see
119+ /// cref="BreakoutAnalogIODataType.S16"/> and values should be within -32,768 to 32,767, which
120+ /// correspond to -10.0 to 10.0 volts.
121+ /// </remarks>
122+ /// <param name="source"> A sequence of 12x1 element arrays each containing the analog data to write
123+ /// to channels 0 to 11.</param>
124+ /// <returns> A sequence of 12x1 element arrays each containing the analog data to write to channels 0
125+ /// to 11.</returns>
110126 public IObservable < short [ ] > Process ( IObservable < short [ ] > source )
111127 {
112128 if ( DataType != BreakoutAnalogIODataType . S16 )
@@ -130,10 +146,16 @@ public IObservable<short[]> Process(IObservable<short[]> source)
130146 }
131147
132148 /// <summary>
133- /// Send samples to analog outputs.
149+ /// Send an 12-element array of values to update all enabled analog outputs.
134150 /// </summary>
135- /// <param name="source"> A sequence of 12x1 element arrays each containing the analog data to write to channels 0 to 11.</param>
136- /// <returns> A sequence of 12x1 element arrays each containing the analog data to write to channels 0 to 11.</returns>
151+ /// <remarks>
152+ /// This overload should be used when <c>DataType</c> is set to <see
153+ /// cref="BreakoutAnalogIODataType.Volts"/> and values should be within -10.0 to 10.0 volts.
154+ /// </remarks>
155+ /// <param name="source"> A sequence of 12x1 element arrays each containing the analog data to write
156+ /// to channels 0 to 11.</param>
157+ /// <returns> A sequence of 12x1 element arrays each containing the analog data to write to channels 0
158+ /// to 11.</returns>
137159 public IObservable < float [ ] > Process ( IObservable < float [ ] > source )
138160 {
139161 if ( DataType != BreakoutAnalogIODataType . Volts )
0 commit comments