Files
obsw/mission/controller/BlinkController.cpp
Paul Nehlich 3304d9d312 BlinkController is now a own task;
I learned to add a new system object;

Blinkers gonna blink; Printers gonna print;
2023-09-25 14:37:38 +02:00

39 lines
1.1 KiB
C++

#include "BlinkController.h"
#include <cstdio>
BlinkController::BlinkController(object_id_t setObjectId)
: SystemObject(setObjectId) {}
ReturnValue_t BlinkController::initialize() {
ReturnValue_t result = SystemObject::initialize();
printf("Initializing Blinking");
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);
printf("Configured XGPIO");
if (returncode != 0) {
return returnvalue::FAILED;
}
XGpioPs_SetDirection(&gpio, 0, (1 << 7));
XGpioPs_SetOutputEnable(&gpio, 0, (1 << 7));
XGpioPs_WritePin(&gpio, 7, 1);
printf("Blinking is initialized");
XGpioPs_WritePin(&gpio, 7, 0);
printf("Value written once");
return returnvalue::OK;
}
ReturnValue_t BlinkController::performOperation(uint8_t operationCode) {
printf("blinking\n");
static int pinvalue = 1;
pinvalue = pinvalue ^ 1;
XGpioPs_WritePin(&gpio, 7, pinvalue);
return returnvalue::OK;
}