void BasicRemoteOperation::consume(const IMC::RemoteActions* msg) { updateConnectionState(); m_last_action = DUNE::Time::Clock::get(); if (isActive()) { Utils::TupleList tuples(msg->actions); if (tuples.get("Exit", 0)) { IMC::TeleoperationDone top; dispatch(top); } onRemoteActions(msg); } }
void BasicRemoteOperation::consume(const IMC::RemoteActions* msg) { updateConnectionState(); m_last_action = DUNE::Time::Clock::get(); if (isActive()) { Utils::TupleList tuples(msg->actions); if (tuples.get("Exit", 0)) { IMC::TeleoperationDone top; dispatch(top); } if (m_teleop_src == 0 || msg->getSource() == m_teleop_src) onRemoteActions(msg); else debug("ignoring remote control from %s", m_ctx.resolver.resolve(msg->getSource())); } }