int ProgramSenoko::prepGPIO(void) { QFile exportFile("/sys/class/gpio/export"); if (!exportFile.open(QIODevice::WriteOnly)) { testError(QString() + "Unable to open GPIO export file: " + exportFile.errorString()); return 1; } exportFile.write("149"); exportFile.close(); QFile directionFile("/sys/class/gpio/gpio149/direction"); if (!directionFile.open(QIODevice::WriteOnly)) { testError(QString() + "Unable to open GPIO149 direction file: " + directionFile.errorString()); return 1; } directionFile.write("out\n"); directionFile.close(); QFile valueFile("/sys/class/gpio/gpio149/value"); if (!valueFile.open(QIODevice::WriteOnly)) { testError(QString() + "Unable to open GPIO149 value file: " + valueFile.errorString()); return 1; } valueFile.write("0\n"); valueFile.close(); return 0; }
// Accessors void Pin::setDirection(string direction) { ofstream directionFile(this->m_directionPath); if(!directionFile) { throw("SET DIRECTION FAILED : " + string(strerror(errno))); } this->m_direction = direction; directionFile << direction; directionFile.close(); }