void Parkautomat::enterStateOff() { state = OFF; ledsOff(); _shield.sevenSeg.clear(); _scheduler.removeTask(&countdown); }
/** Handle game over event */ static void _gameOver(NinjaState *state) { bool win = (state->p1Score == 2); if (win) { setAllLeds(0, 255, 0); } else { setAllLeds(255, 0, 0); } int16_t xp = 0; char buffer[32]; if (win) { xp += 15; int16_t bonus = 6 * (state->p2Level - ANXGetLevel()); if (bonus < 0) bonus = 0; xp += bonus; sprintf(buffer, "Victory!\n%d XP", xp); } else { xp += state->p1Score * 5; sprintf(buffer, "Fail :(\n%d XP", xp); } //Give them credit xp = max(0, xp); addExperience(xp); statusDialog(buffer); safeDisplay(); safeWaitForButton(); ledsOff(); }
void Parkautomat::enterStateUnpayed() { state = UNPAYED; ledsOff(); _shield.sevenSeg.showNumber(0); _shield.setLed(ParkingShield::RED_LED, true); _scheduler.removeTask(&countdown); }
// almost same as TinyOS leds.flash() static void flashLeds(uint8_t mask) { uint_t i; ledsOff(ALL_LEDS); for (i = 0; i < 6; ++i) { ledsToggle(mask); mdelay(150); } }
void Parkautomat::enterStatePayed() { state = PAYED; ledsOff(); _shield.setLed(ParkingShield::GREEN_LED, true); }
void Parkautomat::enterStatePayedTimeoutWarning() { state = PAYED_TIMEOUT_WARNING; ledsOff(); _shield.setLed(ParkingShield::YELLOW_LED, true); }