DUNE: Uniform Navigational Environment  2017.01.0
DUNE::Tasks::Task Class Referenceabstract

Detailed Description

Public Member Functions

 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
 
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)
 

Protected Member Functions

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 onEntityReservation (void)
 
virtual void onEntityResolution (void)
 
virtual void onReportEntityState (void)
 
virtual void onResourceAcquisition (void)
 
virtual void onResourceRelease (void)
 
virtual void onResourceInitialization (void)
 
virtual void onUpdateParameters (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)
 
virtual void onMain (void)=0
 
- 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

Contextm_ctx
 
std::vector
< Entities::BasicEntity * > 
m_entities
 

Additional Inherited Members

- Public Types inherited from DUNE::Concurrency::Runnable
enum  State {
  StateStarting, StateRunning, StateStopping, StateDead,
  StateUnknown
}
 

Constructor & Destructor Documentation

DUNE::Tasks::Task::Task ( const std::string &  name,
Context context 
)

Construct a task object.

Parameters
[in]namename of the task.
[in]contexttask context.

References DUNE::Tasks::Parameter::defaultValue(), m_ctx, m_entities, param(), and DUNE::Tasks::Recipient.

Member Function Documentation

void DUNE::Tasks::Task::acquireResources ( void  )

Acquire resources whose configuration depends on dynamic parameters.

References DUNE::Tasks::ParameterTable::end(), DUNE::Tasks::ParameterTable::find(), onResourceAcquisition(), and DUNE::Tasks::Parameter::SCOPE_MANEUVER.

void DUNE::Tasks::Task::activationFailed ( const std::string &  reason)
protected

Derived classes should use this function to signal that activation failed.

Parameters
[in]reasonreason for activation failure.

References DUNE::Entities::StatefulEntity::failActivation(), and spew().

Referenced by Vision::Lumenera::Task::checkActivationProgress(), and Sensors::Imagenex881A::Task::checkActivationProgress().

template<typename M , typename T >
void DUNE::Tasks::Task::bind ( T *  task_obj,
void(T::*)(const M *)  consumer = &T::consume 
)
inlineprotected
template<typename T >
void DUNE::Tasks::Task::bind ( T *  task_obj,
const std::vector< uint32_t > &  list 
)
inlineprotected

Bind multiple messages to a default consumer method.

Parameters
task_objconsumer object.
listlist of message identifiers.

References bind().

template<typename T , typename M >
void DUNE::Tasks::Task::bind ( T *  task_obj,
const std::vector< uint32_t > &  list,
void(T::*)(const M *)  consumer = &T::consume 
)
inlineprotected

Bind multiple messages to a consumer method.

Parameters
task_objconsumer object.
listlist of message identifiers.
consumerconsumer method.

References bind().

template<typename T >
void DUNE::Tasks::Task::bind ( T *  task_obj,
const std::vector< std::string > &  list 
)
inlineprotected

Bind multiple messages to a default consumer method.

Parameters
task_objconsumer task.
listlist of message abbreviations.

References bind(), and DUNE::IMC::Factory::getIdFromAbbrev().

void DUNE::Tasks::Task::cri ( const char *  format,
  ... 
)
virtual

Send an human-readable critical error message to all configured output channels and files.

Parameters
formatstring format (similar to printf(3)).
...arguments.

Reimplemented from DUNE::Tasks::AbstractTask.

References DUNE::IMC::LogBookEntry::LBET_CRITICAL.

void DUNE::Tasks::Task::deactivationFailed ( const std::string &  reason)
protected

Derived classes should use this function to signal that deactivation failed.

Parameters
[in]reasonreason for deactivation failure.

References DUNE::Entities::StatefulEntity::failDeactivation(), and spew().

Referenced by Vision::Lumenera::Task::checkDeactivationProgress().

void DUNE::Tasks::Task::debug ( const char *  format,
  ... 
)
virtual

Send an human-readable debug message to all configured output channels and files.

The message will only be processed if the configured log level is DEBUG_LEVEL_DEBUG or greater.

Parameters
formatstring format (similar to printf(3)).
...arguments.

Reimplemented from DUNE::Tasks::AbstractTask.

References DUNE::Tasks::DEBUG_LEVEL_DEBUG, and DUNE::IMC::LogBookEntry::LBET_DEBUG.

Referenced by Control::UAV::Ardupilot::Task::activateFBW(), Control::ASV::RemoteOperation::Task::actuate(), Control::AUV::RemoteOperation::Task::actuate(), Plan::DB::Task::answer(), Vision::Lumenera::Task::captureAndSave(), Sensors::OS4000::Task::changeCalibrationState(), Plan::Engine::Task::changeMode(), Vision::Lumenera::Task::checkActivationProgress(), Sensors::Imagenex881A::Task::checkActivationProgress(), DUNE::Control::BasicRemoteOperation::consume(), DUNE::Hardware::BasicDeviceDriver::consume(), Transports::Fragments::Task::consume(), DUNE::Control::PathController::consume(), DUNE::Control::BasicUAVAutopilot::consume(), DUNE::Control::BasicAutopilot::consume(), Supervisors::Reporter::Task::consume(), Simulators::UAVAutopilot::Task::consume(), Simulators::AcousticModem::Task::consume(), Transports::IridiumSBD::Task::consume(), Control::AUV::Allocator::Task::consume(), Power::APD::Task::consume(), Control::AUV::Speed::Task::consume(), Transports::Iridium::Task::consume(), Transports::UAN::Task::consume(), Navigation::AUV::Navigation::Task::consume(), Plan::Engine::Task::consume(), Supervisors::Vehicle::Task::consume(), Simulators::UAV::Task::consume(), Control::UAV::Ardupilot::Task::consume(), Maneuver::VehicleFormation::Coordinator::Task::consume(), Maneuver::VehicleFormation::FormCollAvoid::Task::consume(), Transports::IridiumSBD::Task::dequeueTxRequest(), Transports::Replay::Task::displayStats(), Monitors::Entities::Task::enableDefaults(), Supervisors::AUV::LostComms::Task::getPlanSpec(), Supervisors::UAV::LostComms::Task::getPlanSpec(), Control::UAV::Ardupilot::Task::handleArdupilotData(), Transports::Seatrac::Task::handleBinaryMessage(), Sensors::MLBL::Task::handleBinaryMessage(), Sensors::MLBLTracker::Task::handleBinaryReception(), Control::UAV::Ardupilot::Task::handleCmdAckPacket(), Control::UAV::Ardupilot::Task::handleHeartbeatPacket(), Control::UAV::Ardupilot::Task::handleMissionAckPacket(), Control::UAV::Ardupilot::Task::handleMissionRequestPacket(), Transports::IridiumSBD::Task::invalidateTxRequest(), Control::UAV::Ardupilot::Task::loiterHere(), Transports::Fragments::Task::messageRipper(), Supervisors::Vehicle::Task::onDisabledControlLoops(), Supervisors::Vehicle::Task::onEnabledControlLoops(), Maneuver::VehicleFormation::Coordinator::Task::onEntityResolution(), Maneuver::VehicleFormation::FormCollAvoid::Task::onEntityResolution(), Transports::IridiumSBD::Task::onResourceAcquisition(), Transports::GSM::Task::onResourceAcquisition(), Simulators::UAV::Task::onResourceAcquisition(), Plan::Engine::Task::onResourceInitialization(), Transports::Seatrac::Task::onResourceInitialization(), Vision::DFK51BG02H::Task::onResourceInitialization(), Simulators::UAVAutopilot::Task::onUpdateParameters(), Control::AUV::RemoteOperation::Task::onUpdateParameters(), Maneuver::VehicleFormation::Test::Task::onUpdateParameters(), Transports::UDP::Task::onUpdateParameters(), Simulators::UAV::Task::onUpdateParameters(), Maneuver::VehicleFormation::Coordinator::Task::onUpdateParameters(), Maneuver::VehicleFormation::FormCollAvoid::Task::onUpdateParameters(), Simulators::AcousticModem::Task::readData(), Transports::UAN::Task::recvMessage(), Sensors::MLBL::Task::reportRanges(), Transports::Iridium::Task::sendAnnounce(), Transports::Iridium::Task::sendDeviceUpdates(), Control::UAV::Ardupilot::Task::sendMissionItem(), Vision::UI2210MGL::CaptureUeye::setExposure(), Vision::UI2210MGL::CaptureUeye::setFPS(), Vision::UI2210MGL::CaptureUeye::setGain(), Sensors::OS4000::Task::setParameter(), DUNE::Maneuvers::Maneuver::startManeuver(), Vision::Lumenera::Task::startVideo(), Supervisors::Vehicle::Task::stopCalibration(), Vision::UI2210MGL::Task::stopCapture(), Plan::Engine::Task::stopPlan(), Vision::Lumenera::Task::stopVideo(), Control::UAV::Ardupilot::Task::takeoff_copter(), Control::UAV::Ardupilot::Task::takeoff_plane(), Supervisors::AUV::LostComms::Task::task(), DUNE::Control::YoYoMotion::update(), Vision::Lumenera::Task::updateActualFrameRate(), Vision::Lumenera::Task::updateExposure(), Vision::Lumenera::Task::updateFps(), Vision::Lumenera::Task::updateGain(), Vision::Lumenera::Task::updateGamma(), Vision::Lumenera::Task::updateMedianFilter(), Vision::Lumenera::Task::updateStrobe(), and Vision::Lumenera::Task::updateWhiteBalance().

void DUNE::Tasks::Task::dispatch ( IMC::Message msg,
unsigned int  flags = 0 
)

Dispatch message to the message bus.

Parameters
[in]msgmessage pointer.
[in]flagsbitfield with flags (see DispatchFlags).

References DUNE::Tasks::DF_KEEP_SRC_EID, DUNE::Tasks::DF_KEEP_TIME, DUNE::Tasks::DF_LOOP_BACK, DUNE::IMC::Bus::dispatch(), getEntityId(), DUNE::IMC::Message::getSource(), DUNE::IMC::Message::getSourceEntity(), getSystemId(), DUNE::IMC::AddressResolver::isValid(), m_ctx, DUNE::Tasks::Context::mbus, DUNE::IMC::Message::setSource(), DUNE::IMC::Message::setSourceEntity(), and DUNE::IMC::Message::setTimeStamp().

Referenced by Sensors::MLBLTracker::Task::abort(), Control::ASV::RemoteOperation::Task::actuate(), Control::AUV::RemoteOperation::Task::actuate(), Control::ROV::RemoteOperation::Task::actuate(), Control::ROV::RemoteOperation::Task::actuateThruster(), Control::AUV::Allocator::Task::allocate(), Transports::Announce::Task::announce(), Transports::UAN::Task::announceUSBL(), Supervisors::Vehicle::Task::answer(), Plan::DB::Task::answer(), Plan::Engine::Task::answer(), Vision::UAVCamera::Task::cameraControl(), Sensors::OS4000::Task::changeCalibrationState(), Plan::Engine::Task::changeLog(), Supervisors::Vehicle::Task::changeMode(), Plan::Engine::Task::changeMode(), Vision::Lumenera::Task::checkLogdirOk(), Supervisors::UAV::LostComms::Task::checkPlan(), Autonomy::TREX::Task::checkState(), Sensors::MLBLTracker::Task::checkTimeouts(), Control::AUV::Allocator::Task::computeProducedTorque(), DUNE::Control::BasicRemoteOperation::consume(), Transports::Fragments::Task::consume(), DUNE::Daemon::consume(), DUNE::Control::BasicUAVAutopilot::consume(), DUNE::Control::BasicAutopilot::consume(), DUNE::Control::PathController::consume(), Control::AntennaTracker::Task::consume(), Navigation::AUV::Ranger::Task::consume(), Monitors::Clock::Task::consume(), Sensors::MTi::Task::consume(), DUNE::Navigation::BasicNavigation::consume(), Navigation::General::GPSNavigation::Task::consume(), Sensors::CyclopsC7::Task::consume(), Plan::Generator::Task::consume(), Transports::Iridium::Task::consume(), Autonomy::TREX::Task::consume(), Monitors::OperationalLimits::Task::consume(), Transports::UAN::Task::consume(), Sensors::Microstrain3DMGX3::Task::consume(), Control::ROV::RemoteOperation::Task::consume(), Supervisors::Vehicle::Task::consume(), Sensors::MLBLTracker::Task::consume(), Actuators::MCD4R::Task::consume(), Control::UAV::Ardupilot::Task::consume(), Transports::Cache::Task::copySnapshot(), Sensors::IFOG::Task::decodeFrame(), Control::ROV::Depth::Task::depthControl(), Control::AUV::Attitude::Task::depthControl(), Supervisors::Vehicle::Task::disableLoops(), DUNE::Navigation::BeamFilter::dispatch(), dispatch(), Maneuver::VehicleFormation::Coordinator::Task::dispatchAlias(), Maneuver::VehicleFormation::FormCollAvoid::Task::dispatchAlias(), Control::AUV::Allocator::Task::dispatchAllFins(), Sensors::MetrecX::Task::dispatchDepth(), Supervisors::AUV::Assist::Task::dispatchDislodge(), Maneuver::VehicleFormation::FormCollAvoid::Task::dispatchLeader(), Sensors::MetrecX::Task::dispatchPH(), Power::APD::Task::dispatchPowerChannelStates(), Power::LUEMB::Task::dispatchPowerChannelStates(), Sensors::MetrecX::Task::dispatchRedox(), dispatchReply(), Actuators::MCD4R::Task::dispatchState(), Control::AUV::Speed::Task::dispatchThrust(), Sensors::MetrecX::Task::dispatchValue(), Autonomy::OnEvent::Task::fire(), Control::ROV::RemoteOperation::Task::forwardControl(), Sensors::MLBL::Task::fullAcousticReport(), Power::APD::Task::getMonitors(), Power::LUEMB::Task::getMonitors(), Actuators::LED4R::Task::getMonitors(), Autonomy::TextActions::Task::handleAbortCommand(), Transports::Seatrac::Task::handleAcousticInformation(), Control::UAV::Ardupilot::Task::handleAttitudePacket(), Sensors::MLBL::Task::handleBinaryMessage(), Sensors::MLBLTracker::Task::handleBinaryReception(), DUNE::Tasks::SimpleTransport::handleData(), Control::UAV::Ardupilot::Task::handleHeartbeatPacket(), Control::UAV::Ardupilot::Task::handleHUDPacket(), Control::UAV::Ardupilot::Task::handleHWStatusPacket(), Control::UAV::Ardupilot::Task::handleImuRaw(), Transports::Iridium::Task::handleIridiumCommand(), Sensors::MLBL::Task::handleMiniPacket(), Sensors::MLBLTracker::Task::handleMiniPacketEcho(), Sensors::MLBLTracker::Task::handleMiniPacketReception(), Control::UAV::Ardupilot::Task::handleNavControllerPacket(), Sensors::MLBL::Task::handlePingReply(), Autonomy::TextActions::Task::handlePlanCommand(), Autonomy::TextActions::Task::handlePlanGeneratorCommand(), Sensors::MLBLTracker::Task::handleRangeInProgress(), Sensors::MLBLTracker::Task::handleRangeModem(), Sensors::MLBLTracker::Task::handleRangeTransponder(), Transports::Seatrac::Task::handleRxMessage(), Transports::IridiumSBD::Task::handleSBD(), Control::UAV::Ardupilot::Task::handleScaledPressurePacket(), Control::UAV::Ardupilot::Task::handleSystemStatusPacket(), Control::UAV::Ardupilot::Task::handleSystemTimePacket(), Sensors::MLBL::Task::handleTransponderTravelTimes(), Transports::Iridium::Task::handleUpdates(), Control::UAV::Ardupilot::Task::handleWindPacket(), Control::AUV::Attitude::Task::headingControl(), DUNE::Navigation::BasicNavigation::isActive(), Transports::Cache::Task::load(), Transports::Cache::Task::loadSnapshot(), Sensors::MLBL::Task::logCommand(), Control::ROV::HorizontalPlane::Task::logDesiredHRate(), Control::Path::VectorField::Task::loiter(), Control::Path::ILOS::Task::loiter(), Control::UAV::Ardupilot::Task::loiterHere(), DUNE::Tasks::Manager::measureCpuUsage(), Autonomy::TREX::Task::onActivation(), Sensors::CyclopsC7::Task::onDeactivation(), Sensors::Imagenex881A::Task::onDeactivation(), Control::ROV::Depth::Task::onEstimatedState(), Control::AUV::LMI::Task::onEstimatedState(), Control::AUV::Attitude::Task::onEstimatedState(), Sensors::GillWindObserverII::Task::onMain(), Sensors::MiniSVS::Task::onMain(), Sensors::XchangeSV::Task::onMain(), Plan::Generator::Task::onMain(), Transports::Replay::Task::onMain(), Autonomy::TREX::Task::onMain(), Sensors::XR620CTD::Task::onMain(), Sensors::OS4000::Task::onMain(), Sensors::Imagenex881A::Task::onMain(), Plan::Engine::Task::onMain(), Navigation::AUV::Navigation::Task::onReportEntityState(), Sensors::CyclopsC7::Task::onRequestActivation(), Vision::UI2210MGL::Task::onRequestActivation(), Vision::DFK51BG02H::Task::onRequestActivation(), Sensors::Imagenex881A::Task::onRequestActivation(), Transports::UDP::Task::onResourceAcquisition(), Transports::Iridium::Task::onResourceInitialization(), Transports::UAN::Task::onResourceInitialization(), Sensors::MLBLTracker::Task::onResourceInitialization(), Supervisors::Reporter::Task::onUpdateParameters(), Simulators::UAV::Task::onUpdateParameters(), DUNE::Navigation::UsblTools::Node::parse(), Navigation::AUV::Ranger::Task::ping(), Sensors::MLBLTracker::Task::ping(), Sensors::AIS::Task::process(), Sensors::MLBLTracker::Task::process(), Sensors::MLBL::Task::processInput(), Transports::LogBook::Task::provide(), Simulators::AcousticModem::Task::readData(), Transports::Discovery::Task::readMessage(), Transports::Seatrac::Task::readSentence(), Transports::UAN::Task::recvAbort(), Transports::UAN::Task::recvMessage(), Transports::UAN::Task::recvPlanControl(), Transports::UAN::Task::recvReport(), Transports::UAN::Task::recvRestartSystem(), Monitors::Entities::Task::reportState(), DUNE::Navigation::BasicNavigation::reportToBus(), Control::ROV::Depth::Task::reset(), Control::AUV::Speed::Task::reset(), Autonomy::TREX::Task::resetAuxCpu(), DUNE::Navigation::BasicNavigation::runKalmanLBL(), Supervisors::Entities::Task::sendActivation(), Transports::Iridium::Task::sendAnnounce(), DUNE::Hardware::HayesModem::sendAT(), Sensors::MLBLTracker::Task::sendCommand(), Transports::Seatrac::Task::sendCommand(), Transports::Iridium::Task::sendDeviceUpdates(), Transports::UAN::Task::sendFrame(), Monitors::Emergency::Task::sendSMS(), Transports::IridiumSBD::Task::sendTxRequestStatus(), Transports::Seatrac::Task::sendTxStatus(), Plan::Engine::Task::setInitialState(), DUNE::Hardware::HayesModem::setRSSI(), Monitors::Clock::Task::setTime(), Supervisors::Vehicle::Task::startCalibration(), Autonomy::TREX::Task::startExecution(), Transports::LoggingDigest::Task::startLog(), Supervisors::UAV::LostComms::Task::startLostComms(), Plan::Engine::Task::startPlan(), Transports::Replay::Task::startReplay(), Control::Path::PurePursuit::Task::step(), DUNE::Control::DiscretePID::step(), Control::Path::VectorField::Task::step(), Control::UAV::LOS::Task::step(), Control::Path::LOSnSMC::Task::step(), Control::Path::ILOS::Task::step(), Autonomy::TREX::Task::stopExecution(), Transports::Replay::Task::stopReplay(), Control::UAV::Ardupilot::Task::takeoff_copter(), Control::UAV::Ardupilot::Task::takeoff_plane(), Control::ROV::HorizontalPlane::Task::tal(), Vision::FrameGrabber::Task::task(), Simulators::UAVAutopilot::Task::task(), Sensors::SW100::Task::task(), Sensors::AIM104MultiIO::Task::task(), Supervisors::AUV::LostComms::Task::task(), Monitors::FuelLevel::Task::task(), Sensors::Microstrain3DMGX3::Task::task(), Supervisors::Vehicle::Task::task(), Simulators::UAV::Task::task(), Autonomy::OnEvent::Task::transmit(), Sensors::MLBLTracker::Task::transmitMessage(), Vision::PhotoTrigger::Task::trigger(), Control::UAV::RemoteOperation::Task::update(), Monitors::Medium::Task::updateStateMachine(), Plan::Engine::Task::vehicleRequest(), and Monitors::Medium::Task::waterMediumCheck().

void DUNE::Tasks::Task::dispatch ( IMC::Message msg,
unsigned int  flags = 0 
)
inline

Dispatch message to the message bus.

Parameters
[in]msgmessage reference.
[in]flagsbitfield with flags (see DispatchFlags).

References dispatch().

void DUNE::Tasks::Task::dispatchReply ( const IMC::Message original,
IMC::Message msg,
unsigned int  flags = 0 
)
inline
void DUNE::Tasks::Task::err ( const char *  format,
  ... 
)
virtual

Send an human-readable error message to all configured output channels and files.

Parameters
formatstring format (similar to printf(3)).
...arguments.

Reimplemented from DUNE::Tasks::AbstractTask.

References DUNE::IMC::LogBookEntry::LBET_ERROR.

Referenced by Supervisors::Vehicle::Task::answer(), Plan::DB::Task::answer(), Plan::Engine::Task::answer(), Vision::Lumenera::Task::checkCaptureOk(), Transports::SerialOverTCP::Task::checkClientSockets(), Transports::SerialOverTCP::Task::checkMainSocket(), DUNE::Control::BasicAutopilot::consume(), DUNE::Control::PathController::consume(), Transports::LogBook::Task::consume(), Transports::Replay::Task::consume(), Transports::LoggingDigest::Task::consume(), Monitors::Entities::Task::consume(), Transports::GSM::Task::consume(), Supervisors::Vehicle::Task::consume(), Plan::Engine::Task::consume(), Vision::Lumenera::Task::consume(), Transports::Seatrac::Task::consume(), Maneuver::VehicleFormation::Coordinator::Task::consume(), Transports::Cache::Task::copySnapshot(), DUNE::Daemon::Daemon(), Transports::SerialOverTCP::Task::dispatchToClients(), Monitors::Entities::Task::enable(), Supervisors::AUV::Assist::Task::failedStartPlan(), Power::LUEMB::Task::getMonitors(), Autonomy::TextActions::Task::handleAbortCommand(), Control::UAV::Ardupilot::Task::handleHeartbeatPacket(), Transports::IridiumSBD::Task::handleSBD(), Sensors::MLBLTracker::Task::hasTransducer(), initializeResources(), loadConfig(), Sensors::XR620CTD::Task::onMain(), Plan::Engine::Task::onMain(), Sensors::MLBLTracker::Task::onResourceAcquisition(), Sensors::AIM104MultiIO::Task::onResourceInitialization(), Transports::Seatrac::Task::onResourceInitialization(), onSetEntityParameters(), Monitors::Entities::Task::onTimeoutCheck(), Control::AUV::LMI::Task::onUpdateParameters(), Monitors::FuelLevel::Task::onUpdateParameters(), Maneuver::VehicleFormation::FormCollAvoid::Task::onUpdateParameters(), Sensors::MTi::Task::parse(), Sensors::MLBLTracker::Task::process(), Sensors::MLBL::Task::processInput(), Control::UAV::Ardupilot::Task::receiveData(), Transports::UAN::Task::recvMessage(), Vision::UI2210MGL::CaptureUeye::setAOI(), Monitors::OperationalLimits::Task::setError(), DUNE::Network::FragmentedMessage::setFragment(), Monitors::Clock::Task::setTime(), Sensors::MTi::Task::setup(), Monitors::Entities::Task::setupDefaults(), Sensors::MetrecX::Task::setupInternal(), DUNE::Control::BasicAutopilot::signalBadVertical(), DUNE::Control::BasicAutopilot::signalBadYaw(), DUNE::Control::PathController::signalError(), DUNE::Tasks::Manager::start(), Transports::Replay::Task::startReplay(), Vision::Lumenera::Task::startVideo(), Sensors::AIM104MultiIO::Task::task(), Supervisors::Vehicle::Task::task(), Sensors::MLBLTracker::Task::transmitMessage(), and Vision::UI2210MGL::CaptureUeye::~CaptureUeye().

uint16_t DUNE::Tasks::Task::getActivationTime ( void  ) const
inline
uint16_t DUNE::Tasks::Task::getDeactivationTime ( void  ) const
inline

Retrieve the task's deactivation time.

Returns
deactivation time of the task.

Referenced by Vision::Lumenera::Task::onRequestDeactivation().

DebugLevel DUNE::Tasks::Task::getDebugLevel ( void  ) const
inline

Get current debug level.

Returns
debug level.
const char* DUNE::Tasks::Task::getName ( void  ) const
inlinevirtual

Retrieve the task's name.

Returns
name of the task.

Implements DUNE::Tasks::AbstractTask.

Referenced by loadConfig(), reserveEntities(), and reserveEntity().

unsigned int DUNE::Tasks::Task::getPriority ( void  ) const
inline

Get scheduling priority.

The priority of a task might change when configuration parameters are updated.

Returns
task priority.
unsigned int DUNE::Tasks::Task::getSystemId ( void  ) const
inline

Retrieve the system's identifier.

Returns
system identifier.

References DUNE::IMC::AddressResolver::id(), m_ctx, and DUNE::Tasks::Context::resolver.

Referenced by DUNE::Hardware::BasicDeviceDriver::consume(), DUNE::Daemon::consume(), DUNE::Control::BasicAutopilot::consume(), Navigation::AUV::Ranger::Task::consume(), Control::AntennaTracker::Task::consume(), Simulators::UAVAutopilot::Task::consume(), Supervisors::UAV::LostComms::Task::consume(), Sensors::EmulatedGPS::Task::consume(), Simulators::AcousticModem::Task::consume(), Vision::PhotoTrigger::Task::consume(), Monitors::Clock::Task::consume(), Supervisors::AUV::LostComms::Task::consume(), Plan::Generator::Task::consume(), Transports::Replay::Task::consume(), Monitors::Entities::Task::consume(), Transports::GSM::Task::consume(), Supervisors::AUV::Assist::Task::consume(), Autonomy::TREX::Task::consume(), Transports::IridiumSBD::Task::consume(), Monitors::Medium::Task::consume(), Transports::Announce::Task::consume(), Monitors::Emergency::Task::consume(), Plan::DB::Task::consume(), Transports::UAN::Task::consume(), Supervisors::Vehicle::Task::consume(), Control::AUV::RemoteOperation::Task::consume(), Plan::Engine::Task::consume(), Vision::UI2210MGL::Task::consume(), Control::AUV::Speed::Task::consume(), Sensors::MetrecX::Task::consume(), Monitors::FuelLevel::Task::consume(), Control::ROV::RemoteOperation::Task::consume(), Transports::UDP::Task::consume(), Monitors::OperationalLimits::Task::consume(), DUNE::Navigation::UsblTools::Node::consume(), Navigation::AUV::Navigation::Task::consume(), Vision::Lumenera::Task::consume(), Vision::DFK51BG02H::Task::consume(), Simulators::UAV::Task::consume(), Transports::Seatrac::Task::consume(), Control::UAV::Ardupilot::Task::consume(), Maneuver::VehicleFormation::Coordinator::Task::consume(), Sensors::MLBL::Task::consume(), Maneuver::VehicleFormation::FormCollAvoid::Task::consume(), dispatch(), Autonomy::OnEvent::Task::fire(), Autonomy::TextActions::Task::handleAbortCommand(), Sensors::MLBL::Task::handleMiniPacket(), Transports::IridiumSBD::Task::handleSBD(), Vision::Lumenera::EntityActivationMaster::onEntityInfo(), Plan::DB::Task::onResourceAcquisition(), Transports::UDP::Task::onResourceAcquisition(), Transports::Announce::Task::onUpdateParameters(), Maneuver::VehicleFormation::Coordinator::Task::onUpdateParameters(), Maneuver::VehicleFormation::FormCollAvoid::Task::onUpdateParameters(), Navigation::AUV::Ranger::Task::ping(), Simulators::AcousticModem::Task::readData(), Transports::UAN::Task::replaceLastOp(), Transports::Iridium::Task::sendAnnounce(), Transports::Iridium::Task::sendDeviceUpdates(), Transports::UAN::Task::sendFrame(), DUNE::Control::PathController::sourceFilter(), Transports::LoggingDigest::Task::startLog(), Simulators::UAV::Task::task(), and Autonomy::OnEvent::Task::transmit().

void DUNE::Tasks::Task::inf ( const char *  format,
  ... 
)
virtual

Send an human-readable informational message to all configured output channels and files.

Parameters
formatstring format (similar to printf(3)).
...arguments.

Reimplemented from DUNE::Tasks::AbstractTask.

References DUNE::IMC::LogBookEntry::LBET_INFO.

Referenced by Monitors::Entities::Task::activate(), Plan::DB::Task::answer(), Plan::Engine::Task::answer(), Vision::Lumenera::Task::captureAndSave(), Plan::Engine::Task::changeMode(), Vision::Lumenera::Task::checkConfiguration(), Transports::SerialOverTCP::Task::checkMainSocket(), DUNE::Tasks::SimpleTransport::consume(), Transports::LogBook::Task::consume(), DUNE::Control::PathController::consume(), Monitors::Entities::Task::consume(), Plan::Generator::Task::consume(), Maneuver::VehicleFormation::Test::Task::consume(), Transports::Iridium::Task::consume(), Autonomy::TREX::Task::consume(), Monitors::OperationalLimits::Task::consume(), Supervisors::Vehicle::Task::consume(), Control::UAV::Ardupilot::Task::consume(), Transports::Seatrac::Task::consume(), Maneuver::VehicleFormation::FormCollAvoid::Task::consume(), DUNE::Daemon::Daemon(), Monitors::Entities::Task::disable(), Monitors::Entities::Task::enable(), Plan::Generator::Task::generate(), Sensors::MLBL::Task::handleBinaryMessage(), Sensors::MLBLTracker::Task::handleBinaryReception(), DUNE::Tasks::SimpleTransport::handleData(), Control::UAV::Ardupilot::Task::handleHeartbeatPacket(), Transports::Iridium::Task::handleIridiumCommand(), Sensors::MLBL::Task::handleMiniPacket(), Sensors::MLBLTracker::Task::handleMiniPacketReception(), Autonomy::TextActions::Task::handlePlanCommand(), Control::UAV::Ardupilot::Task::handleStatusTextPacket(), Transports::Iridium::Task::handleUpdates(), Control::UAV::Ardupilot::Task::info(), Autonomy::TREX::Task::onActivation(), Sensors::Imagenex881A::Task::onActivation(), Vision::Lumenera::Task::onActivation(), Autonomy::TREX::Task::onDeactivation(), Sensors::Imagenex881A::Task::onDeactivation(), Vision::Lumenera::Task::onDeactivation(), Sensors::MLBL::Task::onEntityResolution(), Sensors::GillWindObserverII::Task::onMain(), Maneuver::VehicleFormation::FormCollAvoid::Task::onRequestActivation(), Plan::DB::Task::onResourceAcquisition(), Sensors::IFOG::Task::onResourceAcquisition(), Actuators::LED4R::Task::onResourceAcquisition(), Power::APD::Task::onResourceAcquisition(), Transports::UDP::Task::onResourceAcquisition(), Power::LUEMB::Task::onResourceAcquisition(), Actuators::MCD4R::Task::onResourceAcquisition(), Simulators::UAV::Task::onResourceAcquisition(), DUNE::Daemon::onResourceInitialization(), Transports::Discovery::Task::onResourceInitialization(), Control::AntennaTracker::Task::onUpdateParameters(), Maneuver::VehicleFormation::Coordinator::Task::onUpdateParameters(), Maneuver::VehicleFormation::FormCollAvoid::Task::onUpdateParameters(), Control::UAV::Ardupilot::Task::openConnection(), Maneuver::VehicleFormation::FormCollAvoid::Task::printState(), Plan::Engine::Task::processRequest(), Transports::Discovery::Task::readMessage(), Transports::UDP::Task::refreshContacts(), Sensors::Microstrain3DMGX3::Task::runCalibration(), Sensors::MLBLTracker::Task::sendCommand(), Monitors::Emergency::Task::sendSMS(), Sensors::Microstrain3DMGX3::Task::setHardIron(), DUNE::Tasks::Manager::start(), Supervisors::Vehicle::Task::startCalibration(), Autonomy::TREX::Task::startExecution(), Vision::Lumenera::Task::startVideo(), Vision::UI2210MGL::CaptureUeye::stopCapture(), Autonomy::TREX::Task::stopExecution(), Sensors::SW100::Task::task(), Supervisors::Vehicle::Task::task(), Control::ROV::RemoteOperation::Task::toggleWallTracker(), and DUNE::Daemon::~Daemon().

void DUNE::Tasks::Task::initializeResources ( void  )

Instruct task to initialize the resources acquired in acquireResources().

References err(), onResourceInitialization(), stopping(), and DUNE::Time::Delay::wait().

bool DUNE::Tasks::Task::isActive ( void  ) const
inlineprotected

Test if task is active.

Returns
true if task is active, false otherwise.

References DUNE::Entities::StatefulEntity::isActive().

Referenced by Autonomy::TREX::Task::checkState(), Simulators::UAV::Task::commandFilter(), DUNE::Hardware::BasicDeviceDriver::consume(), DUNE::Control::BasicRemoteOperation::consume(), DUNE::Control::BasicUAVAutopilot::consume(), DUNE::Control::PathController::consume(), DUNE::Control::BasicAutopilot::consume(), Simulators::UAVAutopilot::Task::consume(), Supervisors::AUV::LostComms::Task::consume(), Transports::Replay::Task::consume(), Sensors::CyclopsC7::Task::consume(), Control::AUV::Allocator::Task::consume(), Control::AUV::Speed::Task::consume(), Simulators::UAV::Task::consume(), Maneuver::VehicleFormation::Coordinator::Task::consume(), Sensors::MLBL::Task::consume(), Maneuver::VehicleFormation::FormCollAvoid::Task::consume(), DUNE::Maneuvers::Maneuver::consumeIfActive(), Autonomy::OnEvent::Task::fire(), Supervisors::AUV::LostComms::Task::getPlanSpec(), Supervisors::UAV::LostComms::Task::getPlanSpec(), Vision::UAVCamera::Task::onMain(), Vision::PhotoTrigger::Task::onMain(), Navigation::AUV::Ranger::Task::onMain(), Transports::Replay::Task::onMain(), Sensors::IFOG::Task::onMain(), Vision::UI2210MGL::Task::onMain(), Transports::Iridium::Task::onMain(), Vision::DFK51BG02H::Task::onMain(), Sensors::Imagenex881A::Task::onMain(), Vision::Lumenera::Task::onMain(), Sensors::MLBL::Task::onMain(), Monitors::Emergency::Task::onResourceInitialization(), Simulators::AcousticModem::Task::onUpdateParameters(), Vision::Lumenera::Task::onUpdateParameters(), Maneuver::VehicleFormation::Coordinator::Task::onUpdateParameters(), Transports::Seatrac::Task::processInput(), Sensors::MLBL::Task::processInput(), Transports::IridiumSBD::Task::processQueue(), Monitors::Emergency::Task::sendDistress(), Transports::Replay::Task::startReplay(), Simulators::UAVAutopilot::Task::task(), Maneuver::VehicleFormation::Test::Task::task(), Supervisors::UAV::LostComms::Task::task(), Supervisors::AUV::LostComms::Task::task(), Simulators::UAV::Task::task(), Maneuver::VehicleFormation::Coordinator::Task::task(), Maneuver::VehicleFormation::FormCollAvoid::Task::task(), Autonomy::TREX::Task::updateEntityState(), Monitors::Medium::Task::updateStateMachine(), and Monitors::Medium::Task::waterMediumCheck().

bool DUNE::Tasks::Task::isDeactivating ( void  ) const
inlineprotected
virtual void DUNE::Tasks::Task::onEntityReservation ( void  )
inlineprotectedvirtual
virtual void DUNE::Tasks::Task::onMain ( void  )
protectedpure virtual

Implemented in Control::UAV::Ardupilot::Task, Sensors::MLBL::Task, Plan::Engine::Task, Vision::Lumenera::Task, Sensors::MLBLTracker::Task, Transports::UAN::Task, Transports::Seatrac::Task, Sensors::MetrecX::Task, Sensors::Imagenex881A::Task, Plan::DB::Task, Actuators::MCD4R::Task, Control::AUV::Speed::Task, Control::AUV::Allocator::Task, Monitors::Entities::Task, Power::LUEMB::Task, Vision::DFK51BG02H::Task, Actuators::LED4R::Task, Transports::Announce::Task, Transports::Iridium::Task, Sensors::MTi::Task, Sensors::OS4000::Task, Sensors::XR620CTD::Task, Transports::UDP::Task, Transports::IridiumSBD::Task, Autonomy::TREX::Task, Power::APD::Task, Vision::UI2210MGL::Task, Sensors::IFOG::Task, Transports::Replay::Task, Autonomy::OnEvent::Task, DUNE::Maneuvers::Maneuver, Transports::Cache::Task, DUNE::Control::PathController, Transports::LoggingDigest::Task, Transports::GSM::Task, Sensors::EmulatedGPS::Task, Plan::Generator::Task, Navigation::General::GPSNavigation::Task, Transports::SerialOverTCP::Task, Monitors::Clock::Task, Sensors::AIS::Task, Transports::Discovery::Task, Sensors::CyclopsC7::Task, Sensors::WifiRSSI::Task, Navigation::AUV::Ranger::Task, Simulators::AcousticModem::Task, Vision::PhotoTrigger::Task, Control::AntennaTracker::Task, Supervisors::Reporter::Task, Sensors::XchangeSV::Task, Transports::LogBook::Task, Autonomy::TextActions::Task, Vision::UAVCamera::Task, Transports::Fragments::Task, Sensors::MiniSVS::Task, DUNE::Control::BasicAutopilot, Sensors::GillWindObserverII::Task, DUNE::Control::BasicUAVAutopilot, DUNE::Daemon, and DUNE::Tasks::SimpleTransport.

void DUNE::Tasks::Task::onPopEntityParameters ( const IMC::PopEntityParameters msg)
protectedvirtual
virtual void DUNE::Tasks::Task::onReportEntityState ( void  )
inlineprotectedvirtual

Called when the task is instructed to report the state of its entities.

Derived classes that need to report the state of entities other than the main entity should override this function to dispatch the EntityState of those entities.

Reimplemented in Navigation::AUV::Navigation::Task, and Monitors::Entities::Task.

virtual void DUNE::Tasks::Task::onRequestActivation ( void  )
inlineprotectedvirtual

Called when an external activation request is received.

Derived classes that need to perform extra steps to prepare normal execution should replace the default behaviour of immediate activation with calls to activate() when the request is completed or activationFailed() if the request cannot be honoured.

Reimplemented in Maneuver::VehicleFormation::FormCollAvoid::Task, Maneuver::VehicleFormation::Coordinator::Task, Sensors::Imagenex881A::Task, Vision::DFK51BG02H::Task, Vision::Lumenera::Task, Vision::UI2210MGL::Task, and Sensors::CyclopsC7::Task.

References activate(), and spew().

Referenced by requestActivation().

virtual void DUNE::Tasks::Task::onRequestDeactivation ( void  )
inlineprotectedvirtual

Called when an external deactivation request is received.

Derived classes that need to perform extra steps to prepare normal execution should replace the default behaviour of immediate deactivation with calls to deactivate() when the request is completed or deactivationFailed() if the request cannot be honoured.

Reimplemented in Maneuver::VehicleFormation::FormCollAvoid::Task, Maneuver::VehicleFormation::Coordinator::Task, and Vision::Lumenera::Task.

References deactivate(), and spew().

Referenced by requestDeactivation().

virtual void DUNE::Tasks::Task::onResourceAcquisition ( void  )
inlineprotectedvirtual

Called when the task is instructed to acquire resources whose configuration is defined by run-time parameters.

Reimplemented in Maneuver::VehicleFormation::FormCollAvoid::Task, Maneuver::VehicleFormation::Coordinator::Task, Sensors::MLBL::Task, Control::UAV::Ardupilot::Task, Sensors::MetrecX::Task, Sensors::Imagenex881A::Task, Simulators::UAV::Task, Actuators::MCD4R::Task, Control::AUV::Attitude::Task, Vision::Lumenera::Task, Vision::DFK51BG02H::Task, Sensors::MLBLTracker::Task, Transports::Seatrac::Task, Control::ROV::RemoteOperation::Task, Power::LUEMB::Task, Plan::Engine::Task, Sensors::Microstrain3DMGX3::Task, Monitors::FuelLevel::Task, Vision::UI2210MGL::Task, Transports::UDP::Task, Power::APD::Task, Actuators::LED4R::Task, Transports::UAN::Task, Sensors::IFOG::Task, Sensors::OS4000::Task, Maneuver::VehicleFormation::Test::Task, Sensors::XR620CTD::Task, Supervisors::AUV::Assist::Task, Transports::GSM::Task, Transports::IridiumSBD::Task, Sensors::CyclopsC7::Task, Monitors::Emergency::Task, Supervisors::Vehicle::Task, Sensors::MTi::Task, Sensors::AIM104MultiIO::Task, Sensors::SW100::Task, Plan::DB::Task, Sensors::EmulatedGPS::Task, Vision::FrameGrabber::Task, Simulators::AcousticModem::Task, Simulators::UAVAutopilot::Task, Sensors::AIS::Task, Transports::Iridium::Task, Sensors::MiniSVS::Task, Transports::SerialOverTCP::Task, Sensors::XchangeSV::Task, Sensors::GillWindObserverII::Task, DUNE::Control::BasicAutopilot, and DUNE::Control::BasicUAVAutopilot.

Referenced by acquireResources().

virtual void DUNE::Tasks::Task::onResourceInitialization ( void  )
inlineprotectedvirtual

Called when the task is instructed to initialize resources acquired previously or whose initialization depends on run-time parameters.

Reimplemented in Sensors::MLBL::Task, Sensors::MetrecX::Task, Sensors::Imagenex881A::Task, Sensors::MLBLTracker::Task, Actuators::MCD4R::Task, Vision::DFK51BG02H::Task, Control::AUV::Attitude::Task, Transports::Seatrac::Task, Navigation::AUV::Navigation::Task, Power::LUEMB::Task, Vision::UI2210MGL::Task, Sensors::Microstrain3DMGX3::Task, Plan::Engine::Task, Power::APD::Task, Control::ROV::RemoteOperation::Task, Actuators::LED4R::Task, Sensors::IFOG::Task, Transports::UAN::Task, Control::AUV::Speed::Task, Monitors::Medium::Task, Sensors::OS4000::Task, Autonomy::OnEvent::Task, Sensors::XR620CTD::Task, Control::ROV::HorizontalPlane::Task, Transports::GSM::Task, Control::AUV::Allocator::Task, Supervisors::AUV::Assist::Task, Transports::Announce::Task, Transports::IridiumSBD::Task, Navigation::General::ROV::Task, Supervisors::Vehicle::Task, Monitors::Emergency::Task, DUNE::Navigation::BasicNavigation, Sensors::WifiRSSI::Task, Control::AUV::LMI::Task, Monitors::Entities::Task, Sensors::AIM104MultiIO::Task, Sensors::SW100::Task, Transports::SerialOverTCP::Task, Monitors::Clock::Task, Control::ROV::Depth::Task, Sensors::XchangeSV::Task, Supervisors::AUV::LostComms::Task, Vision::FrameGrabber::Task, DUNE::Control::PathController, Transports::LoggingDigest::Task, Transports::Iridium::Task, DUNE::Control::BasicRemoteOperation, Sensors::MiniSVS::Task, Supervisors::Entities::Task, Transports::Cache::Task, Transports::Discovery::Task, Navigation::AUV::Ranger::Task, DUNE::Daemon, Transports::LogBook::Task, DUNE::Maneuvers::Maneuver, DUNE::Control::BasicAutopilot, DUNE::Control::BasicUAVAutopilot, and Autonomy::TextActions::Task.

Referenced by initializeResources().

virtual void DUNE::Tasks::Task::onResourceRelease ( void  )
inlineprotectedvirtual

Called when the task is instructed to release resources.

Derived classes that override this function must not assume that any resource was previously acquired. This function must be implemented in such a way that it can be called at any time.

Reimplemented in Maneuver::VehicleFormation::FormCollAvoid::Task, Maneuver::VehicleFormation::Coordinator::Task, Sensors::MLBL::Task, Control::UAV::Ardupilot::Task, Sensors::MetrecX::Task, Sensors::Imagenex881A::Task, Transports::Seatrac::Task, Actuators::MCD4R::Task, Sensors::MLBLTracker::Task, Vision::Lumenera::Task, Control::AUV::Attitude::Task, Simulators::UAV::Task, Vision::DFK51BG02H::Task, Navigation::AUV::Navigation::Task, Transports::UDP::Task, Power::LUEMB::Task, Actuators::LED4R::Task, Power::APD::Task, Control::ROV::RemoteOperation::Task, Vision::UI2210MGL::Task, Plan::Engine::Task, Sensors::Microstrain3DMGX3::Task, Transports::UAN::Task, Monitors::FuelLevel::Task, Sensors::IFOG::Task, Maneuver::VehicleFormation::Test::Task, Sensors::OS4000::Task, Transports::IridiumSBD::Task, Transports::GSM::Task, Plan::DB::Task, Sensors::XR620CTD::Task, Supervisors::AUV::Assist::Task, Sensors::AIM104MultiIO::Task, Navigation::General::ROV::Task, Sensors::CyclopsC7::Task, DUNE::Navigation::BasicNavigation, Sensors::SW100::Task, Supervisors::Vehicle::Task, Sensors::AIS::Task, Sensors::MTi::Task, Vision::FrameGrabber::Task, Monitors::Emergency::Task, Sensors::EmulatedGPS::Task, DUNE::Control::PathController, Simulators::AcousticModem::Task, Plan::Generator::Task, Transports::Iridium::Task, Sensors::MiniSVS::Task, Simulators::UAVAutopilot::Task, Transports::SerialOverTCP::Task, Sensors::XchangeSV::Task, Sensors::GillWindObserverII::Task, DUNE::Control::BasicAutopilot, DUNE::Control::BasicUAVAutopilot, and Transports::Fragments::Task.

Referenced by releaseResources().

virtual void DUNE::Tasks::Task::onUpdateParameters ( void  )
inlineprotectedvirtual

Called when the task is instructed to update its run-time parameters.

Derived classes that need to compute auxiliary values based on run-time parameters should override this function.

Reimplemented in Maneuver::VehicleFormation::FormCollAvoid::Task, Sensors::MLBL::Task, Control::UAV::Ardupilot::Task, Maneuver::VehicleFormation::Coordinator::Task, Control::AUV::Attitude::Task, Sensors::Imagenex881A::Task, Actuators::MCD4R::Task, Sensors::MetrecX::Task, Vision::DFK51BG02H::Task, Control::ROV::RemoteOperation::Task, Vision::Lumenera::Task, Simulators::UAV::Task, Autonomy::TREX::Task, Sensors::MLBLTracker::Task, Navigation::AUV::Navigation::Task, Plan::Engine::Task, Sensors::OS4000::Task, Control::AUV::Speed::Task, Vision::UI2210MGL::Task, Monitors::FuelLevel::Task, Sensors::Microstrain3DMGX3::Task, Monitors::OperationalLimits::Task, Actuators::LED4R::Task, Transports::UDP::Task, Power::LUEMB::Task, Sensors::IFOG::Task, Control::ROV::HorizontalPlane::Task, Transports::Announce::Task, Maneuver::VehicleFormation::Test::Task, Power::APD::Task, Autonomy::OnEvent::Task, Sensors::XR620CTD::Task, Supervisors::AUV::Assist::Task, Control::AUV::LMI::Task, Transports::GSM::Task, Control::AUV::Allocator::Task, Control::AUV::RemoteOperation::Task, Control::ROV::Depth::Task, Transports::IridiumSBD::Task, DUNE::Navigation::BasicNavigation, Sensors::WifiRSSI::Task, Control::Path::LOSnSMC::Task, Control::Path::ILOS::Task, Navigation::General::ROV::Task, Vision::PhotoTrigger::Task, Transports::LoggingDigest::Task, Transports::Replay::Task, DUNE::Control::PathController, Navigation::General::GPSNavigation::Task, Supervisors::UAV::LostComms::Task, Vision::FrameGrabber::Task, Sensors::CyclopsC7::Task, Control::UAV::LOS::Task, Control::Path::VectorField::Task, Simulators::AcousticModem::Task, Supervisors::Entities::Task, Control::AntennaTracker::Task, Control::UAV::RemoteOperation::Task, Simulators::UAVAutopilot::Task, Sensors::MiniSVS::Task, Supervisors::Reporter::Task, Navigation::AUV::Ranger::Task, and Control::Path::PurePursuit::Task.

Referenced by updateParameters().

virtual bool DUNE::Tasks::Task::onWriteParamsXML ( std::ostream &  os) const
inlineprotectedvirtual

Referenced by writeParamsXML().

template<typename T >
Parameter& DUNE::Tasks::Task::param ( const std::string &  name,
T &  var 
)
inlineprotected

Declare a configuration parameter that can be parsed using the basic parameter parser.

Template Parameters
Ttype of the destination variable.
Parameters
[in]nameparameter name.
[in]varvariable that will hold the parameter value.
Returns
Parameter object.

Referenced by DUNE::Control::BasicAutopilot::BasicAutopilot(), DUNE::Navigation::BasicNavigation::BasicNavigation(), DUNE::Control::BasicRemoteOperation::BasicRemoteOperation(), paramActive(), DUNE::Control::PathController::PathController(), DUNE::Tasks::Periodic::Periodic(), DUNE::Control::ProxyPathController::ProxyPathController(), DUNE::Tasks::SimpleTransport::SimpleTransport(), Transports::Fragments::Task::Task(), Control::UAV::RemoteOperation::Task::Task(), Sensors::GillWindObserverII::Task::Task(), Control::ASV::RemoteOperation::Task::Task(), Navigation::AUV::Ranger::Task::Task(), Supervisors::Reporter::Task::Task(), Simulators::UAVAutopilot::Task::Task(), Transports::Cache::Task::Task(), Sensors::MiniSVS::Task::Task(), Sensors::XchangeSV::Task::Task(), Transports::SerialOverTCP::Task::Task(), Transports::Discovery::Task::Task(), Transports::Iridium::Task::Task(), Control::AntennaTracker::Task::Task(), Control::Path::VectorField::Task::Task(), Vision::UAVCamera::Task::Task(), Supervisors::Entities::Task::Task(), Transports::LoggingDigest::Task::Task(), Vision::FrameGrabber::Task::Task(), Sensors::CyclopsC7::Task::Task(), Simulators::AcousticModem::Task::Task(), Control::UAV::LOS::Task::Task(), Sensors::EmulatedGPS::Task::Task(), Supervisors::UAV::LostComms::Task::Task(), Control::Path::ILOS::Task::Task(), Control::ROV::Depth::Task::Task(), Vision::PhotoTrigger::Task::Task(), Control::Path::LOSnSMC::Task::Task(), Navigation::General::GPSNavigation::Task::Task(), Autonomy::TREX::Task::Task(), Monitors::Emergency::Task::Task(), Control::AUV::RemoteOperation::Task::Task(), Transports::IridiumSBD::Task::Task(), Plan::Generator::Task::Task(), Sensors::AIM104MultiIO::Task::Task(), Control::AUV::Allocator::Task::Task(), Sensors::AIS::Task::Task(), Control::AUV::LMI::Task::Task(), Monitors::Clock::Task::Task(), Monitors::FuelLevel::Task::Task(), Sensors::SW100::Task::Task(), Maneuver::VehicleFormation::Test::Task::Task(), Autonomy::OnEvent::Task::Task(), Transports::Replay::Task::Task(), Supervisors::AUV::LostComms::Task::Task(), Control::ROV::HorizontalPlane::Task::Task(), Transports::GSM::Task::Task(), Monitors::Entities::Task::Task(), Navigation::General::ROV::Task::Task(), Monitors::Medium::Task::Task(), Sensors::MTi::Task::Task(), Supervisors::Vehicle::Task::Task(), Transports::Announce::Task::Task(), Plan::DB::Task::Task(), Power::APD::Task::Task(), Supervisors::AUV::Assist::Task::Task(), Transports::UAN::Task::Task(), Vision::UI2210MGL::Task::Task(), Task(), Control::ROV::RemoteOperation::Task::Task(), Transports::UDP::Task::Task(), Monitors::OperationalLimits::Task::Task(), Control::AUV::Speed::Task::Task(), Sensors::OS4000::Task::Task(), Power::LUEMB::Task::Task(), Transports::Seatrac::Task::Task(), Simulators::UAV::Task::Task(), Actuators::LED4R::Task::Task(), Plan::Engine::Task::Task(), Sensors::XR620CTD::Task::Task(), Sensors::IFOG::Task::Task(), Vision::Lumenera::Task::Task(), Sensors::Microstrain3DMGX3::Task::Task(), Control::AUV::Attitude::Task::Task(), Sensors::MetrecX::Task::Task(), Sensors::MLBLTracker::Task::Task(), Navigation::AUV::Navigation::Task::Task(), Vision::DFK51BG02H::Task::Task(), Maneuver::VehicleFormation::Coordinator::Task::Task(), Sensors::Imagenex881A::Task::Task(), Control::UAV::Ardupilot::Task::Task(), Actuators::MCD4R::Task::Task(), Sensors::MLBL::Task::Task(), and Maneuver::VehicleFormation::FormCollAvoid::Task::Task().

template<typename Y , typename T >
Parameter& DUNE::Tasks::Task::param ( const std::string &  name,
T &  var 
)
inlineprotected

Declare a configuration parameter that can be parsed using a custom parameter reader.

Template Parameters
Ytype of the custom parameter reader.
Ttype of the destination variable.
Parameters
[in]nameparameter name.
[in]varvariable that will hold the parameter value.
Returns
Parameter object.

References DUNE::Tasks::ParameterTable::add().

void DUNE::Tasks::Task::paramActive ( Parameter::Scope  def_scope,
Parameter::Visibility  def_visibility,
bool  def_value = false 
)
protected
template<typename T >
bool DUNE::Tasks::Task::paramChanged ( T &  var)
inlineprotected

References DUNE::Tasks::ParameterTable::changed().

Referenced by Vision::Lumenera::Task::checkExposure(), Vision::Lumenera::Task::checkGain(), Vision::Lumenera::Task::checkParameters(), Vision::Lumenera::Task::checkWhiteBalance(), Navigation::AUV::Ranger::Task::onUpdateParameters(), Supervisors::Reporter::Task::onUpdateParameters(), Sensors::MiniSVS::Task::onUpdateParameters(), Control::UAV::RemoteOperation::Task::onUpdateParameters(), Simulators::AcousticModem::Task::onUpdateParameters(), Control::Path::VectorField::Task::onUpdateParameters(), Control::UAV::LOS::Task::onUpdateParameters(), Sensors::CyclopsC7::Task::onUpdateParameters(), Supervisors::UAV::LostComms::Task::onUpdateParameters(), DUNE::Control::PathController::onUpdateParameters(), Transports::LoggingDigest::Task::onUpdateParameters(), Control::Path::ILOS::Task::onUpdateParameters(), Transports::IridiumSBD::Task::onUpdateParameters(), Control::AUV::RemoteOperation::Task::onUpdateParameters(), Control::AUV::Allocator::Task::onUpdateParameters(), Transports::GSM::Task::onUpdateParameters(), Supervisors::AUV::Assist::Task::onUpdateParameters(), Autonomy::OnEvent::Task::onUpdateParameters(), Sensors::XR620CTD::Task::onUpdateParameters(), Control::ROV::HorizontalPlane::Task::onUpdateParameters(), Transports::UDP::Task::onUpdateParameters(), Sensors::Microstrain3DMGX3::Task::onUpdateParameters(), Monitors::FuelLevel::Task::onUpdateParameters(), Control::AUV::Speed::Task::onUpdateParameters(), Sensors::OS4000::Task::onUpdateParameters(), Plan::Engine::Task::onUpdateParameters(), Sensors::MLBLTracker::Task::onUpdateParameters(), Control::ROV::RemoteOperation::Task::onUpdateParameters(), Sensors::Imagenex881A::Task::onUpdateParameters(), Control::AUV::Attitude::Task::onUpdateParameters(), Maneuver::VehicleFormation::Coordinator::Task::onUpdateParameters(), Sensors::MLBL::Task::onUpdateParameters(), Maneuver::VehicleFormation::FormCollAvoid::Task::onUpdateParameters(), and updateParameters().

void DUNE::Tasks::Task::receive ( const IMC::Message msg)
inlinevirtual

Queue a message for later consumption.

Parameters
msgmessage object.

Implements DUNE::Tasks::AbstractTask.

References DUNE::Tasks::Recipient::put().

Referenced by Control::UAV::Ardupilot::Task::handleHeartbeatPacket(), and Control::UAV::Ardupilot::Task::handleNavControllerPacket().

void DUNE::Tasks::Task::releaseResources ( void  )

Free all resources acquired in acquireResources().

References onResourceRelease().

void DUNE::Tasks::Task::reserveEntities ( void  )
template<typename E >
E* DUNE::Tasks::Task::reserveEntity ( const std::string &  label)
inlineprotected

Associate an entity label with an internally stored entity object, and retrieve a pointer to the object.

Parameters
[in]labelentity name/label.
Returns
pointer to entity object.

References DUNE::Tasks::Context::entities, getName(), m_ctx, m_entities, and DUNE::Entities::EntityDataBase::reserve().

void DUNE::Tasks::Task::resolveEntities ( void  )

Instruct task to resolve all entity identifiers that it needs for normal execution.

References onEntityResolution().

unsigned int DUNE::Tasks::Task::resolveEntity ( const std::string &  label) const
inline

Retrieve the entity id of a given entity label.

Parameters
[in]labelentity label.
Exceptions
NonexistentLabelif the label doesn't have an associated id.
Returns
entity id.

References DUNE::Tasks::Context::entities, m_ctx, and DUNE::Entities::EntityDataBase::resolve().

Referenced by Monitors::Entities::Task::activate(), Simulators::UAV::Task::commandPrintOut(), Maneuver::VehicleFormation::Test::Task::consume(), Plan::Engine::Task::consume(), Control::UAV::Ardupilot::Task::consume(), Maneuver::VehicleFormation::Coordinator::Task::consume(), Maneuver::VehicleFormation::FormCollAvoid::Task::consume(), Sensors::MetrecX::Task::dispatchValue(), Power::APD::Task::onEntityReservation(), Power::LUEMB::Task::onEntityReservation(), Sensors::MetrecX::Task::onEntityReservation(), Sensors::CyclopsC7::Task::onEntityResolution(), Navigation::General::GPSNavigation::Task::onEntityResolution(), DUNE::Navigation::BasicNavigation::onEntityResolution(), Control::AUV::Allocator::Task::onEntityResolution(), Monitors::Medium::Task::onEntityResolution(), Plan::Engine::Task::onEntityResolution(), Control::ROV::RemoteOperation::Task::onEntityResolution(), Monitors::FuelLevel::Task::onEntityResolution(), Sensors::MetrecX::Task::onEntityResolution(), Navigation::AUV::Navigation::Task::onEntityResolution(), Sensors::MLBL::Task::onEntityResolution(), Maneuver::VehicleFormation::Coordinator::Task::onEntityResolution(), Maneuver::VehicleFormation::FormCollAvoid::Task::onEntityResolution(), Power::APD::Task::onUpdateParameters(), Power::LUEMB::Task::onUpdateParameters(), Sensors::MetrecX::Task::onUpdateParameters(), Monitors::Entities::Task::setupDefaults(), DUNE::Tasks::MessageFilter::setupEntities(), and Maneuver::VehicleFormation::Coordinator::Task::task().

std::string DUNE::Tasks::Task::resolveEntity ( unsigned int  id) const
inline

Retrieve the entity label of a given entity id.

Parameters
[in]identity id.
Exceptions
NonexistentIdif the id doesn't have an associated label.
Returns
entity label.

References DUNE::Tasks::Context::entities, m_ctx, and DUNE::Entities::EntityDataBase::resolve().

void DUNE::Tasks::Task::setEntityLabel ( const std::string &  label)
inline

Set the main entity label of the task.

Parameters
[in]labelmain entity label.

References DUNE::Entities::BasicEntity::setLabel().

Referenced by DUNE::Daemon::Daemon().

void DUNE::Tasks::Task::setEntityState ( IMC::EntityState::StateEnum  state,
Status::Code  code 
)
inlineprotected

Set current entity state with an optional pre-defined description.

If a status code is not given, then the existing description will be kept.

Parameters
[in]stateentity state.
[in]codestatus code.

References DUNE::Entities::StatefulEntity::setState().

Referenced by DUNE::Control::BasicAutopilot::BasicAutopilot(), DUNE::Control::BasicUAVAutopilot::BasicUAVAutopilot(), Vision::Lumenera::Task::checkActivationProgress(), Vision::Lumenera::Task::checkCaptureOk(), DUNE::Navigation::BasicNavigation::checkUncertainty(), DUNE::Control::BasicRemoteOperation::consume(), DUNE::Control::BasicAutopilot::consume(), Supervisors::Reporter::Task::consume(), Control::AntennaTracker::Task::consume(), Simulators::UAVAutopilot::Task::consume(), Monitors::Clock::Task::consume(), Plan::Generator::Task::consume(), Transports::LoggingDigest::Task::consume(), Navigation::General::GPSNavigation::Task::consume(), Sensors::CyclopsC7::Task::consume(), Plan::DB::Task::consume(), Sensors::OS4000::Task::consume(), Supervisors::AUV::Assist::Task::dispatchDislodge(), Supervisors::AUV::LostComms::Task::getPlanSpec(), Supervisors::UAV::LostComms::Task::getPlanSpec(), Control::UAV::Ardupilot::Task::handleArdupilotData(), Navigation::AUV::Ranger::Task::onActivation(), DUNE::Control::BasicUAVAutopilot::onActivation(), Transports::Iridium::Task::onActivation(), Control::AUV::Allocator::Task::onActivation(), Monitors::Emergency::Task::onActivation(), DUNE::Control::BasicAutopilot::onActivation(), Transports::IridiumSBD::Task::onActivation(), Control::AUV::Speed::Task::onActivation(), Autonomy::OnEvent::Task::onActivation(), Autonomy::TREX::Task::onActivation(), Vision::UI2210MGL::Task::onActivation(), Vision::DFK51BG02H::Task::onActivation(), Sensors::Imagenex881A::Task::onActivation(), Vision::Lumenera::Task::onActivation(), Navigation::AUV::Ranger::Task::onDeactivation(), DUNE::Control::BasicUAVAutopilot::onDeactivation(), Supervisors::AUV::LostComms::Task::onDeactivation(), Transports::Iridium::Task::onDeactivation(), DUNE::Control::BasicAutopilot::onDeactivation(), Control::AUV::Allocator::Task::onDeactivation(), Sensors::CyclopsC7::Task::onDeactivation(), Monitors::Emergency::Task::onDeactivation(), Transports::IridiumSBD::Task::onDeactivation(), Control::AUV::Speed::Task::onDeactivation(), Autonomy::OnEvent::Task::onDeactivation(), Sensors::IFOG::Task::onDeactivation(), Autonomy::TREX::Task::onDeactivation(), Vision::UI2210MGL::Task::onDeactivation(), Vision::DFK51BG02H::Task::onDeactivation(), Sensors::Imagenex881A::Task::onDeactivation(), Vision::Lumenera::Task::onDeactivation(), Sensors::MiniSVS::Task::onMain(), Vision::UAVCamera::Task::onMain(), Sensors::XchangeSV::Task::onMain(), Sensors::AIS::Task::onMain(), Monitors::Clock::Task::onMain(), Navigation::General::GPSNavigation::Task::onMain(), Sensors::IFOG::Task::onMain(), Sensors::XR620CTD::Task::onMain(), Sensors::OS4000::Task::onMain(), Actuators::LED4R::Task::onMain(), Actuators::MCD4R::Task::onMain(), Sensors::Imagenex881A::Task::onMain(), Sensors::MetrecX::Task::onMain(), Sensors::MLBLTracker::Task::onMain(), Control::UAV::Ardupilot::Task::onMain(), Sensors::XchangeSV::Task::onResourceAcquisition(), Sensors::MiniSVS::Task::onResourceAcquisition(), Simulators::AcousticModem::Task::onResourceAcquisition(), Sensors::EmulatedGPS::Task::onResourceAcquisition(), Plan::DB::Task::onResourceAcquisition(), Sensors::AIM104MultiIO::Task::onResourceAcquisition(), Maneuver::VehicleFormation::Test::Task::onResourceAcquisition(), Transports::UDP::Task::onResourceAcquisition(), Sensors::Microstrain3DMGX3::Task::onResourceAcquisition(), Sensors::MLBLTracker::Task::onResourceAcquisition(), Vision::Lumenera::Task::onResourceAcquisition(), Sensors::Imagenex881A::Task::onResourceAcquisition(), Sensors::MetrecX::Task::onResourceAcquisition(), Maneuver::VehicleFormation::Coordinator::Task::onResourceAcquisition(), Maneuver::VehicleFormation::FormCollAvoid::Task::onResourceAcquisition(), Autonomy::TextActions::Task::onResourceInitialization(), DUNE::Maneuvers::Maneuver::onResourceInitialization(), DUNE::Daemon::onResourceInitialization(), Transports::LogBook::Task::onResourceInitialization(), Navigation::AUV::Ranger::Task::onResourceInitialization(), Transports::Discovery::Task::onResourceInitialization(), Transports::Cache::Task::onResourceInitialization(), Supervisors::Entities::Task::onResourceInitialization(), DUNE::Control::BasicRemoteOperation::onResourceInitialization(), Transports::Iridium::Task::onResourceInitialization(), Transports::LoggingDigest::Task::onResourceInitialization(), Supervisors::AUV::LostComms::Task::onResourceInitialization(), Monitors::Entities::Task::onResourceInitialization(), Monitors::Emergency::Task::onResourceInitialization(), Transports::IridiumSBD::Task::onResourceInitialization(), Transports::Announce::Task::onResourceInitialization(), Supervisors::AUV::Assist::Task::onResourceInitialization(), Transports::GSM::Task::onResourceInitialization(), Sensors::OS4000::Task::onResourceInitialization(), Transports::UAN::Task::onResourceInitialization(), Sensors::IFOG::Task::onResourceInitialization(), Actuators::LED4R::Task::onResourceInitialization(), Power::APD::Task::onResourceInitialization(), Plan::Engine::Task::onResourceInitialization(), Sensors::Microstrain3DMGX3::Task::onResourceInitialization(), Vision::UI2210MGL::Task::onResourceInitialization(), Power::LUEMB::Task::onResourceInitialization(), Vision::DFK51BG02H::Task::onResourceInitialization(), Actuators::MCD4R::Task::onResourceInitialization(), Sensors::Imagenex881A::Task::onResourceInitialization(), Supervisors::Reporter::Task::onUpdateParameters(), Control::UAV::Ardupilot::Task::openConnection(), Transports::GSM::Task::processQueue(), Sensors::MLBLTracker::Task::readSentence(), Sensors::Microstrain3DMGX3::Task::reportEntityState(), Monitors::OperationalLimits::Task::reset(), DUNE::Navigation::BasicNavigation::reset(), Sensors::Microstrain3DMGX3::Task::runCalibration(), Transports::Seatrac::Task::setAndSendState(), Sensors::MLBL::Task::setAndSendState(), Supervisors::Vehicle::Task::setInitialState(), Supervisors::AUV::Assist::Task::setState(), DUNE::Control::BasicAutopilot::signalBadVertical(), DUNE::Control::BasicAutopilot::signalBadYaw(), Sensors::XR620CTD::Task::startSampling(), Sensors::XR620CTD::Task::stopSampling(), Transports::Fragments::Task::Task(), Sensors::CyclopsC7::Task::Task(), Control::Path::ILOS::Task::Task(), Control::AUV::Allocator::Task::Task(), Monitors::Clock::Task::Task(), Autonomy::OnEvent::Task::Task(), Control::AUV::Speed::Task::Task(), Sensors::SW100::Task::task(), Monitors::FuelLevel::Task::task(), Sensors::OS4000::Task::terminateCalibration(), Autonomy::TREX::Task::updateEntityState(), Monitors::OperationalLimits::Task::updateState(), Monitors::Medium::Task::updateStateMachine(), and Monitors::Medium::Task::waterMediumCheck().

void DUNE::Tasks::Task::setEntityState ( IMC::EntityState::StateEnum  state,
const std::string &  description 
)
inlineprotected

Set current entity state with a custom description.

Parameters
[in]stateentity state.
[in]descriptioncustom state description.

References DUNE::Entities::StatefulEntity::setState().

void DUNE::Tasks::Task::setParamSectionEditor ( const std::string &  name)
inlineprotected

Set the name of the parameter editor that should be used to interact with the parameters of the task.

Parameters
[in]nameeditor name (free-form string).
void DUNE::Tasks::Task::setPriority ( unsigned int  value)
inline

Set scheduling priority programatically.

The priority of a task might change when configuration parameters are updated.

Parameters
[in]valuedesired scheduling priority.

Referenced by DUNE::Daemon::onResourceInitialization().

void DUNE::Tasks::Task::spew ( const char *  format,
  ... 
)
virtual

Send a very verbose or frequent human-readable debug message to all configured output channels and files.

The message will only be processed if the configured log level is DEBUG_LEVEL_SPEW.

Parameters
formatstring format (similar to printf(3)).
...arguments.

Reimplemented from DUNE::Tasks::AbstractTask.

References DUNE::Tasks::DEBUG_LEVEL_SPEW, and DUNE::IMC::LogBookEntry::LBET_DEBUG.

Referenced by activate(), activationFailed(), Sensors::OS4000::Task::calibrating(), Vision::Lumenera::Task::captureFrame(), DUNE::Navigation::BasicNavigation::checkUncertainty(), Transports::IridiumSBD::Task::cleanExpired(), Simulators::UAV::Task::commandPrintOut(), Autonomy::TextActions::Task::consume(), Control::AntennaTracker::Task::consume(), Simulators::UAVAutopilot::Task::consume(), DUNE::Navigation::BasicNavigation::consume(), Monitors::Emergency::Task::consume(), Power::LUEMB::Task::consume(), Simulators::UAV::Task::consume(), Control::UAV::Ardupilot::Task::consume(), Maneuver::VehicleFormation::Coordinator::Task::consume(), Maneuver::VehicleFormation::FormCollAvoid::Task::consume(), deactivate(), deactivationFailed(), Control::UAV::Ardupilot::Task::handleArdupilotData(), Transports::Iridium::Task::handleIridiumCommand(), onActivation(), onDeactivation(), Maneuver::VehicleFormation::Test::Task::onEntityResolution(), Maneuver::VehicleFormation::Coordinator::Task::onEntityResolution(), Maneuver::VehicleFormation::FormCollAvoid::Task::onEntityResolution(), Transports::Replay::Task::onMain(), Transports::Iridium::Task::onMain(), onRequestActivation(), Maneuver::VehicleFormation::Coordinator::Task::onRequestActivation(), Maneuver::VehicleFormation::FormCollAvoid::Task::onRequestActivation(), onRequestDeactivation(), Maneuver::VehicleFormation::Coordinator::Task::onRequestDeactivation(), Maneuver::VehicleFormation::FormCollAvoid::Task::onRequestDeactivation(), Simulators::UAV::Task::onResourceAcquisition(), Simulators::UAV::Task::onResourceRelease(), Control::AUV::LMI::Task::onUpdateParameters(), Maneuver::VehicleFormation::Test::Task::onUpdateParameters(), Maneuver::VehicleFormation::Coordinator::Task::onUpdateParameters(), Maneuver::VehicleFormation::FormCollAvoid::Task::onUpdateParameters(), requestActivation(), requestDeactivation(), Sensors::MetrecX::Task::sendCommand(), Transports::Iridium::Task::sendDeviceUpdates(), Transports::UAN::Task::sendRange(), Monitors::Emergency::Task::sendScheduled(), DUNE::Navigation::BasicNavigation::setup(), Control::UAV::Ardupilot::Task::setupRate(), Control::Path::VectorField::Task::step(), Control::UAV::LOS::Task::step(), Control::Path::LOSnSMC::Task::step(), Simulators::UAVAutopilot::Task::task(), Maneuver::VehicleFormation::Test::Task::task(), Maneuver::VehicleFormation::Coordinator::Task::task(), Maneuver::VehicleFormation::FormCollAvoid::Task::task(), Maneuver::VehicleFormation::FormCollAvoid::Task::teamPeriodicUpdate(), Maneuver::VehicleFormation::FormCollAvoid::Task::teamUnevenUpdate(), and Maneuver::VehicleFormation::Coordinator::Task::updateLeaderLimits().

bool DUNE::Tasks::Task::stopping ( void  )
inlineprotected

Test if task is stopping.

Returns
true if task is stopping, false otherwise.

References DUNE::Concurrency::Runnable::isStopping().

Referenced by Sensors::XR620CTD::Task::getCalibration(), initializeResources(), DUNE::Tasks::SimpleTransport::onMain(), DUNE::Daemon::onMain(), DUNE::Control::BasicUAVAutopilot::onMain(), Sensors::GillWindObserverII::Task::onMain(), DUNE::Control::BasicAutopilot::onMain(), Sensors::MiniSVS::Task::onMain(), Transports::Fragments::Task::onMain(), Vision::UAVCamera::Task::onMain(), Autonomy::TextActions::Task::onMain(), Transports::LogBook::Task::onMain(), Sensors::XchangeSV::Task::onMain(), Supervisors::Reporter::Task::onMain(), Control::AntennaTracker::Task::onMain(), Vision::PhotoTrigger::Task::onMain(), Simulators::AcousticModem::Task::onMain(), Navigation::AUV::Ranger::Task::onMain(), Sensors::CyclopsC7::Task::onMain(), Transports::Discovery::Task::onMain(), Sensors::AIS::Task::onMain(), Monitors::Clock::Task::onMain(), Transports::SerialOverTCP::Task::onMain(), Navigation::General::GPSNavigation::Task::onMain(), Plan::Generator::Task::onMain(), Sensors::EmulatedGPS::Task::onMain(), Transports::GSM::Task::onMain(), Transports::LoggingDigest::Task::onMain(), DUNE::Control::PathController::onMain(), Transports::Cache::Task::onMain(), Autonomy::OnEvent::Task::onMain(), Transports::Replay::Task::onMain(), Sensors::IFOG::Task::onMain(), Vision::UI2210MGL::Task::onMain(), Power::APD::Task::onMain(), Autonomy::TREX::Task::onMain(), Transports::IridiumSBD::Task::onMain(), Transports::UDP::Task::onMain(), Sensors::XR620CTD::Task::onMain(), Sensors::OS4000::Task::onMain(), Sensors::MTi::Task::onMain(), Transports::Iridium::Task::onMain(), Transports::Announce::Task::onMain(), Actuators::LED4R::Task::onMain(), Vision::DFK51BG02H::Task::onMain(), Power::LUEMB::Task::onMain(), Monitors::Entities::Task::onMain(), Control::AUV::Allocator::Task::onMain(), Control::AUV::Speed::Task::onMain(), Actuators::MCD4R::Task::onMain(), Plan::DB::Task::onMain(), Sensors::Imagenex881A::Task::onMain(), Sensors::MetrecX::Task::onMain(), Transports::Seatrac::Task::onMain(), Transports::UAN::Task::onMain(), Sensors::MLBLTracker::Task::onMain(), Vision::Lumenera::Task::onMain(), Plan::Engine::Task::onMain(), Sensors::MLBL::Task::onMain(), Control::UAV::Ardupilot::Task::onMain(), Sensors::OS4000::Task::onResourceInitialization(), Sensors::Microstrain3DMGX3::Task::onResourceInitialization(), Sensors::OS4000::Task::setParameter(), Sensors::XR620CTD::Task::setParameters(), and Sensors::XR620CTD::Task::stopSampling().

void DUNE::Tasks::Task::trace ( const char *  format,
  ... 
)
virtual

Send a verbose or frequent human-readable debug message to all configured output channels and files.

The message will only be processed if the configured log level is DEBUG_LEVEL_TRACE or greater.

Parameters
formatstring format (similar to printf(3)).
...arguments.

Reimplemented from DUNE::Tasks::AbstractTask.

References DUNE::Tasks::DEBUG_LEVEL_TRACE, and DUNE::IMC::LogBookEntry::LBET_DEBUG.

Referenced by Vision::Lumenera::EntityActivationMaster::addEntity(), Supervisors::Vehicle::Task::answer(), Vision::Lumenera::EntityActivationMaster::checkActivation(), Vision::Lumenera::Task::checkActivationProgress(), Vision::Lumenera::EntityActivationMaster::checkDeactivation(), Vision::Lumenera::Task::checkDeactivationProgress(), Simulators::UAV::Task::commandFilter(), DUNE::Control::PathController::consume(), Vision::Lumenera::Task::consume(), Supervisors::Vehicle::Task::consume(), Control::UAV::Ardupilot::Task::consume(), Maneuver::VehicleFormation::Coordinator::Task::consume(), Maneuver::VehicleFormation::FormCollAvoid::Task::consume(), Control::UAV::Ardupilot::Task::handleArdupilotData(), Sensors::MLBLTracker::Task::handleBinaryReception(), Control::UAV::Ardupilot::Task::handleHeartbeatPacket(), Control::UAV::Ardupilot::Task::handleMissionCurrentPacket(), Control::UAV::Ardupilot::Task::handleMissionItemPacket(), Control::UAV::Ardupilot::Task::handleNavControllerPacket(), DUNE::Hardware::BasicDeviceDriver::onCloseLog(), Monitors::Entities::Task::onEntityResolution(), Transports::Replay::Task::onMain(), DUNE::Hardware::BasicDeviceDriver::onOpenLog(), Vision::Lumenera::Task::onRequestActivation(), Vision::Lumenera::Task::onRequestDeactivation(), Vision::Lumenera::Task::onResourceRelease(), Transports::LogBook::Task::provide(), Transports::LogBook::Task::report(), DUNE::Hardware::BasicModem::send(), Control::UAV::Ardupilot::Task::sendCommandPacket(), Control::UAV::Ardupilot::Task::sendData(), Maneuver::VehicleFormation::Coordinator::Task::setLeaderState(), Maneuver::VehicleFormation::FormCollAvoid::Task::setLeaderState(), Maneuver::VehicleFormation::Test::Task::task(), Supervisors::AUV::LostComms::Task::task(), Monitors::FuelLevel::Task::task(), Maneuver::VehicleFormation::FormCollAvoid::Task::task(), Control::UAV::RemoteOperation::Task::update(), and Sensors::EmulatedGPS::Task::writeToUART().

void DUNE::Tasks::Task::waitForMessages ( double  timeout)
inlineprotected

Wait for the receiving queue to contain at least one message and then call the consumer functions for all the messages currently in it.

Parameters
[in]timeoutwait for timeout seconds.

References DUNE::Tasks::Recipient::waitForMessages().

Referenced by DUNE::Daemon::onMain(), DUNE::Control::BasicUAVAutopilot::onMain(), DUNE::Control::BasicAutopilot::onMain(), Transports::Fragments::Task::onMain(), Vision::UAVCamera::Task::onMain(), Autonomy::TextActions::Task::onMain(), Transports::LogBook::Task::onMain(), Supervisors::Reporter::Task::onMain(), Control::AntennaTracker::Task::onMain(), Vision::PhotoTrigger::Task::onMain(), Sensors::CyclopsC7::Task::onMain(), Monitors::Clock::Task::onMain(), Navigation::General::GPSNavigation::Task::onMain(), Plan::Generator::Task::onMain(), Sensors::EmulatedGPS::Task::onMain(), Transports::GSM::Task::onMain(), Transports::LoggingDigest::Task::onMain(), DUNE::Control::PathController::onMain(), Transports::Cache::Task::onMain(), Autonomy::OnEvent::Task::onMain(), Transports::Replay::Task::onMain(), Sensors::IFOG::Task::onMain(), Power::APD::Task::onMain(), Transports::IridiumSBD::Task::onMain(), Transports::UDP::Task::onMain(), Sensors::MTi::Task::onMain(), Transports::Iridium::Task::onMain(), Actuators::LED4R::Task::onMain(), Power::LUEMB::Task::onMain(), Monitors::Entities::Task::onMain(), Control::AUV::Allocator::Task::onMain(), Control::AUV::Speed::Task::onMain(), Actuators::MCD4R::Task::onMain(), Plan::DB::Task::onMain(), Sensors::Imagenex881A::Task::onMain(), Transports::UAN::Task::onMain(), Vision::Lumenera::Task::onMain(), Plan::Engine::Task::onMain(), Sensors::MLBL::Task::onMain(), and Navigation::AUV::Ranger::Task::wait().

void DUNE::Tasks::Task::war ( const char *  format,
  ... 
)
virtual

Send an human-readable warning message to all configured output channels and files.

Parameters
formatstring format (similar to printf(3)).
...arguments.

Reimplemented from DUNE::Tasks::AbstractTask.

References DUNE::IMC::LogBookEntry::LBET_WARNING.

Referenced by Supervisors::Vehicle::Task::changeMode(), Plan::Engine::Task::changeMode(), Transports::Seatrac::Task::checkTxOWAY(), Monitors::OperationalLimits::Task::clearError(), DUNE::Simulation::UAVSimulation::commandAirspeed(), DUNE::Simulation::UAVSimulation::commandAlt(), DUNE::Simulation::UAVSimulation::commandBank(), Simulators::UAV::Task::commandFilter(), DUNE::Simulation::UAVSimulation::commandFPA(), DUNE::Simulation::UAVSimulation::commandPitch(), Simulators::UAV::Task::commandPrintOut(), DUNE::Control::BasicAutopilot::consume(), Monitors::Clock::Task::consume(), Sensors::MTi::Task::consume(), DUNE::Navigation::BasicNavigation::consume(), Monitors::Entities::Task::consume(), Plan::DB::Task::consume(), Autonomy::TREX::Task::consume(), Transports::Iridium::Task::consume(), Supervisors::Vehicle::Task::consume(), Transports::Seatrac::Task::consume(), Maneuver::VehicleFormation::Coordinator::Task::consume(), Maneuver::VehicleFormation::FormCollAvoid::Task::consume(), Maneuver::VehicleFormation::FormCollAvoid::Task::formationControl(), Transports::Seatrac::Task::handleBinaryMessage(), Sensors::MLBL::Task::handleBinaryMessage(), Transports::Seatrac::Task::handleCommunicationError(), Control::UAV::Ardupilot::Task::handleHeartbeatPacket(), Sensors::MLBL::Task::handleMiniPacket(), Sensors::MLBL::Task::handlePingReply(), Transports::IridiumSBD::Task::handleSessionResult(), Sensors::MLBL::Task::handleTransponderTravelTimes(), Sensors::Microstrain3DMGX3::Task::isCalibrated(), Maneuver::VehicleFormation::FormCollAvoid::Task::isControlActive(), Transports::Fragments::Task::messageRipper(), Maneuver::VehicleFormation::Coordinator::Task::onEntityResolution(), Maneuver::VehicleFormation::FormCollAvoid::Task::onEntityResolution(), Vision::DFK51BG02H::Task::onMain(), Maneuver::VehicleFormation::Coordinator::Task::onRequestActivation(), Maneuver::VehicleFormation::Coordinator::Task::onRequestDeactivation(), Sensors::IFOG::Task::onResourceAcquisition(), Actuators::LED4R::Task::onResourceAcquisition(), Power::APD::Task::onResourceAcquisition(), Transports::UDP::Task::onResourceAcquisition(), Power::LUEMB::Task::onResourceAcquisition(), Actuators::MCD4R::Task::onResourceAcquisition(), Transports::Seatrac::Task::onResourceInitialization(), Maneuver::VehicleFormation::Coordinator::Task::onUpdateParameters(), Maneuver::VehicleFormation::FormCollAvoid::Task::onUpdateParameters(), Control::UAV::Ardupilot::Task::openConnection(), Sensors::MLBL::Task::pingNarrowBand(), Transports::GSM::Task::processQueue(), Transports::Seatrac::Task::processSentence(), Transports::Discovery::Task::readMessage(), Control::UAV::Ardupilot::Task::receiveData(), Transports::UAN::Task::recvAbort(), Transports::UAN::Task::recvPlanControl(), Transports::Seatrac::Task::sendProtectedCommand(), DUNE::Simulation::UAVSimulation::setPosition(), DUNE::Simulation::UAVSimulation::setVelocity(), Transports::Replay::Task::startReplay(), Control::UAV::LOS::Task::step(), Control::Path::LOSnSMC::Task::step(), Transports::Replay::Task::stopReplay(), Supervisors::AUV::LostComms::Task::task(), Maneuver::VehicleFormation::FormCollAvoid::Task::teamPeriodicUpdate(), and DUNE::Simulation::UAVSimulation::update().

void DUNE::Tasks::Task::writeParamsXML ( std::ostream &  os) const

Write task parameters in XML format.

Parameters
[in]osoutput stream.

References getEntityLabel(), onWriteParamsXML(), and DUNE::Tasks::ParameterTable::writeXML().

Member Data Documentation

Context& DUNE::Tasks::Task::m_ctx
protected

Context.

Referenced by DUNE::Control::BasicAutopilot::BasicAutopilot(), DUNE::Navigation::BasicNavigation::BasicNavigation(), DUNE::Navigation::BasicNavigation::checkDeclination(), DUNE::Control::BasicRemoteOperation::consume(), DUNE::Daemon::consume(), Navigation::General::GPSNavigation::Task::consume(), Autonomy::TREX::Task::consume(), Vision::Lumenera::Task::consume(), Vision::DFK51BG02H::Task::consume(), Control::UAV::Ardupilot::Task::consume(), DUNE::Daemon::Daemon(), dispatch(), getSystemId(), getSystemName(), Control::UAV::Ardupilot::Task::handlePositionPacket(), loadConfig(), DUNE::Navigation::BasicNavigation::onEntityResolution(), Monitors::Entities::Task::onEntityResolution(), Plan::DB::Task::onResourceAcquisition(), Plan::Engine::Task::onResourceAcquisition(), DUNE::Daemon::onResourceInitialization(), Transports::Seatrac::Task::onResourceInitialization(), Sensors::MLBL::Task::onResourceInitialization(), DUNE::Navigation::BasicNavigation::onUpdateParameters(), Transports::Announce::Task::onUpdateParameters(), Transports::UDP::Task::onUpdateParameters(), Sensors::MLBLTracker::Task::onUpdateParameters(), DUNE::Control::PathController::PathController(), Transports::Discovery::Task::readMessage(), reserveEntities(), reserveEntity(), resolveEntity(), resolveSystemId(), resolveSystemName(), Transports::LoggingDigest::Task::startLog(), Transports::Cache::Task::Task(), Transports::Discovery::Task::Task(), Plan::Generator::Task::Task(), Monitors::FuelLevel::Task::Task(), Monitors::Medium::Task::Task(), Supervisors::AUV::Assist::Task::Task(), Task(), Monitors::OperationalLimits::Task::Task(), Control::AUV::Speed::Task::Task(), Plan::Engine::Task::Task(), Control::AUV::Attitude::Task::Task(), and DUNE::Daemon::~Daemon().

std::vector<Entities::BasicEntity*> DUNE::Tasks::Task::m_entities
protected

Owned entity list.

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

Collaboration diagram for DUNE::Tasks::Task:
Collaboration graph