DUNE: Uniform Navigational Environment  2019.02.1
Actuators::SCRTv4::Task Struct Reference

Public Member Functions

 Task (const std::string &name, Tasks::Context &ctx)
 
void onEntityReservation (void)
 
void onResourceRelease (void)
 
void onResourceAcquisition (void)
 
void onResourceInitialization (void)
 
void consume (const IMC::SetServoPosition *msg)
 
bool readConstantParameters (void)
 
bool readEffectiveParameters (void)
 
bool startContinuous (void)
 
bool stopContinuous (void)
 
LUCL::Command * waitForReply (Commands command, double timeout)
 
bool waitForReplyAndDiscard (Commands command, double timeout)
 
uint8_t convertAngleToDemand (unsigned servo, double angle)
 
void setServoPosition (uint8_t servo, double position)
 
void handleState (LUCL::Command::CommandPayload &cmd)
 
void handleCommand (LUCL::Command *cmd)
 
void dispatchStats (void)
 
void clearStats (void)
 
void onMain (void)
 

Public Attributes

Arguments m_args
 
IMC::ServoPosition m_servo_pos [c_servo_count]
 
IMC::Current m_servo_amp [c_servo_count]
 
SerialPort * m_uart
 
Listenerm_listener
 
double m_exc_min [c_servo_count]
 
double m_exc_max [c_servo_count]
 
uint8_t m_demand_res
 
unsigned m_stat_invalid
 
unsigned m_stat_error
 
unsigned m_stat_timeout
 
Counter< double > m_wdog
 

Constructor & Destructor Documentation

Actuators::SCRTv4::Task::Task ( const std::string &  name,
Tasks::Context &  ctx 
)
inline

Member Function Documentation

void Actuators::SCRTv4::Task::clearStats ( void  )
inline
void Actuators::SCRTv4::Task::consume ( const IMC::SetServoPosition *  msg)
inline
uint8_t Actuators::SCRTv4::Task::convertAngleToDemand ( unsigned  servo,
double  angle 
)
inline
void Actuators::SCRTv4::Task::dispatchStats ( void  )
inline
void Actuators::SCRTv4::Task::handleCommand ( LUCL::Command *  cmd)
inline
void Actuators::SCRTv4::Task::handleState ( LUCL::Command::CommandPayload &  cmd)
inline
void Actuators::SCRTv4::Task::onEntityReservation ( void  )
inline
void Actuators::SCRTv4::Task::onMain ( void  )
inline
void Actuators::SCRTv4::Task::onResourceAcquisition ( void  )
inline
void Actuators::SCRTv4::Task::onResourceInitialization ( void  )
inline
void Actuators::SCRTv4::Task::onResourceRelease ( void  )
inline
bool Actuators::SCRTv4::Task::readConstantParameters ( void  )
inline
bool Actuators::SCRTv4::Task::readEffectiveParameters ( void  )
inline
void Actuators::SCRTv4::Task::setServoPosition ( uint8_t  servo,
double  position 
)
inline
bool Actuators::SCRTv4::Task::startContinuous ( void  )
inline
bool Actuators::SCRTv4::Task::stopContinuous ( void  )
inline
LUCL::Command* Actuators::SCRTv4::Task::waitForReply ( Commands  command,
double  timeout 
)
inline
bool Actuators::SCRTv4::Task::waitForReplyAndDiscard ( Commands  command,
double  timeout 
)
inline

Member Data Documentation

Arguments Actuators::SCRTv4::Task::m_args

Task arguments.

uint8_t Actuators::SCRTv4::Task::m_demand_res

Demand resolution.

double Actuators::SCRTv4::Task::m_exc_max[c_servo_count]

Maximum excursion (º).

double Actuators::SCRTv4::Task::m_exc_min[c_servo_count]

Minimum excursion (º).

Listener* Actuators::SCRTv4::Task::m_listener

Command listener.

IMC::Current Actuators::SCRTv4::Task::m_servo_amp[c_servo_count]

Current messages.

IMC::ServoPosition Actuators::SCRTv4::Task::m_servo_pos[c_servo_count]

Servo position messages.

unsigned Actuators::SCRTv4::Task::m_stat_error

Count of communication errors.

unsigned Actuators::SCRTv4::Task::m_stat_invalid

Count of invalid checksums.

unsigned Actuators::SCRTv4::Task::m_stat_timeout

Count of command timeouts.

SerialPort* Actuators::SCRTv4::Task::m_uart

Serial port device.

Counter<double> Actuators::SCRTv4::Task::m_wdog

Watchdog.

Collaboration diagram for Actuators::SCRTv4::Task:
Collaboration graph