diff --git a/README.md b/README.md index a5947a93..def12cf0 100644 --- a/README.md +++ b/README.md @@ -251,21 +251,13 @@ You then need to run `scp` with the `-P 1535` flag with `localhost` as the targe ## Port forwarding for TMTC commanding -If you are using the UDP communication interface, you can use: +You can enable port forwarding for TMTC commanding with the following command: ```sh ssh -L 1536:192.168.133.10:7301 eive@2001:7c0:2018:1099:babe:0:e1fe:f1a5 -t /bin/bash ``` -This forwards UDP TMTC packets on port `1536` of localhost to the TMTC reception port of the Q7S. - -For TCP, you can use - -```sh -ssh -L 1537:192.168.133.10:7303 eive@2001:7c0:2018:1099:babe:0:e1fe:f1a5 -t /bin/bash -``` - -This forwards TCP TMTC packets on port `1537` of localhost to the TMTC reception port of the Q7S. +This forwards TMTC packets on port `1536` of localhost to the TMTC reception port of the Q7S. ## Set up all port forwarding at once diff --git a/bsp_hosted/CMakeLists.txt b/bsp_hosted/CMakeLists.txt index 7171d9d7..b8a09a88 100644 --- a/bsp_hosted/CMakeLists.txt +++ b/bsp_hosted/CMakeLists.txt @@ -6,5 +6,3 @@ target_sources(${TARGET_NAME} PUBLIC add_subdirectory(fsfwconfig) add_subdirectory(boardconfig) - - diff --git a/bsp_hosted/ObjectFactory.cpp b/bsp_hosted/ObjectFactory.cpp index 9ea97fd1..d7878e46 100644 --- a/bsp_hosted/ObjectFactory.cpp +++ b/bsp_hosted/ObjectFactory.cpp @@ -51,7 +51,7 @@ void ObjectFactory::produce(void* args){ new UdpTcPollingTask(objects::TMTC_POLLING_TASK, objects::TMTC_BRIDGE); #else sif::info << "Setting up TCP TMTC bridge with listener port " << - TcpTmTcBridge::DEFAULT_SERVER_PORT << std::endl; + TcpTmTcServer::DEFAULT_SERVER_PORT << std::endl; new TcpTmTcBridge(objects::TMTC_BRIDGE, objects::CCSDS_PACKET_DISTRIBUTOR); new TcpTmTcServer(objects::TMTC_POLLING_TASK, objects::TMTC_BRIDGE); #endif diff --git a/bsp_q7s/CMakeLists.txt b/bsp_q7s/CMakeLists.txt index 3bc9aa4e..408d58c1 100644 --- a/bsp_q7s/CMakeLists.txt +++ b/bsp_q7s/CMakeLists.txt @@ -13,4 +13,5 @@ else() add_subdirectory(core) add_subdirectory(memory) add_subdirectory(spiCallbacks) + add_subdirectory(devices) endif() diff --git a/bsp_q7s/core/CoreController.cpp b/bsp_q7s/core/CoreController.cpp index 606646bf..b7394cb9 100644 --- a/bsp_q7s/core/CoreController.cpp +++ b/bsp_q7s/core/CoreController.cpp @@ -10,7 +10,7 @@ #if OBSW_USE_TMTC_TCP_BRIDGE == 0 #include "fsfw/osal/common/UdpTmTcBridge.h" #else -#include "fsfw/osal/common/TcpTmTcBridge.h" +#include "fsfw/osal/common/TcpTmTcServer.h" #endif #include "bsp_q7s/memory/scratchApi.h" @@ -780,14 +780,6 @@ ReturnValue_t CoreController::initWatchdogFifo() { void CoreController::initPrint() { #if OBSW_VERBOSE_LEVEL >= 1 -#if OBSW_USE_TMTC_TCP_BRIDGE == 0 - sif::info << "Created UDP server for TMTC commanding with listener port " << - UdpTmTcBridge::DEFAULT_SERVER_PORT << std::endl; -#else - sif::info << "Created TCP server for TMTC commanding with listener port " << - TcpTmTcBridge::DEFAULT_SERVER_PORT << std::endl; -#endif - if(watchdogFifoFd > 0) { sif::info << "Opened watchdog FIFO successfully.." << std::endl; } diff --git a/bsp_q7s/core/ObjectFactory.cpp b/bsp_q7s/core/ObjectFactory.cpp index 73e93dc4..5d083741 100644 --- a/bsp_q7s/core/ObjectFactory.cpp +++ b/bsp_q7s/core/ObjectFactory.cpp @@ -12,6 +12,8 @@ #include "bsp_q7s/spiCallbacks/rwSpiCallback.h" #include "bsp_q7s/boardtest/Q7STestTask.h" #include "bsp_q7s/memory/FileSystemHandler.h" +#include "bsp_q7s/devices/PlocSupervisorHandler.h" +#include "bsp_q7s/devices/PlocUpdater.h" #include "linux/devices/HeaterHandler.h" #include "linux/devices/SolarArrayDeploymentHandler.h" @@ -33,15 +35,12 @@ #include "mission/devices/MGMHandlerLIS3MDL.h" #include "mission/devices/MGMHandlerRM3100.h" #include "mission/devices/PlocMPSoCHandler.h" -#include "mission/devices/PlocSupervisorHandler.h" #include "mission/devices/RadiationSensorHandler.h" #include "mission/devices/RwHandler.h" #include "mission/devices/StarTrackerHandler.h" -#include "mission/devices/PlocUpdater.h" #include "mission/devices/devicedefinitions/GomspaceDefinitions.h" #include "mission/devices/devicedefinitions/SyrlinksDefinitions.h" #include "mission/devices/devicedefinitions/PlocMPSoCDefinitions.h" -#include "mission/devices/devicedefinitions/PlocSupervisorDefinitions.h" #include "mission/devices/devicedefinitions/RadSensorDefinitions.h" #include "mission/devices/devicedefinitions/Max31865Definitions.h" #include "mission/devices/devicedefinitions/RwDefinitions.h" @@ -140,11 +139,15 @@ void ObjectFactory::produce(void* args){ #endif /* TE7020 != 0 */ #if OBSW_USE_TMTC_TCP_BRIDGE == 0 - new UdpTmTcBridge(objects::TMTC_BRIDGE, objects::CCSDS_PACKET_DISTRIBUTOR); + auto udpBridge = new UdpTmTcBridge(objects::TMTC_BRIDGE, objects::CCSDS_PACKET_DISTRIBUTOR); new UdpTcPollingTask(objects::TMTC_POLLING_TASK, objects::TMTC_BRIDGE); + sif::info << "Created UDP server for TMTC commanding with listener port " << + udpBridge->getUdpPort() << std::endl; #else new TcpTmTcBridge(objects::TMTC_BRIDGE, objects::CCSDS_PACKET_DISTRIBUTOR); - new TcpTmTcServer(objects::TMTC_POLLING_TASK, objects::TMTC_BRIDGE); + auto tcpServer = new TcpTmTcServer(objects::TMTC_POLLING_TASK, objects::TMTC_BRIDGE); + sif::info << "Created TCP server for TMTC commanding with listener port " << + tcpServer->getTcpPort() << std::endl; #endif /* Test Task */ diff --git a/bsp_q7s/devices/CMakeLists.txt b/bsp_q7s/devices/CMakeLists.txt new file mode 100644 index 00000000..80e1b1e5 --- /dev/null +++ b/bsp_q7s/devices/CMakeLists.txt @@ -0,0 +1,4 @@ +target_sources(${TARGET_NAME} PRIVATE + PlocSupervisorHandler.cpp + PlocUpdater.cpp +) \ No newline at end of file diff --git a/mission/devices/PlocSupervisorHandler.cpp b/bsp_q7s/devices/PlocSupervisorHandler.cpp similarity index 100% rename from mission/devices/PlocSupervisorHandler.cpp rename to bsp_q7s/devices/PlocSupervisorHandler.cpp diff --git a/mission/devices/PlocSupervisorHandler.h b/bsp_q7s/devices/PlocSupervisorHandler.h similarity index 99% rename from mission/devices/PlocSupervisorHandler.h rename to bsp_q7s/devices/PlocSupervisorHandler.h index 950ac894..176578e4 100644 --- a/mission/devices/PlocSupervisorHandler.h +++ b/bsp_q7s/devices/PlocSupervisorHandler.h @@ -1,11 +1,12 @@ #ifndef MISSION_DEVICES_PLOCSUPERVISORHANDLER_H_ #define MISSION_DEVICES_PLOCSUPERVISORHANDLER_H_ -#include -#include -#include +#include "devicedefinitions/PlocSupervisorDefinitions.h" #include +#include +#include + /** * @brief This is the device handler for the supervisor of the PLOC which is programmed by * Thales. diff --git a/mission/devices/PlocUpdater.cpp b/bsp_q7s/devices/PlocUpdater.cpp similarity index 99% rename from mission/devices/PlocUpdater.cpp rename to bsp_q7s/devices/PlocUpdater.cpp index f890c239..4a6085a2 100644 --- a/mission/devices/PlocUpdater.cpp +++ b/bsp_q7s/devices/PlocUpdater.cpp @@ -1,5 +1,6 @@ #include "fsfw/ipc/QueueFactory.h" -#include +#include "PlocUpdater.h" + #include #include #include diff --git a/mission/devices/PlocUpdater.h b/bsp_q7s/devices/PlocUpdater.h similarity index 98% rename from mission/devices/PlocUpdater.h rename to bsp_q7s/devices/PlocUpdater.h index eee5453a..fac8b7c2 100644 --- a/mission/devices/PlocUpdater.h +++ b/bsp_q7s/devices/PlocUpdater.h @@ -1,6 +1,9 @@ #ifndef MISSION_DEVICES_PLOCUPDATER_H_ #define MISSION_DEVICES_PLOCUPDATER_H_ +#include "OBSWConfig.h" +#include "devicedefinitions/PlocSupervisorDefinitions.h" + #include "fsfw/action/CommandActionHelper.h" #include "fsfw/action/ActionHelper.h" #include "fsfw/action/HasActionsIF.h" @@ -11,8 +14,7 @@ #include "bsp_q7s/memory/SdCardManager.h" #include "linux/fsfwconfig/objects/systemObjectList.h" #include "fsfw/tmtcpacket/SpacePacket.h" -#include "OBSWConfig.h" -#include + /** * @brief An object of this class can be used to perform the software updates of the PLOC. The diff --git a/mission/devices/devicedefinitions/PlocSupervisorDefinitions.h b/bsp_q7s/devices/devicedefinitions/PlocSupervisorDefinitions.h similarity index 100% rename from mission/devices/devicedefinitions/PlocSupervisorDefinitions.h rename to bsp_q7s/devices/devicedefinitions/PlocSupervisorDefinitions.h diff --git a/common/config/OBSWVersion.h b/common/config/OBSWVersion.h index db7cfeb5..1656eda0 100644 --- a/common/config/OBSWVersion.h +++ b/common/config/OBSWVersion.h @@ -5,6 +5,6 @@ const char* const SW_NAME = "eive"; #define SW_VERSION 1 #define SW_SUBVERSION 6 -#define SW_REVISION 0 +#define SW_REVISION 1 #endif /* COMMON_CONFIG_OBSWVERSION_H_ */ diff --git a/common/config/commonClassIds.h b/common/config/commonClassIds.h index d35b01dc..8f751df1 100644 --- a/common/config/commonClassIds.h +++ b/common/config/commonClassIds.h @@ -20,6 +20,7 @@ enum commonClassIds: uint8_t { SUS_HANDLER, //SUSS CCSDS_IP_CORE_BRIDGE, //IPCI PLOC_UPDATER, //PLUD + GOM_SPACE_HANDLER, //GOMS COMMON_CLASS_ID_END // [EXPORT] : [END] }; diff --git a/common/config/commonConfig.h.in b/common/config/commonConfig.h.in index 2b0590c8..52b5dd45 100644 --- a/common/config/commonConfig.h.in +++ b/common/config/commonConfig.h.in @@ -5,6 +5,6 @@ // Use TCP instead of UDP for the TMTC bridge. This allows using the TMTC client locally // because UDP packets are not allowed in the VPN -#define OBSW_USE_TMTC_TCP_BRIDGE 0 +#define OBSW_USE_TMTC_TCP_BRIDGE 1 #endif /* COMMON_CONFIG_COMMONCONFIG_H_ */ diff --git a/fsfw b/fsfw index 22e29144..1ac372cb 160000 --- a/fsfw +++ b/fsfw @@ -1 +1 @@ -Subproject commit 22e29144b6783a824b310204c76fa413eb94f331 +Subproject commit 1ac372cb89fabc868aa9cc6ef024f822c744eaed diff --git a/linux/fsfwconfig/returnvalues/classIds.h b/linux/fsfwconfig/returnvalues/classIds.h index e7c2ae74..b98801e2 100644 --- a/linux/fsfwconfig/returnvalues/classIds.h +++ b/linux/fsfwconfig/returnvalues/classIds.h @@ -12,7 +12,6 @@ namespace CLASS_ID { enum { CLASS_ID_START = COMMON_CLASS_ID_END, - GOM_SPACE_HANDLER, //GOMS SA_DEPL_HANDLER, //SADPL SD_CARD_MANAGER, //SDMA SCRATCH_BUFFER, //SCBU diff --git a/mission/devices/CMakeLists.txt b/mission/devices/CMakeLists.txt index 5b1f5533..4ed60dfd 100644 --- a/mission/devices/CMakeLists.txt +++ b/mission/devices/CMakeLists.txt @@ -13,12 +13,10 @@ target_sources(${TARGET_NAME} PUBLIC Max31865PT1000Handler.cpp IMTQHandler.cpp PlocMPSoCHandler.cpp - PlocSupervisorHandler.cpp RadiationSensorHandler.cpp GyroADIS16507Handler.cpp RwHandler.cpp StarTrackerHandler.cpp - PlocUpdater.cpp ) diff --git a/scripts/q7s-port-tcp.sh b/scripts/q7s-port-tcp.sh deleted file mode 100755 index 9d370670..00000000 --- a/scripts/q7s-port-tcp.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -echo "Setting up all Q7S ports" -echo "-L 1534:192.168.133.10:1534 for connection to TCF agent" -echo "-L 1535:192.168.133.10:22 for file transfers" -echo "-L 1537:192.168.133.10:7303 to TMTC commanding using TCP" - -ssh -L 1534:192.168.133.10:1534 \ - -L 1535:192.168.133.10:22 \ - -L 1537:192.168.133.10:7303 \ - eive@2001:7c0:2018:1099:babe:0:e1fe:f1a5 \ - -t 'CONSOLE_PREFIX="[Q7S Tunnel]" /bin/bash' diff --git a/scripts/q7s-port-udp.sh b/scripts/q7s-port.sh similarity index 84% rename from scripts/q7s-port-udp.sh rename to scripts/q7s-port.sh index 21393083..e475e8b7 100755 --- a/scripts/q7s-port-udp.sh +++ b/scripts/q7s-port.sh @@ -2,7 +2,7 @@ echo "Setting up all Q7S ports" echo "-L 1534:192.168.133.10:1534 for connection to TCF agent" echo "-L 1535:192.168.133.10:22 for file transfers" -echo "-L 1536:192.168.133.10:7301 to TMTC commanding using UDP" +echo "-L 1536:192.168.133.10:7301 for TMTC commanding" ssh -L 1534:192.168.133.10:1534 \ -L 1535:192.168.133.10:22 \