DUNE: Uniform Navigational Environment
2.3.2
|
Task.
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 |
uint16_t | getActivationTime (void) const |
uint16_t | getDeactivationTime (void) const |
unsigned int | resolveSystemName (const std::string &name) const |
const char * | resolveSystemId (unsigned int id) const |
void | loadConfig (void) |
void | setPriority (unsigned int value) |
unsigned int | getPriority (void) const |
void | inf (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void | war (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void | err (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void | cri (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void | debug (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void void | trace (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void void void | spew (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void void void void | dispatch (IMC::Message *msg, unsigned int flags=0) |
void | dispatch (IMC::Message &msg, unsigned int flags=0) |
void | dispatchReply (const IMC::Message &original, IMC::Message &msg, unsigned int flags=0) |
void | receive (const IMC::Message *msg) |
void | reserveEntities (void) |
void | resolveEntities (void) |
void | acquireResources (void) |
void | releaseResources (void) |
void | initializeResources (void) |
void | updateParameters (bool act_deact=true) |
void | writeParamsXML (std::ostream &os) const |
Public Member Functions inherited from DUNE::Tasks::AbstractTask | |
AbstractTask (void) | |
virtual | ~AbstractTask (void) |
Public Member Functions inherited from DUNE::Concurrency::Thread | |
Thread (void) | |
virtual | ~Thread (void) |
Public Member Functions inherited from DUNE::Concurrency::Runnable | |
Runnable (void) | |
virtual | ~Runnable (void) |
void | start (void) |
void | stop (void) |
void | join (void) |
void | stopAndJoin (void) |
void | setPriority (Scheduler::Policy policy, unsigned priority) |
State | getState (void) |
bool | isCreated (void) |
bool | isStopping (void) |
bool | isRunning (void) |
bool | isStarting (void) |
bool | isDead (void) |
Protected Member Functions | |
const char * | getEntityLabel (void) const |
void | setEntityLabel (const std::string &label) |
void | setEntityState (IMC::EntityState::StateEnum state, Status::Code code) |
void | setEntityState (IMC::EntityState::StateEnum state, const std::string &description) |
IMC::EntityState::StateEnum | getEntityState (void) const |
unsigned int | reserveEntity (const std::string &label) |
unsigned int | resolveEntity (const std::string &label) const |
std::string | resolveEntity (unsigned int id) const |
bool | stopping (void) |
bool | isActive (void) const |
void | waitForMessages (double timeout) |
void | consumeMessages (void) |
template<typename T > | |
Parameter & | param (const std::string &name, T &var) |
template<typename Y , typename T > | |
Parameter & | param (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 > | |
void | bind (T *task_obj, const std::vector< std::string > &list) |
void | requestActivation (void) |
void | requestDeactivation (void) |
void | activate (void) |
void | activationFailed (const std::string &reason) |
void | deactivate (void) |
void | deactivationFailed (const std::string &reason) |
virtual void | onEntityReservation (void) |
virtual void | onEntityResolution (void) |
virtual void | onReportEntityState (void) |
virtual void | 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 | 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) |
Protected Attributes | |
Context & | m_ctx |
Additional Inherited Members | |
Public Types inherited from DUNE::Concurrency::Runnable | |
enum | State { StateStarting, StateRunning, StateStopping, StateDead, StateUnknown } |
Static Public Member Functions inherited from DUNE::Concurrency::Thread | |
static unsigned | native (void) |
Task::Task | ( | const std::string & | name, |
Context & | context | ||
) |
Construct a task object.
[in] | name | name of the task. |
[in] | context | task context. |
References DUNE::Status::CODE_INIT, DUNE::Tasks::Parameter::defaultValue(), DUNE::IMC::EntityActivationState::EAS_INACTIVE, DUNE::IMC::EntityState::ESTA_BOOT, param(), DUNE::Tasks::Recipient, setEntityState(), and DUNE::IMC::EntityActivationState::state.
|
inlinevirtual |
Destructor.
Reimplemented in Sensors::MLBL::Task, Vision::DFK51BG02H::Task, Navigation::AUV::SGNavigation::Task, Monitors::FuelLevel::Task, Control::UAV::Ardupilot::Task, Sensors::MLBLTracker::Task, Control::AUV::Attitude::Task, Simulators::UAV::Task, Sensors::Antaris4::Task, Sensors::Microstrain3DMGX3::Task, Sensors::IFOG::Task, Sensors::OS4000::Task, Transports::UDP::Task, Plan::Engine::Task, Sensors::XR620CTD::Task, Transports::Announce::Task, Navigation::General::ROV::Task, Sensors::WorkhorseNavigator::Task, Sensors::Microstrain3DMGX1::Task, Transports::GSM::Task, Actuators::LED4R::Task, Navigation::AUV::Navigation::Task, Transports::Replay::Task, Control::PTU::Task, Sensors::AIM104MultiIO::Task, Plan::DB::Task, Sensors::MTi::Task, Transports::IridiumSBD::Task, Sensors::SW100::Task, Vision::FrameGrabber::Task, Transports::LoggingDigest::Task, Sensors::DLV3::Task, Transports::Cache::Task, Control::PTU2::Task, Transports::SerialOverTCP::Task, Sensors::EmulatedGPS::Task, Sensors::PTU300::Task, Monitors::CPU::Task, Sensors::GillWindObserverII::Task, and Sensors::PPS::Task.
void 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.
|
protected |
Derived classes should use this function to signal that activation was completed successfully.
References dispatch(), DUNE::IMC::EntityActivationState::EAS_ACT_DONE, DUNE::IMC::EntityActivationState::EAS_ACT_IP, DUNE::IMC::EntityActivationState::EAS_ACTIVE, onActivation(), requestDeactivation(), DUNE::Tasks::ParameterTable::set(), spew(), and DUNE::IMC::EntityActivationState::state.
Referenced by Vision::Lumenera::Task::consume(), Monitors::Entities::Task::consume(), Vision::DFK51BG02H::Task::consume(), and onRequestActivation().
|
protected |
Derived classes should use this function to signal that activation failed.
[in] | reason | reason for activation failure. |
References dispatch(), DUNE::IMC::EntityActivationState::EAS_ACT_FAIL, DUNE::IMC::EntityActivationState::EAS_INACTIVE, DUNE::IMC::EntityActivationState::error, spew(), and DUNE::IMC::EntityActivationState::state.
|
inlineprotected |
Bind a message to a consumer method.
task_obj | consumer task. |
consumer | consumer method. |
Referenced by bind(), DUNE::Tasks::SimpleTransport::onMain(), Transports::LoggingDigest::Task::onUpdateParameters(), and Transports::UDP::Task::onUpdateParameters().
|
inlineprotected |
Bind multiple messages to a default consumer method.
task_obj | consumer object. |
list | list of message identifiers. |
References bind().
|
inlineprotected |
Bind multiple messages to a default consumer method.
task_obj | consumer task. |
list | list of message abbreviations. |
References bind(), and DUNE::IMC::Factory::getIdFromAbbrev().
|
inlineprotected |
Call the consumers of all messages currently in the receiving queue.
References DUNE::Tasks::Recipient::runCallBacks().
Referenced by Sensors::XR620CTD::Task::getCalibration(), DUNE::Tasks::SimpleTransport::onMain(), Vision::PhotoTrigger::Task::onMain(), Sensors::PPS::Task::onMain(), Sensors::XchangeSV::Task::onMain(), Transports::Iridium::Task::onMain(), Sensors::WorkhorseNavigator::Task::onMain(), Autonomy::TREX::Task::onMain(), Sensors::IFOG::Task::onMain(), Transports::Replay::Task::onMain(), Sensors::XR620CTD::Task::onMain(), Sensors::OS4000::Task::onMain(), Vision::Lumenera::Task::onMain(), Transports::Announce::Task::onMain(), Vision::DFK51BG02H::Task::onMain(), Sensors::Antaris4::Task::onMain(), Control::UAV::Ardupilot::Task::onMain(), Sensors::MLBLTracker::Task::onMain(), Sensors::MLBL::Task::processInput(), Sensors::OS4000::Task::readString(), Sensors::MLBL::Task::sendVerboseReport(), Sensors::XR620CTD::Task::setParameters(), Sensors::XR620CTD::Task::stopSampling(), and Sensors::Microstrain3DMGX3::Task::task().
void Task::cri | ( | const char * | format, |
... | |||
) |
Send an human-readable critical error message to all configured output channels and files.
format | string format (similar to printf(3)). |
... | arguments. |
References DUNE::IMC::LogBookEntry::LBET_CRITICAL.
|
protected |
Derived classes should use this function to signal that deactivation was completed successfully.
References dispatch(), DUNE::IMC::EntityActivationState::EAS_DEACT_DONE, DUNE::IMC::EntityActivationState::EAS_DEACT_IP, DUNE::IMC::EntityActivationState::EAS_INACTIVE, onDeactivation(), requestActivation(), DUNE::Tasks::ParameterTable::set(), spew(), and DUNE::IMC::EntityActivationState::state.
Referenced by onRequestDeactivation().
|
protected |
Derived classes should use this function to signal that deactivation failed.
[in] | reason | reason for deactivation failure. |
References dispatch(), DUNE::IMC::EntityActivationState::EAS_ACTIVE, DUNE::IMC::EntityActivationState::EAS_DEACT_FAIL, DUNE::IMC::EntityActivationState::error, spew(), and DUNE::IMC::EntityActivationState::state.
void Task::debug | ( | const char * | format, |
... | |||
) |
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.
format | string format (similar to printf(3)). |
... | arguments. |
References DUNE::Tasks::DEBUG_LEVEL_DEBUG, and DUNE::IMC::LogBookEntry::LBET_DEBUG.
Referenced by Control::AUV::RemoteOperation::Task::actuate(), Plan::DB::Task::answer(), Sensors::OS4000::Task::changeCalibrationState(), Plan::Engine::Task::changeMode(), Plan::Engine::Task::closeDB(), DUNE::Control::PathController::consume(), DUNE::Control::BasicAutopilot::consume(), Control::PTU2::Task::consume(), Control::PTU::Task::consume(), Transports::Iridium::Task::consume(), Transports::IridiumSBD::Task::consume(), Control::AUV::Allocator::Task::consume(), Control::AUV::Speed::Task::consume(), Plan::Engine::Task::consume(), Supervisors::Vehicle::Task::consume(), Control::UAV::Ardupilot::Task::consume(), Transports::IridiumSBD::Task::dequeueTxRequest(), Transports::Replay::Task::displayStats(), Monitors::Entities::Task::enableDefaults(), Control::UAV::Ardupilot::Task::handleArdupilotData(), Control::UAV::Ardupilot::Task::handleCmdAckPacket(), Transports::Iridium::Task::handleDeviceUpdate(), Transports::Iridium::Task::handleIridiumCommand(), Control::UAV::Ardupilot::Task::handleMissionAckPacket(), Control::UAV::Ardupilot::Task::handleNavControllerPacket(), Control::UAV::Ardupilot::Task::handleStatusTextPacket(), Transports::IridiumSBD::Task::invalidateTxRequest(), Control::UAV::Ardupilot::Task::loiterHere(), Supervisors::Vehicle::Task::onDisabledControlLoops(), Supervisors::Vehicle::Task::onEnabledControlLoops(), Transports::IridiumSBD::Task::onResourceAcquisition(), Transports::GSM::Task::onResourceAcquisition(), Vision::DFK51BG02H::Task::onResourceInitialization(), Vision::Lumenera::Task::onResourceInitialization(), Transports::UDP::Task::onUpdateParameters(), Plan::Engine::Task::openDB(), Sensors::Microstrain3DMGX1::Task::parse(), Transports::Iridium::Task::send_device_updates(), Control::UAV::Ardupilot::Task::sendCommandPacket(), Sensors::OS4000::Task::setParameter(), DUNE::Maneuvers::Maneuver::startManeuver(), Supervisors::Vehicle::Task::stopCalibration(), Plan::Engine::Task::stopPlan(), Supervisors::Vehicle::Task::task(), Monitors::FuelLevel::Task::task(), and DUNE::Control::YoYoMotion::update().
void Task::dispatch | ( | IMC::Message * | msg, |
unsigned int | flags = 0 |
||
) |
Dispatch message to the message bus.
[in] | msg | message pointer. |
[in] | flags | bitfield 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(), Sensors::MLBLTracker::Task::abortNarrowBand(), activate(), activationFailed(), Control::ASV::RemoteOperation::Task::actuate(), Control::ROV::RemoteOperation::Task::actuate(), Control::AUV::RemoteOperation::Task::actuate(), Control::AUV::Allocator::Task::allocate(), Transports::Announce::Task::announce(), Supervisors::Vehicle::Task::answer(), Plan::DB::Task::answer(), Plan::Engine::Task::answer(), Sensors::OS4000::Task::changeCalibrationState(), Plan::Engine::Task::changeLog(), Supervisors::Vehicle::Task::changeMode(), Plan::Engine::Task::changeMode(), Sensors::MLBLTracker::Task::checkTimeouts(), Control::AUV::Allocator::Task::computeProducedTorque(), Sensors::Antaris4::Task::configTimePulse(), DUNE::Control::BasicRemoteOperation::consume(), DUNE::Daemon::consume(), DUNE::Control::PathController::consume(), DUNE::Control::BasicAutopilot::consume(), Control::PTU2::Task::consume(), Monitors::Clock::Task::consume(), Control::PTU::Task::consume(), Sensors::MTi::Task::consume(), Navigation::General::GPSNavigation::Task::consume(), Transports::Iridium::Task::consume(), DUNE::Navigation::BasicNavigation::consume(), Plan::Generator::Task::consume(), Autonomy::TREX::Task::consume(), Monitors::OperationalLimits::Task::consume(), Navigation::General::Alignment::Task::consume(), Sensors::Microstrain3DMGX3::Task::consume(), Supervisors::Vehicle::Task::consume(), Sensors::MLBLTracker::Task::consume(), Control::UAV::Ardupilot::Task::consume(), Sensors::MLBL::Task::consume(), Transports::Cache::Task::copySnapshot(), deactivate(), deactivationFailed(), Sensors::IFOG::Task::decodeFrame(), Control::ROV::Depth::Task::depthControl(), Control::AUV::Attitude::Task::depthControl(), dispatch(), Control::AUV::Allocator::Task::dispatchAllFins(), dispatchReply(), Control::AUV::Speed::Task::dispatchThrust(), Actuators::LED4R::Task::getMonitors(), Autonomy::TextActions::Task::handleAbortCommand(), Control::UAV::Ardupilot::Task::handleBatteryStatusPacket(), Sensors::MLBLTracker::Task::handleCAMPCSNPNT(), Sensors::MLBLTracker::Task::handleCAMPR(), Sensors::MLBLTracker::Task::handleCAMUA(), Sensors::MLBLTracker::Task::handleCAMUC(), Sensors::MLBLTracker::Task::handleCARXD(), DUNE::Tasks::SimpleTransport::handleData(), Transports::Iridium::Task::handleDeviceUpdate(), Control::UAV::Ardupilot::Task::handleHWStatusPacket(), Transports::Iridium::Task::handleIridiumCommand(), Sensors::MLBL::Task::handleMiniPacket(), Control::UAV::Ardupilot::Task::handleNavControllerPacket(), Autonomy::TextActions::Task::handlePlanCommand(), Autonomy::TextActions::Task::handlePlanGeneratorCommand(), Control::UAV::Ardupilot::Task::handlePositionPacket(), Control::UAV::Ardupilot::Task::handleRawGPSPacket(), Transports::IridiumSBD::Task::handleSBD(), Control::UAV::Ardupilot::Task::handleScaledPressurePacket(), Sensors::MLBLTracker::Task::handleSNTTA(), Sensors::MLBL::Task::handleTransponderTravelTimes(), Control::UAV::Ardupilot::Task::handleWindPacket(), Sensors::MLBLTracker::Task::hasTransducer(), Control::ROV::HorizontalPlane::Task::headingControl(), Control::AUV::Attitude::Task::headingControl(), Sensors::Antaris4::Task::interpretVELNED(), DUNE::Navigation::BasicNavigation::isActive(), Transports::Cache::Task::load(), Transports::Cache::Task::loadSnapshot(), Control::Path::VectorField::Task::loiter(), Control::UAV::Ardupilot::Task::loiterHere(), Control::ROV::Depth::Task::onEstimatedState(), Control::AUV::LMI::Task::onEstimatedState(), Control::AUV::Attitude::Task::onEstimatedState(), Sensors::GillWindObserverII::Task::onMain(), Sensors::PPS::Task::onMain(), Sensors::MiniSVS::Task::onMain(), Sensors::DLV3::Task::onMain(), Sensors::XchangeSV::Task::onMain(), Sensors::PTU300::Task::onMain(), Simulators::UAV::Task::onMain(), Sensors::WorkhorseNavigator::Task::onMain(), Autonomy::TREX::Task::onMain(), Transports::Replay::Task::onMain(), Sensors::XR620CTD::Task::onMain(), Sensors::OS4000::Task::onMain(), Plan::Engine::Task::onMain(), Navigation::AUV::SGNavigation::Task::onReportEntityState(), Sensors::MLBL::Task::onReportEntityState(), Vision::Lumenera::Task::onRequestActivation(), Vision::DFK51BG02H::Task::onRequestActivation(), Transports::IridiumSBD::Task::onResourceAcquisition(), Transports::UDP::Task::onResourceAcquisition(), Transports::Iridium::Task::onResourceInitialization(), Sensors::MLBLTracker::Task::onResourceInitialization(), Sensors::Microstrain3DMGX1::Task::parse(), Sensors::MLBLTracker::Task::ping(), Sensors::MLBL::Task::processInput(), Transports::LogBook::Task::provide(), Transports::Discovery::Task::readMessage(), Sensors::MLBLTracker::Task::readSentence(), Monitors::Entities::Task::reportState(), DUNE::Navigation::BasicNavigation::reportToBus(), requestActivation(), requestDeactivation(), Control::ROV::Depth::Task::reset(), Control::AUV::Speed::Task::reset(), Supervisors::Vehicle::Task::reset(), Navigation::AUV::Navigation::Task::runKalmanLBL(), DUNE::Navigation::BasicNavigation::runKalmanLBL(), Transports::Iridium::Task::send_device_updates(), Supervisors::Entities::Task::sendActivation(), Sensors::MLBLTracker::Task::sendCommand(), Vision::PhotoTrigger::Task::sendPulse(), Monitors::Emergency::Task::sendSMS(), Transports::IridiumSBD::Task::sendTxRequestStatus(), Sensors::MLBL::Task::setAndSendState(), setEntityState(), Plan::Engine::Task::setInitialState(), DUNE::Hardware::HayesModem::setRSSI(), Vision::Lumenera::Task::setStrobePower(), Supervisors::Vehicle::Task::startCalibration(), Autonomy::TREX::Task::startExecution(), Supervisors::Vehicle::Task::startManeuver(), Plan::Engine::Task::startPlan(), Transports::Replay::Task::startReplay(), Control::Path::PurePursuit::Task::step(), DUNE::Control::DiscretePID::step(), Control::Path::Aerosonde::Task::step(), Control::Path::VectorField::Task::step(), Autonomy::TREX::Task::stopExecution(), Transports::Replay::Task::stopReplay(), Control::ROV::HorizontalPlane::Task::tal(), Monitors::LostComms::Task::task(), Sensors::SW100::Task::task(), Vision::FrameGrabber::Task::task(), Sensors::AIM104MultiIO::Task::task(), Monitors::Medium::Task::task(), Supervisors::Vehicle::Task::task(), Sensors::Microstrain3DMGX3::Task::task(), Monitors::FuelLevel::Task::task(), Control::UAV::RemoteOperation::Task::update(), updateParameters(), and Plan::Engine::Task::vehicleRequest().
|
inline |
Dispatch message to the message bus.
[in] | msg | message reference. |
[in] | flags | bitfield with flags (see DispatchFlags). |
References dispatch().
|
inline |
Dispatch message to the message bus in reply to another message.
[in] | original | original message. |
[in] | msg | message reference. |
[in] | flags | bitfield with flags (see DispatchFlags). |
References dispatch(), DUNE::IMC::Message::getSource(), DUNE::IMC::Message::getSourceEntity(), DUNE::IMC::Message::setDestination(), and DUNE::IMC::Message::setDestinationEntity().
Referenced by Actuators::LED4R::Task::consume().
void Task::err | ( | const char * | format, |
... | |||
) |
Send an human-readable error message to all configured output channels and files.
format | string format (similar to printf(3)). |
... | arguments. |
References DUNE::IMC::LogBookEntry::LBET_ERROR.
Referenced by Supervisors::Vehicle::Task::answer(), Plan::DB::Task::answer(), Plan::Engine::Task::answer(), Transports::SerialOverTCP::Task::checkClientSockets(), Transports::SerialOverTCP::Task::checkMainSocket(), DUNE::Control::BasicAutopilot::consume(), Transports::LogBook::Task::consume(), DUNE::Control::PathController::consume(), Monitors::Clock::Task::consume(), Supervisors::Vehicle::Task::consume(), Transports::Replay::Task::consume(), Monitors::Entities::Task::consume(), Transports::GSM::Task::consume(), Plan::Engine::Task::consume(), Control::UAV::Ardupilot::Task::consume(), Transports::Cache::Task::copySnapshot(), DUNE::Daemon::Daemon(), Transports::SerialOverTCP::Task::dispatchToClients(), Monitors::Entities::Task::enable(), Autonomy::TextActions::Task::handleAbortCommand(), Control::UAV::Ardupilot::Task::handleArdupilotData(), Sensors::MLBL::Task::handleMiniPacket(), Transports::IridiumSBD::Task::handleSBD(), Sensors::MLBLTracker::Task::hasTransducer(), initializeResources(), loadConfig(), Plan::Engine::Task::lookForPlan(), Sensors::XR620CTD::Task::onMain(), Sensors::MLBLTracker::Task::onResourceAcquisition(), Sensors::PTU300::Task::onResourceInitialization(), Sensors::AIM104MultiIO::Task::onResourceInitialization(), Monitors::Entities::Task::onTimeoutCheck(), Control::AUV::LMI::Task::onUpdateParameters(), Monitors::FuelLevel::Task::onUpdateParameters(), Sensors::MTi::Task::parse(), Sensors::Microstrain3DMGX1::Task::parse(), Sensors::Antaris4::Task::parse(), Sensors::MLBL::Task::processInput(), Sensors::MLBLTracker::Task::readSentence(), Sensors::PTU300::Task::sendCommand(), Sensors::Antaris4::Task::sendMessage(), Monitors::OperationalLimits::Task::setError(), Sensors::MTi::Task::setup(), Monitors::Entities::Task::setupDefaults(), DUNE::Control::BasicAutopilot::signalBadVertical(), DUNE::Control::BasicAutopilot::signalBadYaw(), DUNE::Control::PathController::signalError(), DUNE::Tasks::Manager::start(), Transports::Replay::Task::startReplay(), Vision::Lumenera::Task::startVideo(), and Sensors::AIM104MultiIO::Task::task().
|
inline |
Retrieve the task's activation time.
|
inline |
Retrieve the task's deactivation time.
|
inline |
Retrieve the main entity identifier of the task.
Referenced by DUNE::Daemon::consume(), Control::PTU::Task::consume(), Plan::DB::Task::consume(), Transports::GSM::Task::consume(), Transports::IridiumSBD::Task::consume(), Monitors::OperationalLimits::Task::consume(), Sensors::OS4000::Task::consume(), Navigation::General::Alignment::Task::consume(), Plan::Engine::Task::consume(), dispatch(), Plan::Engine::Task::loadPlan(), and DUNE::Control::BottomTracker::onDesiredZ().
|
inlineprotected |
Retrieve the main entity label of the task.
Referenced by Actuators::LED4R::Task::onEntityReservation(), Sensors::MLBLTracker::Task::onResourceInitialization(), updateParameters(), and writeParamsXML().
|
inlineprotected |
Retrieve the current entity state.
References DUNE::IMC::EntityState::state.
Referenced by Navigation::General::Alignment::Task::consume(), Sensors::OS4000::Task::consume(), Plan::Engine::Task::consume(), Control::UAV::Ardupilot::Task::loiterHere(), Monitors::Clock::Task::onMain(), Sensors::XR620CTD::Task::onMain(), Control::UAV::Ardupilot::Task::onMain(), Plan::Engine::Task::onMain(), Monitors::Medium::Task::task(), and Monitors::FuelLevel::Task::task().
|
inlinevirtual |
Retrieve the task's name.
Implements DUNE::Tasks::AbstractTask.
Referenced by Sensors::Microstrain3DMGX3::Task::consume(), loadConfig(), reserveEntities(), reserveEntity(), and updateParameters().
|
inline |
Get scheduling priority.
The priority of a task might change when configuration parameters are updated.
|
inline |
Retrieve the system's identifier.
References DUNE::IMC::AddressResolver::id(), m_ctx, and DUNE::Tasks::Context::resolver.
Referenced by DUNE::Daemon::consume(), Monitors::LostComms::Task::consume(), Vision::Lumenera::Task::consume(), Monitors::Emergency::Task::consume(), Transports::GSM::Task::consume(), Transports::IridiumSBD::Task::consume(), Plan::Engine::Task::consume(), Transports::Announce::Task::consume(), Plan::DB::Task::consume(), Supervisors::Vehicle::Task::consume(), Vision::DFK51BG02H::Task::consume(), dispatch(), Transports::IridiumSBD::Task::handleSBD(), Plan::DB::Task::onResourceAcquisition(), Transports::UDP::Task::onResourceAcquisition(), Transports::Announce::Task::onUpdateParameters(), Transports::Iridium::Task::send_device_updates(), and Transports::LoggingDigest::Task::startLog().
|
inline |
Retrieve the system's name.
References m_ctx, DUNE::IMC::AddressResolver::name(), and DUNE::Tasks::Context::resolver.
Referenced by Monitors::Emergency::Task::consume(), Autonomy::TREX::Task::onMain(), Plan::DB::Task::onResourceAcquisition(), Sensors::MLBL::Task::onResourceInitialization(), Transports::Announce::Task::onUpdateParameters(), Sensors::MLBLTracker::Task::Task(), and DUNE::Daemon::writeParamsXML().
void Task::inf | ( | const char * | format, |
... | |||
) |
Send an human-readable informational message to all configured output channels and files.
format | string format (similar to printf(3)). |
... | arguments. |
References DUNE::IMC::LogBookEntry::LBET_INFO.
Referenced by Monitors::Entities::Task::activate(), Plan::DB::Task::answer(), Plan::Engine::Task::answer(), Transports::SerialOverTCP::Task::checkMainSocket(), DUNE::Tasks::SimpleTransport::consume(), Transports::LogBook::Task::consume(), DUNE::Control::PathController::consume(), Plan::Generator::Task::consume(), Autonomy::TREX::Task::consume(), Monitors::OperationalLimits::Task::consume(), Monitors::Entities::Task::consume(), Sensors::Antaris4::Task::consume(), Control::PTU::Task::consume(), Plan::Engine::Task::consume(), DUNE::Daemon::Daemon(), Monitors::Entities::Task::disable(), Monitors::Entities::Task::enable(), Plan::Generator::Task::generate(), Sensors::MLBLTracker::Task::handleCAMUA(), DUNE::Tasks::SimpleTransport::handleData(), Sensors::MLBL::Task::handleMiniPacket(), Autonomy::TextActions::Task::handlePlanCommand(), Autonomy::TREX::Task::onActivation(), Autonomy::TREX::Task::onDeactivation(), Sensors::MLBL::Task::onEntityResolution(), Sensors::GillWindObserverII::Task::onMain(), Sensors::DLV3::Task::onMain(), Plan::DB::Task::onResourceAcquisition(), Actuators::LED4R::Task::onResourceAcquisition(), Sensors::IFOG::Task::onResourceAcquisition(), Transports::UDP::Task::onResourceAcquisition(), Transports::Discovery::Task::onResourceInitialization(), Sensors::PTU300::Task::onResourceInitialization(), Sensors::Antaris4::Task::onResourceInitialization(), Control::PTU2::Task::onUpdateParameters(), Control::PTU::Task::onUpdateParameters(), Control::UAV::Ardupilot::Task::openConnection(), Transports::GSM::Task::processQueue(), Transports::Discovery::Task::readMessage(), Transports::UDP::Task::refreshContacts(), Sensors::MLBL::Task::reportRanges(), Sensors::Microstrain3DMGX3::Task::runCalibration(), DUNE::Hardware::BasicModem::send(), Sensors::MLBLTracker::Task::sendCommand(), Monitors::Emergency::Task::sendSMS(), Sensors::Microstrain3DMGX3::Task::setHardIron(), Sensors::MTi::Task::setup(), DUNE::Tasks::Manager::start(), Autonomy::TREX::Task::startExecution(), Vision::Lumenera::Task::startVideo(), Sensors::SW100::Task::task(), Supervisors::Vehicle::Task::task(), and DUNE::Daemon::~Daemon().
void Task::initializeResources | ( | void | ) |
Instruct task to initialize the resources acquired in acquireResources().
References err(), onResourceInitialization(), stopping(), and DUNE::Time::Delay::wait().
|
inlineprotected |
Test if task is active.
References DUNE::IMC::EntityActivationState::EAS_ACTIVE, and DUNE::IMC::EntityActivationState::state.
Referenced by Autonomy::TREX::Task::checkState(), DUNE::Control::BasicRemoteOperation::consume(), DUNE::Control::BasicAutopilot::consume(), DUNE::Control::PathController::consume(), Transports::Replay::Task::consume(), Control::AUV::Allocator::Task::consume(), Simulators::UAV::Task::consume(), Control::AUV::Speed::Task::consume(), Sensors::MLBL::Task::consume(), DUNE::Maneuvers::Maneuver::consumeIfActive(), Vision::PhotoTrigger::Task::onMain(), Sensors::PPS::Task::onMain(), Sensors::WorkhorseNavigator::Task::onMain(), Sensors::IFOG::Task::onMain(), Transports::Replay::Task::onMain(), Vision::Lumenera::Task::onMain(), Vision::DFK51BG02H::Task::onMain(), Sensors::MLBL::Task::onMain(), Autonomy::TREX::Task::onReportEntityState(), Sensors::MLBL::Task::processInput(), DUNE::Maneuvers::Maneuver::startManeuver(), and Transports::Replay::Task::startReplay().
void Task::loadConfig | ( | void | ) |
Load parameters from context's configuration.
References DUNE::Tasks::ParameterTable::begin(), DUNE::Tasks::Context::config, DUNE::Tasks::ParameterTable::end(), err(), DUNE::Tasks::ParameterTable::find(), DUNE::Parsers::Config::get(), getName(), DUNE::Parsers::Config::getSection(), m_ctx, DUNE::Tasks::ParameterTable::set(), and updateParameters().
|
inlineprotectedvirtual |
Called when the task starts/resumes normal execution.
Reimplemented in Vision::DFK51BG02H::Task, Sensors::IFOG::Task, Autonomy::TREX::Task, Vision::Lumenera::Task, Sensors::WorkhorseNavigator::Task, Control::AUV::RemoteOperation::Task, DUNE::Control::BasicAutopilot, Control::UAV::RemoteOperation::Task, Control::ROV::RemoteOperation::Task, DUNE::Maneuvers::Maneuver, and Control::ASV::RemoteOperation::Task.
References spew().
Referenced by activate().
|
inlineprotectedvirtual |
Called when the task stops normal execution and enters an idleness state.
Reimplemented in Vision::DFK51BG02H::Task, Sensors::IFOG::Task, Autonomy::TREX::Task, Vision::Lumenera::Task, Control::AUV::RemoteOperation::Task, Sensors::WorkhorseNavigator::Task, DUNE::Control::BasicAutopilot, Control::ROV::RemoteOperation::Task, Control::UAV::RemoteOperation::Task, DUNE::Maneuvers::Maneuver, and Control::ASV::RemoteOperation::Task.
References spew().
Referenced by deactivate().
|
inlineprotectedvirtual |
Called when the task is instructed to reserve all the entity identifiers it needs for normal execution.
See reserveEntity(). Derived classes that need to reserve entity identifiers other than that of the main entity should override this function.
Reimplemented in Control::AUV::Attitude::Task, Sensors::WorkhorseNavigator::Task, Sensors::AIM104MultiIO::Task, Actuators::LED4R::Task, Transports::IridiumSBD::Task, Transports::Replay::Task, Autonomy::TREX::Task, Control::Path::VectorField::Task, Sensors::DLV3::Task, DUNE::Control::PathController, and Control::Path::PurePursuit::Task.
Referenced by reserveEntities().
|
inlineprotectedvirtual |
Called when the task is instructed to resolve all the entity identifiers it needs for normal execution.
See resolveEntity(). Derived classes that need to resolve entity identifiers should override this function.
Reimplemented in Sensors::MLBL::Task, Monitors::FuelLevel::Task, Navigation::AUV::SGNavigation::Task, Sensors::Microstrain3DMGX3::Task, Navigation::General::Alignment::Task, Control::AUV::Allocator::Task, Navigation::AUV::Navigation::Task, Transports::IridiumSBD::Task, Monitors::Entities::Task, DUNE::Navigation::BasicNavigation, Navigation::General::GPSNavigation::Task, and Task.
Referenced by resolveEntities().
|
protectedpure virtual |
Implemented in Plan::Engine::Task, Sensors::MLBL::Task, Sensors::MLBLTracker::Task, Control::UAV::Ardupilot::Task, Plan::DB::Task, Sensors::Antaris4::Task, Navigation::General::Alignment::Task, Monitors::Entities::Task, Sensors::Microstrain3DMGX1::Task, Vision::DFK51BG02H::Task, Control::AUV::Speed::Task, Control::AUV::Allocator::Task, Transports::Announce::Task, Vision::Lumenera::Task, Sensors::MTi::Task, Sensors::OS4000::Task, Sensors::XR620CTD::Task, Transports::IridiumSBD::Task, Transports::UDP::Task, Actuators::LED4R::Task, Transports::Replay::Task, Sensors::IFOG::Task, Autonomy::TREX::Task, Sensors::WorkhorseNavigator::Task, Control::PTU::Task, Simulators::UAV::Task, Transports::Cache::Task, DUNE::Control::PathController, Transports::GSM::Task, Transports::Iridium::Task, Plan::Generator::Task, DUNE::Maneuvers::Maneuver, Transports::LoggingDigest::Task, Transports::Discovery::Task, Sensors::PTU300::Task, Transports::SerialOverTCP::Task, Monitors::Clock::Task, Navigation::General::GPSNavigation::Task, Control::PTU2::Task, Transports::LogBook::Task, Autonomy::TextActions::Task, Sensors::XchangeSV::Task, Sensors::DLV3::Task, Sensors::MiniSVS::Task, Sensors::PPS::Task, DUNE::Control::BasicAutopilot, Sensors::GillWindObserverII::Task, Vision::PhotoTrigger::Task, DUNE::Daemon, and DUNE::Tasks::SimpleTransport.
|
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 Sensors::MLBL::Task, Navigation::AUV::SGNavigation::Task, Monitors::Entities::Task, and Autonomy::TREX::Task.
|
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 Vision::DFK51BG02H::Task, and Vision::Lumenera::Task.
References activate(), and spew().
Referenced by requestActivation().
|
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.
References deactivate(), and spew().
Referenced by requestDeactivation().
|
inlineprotectedvirtual |
Called when the task is instructed to acquire resources whose configuration is defined by run-time parameters.
Reimplemented in Sensors::MLBL::Task, Vision::DFK51BG02H::Task, Monitors::FuelLevel::Task, Control::UAV::Ardupilot::Task, Sensors::MLBLTracker::Task, Sensors::Microstrain3DMGX3::Task, Transports::UDP::Task, Sensors::Antaris4::Task, Sensors::OS4000::Task, Simulators::UAV::Task, Sensors::IFOG::Task, Sensors::WorkhorseNavigator::Task, Plan::Engine::Task, Sensors::XR620CTD::Task, Actuators::LED4R::Task, Transports::GSM::Task, Transports::IridiumSBD::Task, Sensors::Microstrain3DMGX1::Task, Sensors::AIM104MultiIO::Task, Sensors::MTi::Task, Plan::DB::Task, DUNE::Control::PathController, Vision::FrameGrabber::Task, Sensors::SW100::Task, Sensors::DLV3::Task, Task, Transports::SerialOverTCP::Task, Sensors::EmulatedGPS::Task, Sensors::PTU300::Task, Sensors::XchangeSV::Task, Sensors::GillWindObserverII::Task, Sensors::MiniSVS::Task, Sensors::PPS::Task, and Transports::Iridium::Task.
Referenced by acquireResources().
|
inlineprotectedvirtual |
Called when the task is instructed to initialize resources acquired previously or whose initialization depends on run-time parameters.
Reimplemented in Vision::Lumenera::Task, Sensors::MLBL::Task, Vision::DFK51BG02H::Task, Sensors::MLBLTracker::Task, Navigation::AUV::SGNavigation::Task, Sensors::Microstrain3DMGX3::Task, Control::AUV::Attitude::Task, Sensors::IFOG::Task, Sensors::Antaris4::Task, Sensors::OS4000::Task, Navigation::General::Alignment::Task, Actuators::LED4R::Task, Control::AUV::Speed::Task, Plan::Engine::Task, Sensors::WorkhorseNavigator::Task, Sensors::XR620CTD::Task, Transports::IridiumSBD::Task, Transports::GSM::Task, Transports::Announce::Task, Navigation::AUV::Navigation::Task, Sensors::Microstrain3DMGX1::Task, Control::ROV::HorizontalPlane::Task, Navigation::General::ROV::Task, Control::AUV::Allocator::Task, Monitors::Entities::Task, Control::AUV::LMI::Task, Monitors::Medium::Task, DUNE::Navigation::BasicNavigation, Sensors::AIM104MultiIO::Task, Vision::FrameGrabber::Task, Monitors::Clock::Task, Sensors::SW100::Task, DUNE::Control::PathController, Sensors::XchangeSV::Task, Sensors::DLV3::Task, Control::ROV::Depth::Task, Monitors::Emergency::Task, Supervisors::Vehicle::Task, DUNE::Control::BasicRemoteOperation, Sensors::PTU300::Task, Transports::SerialOverTCP::Task, Supervisors::Entities::Task, Transports::Cache::Task, Transports::Discovery::Task, Monitors::CPU::Task, Monitors::LostComms::Task, Sensors::MiniSVS::Task, Transports::Iridium::Task, Transports::LogBook::Task, DUNE::Maneuvers::Maneuver, DUNE::Control::BasicAutopilot, DUNE::Daemon, and Autonomy::TextActions::Task.
Referenced by initializeResources().
|
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 Vision::Lumenera::Task, Sensors::MLBL::Task, Vision::DFK51BG02H::Task, Sensors::MLBLTracker::Task, Transports::UDP::Task, Monitors::FuelLevel::Task, Navigation::AUV::SGNavigation::Task, Control::UAV::Ardupilot::Task, Simulators::UAV::Task, Sensors::IFOG::Task, Actuators::LED4R::Task, Sensors::Microstrain3DMGX3::Task, Navigation::General::Alignment::Task, Sensors::Antaris4::Task, Transports::IridiumSBD::Task, Sensors::OS4000::Task, Transports::GSM::Task, Plan::DB::Task, Plan::Engine::Task, Sensors::XR620CTD::Task, Sensors::Microstrain3DMGX1::Task, Navigation::General::ROV::Task, Sensors::AIM104MultiIO::Task, Sensors::WorkhorseNavigator::Task, Navigation::AUV::Navigation::Task, Sensors::PTU300::Task, DUNE::Navigation::BasicNavigation, Vision::FrameGrabber::Task, Sensors::MTi::Task, DUNE::Control::PathController, Sensors::SW100::Task, Plan::Generator::Task, Sensors::DLV3::Task, Transports::SerialOverTCP::Task, Task, Sensors::EmulatedGPS::Task, Sensors::XchangeSV::Task, Sensors::MiniSVS::Task, Sensors::GillWindObserverII::Task, Monitors::CPU::Task, and Sensors::PPS::Task.
Referenced by releaseResources(), and Control::PTU::Task::~Task().
|
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 Sensors::MLBL::Task, Vision::DFK51BG02H::Task, Monitors::FuelLevel::Task, Control::AUV::Attitude::Task, Sensors::MLBLTracker::Task, Sensors::OS4000::Task, Navigation::AUV::SGNavigation::Task, Sensors::Microstrain3DMGX3::Task, Transports::UDP::Task, Monitors::OperationalLimits::Task, Navigation::General::Alignment::Task, Control::ROV::HorizontalPlane::Task, Sensors::IFOG::Task, Transports::Announce::Task, Plan::Engine::Task, Sensors::XR620CTD::Task, Actuators::LED4R::Task, Transports::GSM::Task, Control::AUV::LMI::Task, Sensors::WorkhorseNavigator::Task, Control::AUV::RemoteOperation::Task, Transports::IridiumSBD::Task, Control::PTU::Task, DUNE::Navigation::BasicNavigation, Control::AUV::Allocator::Task, Navigation::General::ROV::Task, Navigation::AUV::Navigation::Task, Transports::Replay::Task, DUNE::Control::PathController, Vision::FrameGrabber::Task, Control::Path::VectorField::Task, Supervisors::Entities::Task, Transports::LoggingDigest::Task, Control::UAV::RemoteOperation::Task, Control::PTU2::Task, Task, Control::Path::Aerosonde::Task, Vision::PhotoTrigger::Task, and Control::Path::PurePursuit::Task.
Referenced by updateParameters().
|
inlineprotected |
Declare a configuration parameter that can be parsed using the basic parameter parser.
T | type of the destination variable. |
[in] | name | parameter name. |
[in] | var | variable that will hold the parameter value. |
Referenced by DUNE::Control::BasicAutopilot::BasicAutopilot(), DUNE::Navigation::BasicNavigation::BasicNavigation(), DUNE::Control::BasicRemoteOperation::BasicRemoteOperation(), paramActive(), DUNE::Control::PathController::PathController(), DUNE::Tasks::Periodic::Periodic(), DUNE::Tasks::SimpleTransport::SimpleTransport(), Task::Task(), Control::PTU2::Task::Task(), Vision::PhotoTrigger::Task::Task(), Sensors::PPS::Task::Task(), Transports::Iridium::Task::Task(), Monitors::CPU::Task::Task(), Control::UAV::RemoteOperation::Task::Task(), Sensors::GillWindObserverII::Task::Task(), Control::PTU::Task::Task(), Control::ROV::RemoteOperation::Task::Task(), Sensors::MiniSVS::Task::Task(), Transports::Cache::Task::Task(), Control::Path::Aerosonde::Task::Task(), Sensors::PTU300::Task::Task(), Sensors::XchangeSV::Task::Task(), Transports::SerialOverTCP::Task::Task(), Sensors::EmulatedGPS::Task::Task(), Monitors::LostComms::Task::Task(), Transports::Discovery::Task::Task(), Transports::LoggingDigest::Task::Task(), Sensors::DLV3::Task::Task(), Control::Path::VectorField::Task::Task(), Supervisors::Entities::Task::Task(), Vision::FrameGrabber::Task::Task(), Control::ROV::Depth::Task::Task(), Monitors::Emergency::Task::Task(), Navigation::General::GPSNavigation::Task::Task(), Plan::Generator::Task::Task(), Control::AUV::Allocator::Task::Task(), Sensors::SW100::Task::Task(), Control::AUV::RemoteOperation::Task::Task(), Sensors::AIM104MultiIO::Task::Task(), Transports::IridiumSBD::Task::Task(), Control::ROV::HorizontalPlane::Task::Task(), Autonomy::TREX::Task::Task(), Monitors::Medium::Task::Task(), Supervisors::Vehicle::Task::Task(), Control::AUV::LMI::Task::Task(), Sensors::WorkhorseNavigator::Task::Task(), Navigation::AUV::Navigation::Task::Task(), Monitors::Clock::Task::Task(), Simulators::UAV::Task::Task(), Vision::Lumenera::Task::Task(), Transports::Replay::Task::Task(), Transports::GSM::Task::Task(), Sensors::MTi::Task::Task(), Navigation::General::ROV::Task::Task(), Monitors::Entities::Task::Task(), Transports::Announce::Task::Task(), Plan::DB::Task::Task(), Task(), Control::AUV::Speed::Task::Task(), Plan::Engine::Task::Task(), Monitors::OperationalLimits::Task::Task(), Actuators::LED4R::Task::Task(), Transports::UDP::Task::Task(), Sensors::Microstrain3DMGX1::Task::Task(), Sensors::OS4000::Task::Task(), Navigation::General::Alignment::Task::Task(), Control::AUV::Attitude::Task::Task(), Sensors::IFOG::Task::Task(), Sensors::XR620CTD::Task::Task(), Control::UAV::Ardupilot::Task::Task(), Sensors::Microstrain3DMGX3::Task::Task(), Sensors::MLBLTracker::Task::Task(), Monitors::FuelLevel::Task::Task(), Navigation::AUV::SGNavigation::Task::Task(), Sensors::Antaris4::Task::Task(), Vision::DFK51BG02H::Task::Task(), and Sensors::MLBL::Task::Task().
|
inlineprotected |
Declare a configuration parameter that can be parsed using a custom parameter reader.
Y | type of the custom parameter reader. |
T | type of the destination variable. |
[in] | name | parameter name. |
[in] | var | variable that will hold the parameter value. |
References DUNE::Tasks::ParameterTable::add().
|
protected |
Declare parameter 'Active' and associated parameters 'Active.
[in] | def_scope | default scope of 'Active' parameter. |
[in] | def_visibility | default visibility of 'Active' parameter. |
[in] | def_value | default value of 'Active' parameter. |
References DUNE::Tasks::Parameter::defaultValue(), param(), DUNE::Tasks::Parameter::scope(), DUNE::Tasks::Parameter::SCOPE_GLOBAL, DUNE::Tasks::Parameter::scopeToString(), DUNE::uncastLexical(), DUNE::Tasks::Parameter::visibility(), DUNE::Tasks::Parameter::VISIBILITY_DEVELOPER, and DUNE::Tasks::Parameter::visibilityToString().
Referenced by Vision::PhotoTrigger::Task::Task(), Autonomy::TREX::Task::Task(), Sensors::WorkhorseNavigator::Task::Task(), Vision::Lumenera::Task::Task(), Sensors::IFOG::Task::Task(), Vision::DFK51BG02H::Task::Task(), and Sensors::MLBL::Task::Task().
|
inlineprotected |
References DUNE::Tasks::ParameterTable::changed().
Referenced by Control::Path::Aerosonde::Task::onUpdateParameters(), Control::UAV::RemoteOperation::Task::onUpdateParameters(), Control::Path::VectorField::Task::onUpdateParameters(), DUNE::Control::PathController::onUpdateParameters(), Control::AUV::Allocator::Task::onUpdateParameters(), Control::AUV::RemoteOperation::Task::onUpdateParameters(), Sensors::WorkhorseNavigator::Task::onUpdateParameters(), Transports::GSM::Task::onUpdateParameters(), Plan::Engine::Task::onUpdateParameters(), Control::ROV::HorizontalPlane::Task::onUpdateParameters(), Sensors::MLBLTracker::Task::onUpdateParameters(), Control::AUV::Attitude::Task::onUpdateParameters(), Monitors::FuelLevel::Task::onUpdateParameters(), and updateParameters().
|
inlinevirtual |
Queue a message for later consumption.
msg | message object. |
Implements DUNE::Tasks::AbstractTask.
References DUNE::Tasks::Recipient::put().
void Task::releaseResources | ( | void | ) |
Free all resources acquired in acquireResources().
References onResourceRelease().
|
protected |
Request task to start/resume normal execution.
References dispatch(), DUNE::IMC::EntityActivationState::EAS_ACT_FAIL, DUNE::IMC::EntityActivationState::EAS_ACT_IP, DUNE::IMC::EntityActivationState::EAS_DEACT_DONE, DUNE::IMC::EntityActivationState::EAS_DEACT_FAIL, DUNE::IMC::EntityActivationState::EAS_DEACT_IP, DUNE::IMC::EntityActivationState::EAS_INACTIVE, onRequestActivation(), spew(), and DUNE::IMC::EntityActivationState::state.
Referenced by DUNE::Control::BasicRemoteOperation::consume(), DUNE::Control::PathController::consume(), Sensors::PPS::Task::consume(), DUNE::Control::BasicAutopilot::consume(), Control::AUV::Allocator::Task::consume(), Control::AUV::Speed::Task::consume(), deactivate(), DUNE::Maneuvers::Maneuver::startManeuver(), Transports::Replay::Task::startReplay(), and updateParameters().
|
protected |
Request task to stop normal execution and enter an idleness state.
References dispatch(), DUNE::IMC::EntityActivationState::EAS_ACT_DONE, DUNE::IMC::EntityActivationState::EAS_ACT_FAIL, DUNE::IMC::EntityActivationState::EAS_ACT_IP, DUNE::IMC::EntityActivationState::EAS_ACTIVE, DUNE::IMC::EntityActivationState::EAS_DEACT_FAIL, DUNE::IMC::EntityActivationState::EAS_DEACT_IP, onRequestDeactivation(), spew(), and DUNE::IMC::EntityActivationState::state.
Referenced by activate(), DUNE::Control::BasicRemoteOperation::BasicRemoteOperation(), DUNE::Control::BasicRemoteOperation::consume(), DUNE::Control::BasicAutopilot::consume(), DUNE::Control::PathController::consume(), Sensors::PPS::Task::consume(), Autonomy::TREX::Task::consume(), Control::AUV::Speed::Task::consume(), Autonomy::TREX::Task::onReportEntityState(), DUNE::Control::BasicAutopilot::onResourceInitialization(), DUNE::Control::PathController::onResourceInitialization(), Control::AUV::Speed::Task::onResourceInitialization(), Control::AUV::Allocator::Task::reset(), Transports::Replay::Task::reset(), DUNE::Control::BasicAutopilot::signalBadVertical(), DUNE::Control::BasicAutopilot::signalBadYaw(), and updateParameters().
void Task::reserveEntities | ( | void | ) |
Instruct task to reserve all entity identifiers that it needs for normal execution.
References DUNE::Tasks::Context::entities, getName(), m_ctx, onEntityReservation(), and DUNE::Tasks::EntityDataBase::reserve().
Referenced by DUNE::Daemon::Daemon().
|
protected |
Associate an entity label with an automatically generated number (entity id).
[in] | label | entity name/label. |
References DUNE::Tasks::Context::entities, getName(), m_ctx, and DUNE::Tasks::EntityDataBase::reserve().
Referenced by DUNE::Control::PathController::onEntityReservation(), Sensors::DLV3::Task::onEntityReservation(), Autonomy::TREX::Task::onEntityReservation(), Transports::Replay::Task::onEntityReservation(), Actuators::LED4R::Task::onEntityReservation(), Sensors::AIM104MultiIO::Task::onEntityReservation(), Sensors::WorkhorseNavigator::Task::onEntityReservation(), and Control::AUV::Attitude::Task::onEntityReservation().
void Task::resolveEntities | ( | void | ) |
Instruct task to resolve all entity identifiers that it needs for normal execution.
References onEntityResolution().
|
protected |
Retrieve the entity id of a given entity label.
[in] | label | entity label. |
NonexistentLabel | if the label doesn't have an associated id. |
References DUNE::Tasks::Context::entities, m_ctx, and DUNE::Tasks::EntityDataBase::resolve().
Referenced by Monitors::Entities::Task::activate(), Plan::Engine::Task::consume(), Navigation::General::GPSNavigation::Task::onEntityResolution(), DUNE::Navigation::BasicNavigation::onEntityResolution(), Control::AUV::Allocator::Task::onEntityResolution(), Navigation::General::Alignment::Task::onEntityResolution(), Sensors::Microstrain3DMGX3::Task::onEntityResolution(), Navigation::AUV::SGNavigation::Task::onEntityResolution(), Monitors::FuelLevel::Task::onEntityResolution(), Sensors::MLBL::Task::onEntityResolution(), and Monitors::Entities::Task::setupDefaults().
|
protected |
Retrieve the entity label of a given entity id.
[in] | id | entity id. |
NonexistentId | if the id doesn't have an associated label. |
References DUNE::Tasks::Context::entities, m_ctx, and DUNE::Tasks::EntityDataBase::resolve().
|
inline |
Retrieve the name associated with a given system identifier.
References m_ctx, DUNE::IMC::AddressResolver::resolve(), and DUNE::Tasks::Context::resolver.
Referenced by Plan::DB::Task::onChange(), Transports::Discovery::Task::readMessage(), Transports::UDP::Task::refreshContacts(), and Plan::DB::Task::storeInDB().
|
inline |
Retrieve the identifier associated with a given system name.
[in] | name | system name. |
References m_ctx, DUNE::IMC::AddressResolver::resolve(), and DUNE::Tasks::Context::resolver.
Referenced by DUNE::Daemon::Daemon(), Control::PTU2::Task::onUpdateParameters(), Control::PTU::Task::onUpdateParameters(), and Sensors::MLBLTracker::Task::Task().
|
inlineprotected |
Set the main entity label of the task.
[in] | label | main entity label. |
Referenced by DUNE::Daemon::Daemon().
|
protected |
Set current entity state with an optional pre-defined description.
If a status code is not given, then the existing description will be kept.
[in] | state | entity state. |
[in] | code | status code. |
References DUNE::IMC::EntityState::description, dispatch(), DUNE::Status::getString(), and DUNE::IMC::EntityState::state.
Referenced by DUNE::Control::BasicAutopilot::BasicAutopilot(), DUNE::Navigation::BasicNavigation::checkUncertainty(), DUNE::Control::BasicRemoteOperation::consume(), DUNE::Control::BasicAutopilot::consume(), Monitors::CPU::Task::consume(), Control::PTU2::Task::consume(), Plan::Generator::Task::consume(), Monitors::Clock::Task::consume(), Control::PTU::Task::consume(), Navigation::General::GPSNavigation::Task::consume(), Plan::Engine::Task::consume(), Navigation::General::Alignment::Task::consume(), Plan::DB::Task::consume(), Sensors::OS4000::Task::consume(), Control::UAV::Ardupilot::Task::handleArdupilotData(), DUNE::Control::BasicAutopilot::onActivation(), Vision::Lumenera::Task::onActivation(), Autonomy::TREX::Task::onActivation(), Vision::DFK51BG02H::Task::onActivation(), DUNE::Control::BasicAutopilot::onDeactivation(), Vision::Lumenera::Task::onDeactivation(), Autonomy::TREX::Task::onDeactivation(), Sensors::IFOG::Task::onDeactivation(), Vision::DFK51BG02H::Task::onDeactivation(), Sensors::MiniSVS::Task::onMain(), Sensors::XchangeSV::Task::onMain(), Navigation::General::GPSNavigation::Task::onMain(), Monitors::Clock::Task::onMain(), Sensors::WorkhorseNavigator::Task::onMain(), Sensors::IFOG::Task::onMain(), Actuators::LED4R::Task::onMain(), Sensors::XR620CTD::Task::onMain(), Sensors::OS4000::Task::onMain(), Sensors::Microstrain3DMGX1::Task::onMain(), Navigation::General::Alignment::Task::onMain(), Control::UAV::Ardupilot::Task::onMain(), Sensors::MLBLTracker::Task::onMain(), Autonomy::TREX::Task::onReportEntityState(), Sensors::MiniSVS::Task::onResourceAcquisition(), Sensors::XchangeSV::Task::onResourceAcquisition(), Plan::DB::Task::onResourceAcquisition(), Transports::UDP::Task::onResourceAcquisition(), Sensors::Microstrain3DMGX3::Task::onResourceAcquisition(), Sensors::MLBLTracker::Task::onResourceAcquisition(), Autonomy::TextActions::Task::onResourceInitialization(), DUNE::Daemon::onResourceInitialization(), DUNE::Maneuvers::Maneuver::onResourceInitialization(), Transports::LogBook::Task::onResourceInitialization(), Transports::Iridium::Task::onResourceInitialization(), Sensors::MiniSVS::Task::onResourceInitialization(), Monitors::LostComms::Task::onResourceInitialization(), Transports::Cache::Task::onResourceInitialization(), Supervisors::Entities::Task::onResourceInitialization(), DUNE::Control::BasicRemoteOperation::onResourceInitialization(), Monitors::Emergency::Task::onResourceInitialization(), Sensors::XchangeSV::Task::onResourceInitialization(), Monitors::Entities::Task::onResourceInitialization(), Transports::Announce::Task::onResourceInitialization(), Transports::GSM::Task::onResourceInitialization(), Transports::IridiumSBD::Task::onResourceInitialization(), Sensors::WorkhorseNavigator::Task::onResourceInitialization(), Actuators::LED4R::Task::onResourceInitialization(), Sensors::OS4000::Task::onResourceInitialization(), Sensors::IFOG::Task::onResourceInitialization(), Sensors::Microstrain3DMGX3::Task::onResourceInitialization(), Vision::DFK51BG02H::Task::onResourceInitialization(), Control::UAV::Ardupilot::Task::openConnection(), Plan::Engine::Task::openDB(), Sensors::MLBLTracker::Task::readSentence(), Monitors::OperationalLimits::Task::reset(), DUNE::Navigation::BasicNavigation::reset(), Sensors::Microstrain3DMGX3::Task::runCalibration(), Supervisors::Vehicle::Task::setInitialState(), Sensors::Microstrain3DMGX1::Task::setup(), DUNE::Control::BasicAutopilot::signalBadVertical(), DUNE::Control::BasicAutopilot::signalBadYaw(), Sensors::WorkhorseNavigator::Task::startSampling(), Sensors::XR620CTD::Task::startSampling(), Sensors::XR620CTD::Task::stopSampling(), Monitors::CPU::Task::Task(), Control::AUV::Allocator::Task::Task(), Monitors::Clock::Task::Task(), Task(), Control::AUV::Speed::Task::Task(), Navigation::General::Alignment::Task::Task(), Sensors::SW100::Task::task(), Monitors::Medium::Task::task(), Sensors::Microstrain3DMGX3::Task::task(), Monitors::FuelLevel::Task::task(), Sensors::OS4000::Task::terminateCalibration(), and Monitors::OperationalLimits::Task::updateState().
|
protected |
Set current entity state with a custom description.
[in] | state | entity state. |
[in] | description | custom state description. |
References DUNE::IMC::EntityState::description, dispatch(), and DUNE::IMC::EntityState::state.
|
inlineprotected |
Set the name of the parameter editor that should be used to interact with the parameters of the task.
[in] | name | editor name (free-form string). |
|
inline |
Set scheduling priority programatically.
The priority of a task might change when configuration parameters are updated.
[in] | value | desired scheduling priority. |
void Task::spew | ( | const char * | format, |
... | |||
) |
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.
format | string format (similar to printf(3)). |
... | arguments. |
References DUNE::Tasks::DEBUG_LEVEL_SPEW, and DUNE::IMC::LogBookEntry::LBET_DEBUG.
Referenced by activate(), activationFailed(), Navigation::General::Alignment::Task::calibrate(), Sensors::OS4000::Task::calibrating(), Vision::Lumenera::Task::captureFrame(), DUNE::Navigation::BasicNavigation::checkUncertainty(), Transports::IridiumSBD::Task::cleanExpired(), Autonomy::TextActions::Task::consume(), Control::PTU2::Task::consume(), Control::PTU::Task::consume(), DUNE::Navigation::BasicNavigation::consume(), Navigation::AUV::SGNavigation::Task::consume(), deactivate(), deactivationFailed(), Control::UAV::Ardupilot::Task::handleArdupilotData(), Transports::Iridium::Task::handleIridiumCommand(), onActivation(), onDeactivation(), Vision::Lumenera::Task::onMain(), onRequestActivation(), onRequestDeactivation(), Control::AUV::LMI::Task::onUpdateParameters(), requestActivation(), requestDeactivation(), Transports::Iridium::Task::send_device_updates(), DUNE::Hardware::HayesModem::sendAT(), DUNE::Navigation::BasicNavigation::setup(), Control::UAV::Ardupilot::Task::setupRate(), and Control::Path::VectorField::Task::step().
|
inlineprotected |
Test if task is stopping.
References DUNE::Concurrency::Runnable::isStopping().
Referenced by Sensors::XR620CTD::Task::getCalibration(), initializeResources(), DUNE::Tasks::SimpleTransport::onMain(), DUNE::Daemon::onMain(), Vision::PhotoTrigger::Task::onMain(), Sensors::GillWindObserverII::Task::onMain(), DUNE::Control::BasicAutopilot::onMain(), Sensors::PPS::Task::onMain(), Sensors::MiniSVS::Task::onMain(), Sensors::DLV3::Task::onMain(), Sensors::XchangeSV::Task::onMain(), Autonomy::TextActions::Task::onMain(), Transports::LogBook::Task::onMain(), Control::PTU2::Task::onMain(), Navigation::General::GPSNavigation::Task::onMain(), Monitors::Clock::Task::onMain(), Transports::SerialOverTCP::Task::onMain(), Sensors::PTU300::Task::onMain(), Transports::Discovery::Task::onMain(), Transports::LoggingDigest::Task::onMain(), Plan::Generator::Task::onMain(), Transports::Iridium::Task::onMain(), Transports::GSM::Task::onMain(), DUNE::Control::PathController::onMain(), Transports::Cache::Task::onMain(), Simulators::UAV::Task::onMain(), Control::PTU::Task::onMain(), Sensors::WorkhorseNavigator::Task::onMain(), Autonomy::TREX::Task::onMain(), Sensors::IFOG::Task::onMain(), Transports::Replay::Task::onMain(), Actuators::LED4R::Task::onMain(), Transports::UDP::Task::onMain(), Transports::IridiumSBD::Task::onMain(), Sensors::XR620CTD::Task::onMain(), Sensors::OS4000::Task::onMain(), Sensors::MTi::Task::onMain(), Vision::Lumenera::Task::onMain(), Transports::Announce::Task::onMain(), Control::AUV::Allocator::Task::onMain(), Control::AUV::Speed::Task::onMain(), Vision::DFK51BG02H::Task::onMain(), Sensors::Microstrain3DMGX1::Task::onMain(), Monitors::Entities::Task::onMain(), Navigation::General::Alignment::Task::onMain(), Sensors::Antaris4::Task::onMain(), Plan::DB::Task::onMain(), Control::UAV::Ardupilot::Task::onMain(), Sensors::MLBLTracker::Task::onMain(), Sensors::MLBL::Task::onMain(), Plan::Engine::Task::onMain(), Sensors::OS4000::Task::onResourceInitialization(), Sensors::Microstrain3DMGX3::Task::onResourceInitialization(), Sensors::OS4000::Task::setParameter(), Sensors::XR620CTD::Task::setParameters(), and Sensors::XR620CTD::Task::stopSampling().
void Task::trace | ( | const char * | format, |
... | |||
) |
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.
format | string format (similar to printf(3)). |
... | arguments. |
References DUNE::Tasks::DEBUG_LEVEL_TRACE, and DUNE::IMC::LogBookEntry::LBET_DEBUG.
Referenced by Supervisors::Vehicle::Task::answer(), DUNE::Control::PathController::consume(), Supervisors::Vehicle::Task::consume(), Control::UAV::Ardupilot::Task::handleArdupilotData(), Control::UAV::Ardupilot::Task::handleHeartbeatPacket(), Control::UAV::Ardupilot::Task::handleMissionCurrentPacket(), Control::UAV::Ardupilot::Task::handleMissionItemPacket(), Monitors::Entities::Task::onEntityResolution(), Transports::Replay::Task::onMain(), Transports::LogBook::Task::provide(), Transports::LogBook::Task::report(), Control::UAV::Ardupilot::Task::sendData(), Monitors::FuelLevel::Task::task(), and Control::UAV::RemoteOperation::Task::update().
void Task::updateParameters | ( | bool | act_deact = true | ) |
Instruct task to update its run-time parameters.
[in] | act_deact | if true this function will request activation/deactivation if the 'Active' parameter changed. |
References DUNE::IMC::EntityInfo::act_time, DUNE::IMC::EntityInfo::component, DUNE::IMC::EntityInfo::deact_time, DUNE::Tasks::DEBUG_LEVEL_DEBUG, DUNE::Tasks::DEBUG_LEVEL_NONE, DUNE::Tasks::DEBUG_LEVEL_SPEW, DUNE::Tasks::DEBUG_LEVEL_TRACE, dispatch(), DUNE::Tasks::ParameterTable::find(), getEntityLabel(), getName(), DUNE::IMC::EntityInfo::label, onUpdateParameters(), paramChanged(), requestActivation(), requestDeactivation(), and DUNE::Tasks::ParameterTable::setChanged().
Referenced by loadConfig().
|
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.
[in] | timeout | wait for timeout seconds. |
References DUNE::Tasks::Recipient::waitForMessages().
Referenced by DUNE::Daemon::onMain(), Vision::PhotoTrigger::Task::onMain(), DUNE::Control::BasicAutopilot::onMain(), Sensors::PPS::Task::onMain(), Autonomy::TextActions::Task::onMain(), Transports::LogBook::Task::onMain(), Control::PTU2::Task::onMain(), Navigation::General::GPSNavigation::Task::onMain(), Monitors::Clock::Task::onMain(), Transports::LoggingDigest::Task::onMain(), Plan::Generator::Task::onMain(), Transports::GSM::Task::onMain(), DUNE::Control::PathController::onMain(), Transports::Cache::Task::onMain(), Control::PTU::Task::onMain(), Sensors::WorkhorseNavigator::Task::onMain(), Sensors::IFOG::Task::onMain(), Transports::Replay::Task::onMain(), Actuators::LED4R::Task::onMain(), Transports::UDP::Task::onMain(), Transports::IridiumSBD::Task::onMain(), Sensors::MTi::Task::onMain(), Vision::Lumenera::Task::onMain(), Control::AUV::Allocator::Task::onMain(), Control::AUV::Speed::Task::onMain(), Monitors::Entities::Task::onMain(), Navigation::General::Alignment::Task::onMain(), Plan::DB::Task::onMain(), Sensors::MLBL::Task::onMain(), and Plan::Engine::Task::onMain().
void Task::war | ( | const char * | format, |
... | |||
) |
Send an human-readable warning message to all configured output channels and files.
format | string format (similar to printf(3)). |
... | arguments. |
References DUNE::IMC::LogBookEntry::LBET_WARNING.
Referenced by Supervisors::Vehicle::Task::changeMode(), Plan::Engine::Task::changeMode(), Monitors::OperationalLimits::Task::clearError(), DUNE::Control::BasicAutopilot::consume(), Monitors::Clock::Task::consume(), Sensors::MTi::Task::consume(), Transports::Iridium::Task::consume(), Autonomy::TREX::Task::consume(), Monitors::Entities::Task::consume(), Plan::DB::Task::consume(), Supervisors::Vehicle::Task::consume(), Sensors::MLBL::Task::handleMiniPacket(), Transports::IridiumSBD::Task::handleSessionResult(), Sensors::MLBL::Task::handleTransponderTravelTimes(), Control::UAV::Ardupilot::Task::info(), Sensors::Microstrain3DMGX3::Task::isCalibrated(), Navigation::General::Alignment::Task::onEntityResolution(), Navigation::AUV::SGNavigation::Task::onEntityResolution(), Vision::DFK51BG02H::Task::onMain(), Actuators::LED4R::Task::onResourceAcquisition(), Sensors::IFOG::Task::onResourceAcquisition(), Transports::UDP::Task::onResourceAcquisition(), Control::UAV::Ardupilot::Task::openConnection(), Sensors::MLBL::Task::ping(), Transports::GSM::Task::processQueue(), Transports::Discovery::Task::readMessage(), Control::UAV::Ardupilot::Task::receiveData(), Monitors::Emergency::Task::sendSMS(), Transports::Replay::Task::startReplay(), and Transports::Replay::Task::stopReplay().
void Task::writeParamsXML | ( | std::ostream & | os | ) | const |
Write task parameters in XML format.
[in] | os | output stream. |
References getEntityLabel(), and DUNE::Tasks::ParameterTable::writeXML().
|
protected |
Referenced by DUNE::Navigation::BasicNavigation::BasicNavigation(), DUNE::Navigation::BasicNavigation::checkDeclination(), DUNE::Daemon::consume(), Vision::Lumenera::Task::consume(), Vision::DFK51BG02H::Task::consume(), DUNE::Daemon::Daemon(), dispatch(), getSystemId(), getSystemName(), loadConfig(), DUNE::Navigation::BasicNavigation::onEntityResolution(), Monitors::Entities::Task::onEntityResolution(), Plan::DB::Task::onResourceAcquisition(), DUNE::Daemon::onResourceInitialization(), Sensors::MLBL::Task::onResourceInitialization(), DUNE::Navigation::BasicNavigation::onUpdateParameters(), Transports::Announce::Task::onUpdateParameters(), Transports::UDP::Task::onUpdateParameters(), Plan::Engine::Task::openDB(), Transports::Discovery::Task::readMessage(), reserveEntities(), reserveEntity(), resolveEntity(), resolveSystemId(), resolveSystemName(), Transports::LoggingDigest::Task::startLog(), Transports::Cache::Task::Task(), Transports::Discovery::Task::Task(), and DUNE::Daemon::~Daemon().