zed goes blink

This commit is contained in:
Ulrich Mohr 2023-09-20 12:50:48 +02:00
parent 03298b4876
commit 95c26b34c7
6 changed files with 41 additions and 2 deletions

View File

@ -23,6 +23,13 @@ set(MISSION_PATH mission/)
set(FreeRTOS_CONFIG_PATH bsp_z7/freeRTOS)
set(BSP_PATH bsp_z7)
# ##############################################################################
# Configuration
# ##############################################################################
# ##############################################################################
# Executable and Sources
# ##############################################################################
@ -57,6 +64,8 @@ set(FSFW_ADDITIONAL_INC_PATHS
"${COMMON_CONFIG_PATH}" "${CMAKE_CURRENT_BINARY_DIR}" "contrib/"
CACHE STRING "FSFW configuration paths")
set(FSFW_OSAL freertos CACHE STRING "FSFW OSAL")
set(FSFW_ADD_MONITORING ON)
add_subdirectory(fsfw)

View File

@ -1,3 +1,4 @@
add_subdirectory(libsrc/gpiops)
add_subdirectory(libsrc/scugic)
add_subdirectory(libsrc/scutimer)
add_subdirectory(libsrc/scuwdt)

View File

@ -23,8 +23,10 @@
#include "xparameters_ps.h"
#define STDIN_BASEADDRESS 0xE0001000
#define STDOUT_BASEADDRESS 0xE0001000
#define STDIN_BASEADDRESS XPS_UART1_BASEADDR
#define STDOUT_BASEADDRESS XPS_UART1_BASEADDR
/******************************************************************/

View File

@ -0,0 +1,8 @@
target_sources(${TARGET_NAME} PUBLIC
src/xgpiops_g.c
src/xgpiops_hw.c
src/xgpiops_intr.c
src/xgpiops.c
src/xgpiops_sinit.c
src/xgpiops_selftest.c
)

View File

@ -10,10 +10,24 @@ ReturnValue_t PrintController::initialize() {
if (result != returnvalue::OK) {
return result;
}
XGpioPs_Config config;
config.DeviceId = 4; // chosen by fair dice throw
config.BaseAddr = XPS_GPIO_BASEADDR;
s32 returncode = XGpioPs_CfgInitialize(&gpio, &config, XPS_GPIO_BASEADDR);
if (returncode != 0) {
return returnvalue::FAILED;
}
XGpioPs_SetDirection(&gpio, 0, (1 << 7));
XGpioPs_SetOutputEnable(&gpio, 0, (1 << 7));
XGpioPs_WritePin(&gpio, 7, 1);
return returnvalue::OK;
}
ReturnValue_t PrintController::performOperation(uint8_t operationCode) {
printf("running\n");
static int pinvalue = 1;
pinvalue = pinvalue ^ 1;
XGpioPs_WritePin(&gpio, 7, pinvalue);
return returnvalue::OK;
}

View File

@ -1,5 +1,7 @@
#pragma once
#include <xgpiops.h>
#include <fsfw/objectmanager/SystemObject.h>
#include <fsfw/tasks/ExecutableObjectIF.h>
@ -12,4 +14,7 @@ class PrintController: public SystemObject, public ExecutableObjectIF {
ReturnValue_t initialize() override;
ReturnValue_t performOperation(uint8_t operationCode) override;
private:
XGpioPs gpio;
};