![]() |
DUNE: Uniform Navigational Environment
2024.09.0
|
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
void | onUpdateParameters (void) |
bool | onConnect () override |
void | onDisconnect () override |
void | onInitializeDevice () override |
void | onEntityResolution (void) |
void | consume (const IMC::EstimatedState *msg) |
void | consume (const IMC::Temperature *msg) |
void | onEntityReservation (void) |
void | setup (void) |
void | startMonitoring (void) |
void | stopMonitoring (void) |
void | disableInChannels (void) |
void | setupInternal (void) |
void | checkDigital (void) |
bool | setSensor (const std::string &cmd, const std::string &option) |
bool | sendCommand (const std::string &cmd) |
bool | sendCommand (const std::string &cmd, const std::string &reply) |
void | dispatchValue (IMC::Message *msg, double value, double factor, double tstamp, bool raw=false, unsigned index=0) |
void | dispatchValue (IMC::Message *msg, double value, double tstamp) |
void | dispatchDepth (unsigned id, double value, double tstamp) |
void | dispatchPH (unsigned id, double value, double tstamp) |
void | dispatchRedox (unsigned id, double value, double tstamp) |
unsigned | getChannels (void) |
bool | onReadData () override |
Public Attributes | |
SerialPort * | m_uart |
IMC::Message * | m_msgs [c_total] |
Counter< double > | m_wdog |
bool | m_slots [c_total] |
double | m_lat |
bool | m_need_setup |
bool | m_ready_cond |
bool | m_ready_sspe |
Arguments | m_args |
Counter< double > | m_temp_wdog |
unsigned | m_temp_eid |
float | m_temp |
Probes | m_probes |
char | m_bfr [255] |
double | m_values [c_total] |
|
inline |
Constructor.
[in] | name | task name. |
[in] | ctx | context. |
References Sensors::MetrecX::Arguments::calbuffer, Sensors::MetrecX::Arguments::elabel_temp, Sensors::MetrecX::Arguments::factors, Sensors::MetrecX::Arguments::geop_anomaly, Sensors::MetrecX::Arguments::input_timeout, Sensors::MetrecX::Arguments::io_dev, Sensors::MetrecX::Arguments::labels, Sensors::MetrecX::Arguments::msgs, Sensors::MetrecX::Arguments::offset, and Sensors::MetrecX::Arguments::slope.
|
inline |
Cross check of what internal channels may be turned on and what channels the user want turned on.
References Sensors::MetrecX::DSF_CONDUCTIVITY, Sensors::MetrecX::DSF_PRESSURE, Sensors::MetrecX::DSF_SV, Sensors::MetrecX::DSF_TEMPERATURE, and Sensors::MetrecX::Arguments::msgs.
|
inline |
|
inline |
|
inline |
Disable all input channels.
|
inline |
Dispatch depth.
[in] | id | entity id. |
[in] | value | depth value. |
[in] | tstamp | current timestamp. |
References Sensors::MetrecX::Arguments::geop_anomaly.
|
inline |
Dispatch pH.
[in] | id | entity id. |
[in] | value | ph reading. |
[in] | tstamp | current timestamp. |
References Sensors::MetrecX::Arguments::calbuffer, Sensors::MetrecX::Arguments::offset, and Sensors::MetrecX::Arguments::slope.
|
inline |
Dispatch Redox.
[in] | id | entity id. |
[in] | value | redox reading. |
[in] | tstamp | current timestamp. |
|
inline |
Dispatch value.
[in] | msg | IMC message. |
[in] | value | measurement value. |
[in] | factor | multiplication factor. |
[in] | tstamp | current timestamp. |
[in] | raw | dispatch raw voltage. |
References Sensors::MetrecX::Probes::conversion(), and Sensors::MetrecX::Arguments::msgs.
|
inline |
Dispatch value.
[in] | msg | IMC message. |
[in] | value | value. |
[in] | tstamp | current timestamp. |
|
inline |
Get active channels.
|
inlineoverride |
Try to connect to the device.
References Sensors::MetrecX::Arguments::io_dev.
|
inlineoverride |
Disconnect from device.
|
inline |
Reserve entities.
References Sensors::MetrecX::Arguments::labels, and Sensors::MetrecX::Arguments::msgs.
|
inline |
References Sensors::MetrecX::Arguments::elabel_temp.
|
inlineoverride |
Device may be initialized.
|
inlineoverride |
Get data from device.
References Sensors::MetrecX::Arguments::factors.
|
inline |
Update internal state with new parameter values.
References Sensors::MetrecX::Arguments::labels, and Sensors::MetrecX::Arguments::msgs.
|
inline |
Send command to device.
[in] | cmd | command. |
|
inline |
Send command to device.
[in] | cmd | command. |
[in] | reply | expected reply. |
|
inline |
Set sensor option.
[in] | cmd | command. |
|
inline |
Setup device.
|
inline |
Setup internal channels.
References Sensors::MetrecX::ICM_DENSITY, Sensors::MetrecX::ICM_SALINITY, and Sensors::MetrecX::ICM_SSPEED.
|
inline |
Start monitoring device.
References Sensors::MetrecX::Arguments::input_timeout.
|
inline |
Stop monitoring device.
char Sensors::MetrecX::Task::m_bfr[255] |
Input buffer.
double Sensors::MetrecX::Task::m_lat |
Vehicle Latitude.
IMC::Message* Sensors::MetrecX::Task::m_msgs[c_total] |
Digital messages.
bool Sensors::MetrecX::Task::m_need_setup |
Waiting setup.
bool Sensors::MetrecX::Task::m_ready_cond |
Ready with conductivity, temperature and pressure.
bool Sensors::MetrecX::Task::m_ready_sspe |
Ready with sound speed, temperature and pressure.
bool Sensors::MetrecX::Task::m_slots[c_total] |
Array of active slots.
float Sensors::MetrecX::Task::m_temp |
Temperature for pH calculation.
unsigned Sensors::MetrecX::Task::m_temp_eid |
Temperature entity id.
Counter<double> Sensors::MetrecX::Task::m_temp_wdog |
Internal temperature presence watchdog.
SerialPort* Sensors::MetrecX::Task::m_uart |
Serial port handle.
double Sensors::MetrecX::Task::m_values[c_total] |
Sensor values.
Counter<double> Sensors::MetrecX::Task::m_wdog |
Task Watchdog.