Merge branch 'development' into mueller/tc-packet-pus-improvement

This commit is contained in:
Robin Müller 2022-05-23 15:56:26 +02:00
commit 9368ae81e5
58 changed files with 342 additions and 502 deletions

View File

@ -4,9 +4,10 @@ if [[ ! -f README.md ]]; then
fi fi
cmake_fmt="cmake-format" cmake_fmt="cmake-format"
file_selectors="-iname CMakeLists.txt"
if command -v ${cmake_fmt} &> /dev/null; then if command -v ${cmake_fmt} &> /dev/null; then
cmake_fmt_cmd="${cmake_fmt} -i CMakeLists.txt" ${cmake_fmt} -i CMakeLists.txt
eval ${cmake_fmt_cmd} find ./src ${file_selectors} | xargs ${cmake_fmt} -i
else else
echo "No ${cmake_fmt} tool found, not formatting CMake files" echo "No ${cmake_fmt} tool found, not formatting CMake files"
fi fi
@ -14,9 +15,9 @@ fi
cpp_format="clang-format" cpp_format="clang-format"
file_selectors="-iname *.h -o -iname *.cpp -o -iname *.c -o -iname *.tpp" file_selectors="-iname *.h -o -iname *.cpp -o -iname *.c -o -iname *.tpp"
if command -v ${cpp_format} &> /dev/null; then if command -v ${cpp_format} &> /dev/null; then
find ./src ${file_selectors} | xargs clang-format --style=file -i find ./src ${file_selectors} | xargs ${cpp_format} --style=file -i
find ./hal ${file_selectors} | xargs clang-format --style=file -i find ./hal ${file_selectors} | xargs ${cpp_format} --style=file -i
find ./tests ${file_selectors} | xargs clang-format --style=file -i find ./tests ${file_selectors} | xargs ${cpp_format} --style=file -i
else else
echo "No ${cpp_format} tool found, not formatting C++/C files" echo "No ${cpp_format} tool found, not formatting C++/C files"
fi fi

View File

@ -1,9 +1,6 @@
target_include_directories(${LIB_FSFW_NAME} PRIVATE target_include_directories(${LIB_FSFW_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(${LIB_FSFW_NAME} INTERFACE target_include_directories(${LIB_FSFW_NAME}
${CMAKE_CURRENT_SOURCE_DIR} INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
)
add_subdirectory(fsfw) add_subdirectory(fsfw)

View File

@ -1,6 +1,4 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(${LIB_FSFW_NAME} PRIVATE version.cpp)
version.cpp
)
# Core # Core
@ -37,22 +35,22 @@ add_subdirectory(tmtcservices)
# Optional # Optional
if(FSFW_ADD_MONITORING) if(FSFW_ADD_MONITORING)
add_subdirectory(monitoring) add_subdirectory(monitoring)
endif() endif()
if(FSFW_ADD_PUS) if(FSFW_ADD_PUS)
add_subdirectory(pus) add_subdirectory(pus)
endif() endif()
if(FSFW_ADD_TMSTORAGE) if(FSFW_ADD_TMSTORAGE)
add_subdirectory(tmstorage) add_subdirectory(tmstorage)
endif() endif()
if(FSFW_ADD_COORDINATES) if(FSFW_ADD_COORDINATES)
add_subdirectory(coordinates) add_subdirectory(coordinates)
endif() endif()
if(FSFW_ADD_RMAP) if(FSFW_ADD_RMAP)
add_subdirectory(rmap) add_subdirectory(rmap)
endif() endif()
if(FSFW_ADD_DATALINKLAYER) if(FSFW_ADD_DATALINKLAYER)
add_subdirectory(datalinklayer) add_subdirectory(datalinklayer)
endif() endif()
# OSAL # OSAL

View File

@ -1,7 +1,3 @@
target_sources(${LIB_FSFW_NAME} target_sources(
PRIVATE ${LIB_FSFW_NAME} PRIVATE ActionHelper.cpp ActionMessage.cpp
ActionHelper.cpp CommandActionHelper.cpp SimpleActionHelper.cpp)
ActionMessage.cpp
CommandActionHelper.cpp
SimpleActionHelper.cpp
)

View File

@ -1,7 +1,4 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(${LIB_FSFW_NAME} PRIVATE CFDPHandler.cpp CFDPMessage.cpp)
CFDPHandler.cpp
CFDPMessage.cpp
)
add_subdirectory(pdu) add_subdirectory(pdu)
add_subdirectory(tlv) add_subdirectory(tlv)

View File

@ -1,32 +1,30 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(
PduConfig.cpp ${LIB_FSFW_NAME}
VarLenField.cpp PRIVATE PduConfig.cpp
HeaderSerializer.cpp VarLenField.cpp
HeaderDeserializer.cpp HeaderSerializer.cpp
FileDirectiveDeserializer.cpp HeaderDeserializer.cpp
FileDirectiveSerializer.cpp FileDirectiveDeserializer.cpp
FileDirectiveSerializer.cpp
AckInfo.cpp AckInfo.cpp
AckPduSerializer.cpp AckPduSerializer.cpp
AckPduDeserializer.cpp AckPduDeserializer.cpp
EofInfo.cpp EofInfo.cpp
EofPduSerializer.cpp EofPduSerializer.cpp
EofPduDeserializer.cpp EofPduDeserializer.cpp
NakInfo.cpp NakInfo.cpp
NakPduSerializer.cpp NakPduSerializer.cpp
NakPduDeserializer.cpp NakPduDeserializer.cpp
FinishedInfo.cpp FinishedInfo.cpp
FinishedPduSerializer.cpp FinishedPduSerializer.cpp
FinishedPduDeserializer.cpp FinishedPduDeserializer.cpp
MetadataInfo.cpp MetadataInfo.cpp
MetadataPduSerializer.cpp MetadataPduSerializer.cpp
MetadataPduDeserializer.cpp MetadataPduDeserializer.cpp
KeepAlivePduSerializer.cpp KeepAlivePduSerializer.cpp
KeepAlivePduDeserializer.cpp KeepAlivePduDeserializer.cpp
PromptPduSerializer.cpp PromptPduSerializer.cpp
PromptPduDeserializer.cpp PromptPduDeserializer.cpp
FileDataSerializer.cpp
FileDataSerializer.cpp FileDataDeserializer.cpp
FileDataDeserializer.cpp FileDataInfo.cpp)
FileDataInfo.cpp
)

View File

@ -1,10 +1,10 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(
EntityIdTlv.cpp ${LIB_FSFW_NAME}
FilestoreRequestTlv.cpp PRIVATE EntityIdTlv.cpp
FilestoreResponseTlv.cpp FilestoreRequestTlv.cpp
Lv.cpp FilestoreResponseTlv.cpp
Tlv.cpp Lv.cpp
FlowLabelTlv.cpp Tlv.cpp
MessageToUserTlv.cpp FlowLabelTlv.cpp
FaultHandlerOverrideTlv.cpp MessageToUserTlv.cpp
) FaultHandlerOverrideTlv.cpp)

View File

@ -1,5 +1,2 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE SharedRingBuffer.cpp
PRIVATE SimpleRingBuffer.cpp)
SharedRingBuffer.cpp
SimpleRingBuffer.cpp
)

View File

@ -1,4 +1,2 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(${LIB_FSFW_NAME} PRIVATE ControllerBase.cpp
ControllerBase.cpp ExtendedControllerBase.cpp)
ExtendedControllerBase.cpp
)

View File

@ -1,5 +1,2 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE CoordinateTransformations.cpp
PRIVATE Sgp4Propagator.cpp)
CoordinateTransformations.cpp
Sgp4Propagator.cpp
)

View File

@ -1,12 +1,11 @@
target_sources(${LIB_FSFW_NAME} target_sources(
PRIVATE ${LIB_FSFW_NAME}
Clcw.cpp PRIVATE Clcw.cpp
DataLinkLayer.cpp DataLinkLayer.cpp
Farm1StateLockout.cpp Farm1StateLockout.cpp
Farm1StateOpen.cpp Farm1StateOpen.cpp
Farm1StateWait.cpp Farm1StateWait.cpp
MapPacketExtraction.cpp MapPacketExtraction.cpp
TcTransferFrame.cpp TcTransferFrame.cpp
TcTransferFrameLocal.cpp TcTransferFrameLocal.cpp
VirtualChannelReception.cpp VirtualChannelReception.cpp)
)

View File

@ -1,4 +1 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(${LIB_FSFW_NAME} PRIVATE PoolDataSetBase.cpp PoolEntry.cpp)
PoolDataSetBase.cpp
PoolEntry.cpp
)

View File

@ -1,10 +1,6 @@
target_sources(${LIB_FSFW_NAME} target_sources(
PRIVATE ${LIB_FSFW_NAME}
LocalDataPoolManager.cpp PRIVATE LocalDataPoolManager.cpp LocalDataSet.cpp LocalPoolDataSetBase.cpp
LocalDataSet.cpp LocalPoolObjectBase.cpp SharedLocalDataSet.cpp)
LocalPoolDataSetBase.cpp
LocalPoolObjectBase.cpp
SharedLocalDataSet.cpp
)
add_subdirectory(internal) add_subdirectory(internal)

View File

@ -1,5 +1,2 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE HasLocalDpIFUserAttorney.cpp
PRIVATE HasLocalDpIFManagerAttorney.cpp)
HasLocalDpIFUserAttorney.cpp
HasLocalDpIFManagerAttorney.cpp
)

View File

@ -1,11 +1,10 @@
target_sources(${LIB_FSFW_NAME} target_sources(
PRIVATE ${LIB_FSFW_NAME}
AssemblyBase.cpp PRIVATE AssemblyBase.cpp
ChildHandlerBase.cpp ChildHandlerBase.cpp
ChildHandlerFDIR.cpp ChildHandlerFDIR.cpp
DeviceHandlerBase.cpp DeviceHandlerBase.cpp
DeviceHandlerFailureIsolation.cpp DeviceHandlerFailureIsolation.cpp
DeviceHandlerMessage.cpp DeviceHandlerMessage.cpp
DeviceTmReportingWrapper.cpp DeviceTmReportingWrapper.cpp
HealthDevice.cpp HealthDevice.cpp)
)

View File

@ -1,6 +1,3 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(${LIB_FSFW_NAME} PRIVATE EventManager.cpp EventMessage.cpp)
EventManager.cpp
EventMessage.cpp
)
add_subdirectory(eventmatching) add_subdirectory(eventmatching)

View File

@ -1,7 +1,3 @@
target_sources(${LIB_FSFW_NAME} target_sources(
PRIVATE ${LIB_FSFW_NAME} PRIVATE EventIdRangeMatcher.cpp EventMatchTree.cpp
EventIdRangeMatcher.cpp ReporterRangeMatcher.cpp SeverityRangeMatcher.cpp)
EventMatchTree.cpp
ReporterRangeMatcher.cpp
SeverityRangeMatcher.cpp
)

View File

@ -1,6 +1,3 @@
target_sources(${LIB_FSFW_NAME} target_sources(
PRIVATE ${LIB_FSFW_NAME} PRIVATE EventCorrelation.cpp FailureIsolationBase.cpp
EventCorrelation.cpp FaultCounter.cpp)
FailureIsolationBase.cpp
FaultCounter.cpp
)

View File

@ -1,13 +1,12 @@
target_sources(${LIB_FSFW_NAME} target_sources(
PRIVATE ${LIB_FSFW_NAME}
arrayprinter.cpp PRIVATE arrayprinter.cpp
AsciiConverter.cpp AsciiConverter.cpp
CRC.cpp CRC.cpp
DleEncoder.cpp DleEncoder.cpp
PeriodicOperationDivider.cpp PeriodicOperationDivider.cpp
timevalOperations.cpp timevalOperations.cpp
Type.cpp Type.cpp
bitutility.cpp bitutility.cpp)
)
add_subdirectory(math) add_subdirectory(math)

View File

@ -1,4 +1 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE QuaternionOperations.cpp)
PRIVATE
QuaternionOperations.cpp
)

View File

@ -1,6 +1,2 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE HealthHelper.cpp HealthMessage.cpp
PRIVATE HealthTable.cpp)
HealthHelper.cpp
HealthMessage.cpp
HealthTable.cpp
)

View File

@ -1,5 +1,2 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE HousekeepingMessage.cpp
PRIVATE PeriodicHousekeepingHelper.cpp)
HousekeepingMessage.cpp
PeriodicHousekeepingHelper.cpp
)

View File

@ -1,4 +1 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE InternalErrorReporter.cpp)
PRIVATE
InternalErrorReporter.cpp
)

View File

@ -1,6 +1,3 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(
CommandMessage.cpp ${LIB_FSFW_NAME} PRIVATE CommandMessage.cpp CommandMessageCleaner.cpp
CommandMessageCleaner.cpp MessageQueueMessage.cpp MessageQueueBase.cpp)
MessageQueueMessage.cpp
MessageQueueBase.cpp
)

View File

@ -1,5 +1,2 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(${LIB_FSFW_NAME} PRIVATE MemoryHelper.cpp MemoryMessage.cpp
MemoryHelper.cpp GenericFileSystemMessage.cpp)
MemoryMessage.cpp
GenericFileSystemMessage.cpp
)

View File

@ -1,5 +1 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE ModeHelper.cpp ModeMessage.cpp)
PRIVATE
ModeHelper.cpp
ModeMessage.cpp
)

View File

@ -1,5 +1,2 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE LimitViolationReporter.cpp
PRIVATE MonitoringMessage.cpp)
LimitViolationReporter.cpp
MonitoringMessage.cpp
)

View File

@ -1,5 +1 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE ObjectManager.cpp SystemObject.cpp)
PRIVATE
ObjectManager.cpp
SystemObject.cpp
)

View File

@ -1,35 +1,33 @@
# Check the OS_FSFW variable # Check the OS_FSFW variable
if(FSFW_OSAL MATCHES "freertos") if(FSFW_OSAL MATCHES "freertos")
add_subdirectory(freertos) add_subdirectory(freertos)
elseif(FSFW_OSAL MATCHES "rtems") elseif(FSFW_OSAL MATCHES "rtems")
add_subdirectory(rtems) add_subdirectory(rtems)
elseif(FSFW_OSAL MATCHES "linux") elseif(FSFW_OSAL MATCHES "linux")
add_subdirectory(linux) add_subdirectory(linux)
elseif(FSFW_OSAL MATCHES "host") elseif(FSFW_OSAL MATCHES "host")
add_subdirectory(host) add_subdirectory(host)
if (WIN32) if(WIN32)
add_subdirectory(windows) add_subdirectory(windows)
elseif(UNIX) elseif(UNIX)
# We still need to pull in some Linux specific sources # We still need to pull in some Linux specific sources
target_sources(${LIB_FSFW_NAME} PUBLIC target_sources(${LIB_FSFW_NAME} PUBLIC linux/tcpipHelpers.cpp)
linux/tcpipHelpers.cpp endif()
)
endif ()
else() else()
message(WARNING "The OS_FSFW variable was not set. Assuming host OS..") message(WARNING "The OS_FSFW variable was not set. Assuming host OS..")
# Not set. Assumuing this is a host build, try to determine host OS # Not set. Assumuing this is a host build, try to determine host OS
if (WIN32) if(WIN32)
add_subdirectory(host) add_subdirectory(host)
add_subdirectory(windows) add_subdirectory(windows)
elseif (UNIX) elseif(UNIX)
add_subdirectory(linux) add_subdirectory(linux)
else () else()
# MacOS or other OSes have not been tested yet / are not supported. # MacOS or other OSes have not been tested yet / are not supported.
message(FATAL_ERROR "The host OS could not be determined! Aborting.") message(FATAL_ERROR "The host OS could not be determined! Aborting.")
endif() endif()
endif() endif()
add_subdirectory(common) add_subdirectory(common)

View File

@ -1,17 +1,10 @@
if(DEFINED WIN32 OR DEFINED UNIX) if(DEFINED WIN32 OR DEFINED UNIX)
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(
tcpipCommon.cpp ${LIB_FSFW_NAME}
TcpIpBase.cpp PRIVATE tcpipCommon.cpp TcpIpBase.cpp UdpTcPollingTask.cpp
UdpTcPollingTask.cpp UdpTmTcBridge.cpp TcpTmTcServer.cpp TcpTmTcBridge.cpp)
UdpTmTcBridge.cpp
TcpTmTcServer.cpp
TcpTmTcBridge.cpp
)
endif() endif()
if(WIN32) if(WIN32)
target_link_libraries(${LIB_FSFW_NAME} PRIVATE target_link_libraries(${LIB_FSFW_NAME} PRIVATE wsock32 ws2_32)
wsock32 endif()
ws2_32
)
endif()

View File

@ -109,8 +109,8 @@ TcpTmTcServer::~TcpTmTcServer() { closeSocket(listenerTcpSocket); }
using namespace tcpip; using namespace tcpip;
// If a connection is accepted, the corresponding socket will be assigned to the new socket // If a connection is accepted, the corresponding socket will be assigned to the new socket
socket_t connSocket = 0; socket_t connSocket = 0;
// sockaddr clientSockAddr = {}; sockaddr clientSockAddr = {};
// socklen_t connectorSockAddrLen = 0; socklen_t connectorSockAddrLen = 0;
int retval = 0; int retval = 0;
// Listen for connection requests permanently for lifetime of program // Listen for connection requests permanently for lifetime of program
@ -121,8 +121,7 @@ TcpTmTcServer::~TcpTmTcServer() { closeSocket(listenerTcpSocket); }
continue; continue;
} }
// connSocket = accept(listenerTcpSocket, &clientSockAddr, &connectorSockAddrLen); connSocket = accept(listenerTcpSocket, &clientSockAddr, &connectorSockAddrLen);
connSocket = accept(listenerTcpSocket, nullptr, nullptr);
if (connSocket == INVALID_SOCKET) { if (connSocket == INVALID_SOCKET) {
handleError(Protocol::TCP, ErrorSources::ACCEPT_CALL, 500); handleError(Protocol::TCP, ErrorSources::ACCEPT_CALL, 500);
@ -137,6 +136,7 @@ TcpTmTcServer::~TcpTmTcServer() { closeSocket(listenerTcpSocket); }
if (retval != 0) { if (retval != 0) {
handleError(Protocol::TCP, ErrorSources::SHUTDOWN_CALL); handleError(Protocol::TCP, ErrorSources::SHUTDOWN_CALL);
} }
closeSocket(connSocket); closeSocket(connSocket);
connSocket = 0; connSocket = 0;
} }

View File

@ -1,32 +1,30 @@
target_sources(${LIB_FSFW_NAME} target_sources(
PRIVATE ${LIB_FSFW_NAME}
Clock.cpp PRIVATE Clock.cpp
FixedTimeslotTask.cpp FixedTimeslotTask.cpp
BinarySemaphore.cpp BinarySemaphore.cpp
BinSemaphUsingTask.cpp BinSemaphUsingTask.cpp
CountingSemaphore.cpp CountingSemaphore.cpp
CountingSemaphUsingTask.cpp CountingSemaphUsingTask.cpp
MessageQueue.cpp MessageQueue.cpp
Mutex.cpp Mutex.cpp
MutexFactory.cpp MutexFactory.cpp
PeriodicTask.cpp PeriodicTask.cpp
QueueFactory.cpp QueueFactory.cpp
SemaphoreFactory.cpp SemaphoreFactory.cpp
TaskFactory.cpp TaskFactory.cpp
Timekeeper.cpp Timekeeper.cpp
TaskManagement.cpp TaskManagement.cpp
QueueMapManager.cpp QueueMapManager.cpp)
)
# FreeRTOS is required to link the FSFW now. It is recommended to compile # FreeRTOS is required to link the FSFW now. It is recommended to compile
# FreeRTOS as a static library and set LIB_OS_NAME to the target name of the # FreeRTOS as a static library and set LIB_OS_NAME to the target name of the
# library. # library.
if(NOT LIB_OS_NAME) if(NOT LIB_OS_NAME)
message(STATUS message(
"LIB_OS_NAME is empty. Make sure to include the FreeRTOS header path properly." STATUS
) "LIB_OS_NAME is empty. Make sure to include the FreeRTOS header path properly."
)
else() else()
target_link_libraries(${LIB_FSFW_NAME} PRIVATE target_link_libraries(${LIB_FSFW_NAME} PRIVATE ${LIB_OS_NAME})
${LIB_OS_NAME}
)
endif() endif()

View File

@ -1,27 +1,23 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(
Clock.cpp ${LIB_FSFW_NAME}
FixedTimeslotTask.cpp PRIVATE Clock.cpp
MessageQueue.cpp FixedTimeslotTask.cpp
Mutex.cpp MessageQueue.cpp
MutexFactory.cpp Mutex.cpp
PeriodicTask.cpp MutexFactory.cpp
QueueFactory.cpp PeriodicTask.cpp
QueueMapManager.cpp QueueFactory.cpp
SemaphoreFactory.cpp QueueMapManager.cpp
TaskFactory.cpp SemaphoreFactory.cpp
taskHelpers.cpp TaskFactory.cpp
) taskHelpers.cpp)
if(UNIX) if(UNIX)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
target_link_libraries(${LIB_FSFW_NAME} PRIVATE target_link_libraries(${LIB_FSFW_NAME} PRIVATE ${CMAKE_THREAD_LIBS_INIT})
${CMAKE_THREAD_LIBS_INIT}
)
if(NOT APPLE) if(NOT APPLE)
target_link_libraries(${LIB_FSFW_NAME} PRIVATE target_link_libraries(${LIB_FSFW_NAME} PRIVATE rt)
rt
)
endif() endif()
endif() endif()

View File

@ -1,29 +1,25 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(
Clock.cpp ${LIB_FSFW_NAME}
BinarySemaphore.cpp PRIVATE Clock.cpp
CountingSemaphore.cpp BinarySemaphore.cpp
FixedTimeslotTask.cpp CountingSemaphore.cpp
InternalErrorCodes.cpp FixedTimeslotTask.cpp
MessageQueue.cpp InternalErrorCodes.cpp
Mutex.cpp MessageQueue.cpp
MutexFactory.cpp Mutex.cpp
PeriodicPosixTask.cpp MutexFactory.cpp
PosixThread.cpp PeriodicPosixTask.cpp
QueueFactory.cpp PosixThread.cpp
SemaphoreFactory.cpp QueueFactory.cpp
TaskFactory.cpp SemaphoreFactory.cpp
tcpipHelpers.cpp TaskFactory.cpp
unixUtility.cpp tcpipHelpers.cpp
) unixUtility.cpp)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
target_link_libraries(${LIB_FSFW_NAME} PUBLIC target_link_libraries(${LIB_FSFW_NAME} PUBLIC ${CMAKE_THREAD_LIBS_INIT})
${CMAKE_THREAD_LIBS_INIT}
)
if(NOT APPLE) if(NOT APPLE)
target_link_libraries(${LIB_FSFW_NAME} PUBLIC target_link_libraries(${LIB_FSFW_NAME} PUBLIC rt)
rt
)
endif() endif()

View File

@ -1,20 +1,17 @@
target_sources(${LIB_FSFW_NAME} target_sources(
PRIVATE ${LIB_FSFW_NAME}
Clock.cpp PRIVATE Clock.cpp
CpuUsage.cpp CpuUsage.cpp
InitTask.cpp InitTask.cpp
InternalErrorCodes.cpp InternalErrorCodes.cpp
MessageQueue.cpp MessageQueue.cpp
PeriodicTask.cpp PeriodicTask.cpp
Mutex.cpp Mutex.cpp
MutexFactory.cpp MutexFactory.cpp
FixedTimeslotTask.cpp FixedTimeslotTask.cpp
QueueFactory.cpp QueueFactory.cpp
RtemsBasic.cpp RtemsBasic.cpp
RTEMSTaskBase.cpp RTEMSTaskBase.cpp
TaskFactory.cpp TaskFactory.cpp
BinarySemaphore.cpp BinarySemaphore.cpp
SemaphoreFactory.cpp SemaphoreFactory.cpp)
)

View File

@ -1,4 +1 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(${LIB_FSFW_NAME} PRIVATE tcpipHelpers.cpp winTaskHelpers.cpp)
tcpipHelpers.cpp
winTaskHelpers.cpp
)

View File

@ -1,6 +1,3 @@
target_sources(${LIB_FSFW_NAME} target_sources(
PRIVATE ${LIB_FSFW_NAME} PRIVATE ParameterHelper.cpp ParameterMessage.cpp
ParameterHelper.cpp ParameterWrapper.cpp)
ParameterMessage.cpp
ParameterWrapper.cpp
)

View File

@ -1,8 +1,4 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(
Fuse.cpp ${LIB_FSFW_NAME}
PowerComponent.cpp PRIVATE Fuse.cpp PowerComponent.cpp PowerSensor.cpp PowerSwitcher.cpp
PowerSensor.cpp DummyPowerSwitcher.cpp PowerSwitcherComponent.cpp)
PowerSwitcher.cpp
DummyPowerSwitcher.cpp
PowerSwitcherComponent.cpp
)

View File

@ -3,9 +3,12 @@
#include <fsfw/ipc/QueueFactory.h> #include <fsfw/ipc/QueueFactory.h>
#include <fsfw/power/PowerSwitchIF.h> #include <fsfw/power/PowerSwitchIF.h>
PowerSwitcherComponent::PowerSwitcherComponent(object_id_t objectId, PowerSwitchIF* pwrSwitcher, power::Switch_t pwrSwitch) PowerSwitcherComponent::PowerSwitcherComponent(object_id_t objectId, PowerSwitchIF *pwrSwitcher,
: SystemObject(objectId), switcher(pwrSwitcher, pwrSwitch), modeHelper(this), power::Switch_t pwrSwitch)
healthHelper(this, objectId) { : SystemObject(objectId),
switcher(pwrSwitcher, pwrSwitch),
modeHelper(this),
healthHelper(this, objectId) {
queue = QueueFactory::instance()->createMessageQueue(); queue = QueueFactory::instance()->createMessageQueue();
} }
@ -25,12 +28,12 @@ ReturnValue_t PowerSwitcherComponent::performOperation(uint8_t opCode) {
continue; continue;
} }
} }
if(switcher.active()) { if (switcher.active()) {
switcher.doStateMachine(); switcher.doStateMachine();
auto currState = switcher.getState(); auto currState = switcher.getState();
if (currState == PowerSwitcher::SWITCH_IS_OFF) { if (currState == PowerSwitcher::SWITCH_IS_OFF) {
setMode(MODE_OFF, 0); setMode(MODE_OFF, 0);
} else if(currState == PowerSwitcher::SWITCH_IS_ON) { } else if (currState == PowerSwitcher::SWITCH_IS_ON) {
setMode(MODE_ON, 0); setMode(MODE_ON, 0);
} }
} }
@ -39,19 +42,17 @@ ReturnValue_t PowerSwitcherComponent::performOperation(uint8_t opCode) {
ReturnValue_t PowerSwitcherComponent::initialize() { ReturnValue_t PowerSwitcherComponent::initialize() {
ReturnValue_t result = modeHelper.initialize(); ReturnValue_t result = modeHelper.initialize();
if(result != HasReturnvaluesIF::RETURN_OK) { if (result != HasReturnvaluesIF::RETURN_OK) {
return result; return result;
} }
result = healthHelper.initialize(); result = healthHelper.initialize();
if(result != HasReturnvaluesIF::RETURN_OK) { if (result != HasReturnvaluesIF::RETURN_OK) {
return result; return result;
} }
return SystemObject::initialize(); return SystemObject::initialize();
} }
MessageQueueId_t PowerSwitcherComponent::getCommandQueue() const { MessageQueueId_t PowerSwitcherComponent::getCommandQueue() const { return queue->getId(); }
return queue->getId();
}
void PowerSwitcherComponent::getMode(Mode_t *mode, Submode_t *submode) { void PowerSwitcherComponent::getMode(Mode_t *mode, Submode_t *submode) {
*mode = this->mode; *mode = this->mode;
@ -64,25 +65,25 @@ ReturnValue_t PowerSwitcherComponent::setHealth(HealthState health) {
} }
ReturnValue_t PowerSwitcherComponent::checkModeCommand(Mode_t mode, Submode_t submode, ReturnValue_t PowerSwitcherComponent::checkModeCommand(Mode_t mode, Submode_t submode,
uint32_t *msToReachTheMode) { uint32_t *msToReachTheMode) {
*msToReachTheMode = 5000; *msToReachTheMode = 5000;
if(mode != MODE_ON and mode != MODE_OFF) { if (mode != MODE_ON and mode != MODE_OFF) {
return TRANS_NOT_ALLOWED; return TRANS_NOT_ALLOWED;
} }
return RETURN_OK; return RETURN_OK;
} }
void PowerSwitcherComponent::startTransition(Mode_t mode, Submode_t submode) { void PowerSwitcherComponent::startTransition(Mode_t mode, Submode_t submode) {
if(mode == MODE_OFF) { if (mode == MODE_OFF) {
switcher.turnOff(true); switcher.turnOff(true);
switcher.doStateMachine(); switcher.doStateMachine();
if(switcher.getState() == PowerSwitcher::SWITCH_IS_OFF) { if (switcher.getState() == PowerSwitcher::SWITCH_IS_OFF) {
setMode(MODE_OFF, 0); setMode(MODE_OFF, 0);
} }
} else if (mode == MODE_ON) { } else if (mode == MODE_ON) {
switcher.turnOn(true); switcher.turnOn(true);
switcher.doStateMachine(); switcher.doStateMachine();
if(switcher.getState() == PowerSwitcher::SWITCH_IS_ON) { if (switcher.getState() == PowerSwitcher::SWITCH_IS_ON) {
setMode(MODE_ON, 0); setMode(MODE_ON, 0);
} }
} }
@ -103,6 +104,4 @@ void PowerSwitcherComponent::setMode(Mode_t newMode, Submode_t newSubmode) {
announceMode(false); announceMode(false);
} }
HasHealthIF::HealthState PowerSwitcherComponent::getHealth() { HasHealthIF::HealthState PowerSwitcherComponent::getHealth() { return healthHelper.getHealth(); }
return healthHelper.getHealth();
}

View File

@ -6,8 +6,8 @@
#include <fsfw/modes/HasModesIF.h> #include <fsfw/modes/HasModesIF.h>
#include <fsfw/modes/ModeHelper.h> #include <fsfw/modes/ModeHelper.h>
#include <fsfw/objectmanager/SystemObject.h> #include <fsfw/objectmanager/SystemObject.h>
#include <fsfw/power/definitions.h>
#include <fsfw/power/PowerSwitcher.h> #include <fsfw/power/PowerSwitcher.h>
#include <fsfw/power/definitions.h>
#include <fsfw/tasks/ExecutableObjectIF.h> #include <fsfw/tasks/ExecutableObjectIF.h>
class PowerSwitchIF; class PowerSwitchIF;
@ -22,19 +22,17 @@ class PowerSwitchIF;
* Commanding this component to MODE_OFF will cause the switcher to turn the switch off while * Commanding this component to MODE_OFF will cause the switcher to turn the switch off while
* commanding in to MODE_ON will cause the switcher to turn the switch on. * commanding in to MODE_ON will cause the switcher to turn the switch on.
*/ */
class PowerSwitcherComponent: class PowerSwitcherComponent : public SystemObject,
public SystemObject, public HasReturnvaluesIF,
public HasReturnvaluesIF, public ExecutableObjectIF,
public ExecutableObjectIF, public HasModesIF,
public HasModesIF, public HasHealthIF {
public HasHealthIF { public:
public: PowerSwitcherComponent(object_id_t objectId, PowerSwitchIF *pwrSwitcher,
PowerSwitcherComponent(object_id_t objectId, PowerSwitchIF* pwrSwitcher, power::Switch_t pwrSwitch);
power::Switch_t pwrSwitch);
private: private:
MessageQueueIF *queue = nullptr;
MessageQueueIF* queue = nullptr;
PowerSwitcher switcher; PowerSwitcher switcher;
Mode_t mode = MODE_OFF; Mode_t mode = MODE_OFF;
@ -52,7 +50,7 @@ private:
MessageQueueId_t getCommandQueue() const override; MessageQueueId_t getCommandQueue() const override;
void getMode(Mode_t *mode, Submode_t *submode) override; void getMode(Mode_t *mode, Submode_t *submode) override;
ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode, ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode,
uint32_t *msToReachTheMode) override; uint32_t *msToReachTheMode) override;
void startTransition(Mode_t mode, Submode_t submode) override; void startTransition(Mode_t mode, Submode_t submode) override;
void setToExternalControl() override; void setToExternalControl() override;
void announceMode(bool recursive) override; void announceMode(bool recursive) override;

View File

@ -1,12 +1,12 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(
Service1TelecommandVerification.cpp ${LIB_FSFW_NAME}
Service2DeviceAccess.cpp PRIVATE Service1TelecommandVerification.cpp
Service3Housekeeping.cpp Service2DeviceAccess.cpp
Service5EventReporting.cpp Service3Housekeeping.cpp
Service8FunctionManagement.cpp Service5EventReporting.cpp
Service9TimeManagement.cpp Service8FunctionManagement.cpp
Service17Test.cpp Service9TimeManagement.cpp
Service20ParameterManagement.cpp Service17Test.cpp
CService200ModeCommanding.cpp Service20ParameterManagement.cpp
CService201HealthCommanding.cpp CService200ModeCommanding.cpp
) CService201HealthCommanding.cpp)

View File

@ -1,7 +1,2 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE RMAP.cpp RMAPCookie.cpp
PRIVATE RmapDeviceCommunicationIF.cpp)
RMAP.cpp
RMAPCookie.cpp
RmapDeviceCommunicationIF.cpp
)

View File

@ -1,4 +1 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE SerialBufferAdapter.cpp)
PRIVATE
SerialBufferAdapter.cpp
)

View File

@ -1,5 +1,4 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(
ServiceInterfaceStream.cpp ${LIB_FSFW_NAME}
ServiceInterfaceBuffer.cpp PRIVATE ServiceInterfaceStream.cpp ServiceInterfaceBuffer.cpp
ServiceInterfacePrinter.cpp ServiceInterfacePrinter.cpp)
)

View File

@ -1,7 +1,3 @@
target_sources(${LIB_FSFW_NAME} target_sources(
PRIVATE ${LIB_FSFW_NAME} PRIVATE ConstStorageAccessor.cpp StorageAccessor.cpp
ConstStorageAccessor.cpp LocalPool.cpp PoolManager.cpp)
StorageAccessor.cpp
LocalPool.cpp
PoolManager.cpp
)

View File

@ -1,7 +1,3 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE Subsystem.cpp SubsystemBase.cpp)
PRIVATE
Subsystem.cpp
SubsystemBase.cpp
)
add_subdirectory(modes) add_subdirectory(modes)

View File

@ -1,5 +1 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE ModeSequenceMessage.cpp ModeStore.cpp)
PRIVATE
ModeSequenceMessage.cpp
ModeStore.cpp
)

View File

@ -1,5 +1,2 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE FixedSequenceSlot.cpp
PRIVATE FixedSlotSequence.cpp)
FixedSequenceSlot.cpp
FixedSlotSequence.cpp
)

View File

@ -1,9 +1,4 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(
CCSDSDistributor.cpp ${LIB_FSFW_NAME}
PUSDistributor.cpp PRIVATE CCSDSDistributor.cpp PUSDistributor.cpp TcDistributor.cpp
TcDistributor.cpp TcPacketCheckPUS.cpp TcPacketCheckCFDP.cpp CFDPDistributor.cpp)
TcPacketCheckPUS.cpp
TcPacketCheckCFDP.cpp
CFDPDistributor.cpp
)

View File

@ -1,10 +1,9 @@
target_sources(${LIB_FSFW_NAME} target_sources(
PRIVATE ${LIB_FSFW_NAME}
AbstractTemperatureSensor.cpp PRIVATE AbstractTemperatureSensor.cpp
Heater.cpp Heater.cpp
RedundantHeater.cpp RedundantHeater.cpp
ThermalComponentCore.cpp ThermalComponentCore.cpp
ThermalComponent.cpp ThermalComponent.cpp
ThermalModule.cpp ThermalModule.cpp
ThermalMonitorReporter.cpp ThermalMonitorReporter.cpp)
)

View File

@ -1,8 +1,3 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(
CCSDSTime.cpp ${LIB_FSFW_NAME} PRIVATE CCSDSTime.cpp Countdown.cpp Stopwatch.cpp
Countdown.cpp TimeMessage.cpp TimeStamper.cpp ClockCommon.cpp)
Stopwatch.cpp
TimeMessage.cpp
TimeStamper.cpp
ClockCommon.cpp
)

View File

@ -1,4 +1 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE TmStoreMessage.cpp)
PRIVATE
TmStoreMessage.cpp
)

View File

@ -1,8 +1,5 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(${LIB_FSFW_NAME} PRIVATE SpacePacket.cpp SpacePacketBase.cpp)
SpacePacket.cpp
SpacePacketBase.cpp
)
add_subdirectory(cfdp) add_subdirectory(cfdp)
add_subdirectory(packetmatcher) add_subdirectory(packetmatcher)
add_subdirectory(pus) add_subdirectory(pus)

View File

@ -1,4 +1 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(${LIB_FSFW_NAME} PRIVATE CFDPPacket.cpp CFDPPacketStored.cpp)
CFDPPacket.cpp
CFDPPacketStored.cpp
)

View File

@ -1,4 +1 @@
target_sources(${LIB_FSFW_NAME} target_sources(${LIB_FSFW_NAME} PRIVATE PacketMatchTree.cpp)
PRIVATE
PacketMatchTree.cpp
)

View File

@ -1,6 +1,3 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(
TcPacketPusBase.cpp ${LIB_FSFW_NAME} PRIVATE TcPacketPusBase.cpp TcPacketPus.cpp
TcPacketPus.cpp TcPacketStoredBase.cpp TcPacketStoredPus.cpp)
TcPacketStoredBase.cpp
TcPacketStoredPus.cpp
)

View File

@ -1,9 +1,9 @@
target_sources(${LIB_FSFW_NAME} PRIVATE target_sources(
TmPacketStoredPusA.cpp ${LIB_FSFW_NAME}
TmPacketStoredPusC.cpp PRIVATE TmPacketStoredPusA.cpp
TmPacketPusA.cpp TmPacketStoredPusC.cpp
TmPacketPusC.cpp TmPacketPusA.cpp
TmPacketStoredBase.cpp TmPacketPusC.cpp
TmPacketBase.cpp TmPacketStoredBase.cpp
TmPacketMinimal.cpp TmPacketBase.cpp
) TmPacketMinimal.cpp)

View File

@ -1,10 +1,9 @@
target_sources(${LIB_FSFW_NAME} target_sources(
PRIVATE ${LIB_FSFW_NAME}
CommandingServiceBase.cpp PRIVATE CommandingServiceBase.cpp
PusServiceBase.cpp PusServiceBase.cpp
PusVerificationReport.cpp PusVerificationReport.cpp
TmTcBridge.cpp TmTcBridge.cpp
TmTcMessage.cpp TmTcMessage.cpp
VerificationReporter.cpp VerificationReporter.cpp
SpacePacketParser.cpp SpacePacketParser.cpp)
)