DUNE: Uniform Navigational Environment
2.4.2
|
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
void | onUpdateParameters (void) |
void | onResourceRelease (void) |
void | onResourceAcquisition (void) |
void | onResourceInitialization (void) |
bool | readString (char *bfr, unsigned bfr_len, double timeout=1.0) |
void | stopSampling (void) |
void | getCalibration (void) |
void | setParameters (void) |
void | startSampling (void) |
double | applyCoefficients (int coeffs, double value) |
double | computeConductivity (void) |
double | computeTemperature (void) |
double | computePressure (void) |
void | onMain (void) |
Public Member Functions inherited from DUNE::Tasks::Task | |
Task (const std::string &name, Context &context) | |
virtual | ~Task (void) |
const char * | getName (void) const |
const char * | getSystemName (void) const |
unsigned int | getSystemId (void) const |
unsigned int | getEntityId (void) const |
uint16_t | getActivationTime (void) const |
uint16_t | getDeactivationTime (void) const |
unsigned int | resolveSystemName (const std::string &name) const |
const char * | resolveSystemId (unsigned int id) const |
void | loadConfig (void) |
void | setPriority (unsigned int value) |
unsigned int | getPriority (void) const |
void | inf (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void | war (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void | err (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void | cri (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void | debug (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void void | trace (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void void void | spew (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void void void void | dispatch (IMC::Message *msg, unsigned int flags=0) |
void | dispatch (IMC::Message &msg, unsigned int flags=0) |
void | dispatchReply (const IMC::Message &original, IMC::Message &msg, unsigned int flags=0) |
void | receive (const IMC::Message *msg) |
void | reserveEntities (void) |
void | resolveEntities (void) |
void | acquireResources (void) |
void | releaseResources (void) |
void | initializeResources (void) |
void | updateParameters (bool act_deact=true) |
void | writeParamsXML (std::ostream &os) const |
Public Member Functions inherited from DUNE::Tasks::AbstractTask | |
AbstractTask (void) | |
virtual | ~AbstractTask (void) |
Public Member Functions inherited from DUNE::Concurrency::Thread | |
Thread (void) | |
virtual | ~Thread (void) |
int | getProcessorUsage (void) |
Public Member Functions inherited from DUNE::Concurrency::Runnable | |
Runnable (void) | |
virtual | ~Runnable (void) |
void | start (void) |
void | stop (void) |
void | join (void) |
void | stopAndJoin (void) |
void | setPriority (Scheduler::Policy policy, unsigned priority) |
State | getState (void) |
bool | isCreated (void) |
bool | isStopping (void) |
bool | isRunning (void) |
bool | isStarting (void) |
bool | isDead (void) |
Public Attributes | |
SerialPort * | m_uart |
char | m_bfr [256] |
IMC::Conductivity | m_cond |
IMC::Salinity | m_sali |
IMC::SoundSpeed | m_sspe |
IMC::Temperature | m_temp |
IMC::Pressure | m_pres |
IMC::Depth | m_depth |
Math::MovingAverage< double > * | m_avg_sspeed |
Time::Counter< float > | m_sspeed_timer |
Parser | m_parser |
double | m_coeffs [3][4] |
Arguments | m_args |
bool | m_wait_sample |
Counter< double > | m_wdog |
Additional Inherited Members | |
Public Types inherited from DUNE::Concurrency::Runnable | |
enum | State { StateStarting, StateRunning, StateStopping, StateDead, StateUnknown } |
Protected Member Functions inherited from DUNE::Tasks::Task | |
const char * | getEntityLabel (void) const |
void | setEntityLabel (const std::string &label) |
void | setEntityState (IMC::EntityState::StateEnum state, Status::Code code) |
void | setEntityState (IMC::EntityState::StateEnum state, const std::string &description) |
IMC::EntityState::StateEnum | getEntityState (void) const |
unsigned int | reserveEntity (const std::string &label) |
unsigned int | resolveEntity (const std::string &label) const |
std::string | resolveEntity (unsigned int id) const |
bool | stopping (void) |
bool | isActive (void) const |
void | waitForMessages (double timeout) |
void | consumeMessages (void) |
template<typename T > | |
Parameter & | param (const std::string &name, T &var) |
template<typename Y , typename T > | |
Parameter & | param (const std::string &name, T &var) |
template<typename T > | |
bool | paramChanged (T &var) |
void | paramActive (Parameter::Scope def_scope, Parameter::Visibility def_visibility, bool def_value=false) |
void | setParamSectionEditor (const std::string &name) |
template<typename M , typename T > | |
void | bind (T *task_obj, void(T::*consumer)(const M *)=&T::consume) |
template<typename T > | |
void | bind (T *task_obj, const std::vector< uint32_t > &list) |
template<typename T > | |
void | bind (T *task_obj, const std::vector< std::string > &list) |
void | requestActivation (void) |
void | requestDeactivation (void) |
void | activate (void) |
void | activationFailed (const std::string &reason) |
void | deactivate (void) |
void | deactivationFailed (const std::string &reason) |
virtual void | onEntityReservation (void) |
virtual void | onEntityResolution (void) |
virtual void | onReportEntityState (void) |
virtual void | onRequestActivation (void) |
virtual void | onRequestDeactivation (void) |
virtual void | onActivation (void) |
virtual void | onDeactivation (void) |
Protected Member Functions inherited from DUNE::Concurrency::Thread | |
void | startImpl (void) |
void | stopImpl (void) |
void | joinImpl (void) |
void | setPriorityImpl (Scheduler::Policy policy, unsigned priority) |
Protected Attributes inherited from DUNE::Tasks::Task | |
Context & | m_ctx |
|
inline |
|
inline |
Define measurement coefficients.
[in] | coeffs | index. |
[in] | value | multiplier constant. |
References m_coeffs.
Referenced by computeConductivity(), computePressure(), and computeTemperature().
|
inline |
Compute conductivity.
References applyCoefficients(), Sensors::XR620CTD::CHN_CONDUCTIVITY, Sensors::XR620CTD::Parser::getDataField(), and m_parser.
Referenced by onMain().
|
inline |
Compute pressure.
References applyCoefficients(), Sensors::XR620CTD::CHN_PRESSURE, Sensors::XR620CTD::Parser::getDataField(), and m_parser.
Referenced by onMain().
|
inline |
Compute temperature.
References applyCoefficients(), Sensors::XR620CTD::CHN_TEMPERATURE, Sensors::XR620CTD::Parser::getDataField(), and m_parser.
Referenced by onMain().
|
inline |
Get calibration from the device.
References Sensors::XR620CTD::CHN_CONDUCTIVITY, Sensors::XR620CTD::CHN_PRESSURE, Sensors::XR620CTD::CHN_TEMPERATURE, DUNE::Tasks::Task::consumeMessages(), m_bfr, m_coeffs, m_uart, Sensors::XR620CTD::Parser::readDoubleFromASCII(), readString(), and DUNE::Tasks::Task::stopping().
Referenced by onResourceInitialization().
|
inlinevirtual |
Implements DUNE::Tasks::Task.
References computeConductivity(), computePressure(), computeTemperature(), DUNE::Tasks::Task::consumeMessages(), DUNE::Tasks::Task::dispatch(), DUNE::Tasks::Task::err(), DUNE::Tasks::Task::getEntityState(), m_avg_sspeed, m_bfr, m_cond, m_depth, m_parser, m_pres, m_sali, m_sspe, m_sspeed_timer, m_temp, m_uart, m_wait_sample, m_wdog, DUNE::Time::Counter< T >::overflow(), Sensors::XR620CTD::Parser::parse(), DUNE::Time::Counter< T >::reset(), DUNE::Tasks::Task::setEntityState(), and DUNE::Tasks::Task::stopping().
|
inlinevirtual |
Acquire resources.
Reimplemented from DUNE::Tasks::Task.
References m_args, m_uart, m_wdog, DUNE::Time::Counter< T >::setTop(), Sensors::XR620CTD::Arguments::uart_baud, and Sensors::XR620CTD::Arguments::uart_dev.
|
inlinevirtual |
Initialize resources.
Reimplemented from DUNE::Tasks::Task.
References Sensors::XR620CTD::Arguments::avg_ss_samples, getCalibration(), m_args, m_avg_sspeed, m_uart, m_wait_sample, setParameters(), startSampling(), and stopSampling().
|
inlinevirtual |
Release allocated resources.
Reimplemented from DUNE::Tasks::Task.
References m_avg_sspeed, and m_uart.
|
inlinevirtual |
Update parameters.
Reimplemented from DUNE::Tasks::Task.
References m_args, m_sspeed_timer, and Sensors::XR620CTD::Arguments::output_freq.
|
inline |
Read string from serial port.
[in] | bfr | pointer to data buffer. |
[in] | bfr_len | length of the data buffer. |
[in] | timeout | incoming data timeout. |
References m_uart.
Referenced by getCalibration(), setParameters(), and stopSampling().
|
inline |
Set device parameters.
References Sensors::XR620CTD::SetupCommands::cmd_get, Sensors::XR620CTD::SetupCommands::cmd_rpl, Sensors::XR620CTD::SetupCommands::cmd_set, DUNE::Tasks::Task::consumeMessages(), m_bfr, m_uart, readString(), and DUNE::Tasks::Task::stopping().
Referenced by onResourceInitialization().
|
inline |
Start sampling data.
References m_uart, m_wait_sample, and DUNE::Tasks::Task::setEntityState().
Referenced by onResourceInitialization().
|
inline |
Stop sampling device.
References DUNE::Tasks::Task::consumeMessages(), m_bfr, m_uart, readString(), DUNE::Tasks::Task::setEntityState(), and DUNE::Tasks::Task::stopping().
Referenced by onResourceInitialization().
Arguments Sensors::XR620CTD::Task::m_args |
Task arguments.
Referenced by onResourceAcquisition(), onResourceInitialization(), onUpdateParameters(), and Task().
Math::MovingAverage<double>* Sensors::XR620CTD::Task::m_avg_sspeed |
Sound Speed Moving Average.
Referenced by onMain(), onResourceInitialization(), and onResourceRelease().
char Sensors::XR620CTD::Task::m_bfr[256] |
Scratch buffer.
Referenced by getCalibration(), onMain(), setParameters(), and stopSampling().
double Sensors::XR620CTD::Task::m_coeffs[3][4] |
Channel Coefficients.
Referenced by applyCoefficients(), and getCalibration().
IMC::Conductivity Sensors::XR620CTD::Task::m_cond |
Conductivity.
Referenced by onMain().
IMC::Depth Sensors::XR620CTD::Task::m_depth |
Depth.
Referenced by onMain().
Parser Sensors::XR620CTD::Task::m_parser |
Referenced by computeConductivity(), computePressure(), computeTemperature(), and onMain().
IMC::Pressure Sensors::XR620CTD::Task::m_pres |
Pressure.
Referenced by onMain().
IMC::Salinity Sensors::XR620CTD::Task::m_sali |
Salinity.
Referenced by onMain().
IMC::SoundSpeed Sensors::XR620CTD::Task::m_sspe |
Sound speed.
Referenced by onMain().
Time::Counter<float> Sensors::XR620CTD::Task::m_sspeed_timer |
Counter to output Speed of Sound.
Referenced by onMain(), and onUpdateParameters().
IMC::Temperature Sensors::XR620CTD::Task::m_temp |
Temperature.
Referenced by onMain().
SerialPort* Sensors::XR620CTD::Task::m_uart |
Serial port device.
Referenced by getCalibration(), onMain(), onResourceAcquisition(), onResourceInitialization(), onResourceRelease(), readString(), setParameters(), startSampling(), and stopSampling().
bool Sensors::XR620CTD::Task::m_wait_sample |
Waiting first sample.
Referenced by onMain(), onResourceInitialization(), and startSampling().
Counter<double> Sensors::XR620CTD::Task::m_wdog |
Input watchdog.
Referenced by onMain(), and onResourceAcquisition().