Merge branch 'mueller/master' into mueller/restructuring
This commit is contained in:
commit
8db0ca861a
62 files changed
+102
-115
No files matched your search
@@ -86,6 +86,7 @@ message(STATUS "Compiling FSFW for the ${OS_FSFW_NAME} operating system.")
|
||||
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(tests)
|
||||
add_subdirectory(hal)
|
||||
add_subdirectory(contrib)
|
||||
|
||||
# The project CMakeLists file has to set the FSFW_CONFIG_PATH and add it.
|
||||
|
||||
+5
-46
@@ -5,35 +5,19 @@ find_library(LIB_FSFW_NAME fsfw REQUIRED)
|
||||
|
||||
option(FSFW_HAL_ADD_LINUX "Add the Linux HAL to the sources. Required gpiod library" OFF)
|
||||
option(FSFW_HAL_ADD_RASPBERRY_PI "Add Raspberry Pi specific code to the sources" OFF)
|
||||
|
||||
option(FSFW_HAL_ADD_STM32H7 "Add the STM32H7 HAL to the sources" OFF)
|
||||
|
||||
option(FSFW_HAL_WARNING_SHADOW_LOCAL_GCC "Enable -Wshadow=local warning in GCC" ON)
|
||||
|
||||
set(LIB_FSFW_HAL_NAME fsfw_hal)
|
||||
set(LINUX_HAL_PATH_NAME linux)
|
||||
set(STM32H7_PATH_NAME stm32h7)
|
||||
|
||||
add_library(${LIB_FSFW_HAL_NAME})
|
||||
|
||||
if(NOT LIB_FSFW_NAME)
|
||||
message(ERROR "LIB_FSFW_NAME needs to be set as a linkable target")
|
||||
endif()
|
||||
|
||||
add_subdirectory(devicehandlers)
|
||||
add_subdirectory(common)
|
||||
|
||||
if(FSFW_HAL_ADD_LINUX)
|
||||
add_subdirectory(${LINUX_HAL_PATH_NAME})
|
||||
endif()
|
||||
|
||||
if(FSFW_HAL_ADD_STM32H7)
|
||||
add_subdirectory(${STM32H7_PATH_NAME})
|
||||
endif()
|
||||
|
||||
target_link_libraries(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
${LIB_FSFW_NAME}
|
||||
)
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(inc)
|
||||
|
||||
foreach(INCLUDE_PATH ${FSFW_HAL_ADDITIONAL_INC_PATHS})
|
||||
if(IS_ABSOLUTE ${INCLUDE_PATH})
|
||||
@@ -50,40 +34,15 @@ foreach(INCLUDE_PATH ${FSFW_HAL_ADDITIONAL_INC_PATHS})
|
||||
list(APPEND FSFW_HAL_ADD_INC_PATHS_ABS ${CURR_ABS_INC_PATH})
|
||||
endforeach()
|
||||
|
||||
target_include_directories(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_include_directories(${LIB_FSFW_NAME} PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${FSFW_HAL_ADD_INC_PATHS_ABS}
|
||||
)
|
||||
|
||||
target_compile_definitions(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_compile_definitions(${LIB_FSFW_NAME} PRIVATE
|
||||
${FSFW_HAL_DEFINES}
|
||||
)
|
||||
|
||||
target_link_libraries(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_link_libraries(${LIB_FSFW_NAME} PRIVATE
|
||||
${FSFW_HAL_LINK_LIBS}
|
||||
)
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
if(NOT DEFINED FSFW_WARNING_FLAGS)
|
||||
set(FSFW_WARNING_FLAGS
|
||||
-Wall
|
||||
-Wextra
|
||||
-Wimplicit-fallthrough=1
|
||||
-Wno-unused-parameter
|
||||
)
|
||||
endif()
|
||||
|
||||
target_compile_options(${LIB_FSFW_NAME} PRIVATE
|
||||
"-ffunction-sections"
|
||||
"-fdata-sections"
|
||||
)
|
||||
|
||||
target_link_options(${LIB_FSFW_NAME} PRIVATE
|
||||
"Wl,--gc-sections"
|
||||
)
|
||||
|
||||
if(FSFW_HAL_WARNING_SHADOW_LOCAL_GCC)
|
||||
list(APPEND WARNING_FLAGS "-Wshadow=local")
|
||||
endif()
|
||||
|
||||
endif()
|
||||
@@ -0,0 +1,7 @@
|
||||
target_include_directories(${LIB_FSFW_NAME} PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
target_include_directories(${LIB_FSFW_NAME} INTERFACE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,10 @@
|
||||
add_subdirectory(devicehandlers)
|
||||
add_subdirectory(common)
|
||||
|
||||
if(FSFW_HAL_ADD_LINUX)
|
||||
add_subdirectory(${LINUX_HAL_PATH_NAME})
|
||||
endif()
|
||||
|
||||
if(FSFW_HAL_ADD_STM32H7)
|
||||
add_subdirectory(${STM32H7_PATH_NAME})
|
||||
endif()
|
||||
@@ -0,0 +1 @@
|
||||
add_subdirectory(gpio)
|
||||
@@ -1,3 +1,3 @@
|
||||
target_sources(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_sources(${LIB_FSFW_NAME} PRIVATE
|
||||
GpioCookie.cpp
|
||||
)
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "GpioCookie.h"
|
||||
#include "fsfw/hal/common/gpio/GpioCookie.h"
|
||||
#include "fsfw/serviceinterface/ServiceInterface.h"
|
||||
|
||||
GpioCookie::GpioCookie() {
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
target_sources(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_sources(${LIB_FSFW_NAME} PRIVATE
|
||||
GyroL3GD20Handler.cpp
|
||||
)
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "GyroL3GD20Handler.h"
|
||||
#include "fsfw/hal/devicehandlers/GyroL3GD20Handler.h"
|
||||
|
||||
#include <fsfw/datapool/PoolReadGuard.h>
|
||||
#include "fsfw/datapool/PoolReadGuard.h"
|
||||
|
||||
GyroHandlerL3GD20H::GyroHandlerL3GD20H(object_id_t objectId, object_id_t deviceCommunication,
|
||||
CookieIF *comCookie):
|
||||
|
||||
@@ -2,7 +2,7 @@ if(FSFW_HAL_ADD_RASPBERRY_PI)
|
||||
add_subdirectory(rpi)
|
||||
endif()
|
||||
|
||||
target_sources(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_sources(${LIB_FSFW_NAME} PRIVATE
|
||||
UnixFileGuard.cpp
|
||||
utility.cpp
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "UnixFileGuard.h"
|
||||
#include "fsfw/hal/linux/UnixFileGuard.h"
|
||||
|
||||
UnixFileGuard::UnixFileGuard(std::string device, int* fileDescriptor, int flags,
|
||||
std::string diagnosticPrefix):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
target_sources(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_sources(${LIB_FSFW_NAME} PRIVATE
|
||||
LinuxLibgpioIF.cpp
|
||||
)
|
||||
|
||||
@@ -7,6 +7,6 @@ target_sources(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
# to install the package before syncing the sysroot to your host computer.
|
||||
find_library(LIB_GPIO gpiod REQUIRED)
|
||||
|
||||
target_link_libraries(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_link_libraries(${LIB_FSFW_NAME} PRIVATE
|
||||
${LIB_GPIO}
|
||||
)
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "LinuxLibgpioIF.h"
|
||||
#include <common/gpio/gpioDefinitions.h>
|
||||
#include <common/gpio/GpioCookie.h>
|
||||
#include "fsfw/hal/linux/gpio/LinuxLibgpioIF.h"
|
||||
#include "fsfw/hal/common/gpio/gpioDefinitions.h"
|
||||
#include "fsfw/hal/common/gpio/GpioCookie.h"
|
||||
|
||||
#include <fsfw/serviceinterface/ServiceInterface.h>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
target_sources(${LIB_FSFW_HAL_NAME} PUBLIC
|
||||
target_sources(${LIB_FSFW_NAME} PUBLIC
|
||||
I2cComIF.cpp
|
||||
I2cCookie.cpp
|
||||
)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#include "I2cComIF.h"
|
||||
#include "../utility.h"
|
||||
#include "../UnixFileGuard.h"
|
||||
#include "fsfw/hal/linux/i2c/I2cComIF.h"
|
||||
#include "fsfw/hal/linux/utility.h"
|
||||
#include "fsfw/hal/linux/UnixFileGuard.h"
|
||||
|
||||
#include <fsfw/serviceinterface/ServiceInterface.h>
|
||||
#include "fsfw/serviceinterface/ServiceInterface.h"
|
||||
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "I2cCookie.h"
|
||||
#include "fsfw/hal/linux/i2c/I2cCookie.h"
|
||||
|
||||
I2cCookie::I2cCookie(address_t i2cAddress_, size_t maxReplyLen_,
|
||||
std::string deviceFile_) :
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
target_sources(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_sources(${LIB_FSFW_NAME} PRIVATE
|
||||
GpioRPi.cpp
|
||||
)
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "GpioRPi.h"
|
||||
#include "../../common/gpio/GpioCookie.h"
|
||||
#include <FSFWConfig.h>
|
||||
#include "fsfw/FSFW.h"
|
||||
|
||||
#include "fsfw/hal/linux/rpi/GpioRPi.h"
|
||||
#include "fsfw/hal/common/gpio/GpioCookie.h"
|
||||
|
||||
#include <fsfw/serviceinterface/ServiceInterface.h>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
target_sources(${LIB_FSFW_HAL_NAME} PUBLIC
|
||||
target_sources(${LIB_FSFW_NAME} PUBLIC
|
||||
SpiComIF.cpp
|
||||
SpiCookie.cpp
|
||||
)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#include "SpiComIF.h"
|
||||
#include "SpiCookie.h"
|
||||
#include "../utility.h"
|
||||
#include "../UnixFileGuard.h"
|
||||
#include "FSFWConfig.h"
|
||||
#include "fsfw/FSFW.h"
|
||||
#include "fsfw/hal/linux/spi/SpiComIF.h"
|
||||
#include "fsfw/hal/linux/spi/SpiCookie.h"
|
||||
#include "fsfw/hal/linux/utility.h"
|
||||
#include "fsfw/hal/linux/UnixFileGuard.h"
|
||||
|
||||
#include <fsfw/ipc/MutexFactory.h>
|
||||
#include <fsfw/globalfunctions/arrayprinter.h>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "SpiCookie.h"
|
||||
#include "fsfw/hal/linux/spi/SpiCookie.h"
|
||||
|
||||
SpiCookie::SpiCookie(address_t spiAddress, gpioId_t chipSelect, std::string spiDev,
|
||||
const size_t maxSize, spi::SpiModes spiMode, uint32_t spiSpeed):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "UartComIF.h"
|
||||
#include "fsfw/hal/linux/uart/UartComIF.h"
|
||||
#include "OBSWConfig.h"
|
||||
|
||||
#include "fsfw/serviceinterface/ServiceInterface.h"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "UartCookie.h"
|
||||
#include "fsfw/hal/linux/uart/UartCookie.h"
|
||||
|
||||
#include <fsfw/serviceinterface/ServiceInterface.h>
|
||||
|
||||
|
||||
@@ -2,6 +2,6 @@ add_subdirectory(spi)
|
||||
add_subdirectory(gpio)
|
||||
add_subdirectory(devicetest)
|
||||
|
||||
target_sources(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_sources(${LIB_FSFW_NAME} PRIVATE
|
||||
dma.cpp
|
||||
)
|
||||
@@ -1,3 +1,3 @@
|
||||
target_sources(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_sources(${LIB_FSFW_NAME} PRIVATE
|
||||
GyroL3GD20H.cpp
|
||||
)
|
||||
@@ -1,3 +1,3 @@
|
||||
target_sources(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_sources(${LIB_FSFW_NAME} PRIVATE
|
||||
gpio.cpp
|
||||
)
|
||||
@@ -1,2 +1,2 @@
|
||||
target_sources(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_sources(${LIB_FSFW_NAME} PRIVATE
|
||||
)
|
||||
@@ -1,4 +1,4 @@
|
||||
target_sources(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_sources(${LIB_FSFW_NAME} PRIVATE
|
||||
spiCore.cpp
|
||||
spiDefinitions.cpp
|
||||
spiInterrupts.cpp
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
target_sources(${LIB_FSFW_HAL_NAME} PRIVATE
|
||||
target_sources(${LIB_FSFW_NAME} PRIVATE
|
||||
)
|
||||
@@ -79,7 +79,9 @@ public:
|
||||
static void setCreateDirectoryCommand(CommandMessage* message,
|
||||
store_address_t storeId);
|
||||
static void setDeleteDirectoryCommand(CommandMessage* message,
|
||||
store_address_t storeId);
|
||||
store_address_t storeId, bool deleteRecursively);
|
||||
static store_address_t getDeleteDirectoryCommand(const CommandMessage* message,
|
||||
bool& deleteRecursively);
|
||||
|
||||
static void setSuccessReply(CommandMessage* message);
|
||||
static void setFailureReply(CommandMessage* message,
|
||||
|
||||
@@ -36,9 +36,8 @@ public:
|
||||
//! [EXPORT] : P1: Sequence number missing
|
||||
static constexpr ReturnValue_t SEQUENCE_PACKET_MISSING_READ = MAKE_RETURN_CODE(16);
|
||||
|
||||
|
||||
|
||||
virtual ~HasFileSystemIF() {}
|
||||
|
||||
/**
|
||||
* Function to get the MessageQueueId_t of the implementing object
|
||||
* @return MessageQueueId_t of the object
|
||||
@@ -46,7 +45,7 @@ public:
|
||||
virtual MessageQueueId_t getCommandQueue() const = 0;
|
||||
|
||||
/**
|
||||
* Generic function to append to file.
|
||||
* @brief Generic function to append to file.
|
||||
* @param dirname Directory of the file
|
||||
* @param filename The filename of the file
|
||||
* @param data The data to write to the file
|
||||
@@ -63,12 +62,12 @@ public:
|
||||
uint16_t packetNumber, void* args = nullptr) = 0;
|
||||
|
||||
/**
|
||||
* Generic function to create a new file.
|
||||
* @brief Generic function to create a new file.
|
||||
* @param repositoryPath
|
||||
* @param filename
|
||||
* @param data
|
||||
* @param size
|
||||
* @param args Any other arguments which an implementation might require.
|
||||
* @param args Any other arguments which an implementation might require
|
||||
* @return
|
||||
*/
|
||||
virtual ReturnValue_t createFile(const char* repositoryPath,
|
||||
@@ -76,14 +75,30 @@ public:
|
||||
size_t size = 0, void* args = nullptr) = 0;
|
||||
|
||||
/**
|
||||
* Generic function to delete a file.
|
||||
* @brief Generic function to delete a file.
|
||||
* @param repositoryPath
|
||||
* @param filename
|
||||
* @param args
|
||||
* @param args Any other arguments which an implementation might require
|
||||
* @return
|
||||
*/
|
||||
virtual ReturnValue_t deleteFile(const char* repositoryPath,
|
||||
const char* filename, void* args = nullptr) = 0;
|
||||
|
||||
/**
|
||||
* @brief Generic function to create a directory
|
||||
* @param repositoryPath
|
||||
* @param args Any other arguments which an implementation might require
|
||||
* @return
|
||||
*/
|
||||
virtual ReturnValue_t createDirectory(const char* repositoryPath, void* args = nullptr) = 0;
|
||||
|
||||
/**
|
||||
* @brief Generic function to remove a directory
|
||||
* @param repositoryPath
|
||||
* @param args Any other arguments which an implementation might require
|
||||
*/
|
||||
virtual ReturnValue_t removeDirectory(const char* repositoryPath,
|
||||
bool deleteRecurively = false, void* args = nullptr) = 0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
CXXSRC += $(wildcard $(CURRENTPATH)/ipc/*.cpp)
|
||||
CXXSRC += $(wildcard $(CURRENTPATH)/objects/*.cpp)
|
||||
CXXSRC += $(wildcard $(CURRENTPATH)/pollingsequence/*.cpp)
|
||||
CXXSRC += $(wildcard $(CURRENTPATH)/events/*.cpp)
|
||||
CXXSRC += $(wildcard $(CURRENTPATH)/tmtc/*.cpp)
|
||||
CXXSRC += $(wildcard $(CURRENTPATH)/devices/*.cpp)
|
||||
|
||||
INCLUDES += $(CURRENTPATH)
|
||||
INCLUDES += $(CURRENTPATH)/objects
|
||||
INCLUDES += $(CURRENTPATH)/returnvalues
|
||||
INCLUDES += $(CURRENTPATH)/tmtc
|
||||
INCLUDES += $(CURRENTPATH)/events
|
||||
INCLUDES += $(CURRENTPATH)/devices
|
||||
INCLUDES += $(CURRENTPATH)/pollingsequence
|
||||
INCLUDES += $(CURRENTPATH)/ipc
|
||||
@@ -34,8 +34,9 @@ void GenericFileSystemMessage::setReportFileAttributesReply(CommandMessage *mess
|
||||
}
|
||||
|
||||
void GenericFileSystemMessage::setDeleteDirectoryCommand(CommandMessage* message,
|
||||
store_address_t storeId) {
|
||||
store_address_t storeId, bool deleteRecursively) {
|
||||
message->setCommand(CMD_DELETE_DIRECTORY);
|
||||
message->setParameter(deleteRecursively);
|
||||
message->setParameter2(storeId.raw);
|
||||
}
|
||||
|
||||
@@ -133,6 +134,12 @@ bool GenericFileSystemMessage::getReadReply(const CommandMessage *message,
|
||||
return message->getParameter();
|
||||
}
|
||||
|
||||
store_address_t GenericFileSystemMessage::getDeleteDirectoryCommand(const CommandMessage *message,
|
||||
bool &deleteRecursively) {
|
||||
deleteRecursively = message->getParameter();
|
||||
return getStoreId(message);
|
||||
}
|
||||
|
||||
ReturnValue_t GenericFileSystemMessage::clear(CommandMessage* message) {
|
||||
switch(message->getCommand()) {
|
||||
case(CMD_CREATE_FILE):
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
target_sources(${LIB_FSFW_NAME}
|
||||
PRIVATE
|
||||
CCSDSTime.cpp
|
||||
Countdown.cpp
|
||||
Stopwatch.cpp
|
||||
TimeMessage.cpp
|
||||
TimeStamper.cpp
|
||||
ClockCommon.cpp
|
||||
target_sources(${LIB_FSFW_NAME} PRIVATE
|
||||
CCSDSTime.cpp
|
||||
Countdown.cpp
|
||||
Stopwatch.cpp
|
||||
TimeMessage.cpp
|
||||
TimeStamper.cpp
|
||||
ClockCommon.cpp
|
||||
)
|
||||
Reference in new issue
Block a user