void Arduboy::start() { #if F_CPU == 8000000L slowCPU(); #endif SPI.begin(); fastMode(DC, OUTPUT); fastMode(CS, OUTPUT); fastMode(RST, OUTPUT); fastMode(PIN_LEFT_BUTTON, INPUT); fastWrite(PIN_LEFT_BUTTON, HIGH); fastMode(PIN_RIGHT_BUTTON, INPUT); fastWrite(PIN_RIGHT_BUTTON, HIGH); fastMode(PIN_UP_BUTTON, INPUT); fastWrite(PIN_UP_BUTTON, HIGH); fastMode(PIN_DOWN_BUTTON, INPUT); fastWrite(PIN_DOWN_BUTTON, HIGH); fastMode(PIN_A_BUTTON, INPUT); fastWrite(PIN_A_BUTTON, HIGH); fastMode(PIN_B_BUTTON, INPUT); fastWrite(PIN_B_BUTTON, HIGH); /* // TODO: Initialize elsewhere, only if asked for (requires lots of flash) startAudio(); */ //csport = portOutputRegister(digitalPinToPort(CS)); //cspinmask = digitalPinToBitMask(CS); //dcport = portOutputRegister(digitalPinToPort(DC)); //dcpinmask = digitalPinToBitMask(DC); /** * Setup reset pin direction (used by both SPI and I2C) */ // fastWrite(RST, HIGH); // delay(1); // VDD (3.3V) goes high at start, lets just chill for a ms // fastWrite(RST, LOW); // bring reset low delay(10); // wait 10ms fastWrite(RST, HIGH); // bring out of reset bootLCD(); #ifdef SAFE_MODE if(getInput() & (LEFT_BUTTON+UP_BUTTON)) safeMode(); #endif saveMuchPower(); }
void loop() { i++; switch(i) { case 10: slowMode(); break; case 15: defaultMode(); break; case 25: fastMode(); break; case 40: i=0; break; } GPIO_ToggleBits(GPIOD, LEDS); delay(300); }