v1.6.1 #81

Merged
muellerr merged 9 commits from develop into main 2021-08-11 10:47:37 +02:00
20 changed files with 32 additions and 51 deletions

View File

@ -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

View File

@ -6,5 +6,3 @@ target_sources(${TARGET_NAME} PUBLIC
add_subdirectory(fsfwconfig)
add_subdirectory(boardconfig)

View File

@ -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

View File

@ -13,4 +13,5 @@ else()
add_subdirectory(core)
add_subdirectory(memory)
add_subdirectory(spiCallbacks)
add_subdirectory(devices)
endif()

View File

@ -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;
}

View File

@ -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 */

View File

@ -0,0 +1,4 @@
target_sources(${TARGET_NAME} PRIVATE
PlocSupervisorHandler.cpp
PlocUpdater.cpp
)

View File

@ -1,11 +1,12 @@
#ifndef MISSION_DEVICES_PLOCSUPERVISORHANDLER_H_
#define MISSION_DEVICES_PLOCSUPERVISORHANDLER_H_
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include <mission/devices/devicedefinitions/PlocSupervisorDefinitions.h>
#include <fsfw_hal/linux/uart/UartComIF.h>
#include "devicedefinitions/PlocSupervisorDefinitions.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
* Thales.

View File

@ -1,5 +1,6 @@
#include "fsfw/ipc/QueueFactory.h"
#include <mission/devices/PlocUpdater.h>
#include "PlocUpdater.h"
#include <fstream>
#include <filesystem>
#include <string>

View File

@ -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 <mission/devices/devicedefinitions/PlocSupervisorDefinitions.h>
/**
* @brief An object of this class can be used to perform the software updates of the PLOC. The

View File

@ -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_ */

View File

@ -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]
};

View File

@ -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_ */

2
fsfw

@ -1 +1 @@
Subproject commit 22e29144b6783a824b310204c76fa413eb94f331
Subproject commit 1ac372cb89fabc868aa9cc6ef024f822c744eaed

View File

@ -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

View File

@ -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
)

View File

@ -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'

View File

@ -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 \