24#ifndef GOBY_MOOS_MIDDLEWARE_FRONTSEAT_FRONTSEAT_GATEWAY_PLUGIN_H
25#define GOBY_MOOS_MIDDLEWARE_FRONTSEAT_FRONTSEAT_GATEWAY_PLUGIN_H
31#include <MOOS/libMOOS/Comms/MOOSMsg.h>
32#include <boost/algorithm/string/predicate.hpp>
33#include <boost/algorithm/string/trim.hpp>
74 glog.is_debug2() &&
glog <<
"Posting to MOOS: NAV: " << status.DebugString()
79 std::vector<std::string> desired_buffer_params(
80 {
"SPEED",
"HEADING",
"DEPTH",
"PITCH",
"ROLL",
"Z_RATE",
"ALTITUDE"});
81 for (
const auto& var : desired_buffer_params)
moos().
add_buffer(
"DESIRED_" + var);
83 [
this](
const CMOOSMsg& ) { convert_desired_setpoints(); });
87 std::string sval =
msg.GetString();
89 if (boost::iequals(sval,
"drive"))
91 else if (boost::iequals(sval,
"park"))
102 void convert_desired_setpoints();
const Config & cfg() const
void set_state(::goby::middleware::frontseat::protobuf::HelmState value)
goby::zeromq::SimpleThread< goby::apps::moos::protobuf::GobyMOOSGatewayConfig > & goby()
FrontSeatTranslation(const goby::apps::moos::protobuf::GobyMOOSGatewayConfig &cfg)
void add_buffer(const std::string &moos_var)
void add_trigger(const std::string &moos_var, const std::function< void(const CMOOSMsg &)> &func)
constexpr goby::middleware::Group helm_state
constexpr goby::middleware::Group node_status
void convert_and_publish_node_status(const goby::middleware::frontseat::protobuf::NodeStatus &status, CMOOSCommClient &moos_comms)
BasicTranslator< goby::zeromq::SimpleThread > Translator
The global namespace for the Goby project.
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::PROTOBUF_NAMESPACE_ID::MessageOptions, ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::goby::GobyMessageOptions >, 11, false > msg
util::FlexOstream glog
Access the Goby logger through this object.