|
|
|
|
@ -36,6 +36,7 @@
|
|
|
|
|
|
|
|
|
|
#include "msg.hpp"
|
|
|
|
|
#include "DEBUG.hpp"
|
|
|
|
|
#include "utils.hpp"
|
|
|
|
|
|
|
|
|
|
using namespace eprosima::fastdds::dds;
|
|
|
|
|
|
|
|
|
|
@ -215,33 +216,42 @@ void SubscriberApp::run(std::shared_ptr<MsgHandler> handler)
|
|
|
|
|
MsgData::BarCommandUpdate_queue_.pop();
|
|
|
|
|
lock.unlock();
|
|
|
|
|
std::vector<std::string> port;
|
|
|
|
|
if (cmd.FrontBarEnable() == true)
|
|
|
|
|
if (!std::filesystem::exists(getExeDir() / "frontbar.lock"))
|
|
|
|
|
{
|
|
|
|
|
if (cmd.FrontBarSignalUp() == 1)
|
|
|
|
|
if (cmd.FrontBarEnable() == true)
|
|
|
|
|
{
|
|
|
|
|
port.push_back("FrontBarUp");
|
|
|
|
|
handler->new_bar_state.FrontBarState = 1;
|
|
|
|
|
}
|
|
|
|
|
else if (cmd.FrontBarSignalDown() == 1)
|
|
|
|
|
{
|
|
|
|
|
port.push_back("FrontBarDown");
|
|
|
|
|
handler->new_bar_state.FrontBarState = 2;
|
|
|
|
|
if (cmd.FrontBarSignalUp() == 1)
|
|
|
|
|
{
|
|
|
|
|
port.push_back("FrontBarUp");
|
|
|
|
|
handler->new_bar_state.FrontBarState = 1;
|
|
|
|
|
}
|
|
|
|
|
else if (cmd.FrontBarSignalDown() == 1)
|
|
|
|
|
{
|
|
|
|
|
port.push_back("FrontBarDown");
|
|
|
|
|
handler->new_bar_state.FrontBarState = 2;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (cmd.BackBarEnable() == true)
|
|
|
|
|
if (!std::filesystem::exists(getExeDir() / "backbar.lock"))
|
|
|
|
|
{
|
|
|
|
|
if (cmd.BackBarSignalUp() == 1)
|
|
|
|
|
{
|
|
|
|
|
port.push_back("BackBarUp");
|
|
|
|
|
handler->new_bar_state.BackBarState = 1;
|
|
|
|
|
}
|
|
|
|
|
else if (cmd.BackBarSignalDown() == 1)
|
|
|
|
|
if (cmd.BackBarEnable() == true)
|
|
|
|
|
{
|
|
|
|
|
port.push_back("BackBarDown");
|
|
|
|
|
handler->new_bar_state.BackBarState = 2;
|
|
|
|
|
if (cmd.BackBarSignalUp() == 1)
|
|
|
|
|
{
|
|
|
|
|
port.push_back("BackBarUp");
|
|
|
|
|
handler->new_bar_state.BackBarState = 1;
|
|
|
|
|
}
|
|
|
|
|
else if (cmd.BackBarSignalDown() == 1)
|
|
|
|
|
{
|
|
|
|
|
port.push_back("BackBarDown");
|
|
|
|
|
handler->new_bar_state.BackBarState = 2;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
handler->CtrlBar(port);
|
|
|
|
|
if (!port.empty())
|
|
|
|
|
{
|
|
|
|
|
handler->CtrlBar(port);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if(!MsgData::LightsCommandUpdate_queue_.empty())
|
|
|
|
|
{
|
|
|
|
|
|