v1.6.1 #81
12
README.md
12
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
|
## 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
|
```sh
|
||||||
ssh -L 1536:192.168.133.10:7301 eive@2001:7c0:2018:1099:babe:0:e1fe:f1a5 -t /bin/bash
|
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.
|
This forwards 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.
|
|
||||||
|
|
||||||
## Set up all port forwarding at once
|
## Set up all port forwarding at once
|
||||||
|
|
||||||
|
@ -6,5 +6,3 @@ target_sources(${TARGET_NAME} PUBLIC
|
|||||||
|
|
||||||
add_subdirectory(fsfwconfig)
|
add_subdirectory(fsfwconfig)
|
||||||
add_subdirectory(boardconfig)
|
add_subdirectory(boardconfig)
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ void ObjectFactory::produce(void* args){
|
|||||||
new UdpTcPollingTask(objects::TMTC_POLLING_TASK, objects::TMTC_BRIDGE);
|
new UdpTcPollingTask(objects::TMTC_POLLING_TASK, objects::TMTC_BRIDGE);
|
||||||
#else
|
#else
|
||||||
sif::info << "Setting up TCP TMTC bridge with listener port " <<
|
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 TcpTmTcBridge(objects::TMTC_BRIDGE, objects::CCSDS_PACKET_DISTRIBUTOR);
|
||||||
new TcpTmTcServer(objects::TMTC_POLLING_TASK, objects::TMTC_BRIDGE);
|
new TcpTmTcServer(objects::TMTC_POLLING_TASK, objects::TMTC_BRIDGE);
|
||||||
#endif
|
#endif
|
||||||
|
@ -13,4 +13,5 @@ else()
|
|||||||
add_subdirectory(core)
|
add_subdirectory(core)
|
||||||
add_subdirectory(memory)
|
add_subdirectory(memory)
|
||||||
add_subdirectory(spiCallbacks)
|
add_subdirectory(spiCallbacks)
|
||||||
|
add_subdirectory(devices)
|
||||||
endif()
|
endif()
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#if OBSW_USE_TMTC_TCP_BRIDGE == 0
|
#if OBSW_USE_TMTC_TCP_BRIDGE == 0
|
||||||
#include "fsfw/osal/common/UdpTmTcBridge.h"
|
#include "fsfw/osal/common/UdpTmTcBridge.h"
|
||||||
#else
|
#else
|
||||||
#include "fsfw/osal/common/TcpTmTcBridge.h"
|
#include "fsfw/osal/common/TcpTmTcServer.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "bsp_q7s/memory/scratchApi.h"
|
#include "bsp_q7s/memory/scratchApi.h"
|
||||||
@ -780,14 +780,6 @@ ReturnValue_t CoreController::initWatchdogFifo() {
|
|||||||
|
|
||||||
void CoreController::initPrint() {
|
void CoreController::initPrint() {
|
||||||
#if OBSW_VERBOSE_LEVEL >= 1
|
#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) {
|
if(watchdogFifoFd > 0) {
|
||||||
sif::info << "Opened watchdog FIFO successfully.." << std::endl;
|
sif::info << "Opened watchdog FIFO successfully.." << std::endl;
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,8 @@
|
|||||||
#include "bsp_q7s/spiCallbacks/rwSpiCallback.h"
|
#include "bsp_q7s/spiCallbacks/rwSpiCallback.h"
|
||||||
#include "bsp_q7s/boardtest/Q7STestTask.h"
|
#include "bsp_q7s/boardtest/Q7STestTask.h"
|
||||||
#include "bsp_q7s/memory/FileSystemHandler.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/HeaterHandler.h"
|
||||||
#include "linux/devices/SolarArrayDeploymentHandler.h"
|
#include "linux/devices/SolarArrayDeploymentHandler.h"
|
||||||
@ -33,15 +35,12 @@
|
|||||||
#include "mission/devices/MGMHandlerLIS3MDL.h"
|
#include "mission/devices/MGMHandlerLIS3MDL.h"
|
||||||
#include "mission/devices/MGMHandlerRM3100.h"
|
#include "mission/devices/MGMHandlerRM3100.h"
|
||||||
#include "mission/devices/PlocMPSoCHandler.h"
|
#include "mission/devices/PlocMPSoCHandler.h"
|
||||||
#include "mission/devices/PlocSupervisorHandler.h"
|
|
||||||
#include "mission/devices/RadiationSensorHandler.h"
|
#include "mission/devices/RadiationSensorHandler.h"
|
||||||
#include "mission/devices/RwHandler.h"
|
#include "mission/devices/RwHandler.h"
|
||||||
#include "mission/devices/StarTrackerHandler.h"
|
#include "mission/devices/StarTrackerHandler.h"
|
||||||
#include "mission/devices/PlocUpdater.h"
|
|
||||||
#include "mission/devices/devicedefinitions/GomspaceDefinitions.h"
|
#include "mission/devices/devicedefinitions/GomspaceDefinitions.h"
|
||||||
#include "mission/devices/devicedefinitions/SyrlinksDefinitions.h"
|
#include "mission/devices/devicedefinitions/SyrlinksDefinitions.h"
|
||||||
#include "mission/devices/devicedefinitions/PlocMPSoCDefinitions.h"
|
#include "mission/devices/devicedefinitions/PlocMPSoCDefinitions.h"
|
||||||
#include "mission/devices/devicedefinitions/PlocSupervisorDefinitions.h"
|
|
||||||
#include "mission/devices/devicedefinitions/RadSensorDefinitions.h"
|
#include "mission/devices/devicedefinitions/RadSensorDefinitions.h"
|
||||||
#include "mission/devices/devicedefinitions/Max31865Definitions.h"
|
#include "mission/devices/devicedefinitions/Max31865Definitions.h"
|
||||||
#include "mission/devices/devicedefinitions/RwDefinitions.h"
|
#include "mission/devices/devicedefinitions/RwDefinitions.h"
|
||||||
@ -140,11 +139,15 @@ void ObjectFactory::produce(void* args){
|
|||||||
#endif /* TE7020 != 0 */
|
#endif /* TE7020 != 0 */
|
||||||
|
|
||||||
#if OBSW_USE_TMTC_TCP_BRIDGE == 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);
|
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
|
#else
|
||||||
new TcpTmTcBridge(objects::TMTC_BRIDGE, objects::CCSDS_PACKET_DISTRIBUTOR);
|
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
|
#endif
|
||||||
|
|
||||||
/* Test Task */
|
/* Test Task */
|
||||||
|
4
bsp_q7s/devices/CMakeLists.txt
Normal file
4
bsp_q7s/devices/CMakeLists.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
target_sources(${TARGET_NAME} PRIVATE
|
||||||
|
PlocSupervisorHandler.cpp
|
||||||
|
PlocUpdater.cpp
|
||||||
|
)
|
@ -1,11 +1,12 @@
|
|||||||
#ifndef MISSION_DEVICES_PLOCSUPERVISORHANDLER_H_
|
#ifndef MISSION_DEVICES_PLOCSUPERVISORHANDLER_H_
|
||||||
#define MISSION_DEVICES_PLOCSUPERVISORHANDLER_H_
|
#define MISSION_DEVICES_PLOCSUPERVISORHANDLER_H_
|
||||||
|
|
||||||
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
|
#include "devicedefinitions/PlocSupervisorDefinitions.h"
|
||||||
#include <mission/devices/devicedefinitions/PlocSupervisorDefinitions.h>
|
|
||||||
#include <fsfw_hal/linux/uart/UartComIF.h>
|
|
||||||
#include <bsp_q7s/memory/SdCardManager.h>
|
#include <bsp_q7s/memory/SdCardManager.h>
|
||||||
|
|
||||||
|
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
|
||||||
|
#include <fsfw_hal/linux/uart/UartComIF.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This is the device handler for the supervisor of the PLOC which is programmed by
|
* @brief This is the device handler for the supervisor of the PLOC which is programmed by
|
||||||
* Thales.
|
* Thales.
|
@ -1,5 +1,6 @@
|
|||||||
#include "fsfw/ipc/QueueFactory.h"
|
#include "fsfw/ipc/QueueFactory.h"
|
||||||
#include <mission/devices/PlocUpdater.h>
|
#include "PlocUpdater.h"
|
||||||
|
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
#include <string>
|
#include <string>
|
@ -1,6 +1,9 @@
|
|||||||
#ifndef MISSION_DEVICES_PLOCUPDATER_H_
|
#ifndef MISSION_DEVICES_PLOCUPDATER_H_
|
||||||
#define MISSION_DEVICES_PLOCUPDATER_H_
|
#define MISSION_DEVICES_PLOCUPDATER_H_
|
||||||
|
|
||||||
|
#include "OBSWConfig.h"
|
||||||
|
#include "devicedefinitions/PlocSupervisorDefinitions.h"
|
||||||
|
|
||||||
#include "fsfw/action/CommandActionHelper.h"
|
#include "fsfw/action/CommandActionHelper.h"
|
||||||
#include "fsfw/action/ActionHelper.h"
|
#include "fsfw/action/ActionHelper.h"
|
||||||
#include "fsfw/action/HasActionsIF.h"
|
#include "fsfw/action/HasActionsIF.h"
|
||||||
@ -11,8 +14,7 @@
|
|||||||
#include "bsp_q7s/memory/SdCardManager.h"
|
#include "bsp_q7s/memory/SdCardManager.h"
|
||||||
#include "linux/fsfwconfig/objects/systemObjectList.h"
|
#include "linux/fsfwconfig/objects/systemObjectList.h"
|
||||||
#include "fsfw/tmtcpacket/SpacePacket.h"
|
#include "fsfw/tmtcpacket/SpacePacket.h"
|
||||||
#include "OBSWConfig.h"
|
|
||||||
#include <mission/devices/devicedefinitions/PlocSupervisorDefinitions.h>
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief An object of this class can be used to perform the software updates of the PLOC. The
|
* @brief An object of this class can be used to perform the software updates of the PLOC. The
|
@ -5,6 +5,6 @@ const char* const SW_NAME = "eive";
|
|||||||
|
|
||||||
#define SW_VERSION 1
|
#define SW_VERSION 1
|
||||||
#define SW_SUBVERSION 6
|
#define SW_SUBVERSION 6
|
||||||
#define SW_REVISION 0
|
#define SW_REVISION 1
|
||||||
|
|
||||||
#endif /* COMMON_CONFIG_OBSWVERSION_H_ */
|
#endif /* COMMON_CONFIG_OBSWVERSION_H_ */
|
||||||
|
@ -20,6 +20,7 @@ enum commonClassIds: uint8_t {
|
|||||||
SUS_HANDLER, //SUSS
|
SUS_HANDLER, //SUSS
|
||||||
CCSDS_IP_CORE_BRIDGE, //IPCI
|
CCSDS_IP_CORE_BRIDGE, //IPCI
|
||||||
PLOC_UPDATER, //PLUD
|
PLOC_UPDATER, //PLUD
|
||||||
|
GOM_SPACE_HANDLER, //GOMS
|
||||||
COMMON_CLASS_ID_END // [EXPORT] : [END]
|
COMMON_CLASS_ID_END // [EXPORT] : [END]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
|
|
||||||
// Use TCP instead of UDP for the TMTC bridge. This allows using the TMTC client locally
|
// 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
|
// 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_ */
|
#endif /* COMMON_CONFIG_COMMONCONFIG_H_ */
|
||||||
|
2
fsfw
2
fsfw
@ -1 +1 @@
|
|||||||
Subproject commit 22e29144b6783a824b310204c76fa413eb94f331
|
Subproject commit 1ac372cb89fabc868aa9cc6ef024f822c744eaed
|
@ -12,7 +12,6 @@
|
|||||||
namespace CLASS_ID {
|
namespace CLASS_ID {
|
||||||
enum {
|
enum {
|
||||||
CLASS_ID_START = COMMON_CLASS_ID_END,
|
CLASS_ID_START = COMMON_CLASS_ID_END,
|
||||||
GOM_SPACE_HANDLER, //GOMS
|
|
||||||
SA_DEPL_HANDLER, //SADPL
|
SA_DEPL_HANDLER, //SADPL
|
||||||
SD_CARD_MANAGER, //SDMA
|
SD_CARD_MANAGER, //SDMA
|
||||||
SCRATCH_BUFFER, //SCBU
|
SCRATCH_BUFFER, //SCBU
|
||||||
|
@ -13,12 +13,10 @@ target_sources(${TARGET_NAME} PUBLIC
|
|||||||
Max31865PT1000Handler.cpp
|
Max31865PT1000Handler.cpp
|
||||||
IMTQHandler.cpp
|
IMTQHandler.cpp
|
||||||
PlocMPSoCHandler.cpp
|
PlocMPSoCHandler.cpp
|
||||||
PlocSupervisorHandler.cpp
|
|
||||||
RadiationSensorHandler.cpp
|
RadiationSensorHandler.cpp
|
||||||
GyroADIS16507Handler.cpp
|
GyroADIS16507Handler.cpp
|
||||||
RwHandler.cpp
|
RwHandler.cpp
|
||||||
StarTrackerHandler.cpp
|
StarTrackerHandler.cpp
|
||||||
PlocUpdater.cpp
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -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'
|
|
@ -2,7 +2,7 @@
|
|||||||
echo "Setting up all Q7S ports"
|
echo "Setting up all Q7S ports"
|
||||||
echo "-L 1534:192.168.133.10:1534 for connection to TCF agent"
|
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 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 \
|
ssh -L 1534:192.168.133.10:1534 \
|
||||||
-L 1535:192.168.133.10:22 \
|
-L 1535:192.168.133.10:22 \
|
Loading…
Reference in New Issue
Block a user