diff --git a/src/Groundstation/Common/Ports/EthernetBase.cpp b/src/Groundstation/Common/Ports/EthernetBase.cpp index e66be196a14ad83c826790d3cb63c6112335ee83..dbae923398a5de4a357da89095135aad164cf97e 100644 --- a/src/Groundstation/Common/Ports/EthernetBase.cpp +++ b/src/Groundstation/Common/Ports/EthernetBase.cpp @@ -67,7 +67,7 @@ Boardcore::Wiz5500::PhyState EthernetBase::getState() bool EthernetBase::start(std::shared_ptr<Boardcore::Wiz5500> wiz5500) { - this->wiz5500 = std::move(wiz5500); + this->wiz5500 = wiz5500; // Reset the device this->wiz5500->reset(); @@ -103,12 +103,6 @@ bool EthernetBase::start(std::shared_ptr<Boardcore::Wiz5500> wiz5500) return false; } - if (!this->wiz5500->openUdp(1, SEND_PORT, {255, 255, 255, 255}, RECV_PORT, - 500)) - { - return false; - } - auto mav_handler = [this](EthernetMavDriver* channel, const mavlink_message_t& msg) { handleMsg(msg); }; @@ -116,17 +110,16 @@ bool EthernetBase::start(std::shared_ptr<Boardcore::Wiz5500> wiz5500) if (!mav_driver->start()) return false; - TRACE("[info] mavlink driver started correctly\n"); - // Create and start a second mavlink driver to sniff the ethernet port + // In case of sniffing mode initialize and start the EthernetSniffer if (sniffOtherGs) { - getModule<EthernetSniffer>()->init(1, RECV_PORT, SEND_PORT); + getModule<EthernetSniffer>()->init(1, SEND_PORT, RECV_PORT); if (!getModule<EthernetSniffer>()->start(wiz5500)) return false; } - TRACE("[info] Ethernet sniffing started correctly\n"); + TRACE("[info] Ethernet module started correctly\n"); return true; } diff --git a/src/Groundstation/Common/Ports/EthernetSniffer.cpp b/src/Groundstation/Common/Ports/EthernetSniffer.cpp index 8b6be2b7f09a511e06630f8e675e04b4ae95da92..564024f893ad963d69c63ce4ec9ab24e561ae07b 100644 --- a/src/Groundstation/Common/Ports/EthernetSniffer.cpp +++ b/src/Groundstation/Common/Ports/EthernetSniffer.cpp @@ -58,31 +58,25 @@ void EthernetSniffer::init(uint16_t portNumber, uint16_t srcPort, bool EthernetSniffer::start(std::shared_ptr<Boardcore::Wiz5500> wiz5500) { - TRACE("Movin\n"); - this->wiz5500 = std::move(wiz5500); + this->wiz5500 = wiz5500; - TRACE("Opening\n"); - // We open the port for sniffing using the port we specified - // if (!this->wiz5500->openUdp(portNr, srcPort, {255, 255, 255, 255}, - // dstPort, - // 500)) - // { - // return false; - // } - - TRACE("Mavlinker\n"); + TRACE("[info] Opening sniffing UDP socket\n"); + // We open the UDP socket for sniffing + if (!this->wiz5500->openUdp(1, SEND_PORT, {255, 255, 255, 255}, RECV_PORT, + 500)) + { + return false; + } auto mav_handler = [this](EthernetMavDriver* channel, const mavlink_message_t& msg) { handleMsg(msg); }; - mav_driver = std::make_unique<EthernetMavDriver>(this, mav_handler, 1, 10); - - TRACE("Starting\n"); + mav_driver = std::make_unique<EthernetMavDriver>(this, mav_handler, 0, 10); if (!mav_driver->start()) return false; - TRACE("Start ok\n"); + TRACE("[info] EthernetSniffer start ok\n"); return true; }