Skip to main content

Class Exo

Represents a YSI EXO multiparameter water quality sonde with Modbus RTU communication.

Assembly: Ysi.Exo.dll
View Source
Declaration
public class Exo

Properties

Address

Gets the Modbus address of the EXO device.

View Source
Declaration
public byte Address { get; }

Fields

DefaultModbusAddress

The default Modbus address for EXO devices.

View Source
Declaration
public const byte DefaultModbusAddress = 1

DefaultBaudRate

The default baud rate for communication with EXO devices.

View Source
Declaration
public const int DefaultBaudRate = 9600

Methods

SetSamplePeriod(TimeSpan)

Sets the sample period for the EXO device.

View Source
Declaration
public Task SetSamplePeriod(TimeSpan period)
Returns

System.Threading.Tasks.Task: A task representing the asynchronous operation.

Parameters
TypeNameDescription
System.TimeSpanperiodThe time period between automatic samples.

ForceSample()

Forces the EXO device to immediately take a sample.

View Source
Declaration
public Task ForceSample()
Returns

System.Threading.Tasks.Task: A task representing the asynchronous operation.### ForceWipe() Forces the EXO device to perform a wipe operation on its sensors.

View Source
Declaration
public Task ForceWipe()
Returns

System.Threading.Tasks.Task: A task representing the asynchronous operation.### GetSamplePeriod() Gets the current sample period from the EXO device.

View Source
Declaration
public Task<TimeSpan> GetSamplePeriod()
Returns

System.Threading.Tasks.Task<System.TimeSpan>: A task representing the asynchronous operation that returns the sample period as a TimeSpan.### GetParametersToRead() Gets the parameter codes that are currently configured to be read from the EXO device.

View Source
Declaration
public Task<ParameterCode[]> GetParametersToRead()
Returns

System.Threading.Tasks.Task<Meadow.Foundation.Sensors.Environmental.Ysi.ParameterCode[]>: A task representing the asynchronous operation that returns an array of parameter codes.### GetCurrentData() Gets the current sensor data from the EXO device for all configured parameters.

View Source
Declaration
public Task<(ParameterCode ParameterCode, object Value)[]> GetCurrentData()
Returns

System.Threading.Tasks.Task<System.ValueTuple<Meadow.Foundation.Sensors.Environmental.Ysi.ParameterCode,System.Object>[]>: A task representing the asynchronous operation that returns an array of tuples containing parameter codes and their corresponding values.### SetParametersToRead(ParameterCode[]) Sets the parameters to read from the EXO device.

View Source
Declaration
public Task SetParametersToRead(ParameterCode[] parameters)
Returns

System.Threading.Tasks.Task: A task representing the asynchronous operation.

Parameters
TypeNameDescription
Meadow.Foundation.Sensors.Environmental.Ysi.ParameterCode[]parametersAn array of parameter codes to read. Maximum of 32 parameters.
Exceptions

System.ArgumentOutOfRangeException
Thrown when more than 32 parameters are specified.

GetParameterStatus()

Gets the status of all parameters from the EXO device.

View Source
Declaration
public Task<Exo.ParameterStatus[]> GetParameterStatus()
Returns

System.Threading.Tasks.Task<Meadow.Foundation.Sensors.Environmental.Ysi.Exo.ParameterStatus[]>: A task representing the asynchronous operation that returns an array of parameter status values.