From 2e1d461026f777b405245ae9a71b4db20c91ba0c Mon Sep 17 00:00:00 2001 From: Sander Speetjens Date: Sun, 25 Jan 2026 15:34:54 +0100 Subject: [PATCH] server extensions move gpio and visa extensions to extensions folder --- server/CMakeLists.txt | 13 +++----- server/VISA/tcp_client.cpp | 30 ------------------- server/VISA/tcp_client.hpp | 28 ----------------- server/{ => extensions}/CAN/CAN_interface.cpp | 0 server/{ => extensions}/CAN/CAN_interface.hpp | 0 server/{gpio => extensions}/gpio.cpp | 0 server/{gpio => extensions}/gpio.hpp | 0 server/{VISA => extensions}/visa.cpp | 13 ++++---- server/{VISA => extensions}/visa.hpp | 4 ++- 9 files changed, 14 insertions(+), 74 deletions(-) delete mode 100644 server/VISA/tcp_client.cpp delete mode 100644 server/VISA/tcp_client.hpp rename server/{ => extensions}/CAN/CAN_interface.cpp (100%) rename server/{ => extensions}/CAN/CAN_interface.hpp (100%) rename server/{gpio => extensions}/gpio.cpp (100%) rename server/{gpio => extensions}/gpio.hpp (100%) rename server/{VISA => extensions}/visa.cpp (80%) rename server/{VISA => extensions}/visa.hpp (95%) diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt index 6fe67cb..18acc74 100644 --- a/server/CMakeLists.txt +++ b/server/CMakeLists.txt @@ -15,14 +15,10 @@ set_target_properties( LINK_FLAGS "-Wl,--export-dynamic" ) -file(GLOB_RECURSE CANSOURCES "CAN/*.[hc]pp") -file(GLOB_RECURSE VISASOURCES "VISA/*.[hc]pp") -file(GLOB_RECURSE GPIOSOURCES "gpio/*.[hc]pp") +file(GLOB_RECURSE EXTSOURCES "extensions/*.[hc]pp") target_sources(unisim_server PRIVATE - ${CANSOURCES} - ${VISASOURCES} - ${GPIOSOURCES} + ${EXTSOURCES} main.cpp message_parser.cpp simulator_base.cpp @@ -41,9 +37,8 @@ target_include_directories(unisim_server PUBLIC ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/simulators - ${CMAKE_CURRENT_LIST_DIR}/CAN - ${CMAKE_CURRENT_LIST_DIR}/VISA - ${CMAKE_CURRENT_LIST_DIR}/gpio + ${CMAKE_CURRENT_LIST_DIR}/extensions/CAN + ${CMAKE_CURRENT_LIST_DIR}/extensions PRIVATE ) diff --git a/server/VISA/tcp_client.cpp b/server/VISA/tcp_client.cpp deleted file mode 100644 index e121a7a..0000000 --- a/server/VISA/tcp_client.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include "tcp_client.hpp" - -Tcp_client::Tcp_client() : QObject(0) -{ - m_tcp_socket = new QTcpSocket(this); - - connect(m_tcp_socket, &QTcpSocket::readyRead, this, [=, this] { ready_to_read(); }); - connect(m_tcp_socket, &QTcpSocket::connected, this, [=, this] { emit connected(); }); - connect(m_tcp_socket, &QTcpSocket::disconnected, this, [=, this] { emit disconnected(); }); -} - -void Tcp_client::tcp_connect(QString ip, quint16 port) -{ - m_tcp_socket->connectToHost(ip, port); -} - -void Tcp_client::tcp_disconnect() -{ - m_tcp_socket->disconnectFromHost(); -} - -void Tcp_client::tcp_send(QString data) -{ - m_tcp_socket->write((const char *)data.data()); -} - -void Tcp_client::ready_to_read() -{ - emit data_ready(m_tcp_socket->read(1024)); -} diff --git a/server/VISA/tcp_client.hpp b/server/VISA/tcp_client.hpp deleted file mode 100644 index 79dcad6..0000000 --- a/server/VISA/tcp_client.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef TCPCLIENT_H -#define TCPCLIENT_H - -#include -#include - -#define QD qDebug() << "File:" << __FILE__ << "Function:" << __PRETTY_FUNCTION__ << "Line:" << __LINE__ << "=>" - -class Tcp_client : public QObject -{ - Q_OBJECT - public: - Tcp_client(); - void tcp_connect(QString ip, quint16 port); - void tcp_disconnect(void); - void tcp_send(QString data); - - signals: - void data_ready(QString data); - void connected(); - void disconnected(); - - private: - void ready_to_read(); - QTcpSocket *m_tcp_socket; -}; - -#endif // TCPCLIENT_H diff --git a/server/CAN/CAN_interface.cpp b/server/extensions/CAN/CAN_interface.cpp similarity index 100% rename from server/CAN/CAN_interface.cpp rename to server/extensions/CAN/CAN_interface.cpp diff --git a/server/CAN/CAN_interface.hpp b/server/extensions/CAN/CAN_interface.hpp similarity index 100% rename from server/CAN/CAN_interface.hpp rename to server/extensions/CAN/CAN_interface.hpp diff --git a/server/gpio/gpio.cpp b/server/extensions/gpio.cpp similarity index 100% rename from server/gpio/gpio.cpp rename to server/extensions/gpio.cpp diff --git a/server/gpio/gpio.hpp b/server/extensions/gpio.hpp similarity index 100% rename from server/gpio/gpio.hpp rename to server/extensions/gpio.hpp diff --git a/server/VISA/visa.cpp b/server/extensions/visa.cpp similarity index 80% rename from server/VISA/visa.cpp rename to server/extensions/visa.cpp index 034a577..01c6ac3 100644 --- a/server/VISA/visa.cpp +++ b/server/extensions/visa.cpp @@ -1,14 +1,15 @@ #include "visa.hpp" #include +#include Visa::Visa(QObject *parent) : QObject(parent), m_tcp_socket(new QTcpSocket(this)), m_connected(false), m_reconnect(false) { - QObject::connect(&m_client, &Tcp_client::connected, this, [=, this] { + QObject::connect(m_tcp_socket, &QTcpSocket::connected, this, [=, this] { m_connected = true; emit s_connected(); }); - QObject::connect(&m_client, &Tcp_client::disconnected, this, [=, this] { + QObject::connect(m_tcp_socket, &QTcpSocket::disconnected, this, [=, this] { m_connected = false; emit s_disconnected(); if (m_reconnect) @@ -24,25 +25,25 @@ Visa::Visa(QObject *parent) Visa::~Visa() { if (m_connected) - m_client.disconnect(); + m_tcp_socket->disconnect(); } void Visa::connect(QString ip, quint16 port) { if (m_connected) { - m_client.disconnect(); + m_tcp_socket->disconnect(); m_ip = ip; m_port = port; m_reconnect = true; return; } - m_client.tcp_connect(ip, port); + m_tcp_socket->connectToHost(ip, port); } void Visa::disconnect() { - m_client.tcp_disconnect(); + m_tcp_socket->disconnect(); } bool Visa::connected() const diff --git a/server/VISA/visa.hpp b/server/extensions/visa.hpp similarity index 95% rename from server/VISA/visa.hpp rename to server/extensions/visa.hpp index bce284d..e2257f1 100644 --- a/server/VISA/visa.hpp +++ b/server/extensions/visa.hpp @@ -1,6 +1,8 @@ #pragma once #include +Q_FORWARD_DECLARE_OBJC_CLASS(QTcpSocket); + /** * @brief Class representing a VISA interface also known as SCIPI over TCP/IP * @@ -75,7 +77,7 @@ class Visa : public QObject void s_data_ready(QString data); private: - Tcp_client m_client; + QTcpSocket *m_tcp_socket; QString m_ip; quint16 m_port; bool m_connected;