DUNE: Uniform Navigational Environment  2.6.0-rc1
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)
 
uint8_t convertAngleToDemand (unsigned servo, double angle)
 
void consume (const IMC::SetServoPosition *msg)
 
void setServoPosition (uint8_t servo, double position)
 
void handleState (LUCL::Command::CommandPayload &cmd)
 
void handleParamsEff (LUCL::Command::CommandPayload &cmd)
 
void handleParamsCon (LUCL::Command::CommandPayload &cmd)
 
void handleCommand (LUCL::Command *cmd)
 
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
 
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::consume ( const IMC::SetServoPosition *  msg)
inline

References setServoPosition().

uint8_t Actuators::SCRTv4::Task::convertAngleToDemand ( unsigned  servo,
double  angle 
)
inline
void Actuators::SCRTv4::Task::handleCommand ( LUCL::Command *  cmd)
inline
void Actuators::SCRTv4::Task::handleParamsCon ( LUCL::Command::CommandPayload &  cmd)
inline

References m_demand_res.

Referenced by handleCommand().

void Actuators::SCRTv4::Task::handleParamsEff ( LUCL::Command::CommandPayload &  cmd)
inline

References m_exc_max, m_exc_min, and setServoPosition().

Referenced by handleCommand().

void Actuators::SCRTv4::Task::handleState ( LUCL::Command::CommandPayload &  cmd)
inline
void Actuators::SCRTv4::Task::onEntityReservation ( void  )
inline

References m_servo_amp, and m_servo_pos.

void Actuators::SCRTv4::Task::onMain ( void  )
inline
void Actuators::SCRTv4::Task::onResourceAcquisition ( void  )
inline
void Actuators::SCRTv4::Task::onResourceRelease ( void  )
inline

References m_listener, and m_uart.

void Actuators::SCRTv4::Task::setServoPosition ( uint8_t  servo,
double  position 
)
inline

Member Data Documentation

Arguments Actuators::SCRTv4::Task::m_args
uint8_t Actuators::SCRTv4::Task::m_demand_res

Demand resolution.

Referenced by convertAngleToDemand(), and handleParamsCon().

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

Maximum excursion (º).

Referenced by convertAngleToDemand(), and handleParamsEff().

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

Minimum excursion (º).

Referenced by convertAngleToDemand(), handleParamsEff(), and handleState().

Listener* Actuators::SCRTv4::Task::m_listener
IMC::Current Actuators::SCRTv4::Task::m_servo_amp[c_servo_count]

Current messages.

Referenced by handleState(), and onEntityReservation().

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

Servo position messages.

Referenced by handleState(), and onEntityReservation().

SerialPort* Actuators::SCRTv4::Task::m_uart
Counter<double> Actuators::SCRTv4::Task::m_wdog

Watchdog.

Referenced by handleState(), onMain(), and onResourceInitialization().

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