// Init the clock modules void ClockMaster::clockSetup(Alarm *alarm) { Serial.begin(9600); initRTC(); dht.begin(); tft.begin(); initScreen(); alarm->initAlarm(getTime()); }
void Board::init(){ // Start screen TFTscreen.begin(); // make the background black TFTscreen.background(0, 0, 0); // Set starting colors rgbColour[0] = 255; rgbColour[1] = 0; rgbColour[2] = 0; // Set which color to be incremented and decremented decColour = 0; incColour = 1; TFTscreen.stroke(255, 255, 255); // Draw top border left->right TFTscreen.line(boardBorderXLeft, boardBorderYTop, boardBorderXRight, boardBorderYTop); // Draw right border top->bottom TFTscreen.line(boardBorderXLeft, boardBorderYTop, boardBorderXLeft, boardBoarderYBottom); // Draw bottom border left->right TFTscreen.line(boardBorderXLeft, boardBoarderYBottom, boardBorderXRight, boardBoarderYBottom); // Draw left border TFTscreen.line(boardBorderXRight, boardBorderYTop, boardBorderXRight, boardBoarderYBottom); // Write score TFTscreen.setCursor(10, 10); TFTscreen.setTextSize(1); TFTscreen.print(score_str); setScore(0); // Write highscore TFTscreen.setTextSize(1); TFTscreen.stroke(255, 255, 255); TFTscreen.setCursor(10, 50); TFTscreen.print(high_str); TFTscreen.setCursor(10, 60); TFTscreen.print(score_str); }
PadConfiguration::PadConfiguration(const char* fileName): _valid(false), _picture(nullptr) { Serial.println("[PadConfiguration start]"); if(!TFTInit) { TFTscreen.begin(); TFTInit = true; } for(uint8_t index; index < BUTTON_ARRAY_SIZE; ++index) { _mapping[index] = nullptr; } File myFile; myFile = SD.open(fileName); if(!myFile) { Serial.println("[PadConfiguration done: could not open file]"); return; } String padConf = readLine(myFile); Serial.println(padConf.c_str()); Serial.println(padConf.length()); if(padConf.length() != BUTTON_ARRAY_SIZE*2+1) { Serial.println("[PadConfiguration done: parse error length]"); Serial.println(padConf.length()); myFile.close(); return; } for(uint8_t index = 0; index < BUTTON_ARRAY_SIZE; ++index) { switch(padConf.charAt(index*2)) { case 'k': { _mapping[index] = new InputHandlerKeyboard(padConf.charAt(index*2+1), false, false); if(!_mapping[index]->_valid) { Serial.println("[PadConfiguration done: parse error k]"); myFile.close(); return; } break; } case 'K': { _mapping[index] = new InputHandlerKeyboard(padConf.charAt(index*2+1), true, false); if(!_mapping[index]->_valid) { Serial.println("[PadConfiguration done: parse error K]"); myFile.close(); return; } break; } case 'F': { _mapping[index] = new InputHandlerKeyboard(padConf.charAt(index*2+1), false, true); if(!_mapping[index]->_valid) { Serial.println("[PadConfiguration done: parse error F]"); myFile.close(); return; } break; } case 'P': { _mapping[index] = new InputHandlerPad(padConf.charAt(index*2+1)); if(!_mapping[index]->_valid) { Serial.println("[PadConfiguration done: parse error P]"); myFile.close(); return; } break; } case 'X': /*{ _mapping[index] = new InputHandlerDualShock3(padConf.charAt(index*2+1)); if(!_mapping[index]->_valid) { Serial.println("[PadConfiguration done: parse error X]"); myFile.close(); return; } break; }*/ case '-': { _mapping[index] = nullptr; break; } default: {myFile.close(); Serial.println("[PadConfiguration done: parse error]"); return;} } } String imageFilePath = readLine(myFile); myFile.close(); myFile = SD.open(imageFilePath); if(myFile) { uint32_t len = myFile.size(); _picture = new uint8_t[len]; myFile.read(_picture, len); myFile.close(); Serial.println(imageFilePath); Serial.println("Image read"); } Serial.println(fileName); Serial.println("Valid"); _valid = true; Serial.println("[PadConfiguration done]"); }