DUNE: Uniform Navigational Environment  2017.01.0
Power::LUEMB::Task Struct Reference

Public Member Functions

 Task (const std::string &name, Tasks::Context &ctx)
 
 ~Task (void)
 
void clearADCs ()
 
void onUpdateParameters (void)
 
void onEntityReservation (void)
 
void onResourceAcquisition (void)
 
void onResourceInitialization (void)
 
void onResourceRelease (void)
 
void turnOffLEDs (void)
 
void consume (const IMC::PowerChannelControl *msg)
 
void consume (const IMC::SetLedBrightness *msg)
 
void consume (const IMC::QueryLedBrightness *msg)
 
void consume (const IMC::QueryPowerChannelState *msg)
 
void clearLEDs (void)
 
bool setBrightness (uint8_t channel, uint8_t value)
 
bool setPowerChannel (uint8_t channel, uint8_t value)
 
bool getMonitors (void)
 
void dispatchPowerChannelStates (void)
 
void onMain (void)
 
- Public Member Functions inherited from DUNE::Tasks::Task
 Task (const std::string &name, Context &context)
 
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
 
DebugLevel getDebugLevel (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
 
const char * getEntityLabel (void) const
 
void setEntityLabel (const std::string &label)
 
- 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)
 
unsigned getPriority (void)
 
State getState (void)
 
bool isCreated (void)
 
bool isStopping (void)
 
bool isRunning (void)
 
bool isStarting (void)
 
bool isDead (void)
 

Public Attributes

std::map< std::string, LED * > m_led_by_name
 
std::map< unsigned, LED * > m_led_by_id
 
IMC::Message * m_adcs [c_adcs_count]
 
PowerChannels m_channels
 
SerialPort * m_uart
 
UCTK::Interface * m_ctl
 
IMC::Current m_current [4]
 
IMC::Voltage m_voltage [4]
 
Arguments m_args
 

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
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)
 
template<typename E >
E * 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 bool onWriteParamsXML (std::ostream &os) const
 
virtual void onEntityResolution (void)
 
virtual void onReportEntityState (void)
 
virtual void onRequestActivation (void)
 
virtual void onRequestDeactivation (void)
 
virtual void onActivation (void)
 
virtual void onDeactivation (void)
 
virtual void onQueryEntityParameters (const IMC::QueryEntityParameters *msg)
 
virtual void onSetEntityParameters (const IMC::SetEntityParameters *msg)
 
virtual void onPushEntityParameters (const IMC::PushEntityParameters *msg)
 
virtual void onPopEntityParameters (const IMC::PopEntityParameters *msg)
 
- Protected Member Functions inherited from DUNE::Concurrency::Thread
void startImpl (void)
 
void stopImpl (void)
 
void joinImpl (void)
 
void setPriorityImpl (Scheduler::Policy policy, unsigned priority)
 
unsigned getPriorityImpl (void)
 
- Protected Attributes inherited from DUNE::Tasks::Task
Contextm_ctx
 
std::vector
< Entities::BasicEntity * > 
m_entities
 

Constructor & Destructor Documentation

Power::LUEMB::Task::~Task ( void  )
inlinevirtual

Destructor.

Reimplemented from DUNE::Tasks::Task.

References clearADCs(), clearLEDs(), and onResourceRelease().

Member Function Documentation

void Power::LUEMB::Task::clearADCs ( )
inline

References m_adcs.

Referenced by ~Task().

void Power::LUEMB::Task::clearLEDs ( void  )
inline

References m_led_by_id, and m_led_by_name.

Referenced by onUpdateParameters(), and ~Task().

void Power::LUEMB::Task::consume ( const IMC::PowerChannelControl *  msg)
inline
void Power::LUEMB::Task::consume ( const IMC::SetLedBrightness *  msg)
inline

References m_led_by_name, and setBrightness().

void Power::LUEMB::Task::consume ( const IMC::QueryLedBrightness *  msg)
inline
void Power::LUEMB::Task::consume ( const IMC::QueryPowerChannelState *  msg)
inline
void Power::LUEMB::Task::dispatchPowerChannelStates ( void  )
inline

References DUNE::Tasks::Task::dispatch(), and m_channels.

Referenced by consume().

void Power::LUEMB::Task::onEntityReservation ( void  )
inlinevirtual
void Power::LUEMB::Task::onMain ( void  )
inlinevirtual
void Power::LUEMB::Task::onResourceAcquisition ( void  )
inlinevirtual
void Power::LUEMB::Task::onResourceInitialization ( void  )
inlinevirtual

Initialize resources.

Reimplemented from DUNE::Tasks::Task.

References m_channels, DUNE::Tasks::Task::setEntityState(), setPowerChannel(), and turnOffLEDs().

void Power::LUEMB::Task::onResourceRelease ( void  )
inlinevirtual

Release resources.

Reimplemented from DUNE::Tasks::Task.

References m_ctl, m_uart, and turnOffLEDs().

Referenced by ~Task().

bool Power::LUEMB::Task::setBrightness ( uint8_t  channel,
uint8_t  value 
)
inline

References m_ctl, and Power::LUEMB::PKT_ID_SET_LED.

Referenced by consume(), and turnOffLEDs().

bool Power::LUEMB::Task::setPowerChannel ( uint8_t  channel,
uint8_t  value 
)
inline
void Power::LUEMB::Task::turnOffLEDs ( void  )
inline

Member Data Documentation

IMC::Message* Power::LUEMB::Task::m_adcs[c_adcs_count]
Arguments Power::LUEMB::Task::m_args
PowerChannels Power::LUEMB::Task::m_channels
UCTK::Interface* Power::LUEMB::Task::m_ctl
IMC::Current Power::LUEMB::Task::m_current[4]

Current.

std::map<unsigned, LED*> Power::LUEMB::Task::m_led_by_id

Map of LEDs by id.

Referenced by clearLEDs(), getMonitors(), and onUpdateParameters().

std::map<std::string, LED*> Power::LUEMB::Task::m_led_by_name

Map of LEDs by name.

Referenced by clearLEDs(), consume(), and onUpdateParameters().

SerialPort* Power::LUEMB::Task::m_uart

UART.

Referenced by onResourceAcquisition(), and onResourceRelease().

IMC::Voltage Power::LUEMB::Task::m_voltage[4]

Voltage.

Collaboration diagram for Power::LUEMB::Task:
Collaboration graph