Skip to content

Commit

Permalink
Updates
Browse files Browse the repository at this point in the history
  • Loading branch information
paulbourelly999 committed Jul 16, 2024
1 parent d971ccd commit a5b11e0
Show file tree
Hide file tree
Showing 7 changed files with 331 additions and 14 deletions.
File renamed without changes.
2 changes: 1 addition & 1 deletion src/tmx/TmxUtils/src/MockUdpServer.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,6 @@ namespace tmx::utils {
MOCK_METHOD(std::string, GetAddress, (), (const, override));
MOCK_METHOD(int, Receive, (char *msg, size_t maxSize), (override));
MOCK_METHOD(int, GetSocket, (), (override, const));
MOCK_METHOD(std::string, stringTimedReceive, (int maxWait_ms), (override));
};

}
6 changes: 3 additions & 3 deletions src/tmx/TmxUtils/test/test_SNMPClient.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

#include "MockSNMPClient.h"
#include "gtest/gtest.h"
#include "RSU_MIB_4_1.h"
#include <MockSNMPClient.h>
#include <gtest/gtest.h>
#include <RSU_MIB_4_1.h>

using namespace tmx::utils;
using namespace std;
Expand Down
3 changes: 2 additions & 1 deletion src/v2i-hub/SpatPlugin/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ target_link_libraries(${PROJECT_NAME} tmxutils ::carma-clock jsoncpp)



add_library(${PROJECT_NAME}_lib src/NTCIP1202.cpp)
add_library(${PROJECT_NAME}_lib src/NTCIP1202.cpp
src/SignalControllerConnection.cpp)
target_link_libraries(${PROJECT_NAME}_lib PUBLIC
tmxutils ::carma-clock )
#############
Expand Down
8 changes: 4 additions & 4 deletions src/v2i-hub/SpatPlugin/src/SignalControllerConnection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ namespace SpatPlugin {
return scSNMPClient->process_snmp_request("1.3.6.1.4.1.1206.3.5.2.9.44.1.0", tmx::utils::request_type::SET, resp);
};

void SignalControllerConnection::receiveBinarySPAT(std::shared_ptr<SPAT> spat, uint64_t timeMs ) {
void SignalControllerConnection::receiveBinarySPAT(std::shared_ptr<SPAT> &spat, uint64_t timeMs ) {
FILE_LOG(tmx::utils::logDEBUG) << "Receiving binary SPAT ..." << std::endl;
char buf[1000];
auto numBytes = spatPacketReceiver->TimedReceive(buf, 1000, 1000);
Expand All @@ -30,8 +30,8 @@ namespace SpatPlugin {
}
}

void SignalControllerConnection::receiveUPERSPAT(std::shared_ptr<tmx::messages::SpatEncodedMessage> spatEncoded_ptr) {
FILE_LOG(tmx::utils::logDEBUG) << "Receiving J2725 HEX SPAT ..." << std::endl;
void SignalControllerConnection::receiveUPERSPAT(std::shared_ptr<tmx::messages::SpatEncodedMessage> &spatEncoded_ptr) {
FILE_LOG(tmx::utils::logDEBUG1) << "Receiving J2725 HEX SPAT ..." << std::endl;
auto payload = spatPacketReceiver->stringTimedReceive( 1000 );
auto index = payload.find("Payload=");
if ( index != std::string::npos ) {
Expand All @@ -40,7 +40,7 @@ namespace SpatPlugin {
// Remove new lines and empty space
hex.erase(std::remove(hex.begin(), hex.end(), '\n'), hex.end());
hex.erase(std::remove(hex.begin(), hex.end(), ' '), hex.end());
FILE_LOG(tmx::utils::logDEBUG) << "Reading HEX String " << hex << std::endl;
FILE_LOG(tmx::utils::logDEBUG1) << "Reading HEX String " << hex << std::endl;
// Convert to byte stream
tmx::byte_stream bytes = tmx::byte_stream_decode(hex);
// Read SpateEncodedMessage from bytes
Expand Down
14 changes: 9 additions & 5 deletions src/v2i-hub/SpatPlugin/src/SignalControllerConnection.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
#include <tmx/messages/byte_stream.hpp>
#include <tmx/j2735_messages/J2735MessageFactory.hpp>
#include <tmx/TmxException.hpp>
#include <gtest/gtest_prod.h>


namespace SpatPlugin {
enum class SPAT_MODE
Expand All @@ -20,21 +22,23 @@ namespace SpatPlugin {
{
private:
// UDP Server socket listening for SPAT
std::unique_ptr<tmx::utils::UdpServer> spatPacketReceiver;
std::shared_ptr<tmx::utils::UdpServer> spatPacketReceiver;

std::unique_ptr<tmx::utils::snmp_client> scSNMPClient;
std::shared_ptr<tmx::utils::snmp_client> scSNMPClient;

std::string signalGroupMapping;
std::string intersectionName;
unsigned int intersectionId;
friend class TestSignalControllerConnection;
FRIEND_TEST(TestSignalControllerConnection, initialize);

public:
SignalControllerConnection(const std::string &localIp, unsigned int localPort, const std::string &signalGroupMapping, const std::string &scIp, unsigned int scSNMPPort, const std::string &intersectionName, unsigned int intersectionID);

bool initializeSignalControllerConnection();
tmx::messages::SpatEncodedMessage receiveSPAT(SPAT *spat, uint64_t timeMs , const SPAT_MODE &spat_mode = SPAT_MODE::BINARY);

void receiveBinarySPAT(std::shared_ptr<SPAT> spat, uint64_t timeMs);
void receiveBinarySPAT(std::shared_ptr<SPAT> &spat, uint64_t timeMs);

void receiveUPERSPAT(std::shared_ptr<tmx::messages::SpatEncodedMessage> spatEncoded_ptr);
void receiveUPERSPAT(std::shared_ptr<tmx::messages::SpatEncodedMessage> &spatEncoded_ptr);
};
}
Loading

0 comments on commit a5b11e0

Please sign in to comment.