DUNE: Uniform Navigational Environment  2.6.0-rc1
Sensors::XR620CTD::Task Struct Reference

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
 
unsigned int resolveEntity (const std::string &label) const
 
std::string resolveEntity (unsigned int id) 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)
 
bool stopping (void)
 
bool isActive (void) const
 
bool isActivating (void) const
 
bool isDeactivating (void) const
 
void waitForMessages (double timeout)
 
void consumeMessages (void)
 
template<typename T >
Parameterparam (const std::string &name, T &var)
 
template<typename Y , typename T >
Parameterparam (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 , typename M >
void bind (T *task_obj, const std::vector< uint32_t > &list, void(T::*consumer)(const M *)=&T::consume)
 
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
Contextm_ctx
 

Constructor & Destructor Documentation

Member Function Documentation

double Sensors::XR620CTD::Task::applyCoefficients ( int  coeffs,
double  value 
)
inline

Define measurement coefficients.

Parameters
[in]coeffsindex.
[in]valuemultiplier constant.
Returns
output value.

References m_coeffs.

Referenced by computeConductivity(), computePressure(), and computeTemperature().

double Sensors::XR620CTD::Task::computeConductivity ( void  )
inline

Compute conductivity.

Returns
conductivity value.

References applyCoefficients(), Sensors::XR620CTD::CHN_CONDUCTIVITY, Sensors::XR620CTD::Parser::getDataField(), and m_parser.

Referenced by onMain().

double Sensors::XR620CTD::Task::computePressure ( void  )
inline

Compute pressure.

Returns
pressure value.

References applyCoefficients(), Sensors::XR620CTD::CHN_PRESSURE, Sensors::XR620CTD::Parser::getDataField(), and m_parser.

Referenced by onMain().

double Sensors::XR620CTD::Task::computeTemperature ( void  )
inline

Compute temperature.

Returns
temperature value.

References applyCoefficients(), Sensors::XR620CTD::CHN_TEMPERATURE, Sensors::XR620CTD::Parser::getDataField(), and m_parser.

Referenced by onMain().

void Sensors::XR620CTD::Task::onResourceAcquisition ( void  )
inlinevirtual
void Sensors::XR620CTD::Task::onResourceInitialization ( void  )
inlinevirtual
void Sensors::XR620CTD::Task::onResourceRelease ( void  )
inlinevirtual

Release allocated resources.

Reimplemented from DUNE::Tasks::Task.

References m_avg_sspeed, and m_uart.

void Sensors::XR620CTD::Task::onUpdateParameters ( void  )
inlinevirtual

Update parameters.

Reimplemented from DUNE::Tasks::Task.

References m_args, m_sspeed_timer, and Sensors::XR620CTD::Arguments::output_freq.

bool Sensors::XR620CTD::Task::readString ( char *  bfr,
unsigned  bfr_len,
double  timeout = 1.0 
)
inline

Read string from serial port.

Parameters
[in]bfrpointer to data buffer.
[in]bfr_lenlength of the data buffer.
[in]timeoutincoming data timeout.
Returns
true if successful, false otherwise.

References m_uart.

Referenced by getCalibration(), setParameters(), and stopSampling().

void Sensors::XR620CTD::Task::startSampling ( void  )
inline

Start sampling data.

References m_uart, m_wait_sample, and DUNE::Tasks::Task::setEntityState().

Referenced by onResourceInitialization().

void Sensors::XR620CTD::Task::stopSampling ( void  )
inline

Member Data Documentation

Arguments Sensors::XR620CTD::Task::m_args
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
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
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().

Collaboration diagram for Sensors::XR620CTD::Task:
Collaboration graph