forked from ROMEO/obsw
34 lines
926 B
C++
34 lines
926 B
C++
#include "PrintController.h"
|
|
|
|
#include <cstdio>
|
|
|
|
PrintController::PrintController(object_id_t setObjectId)
|
|
: SystemObject(setObjectId) {}
|
|
|
|
ReturnValue_t PrintController::initialize() {
|
|
ReturnValue_t result = SystemObject::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;
|
|
}
|