#include "PrintController.h" #include 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; }