desc="Initiate conversion and buffering of samples on an ADC channel.",
args=
{
"$id$ - ADC channel ID. Optionally, this may be a table containing a list of channel IDs (i.e.: {0, 2, 3}), allowing synchronization of acquisition. NOTE: This acceptance of mixed types is only for the sample function.",
"$count$ - number of samples to acquire and place in buffer."
}
},
{sig="sample = #adc.getsample#( id )",
desc="Get a single conversion value from the buffer associated with a given channel.",
args=
{
"$id$ - ADC channel ID."
},
ret="$sample$ - numeric value of conversion, or nil if sample was not available."
},
{sig="samples = #adc.getsamples#( id, count )",
desc="Get multiple conversion values from the buffer associated with a given channel.",
args=
{
"$id$ - ADC channel ID.",
"$count$ - optional parameter to indicate number of samples to return. If not included, all available samples are returned."
},
ret="$samples$ - table containing integer conversion values. If not enough samples are available, remaining indices will be nil."
desc="Get multiple conversion values from a channel's buffer, and write them into a table.",
args=
{
"$id$ - ADC channel ID.",
"$table$ - table to write samples to. Values at $table$[$idx$] to $table$[$idx$ + $count$ -1] will be overwritten with samples (or nil if not enough samples are available).",
"$idx$ - first index to use in the table for writing samples.",
"$count$ - number of samples to return. If not enough samples are available (after blocking, if enabled) remaining values will be nil."
}
},
{sig="maxval = #adc.maxval#( id )",
desc="Get the maximum value (corresponding to the maximum voltage) that can be returned on a given channel.",
args=
{
"$id$ - ADC channel ID."
},
ret="$maxval$ - maximum integer conversion value (based on channel resolution)"
desc="Set the frequency (number of samples per second) at which voltages will be converted into samples.",
args=
{
"$id$ - ADC channel ID.",
"$clock$ - frequency to acquire samples at in Hz (number of samples per second), 0 to acquire as fast as possible.",
"$timer_id$ - Timer channel ID to use to control ADC conversion. <strong>Note:</strong> At this time, a timer selection will apply to all channels on a given ADC peripheral."
},
ret="$clock$ - actual acquisition frequency to be used"
},
{sig="status = #adc.isdone#( id )",
desc="Check whether samples are still being acquired on a channel.",
args=
{
"$id$ - ADC channel ID."
},
ret="$status$ - 1 if no samples are being acquired, 0 if samples are pending acquisition."
},
{sig="#adc.setblocking#( id, mode )",
desc="Set whether or not functions that request converted samples should wait for requested samples or return immediately with what is available.",
args=
{
"$id$ - ADC channel ID.",
"$mode$ - 1 if requests to get samples should block until requested samples are available or sampling has completed, 0 to return immediately with available samples"
},
},
{sig="#adc.setsmoothing#( id, length )",
desc="Set the length of the moving average filter. When $length$ is greater than 1, samples pulled from the conversion buffer will be averaged with the preceding $length$ - 1 buffered values.",
args=
{
"$id$ - ADC channel ID.",
"$length$ - number of preceding samples to include in moving average filter (must be a power of 2). If 1, filter is disabled. When enabled, a filter buffer is filled before the main conversion buffer, so that averages are always over the same number of samples."