![]() |
DUNE: Uniform Navigational Environment
2022.04.0
|
Classes | |
struct | pos |
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
void | onUpdateParameters (void) |
void | onResourceAcquisition (void) |
void | onResourceRelease (void) |
void | autoAssign (void) |
void | simulatorSetup () |
void | consume (const IMC::SimulatedState *msg) |
void | consume (const IMC::GpsFix *msg) |
void | waitReply (std::string parameter) |
template<typename T > | |
void | sendSetting (std::string parameter, std::vector< T > values) |
template<typename T > | |
void | sendSetting (std::string parameter, T value) |
void | checkSocket () |
void | updateState () |
void | checkReset (std::string str) |
void | transport (unsigned in, unsigned out) |
void | onMain (void) |
![]() | |
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) |
![]() | |
AbstractTask (void) | |
virtual | ~AbstractTask (void) |
![]() | |
Thread (void) | |
virtual | ~Thread (void) |
int | getProcessorUsage (void) |
![]() | |
Runnable (void) | |
virtual | ~Runnable (void) |
void | start (void) |
void | stop (void) |
void | join (void) |
void | stopAndJoin (void) |
void | setPriority (Scheduler::Policy policy, unsigned priority) |
unsigned | getPriority (void) |
State | getState (void) |
bool | isCreated (void) |
bool | isStopping (void) |
bool | isRunning (void) |
bool | isStarting (void) |
bool | isDead (void) |
Public Attributes | |
Arguments | m_args |
SafeTCPSocket * | m_socket [NUM_SOCK] |
IMC::SimulatedState | m_sstate |
Time::Counter< double > | m_pos_update |
std::vector< uint8_t > | m_bfr |
Matrix | m_rotation |
struct Simulators::EvoSimulator::Task::pos | m_origin |
Additional Inherited Members | |
![]() | |
enum | State { StateStarting, StateRunning, StateStopping, StateDead, StateUnknown } |
![]() | |
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) |
Entities::BasicEntity * | getLocalEntity (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 > | |
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 , 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 | bind (unsigned int message_id, AbstractConsumer *consumer) |
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 | onResourceInitialization (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) |
![]() | |
void | startImpl (void) |
void | stopImpl (void) |
void | joinImpl (void) |
void | setPriorityImpl (Scheduler::Policy policy, unsigned priority) |
unsigned | getPriorityImpl (void) |
![]() | |
Context & | m_ctx |
std::vector< Entities::BasicEntity * > | m_entities |
|
inline |
Constructor.
[in] | name | task name. |
[in] | ctx | context. |
References Simulators::EvoSimulator::Arguments::addr_section, Simulators::EvoSimulator::Arguments::auto_assign, Simulators::EvoSimulator::Arguments::set::ber, Simulators::EvoSimulator::Arguments::set::betta, Simulators::EvoSimulator::Arguments::local_address, Simulators::EvoSimulator::Arguments::local_port, Simulators::EvoSimulator::Arguments::modem_address, Simulators::EvoSimulator::Arguments::modem_port, Simulators::EvoSimulator::Arguments::ref, Simulators::EvoSimulator::Arguments::set::rmax, Simulators::EvoSimulator::Arguments::set::rshallow, Simulators::EvoSimulator::Arguments::settings, Simulators::EvoSimulator::Arguments::settings_port, Simulators::EvoSimulator::Arguments::state_port, and Simulators::EvoSimulator::Arguments::update_period.
|
inline |
Auto assign simualtor IP (node) and local port based on local evologics address.
References Simulators::EvoSimulator::Arguments::addr_section, Simulators::EvoSimulator::SafeTCPSocket::address, Simulators::EvoSimulator::Arguments::local_port, and Simulators::EvoSimulator::Arguments::modem_address.
|
inline |
Check string for a reset command.
[in] | str | string to check |
References Simulators::EvoSimulator::SafeTCPSocket::connect(), Simulators::EvoSimulator::MODEM, Simulators::EvoSimulator::Arguments::modem_address, and Simulators::EvoSimulator::Arguments::modem_port.
|
inline |
Check listener socket for connection requests.
References Simulators::EvoSimulator::SafeTCPSocket::accept(), Simulators::EvoSimulator::DRIVER, Simulators::EvoSimulator::LISTENER, Simulators::EvoSimulator::SafeTCPSocket::name, Simulators::EvoSimulator::SafeTCPSocket::poll(), and Simulators::EvoSimulator::SafeTCPSocket::sock.
|
inline |
Consume vehicle position.
|
inline |
Consume vehicle position.
|
inlinevirtual |
Main loop.
Implements DUNE::Tasks::Task.
References Simulators::EvoSimulator::DRIVER, and Simulators::EvoSimulator::MODEM.
|
inlinevirtual |
Acquire resources by binding to the local TCP port.
Reimplemented from DUNE::Tasks::Task.
References Simulators::EvoSimulator::Arguments::auto_assign, Simulators::EvoSimulator::SafeTCPSocket::connect(), Simulators::EvoSimulator::LISTENER, Simulators::EvoSimulator::Arguments::local_address, Simulators::EvoSimulator::Arguments::local_port, Simulators::EvoSimulator::MODEM, Simulators::EvoSimulator::Arguments::modem_address, Simulators::EvoSimulator::Arguments::modem_port, Simulators::EvoSimulator::SafeTCPSocket::SafeTCPSocket(), Simulators::EvoSimulator::SETTINGS, Simulators::EvoSimulator::Arguments::settings_port, Simulators::EvoSimulator::SafeTCPSocket::startListen(), Simulators::EvoSimulator::STATE, Simulators::EvoSimulator::Arguments::state_port, DUNE::Math::Matrix::toDCM(), and Simulators::EvoSimulator::Arguments::update_period.
|
inlinevirtual |
Release resources. Clears TCP sockets.
Reimplemented from DUNE::Tasks::Task.
References Simulators::EvoSimulator::NUM_SOCK.
|
inlinevirtual |
Update internal state with new parameter values.
Reimplemented from DUNE::Tasks::Task.
References Simulators::EvoSimulator::Arguments::set::ber, Simulators::EvoSimulator::Arguments::set::betta, Simulators::EvoSimulator::Arguments::local_address, Simulators::EvoSimulator::Arguments::local_port, Simulators::EvoSimulator::Arguments::modem_address, Simulators::EvoSimulator::Arguments::modem_port, Simulators::EvoSimulator::Arguments::ref, Simulators::EvoSimulator::Arguments::set::rmax, Simulators::EvoSimulator::Arguments::set::rshallow, Simulators::EvoSimulator::Arguments::settings, and Simulators::EvoSimulator::Arguments::settings_port.
|
inline |
Send setting to modem.
[in] | parameter | name of setting to send |
[in] | values | setting values |
References Simulators::EvoSimulator::SETTINGS, and Simulators::EvoSimulator::SafeTCPSocket::writeString().
|
inline |
Send setting to modem.
[in] | parameter | name of setting to send |
[in] | value | setting value |
|
inline |
Send initial settings to modem (acoustic model parameters)
References Simulators::EvoSimulator::Arguments::set::ber, Simulators::EvoSimulator::Arguments::set::betta, Simulators::EvoSimulator::Arguments::set::rmax, Simulators::EvoSimulator::Arguments::set::rshallow, and Simulators::EvoSimulator::Arguments::settings.
|
inline |
Relay incomming messages (modem to driver or driver to modem)
[in] | in | identifier of incomming message socket |
[in] | out | identifier of outgoing message socket |
References Simulators::EvoSimulator::DRIVER, Simulators::EvoSimulator::MODEM, Simulators::EvoSimulator::SafeTCPSocket::name, Simulators::EvoSimulator::SafeTCPSocket::poll(), Simulators::EvoSimulator::SafeTCPSocket::read(), and Simulators::EvoSimulator::SafeTCPSocket::write().
|
inline |
Update modem position and attitude based on vehicle position and attitude.
References DUNE::Math::Matrix::size(), Simulators::EvoSimulator::STATE, DUNE::Math::Matrix::vertCat(), and Simulators::EvoSimulator::SafeTCPSocket::writeString().
|
inline |
Wait for simulator reply after sending setting.
[in] | parameter | name of setting to wait for |
References Simulators::EvoSimulator::SafeTCPSocket::poll(), Simulators::EvoSimulator::SafeTCPSocket::read(), and Simulators::EvoSimulator::SETTINGS.
Arguments Simulators::EvoSimulator::Task::m_args |
std::vector<uint8_t> Simulators::EvoSimulator::Task::m_bfr |
Read buffer.
struct Simulators::EvoSimulator::Task::pos Simulators::EvoSimulator::Task::m_origin |
Time::Counter<double> Simulators::EvoSimulator::Task::m_pos_update |
Position update timer.
Matrix Simulators::EvoSimulator::Task::m_rotation |
Rotation matrix.
SafeTCPSocket* Simulators::EvoSimulator::Task::m_socket[NUM_SOCK] |
TCP sockets.
IMC::SimulatedState Simulators::EvoSimulator::Task::m_sstate |
Last received SimulatedState.