static inline void prvSetupHardware (void) { /* When using the JTAG debugger the hardware is not always initialised to the correct default state. This line just ensures that this does not cause all interrupts to be masked at the start. */ AT91C_BASE_AIC->AIC_EOICR = 0; /* Enable the peripheral clock. */ AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_PIOA) | (1 << AT91C_ID_PIOB); /* Init LEDs */ vLedInit (); /* If no previous environment exists - create a new, but don't store it */ env_init (); if (!env_load ()) { DumpStringToUSB ("unable to load environment, resetting to defaults\n"); vResetEnv(); } if (env.e.dimmer_delay > 1000) env.e.dimmer_delay = 0; }
void UserLogin (char Temp) { if (UserLoginStatus == WaitForUsername) { InputBufferUserPos = 0; UserLoginStatus = EnterUsername; Temp = '\r'; bzero (InputBufferUser, InputBufferLen); bzero (InputBufferPass, InputBufferLen); } if (UserLoginStatus == EnterUsername) { if (Temp == '\r') { if (InputBufferUserPos == 0) DumpStringToUSB ("\n\rUsername>"); else UserLoginStatus = WaitForPassword; } else if (InputBufferUserPos < InputBufferLen) { InputBufferUser[InputBufferUserPos++] = Temp; vSendByte (Temp); } } if (UserLoginStatus == WaitForPassword) { InputBufferPassPos = 0; UserLoginStatus = EnterPassword; Temp = '\r'; } if (UserLoginStatus == EnterPassword) { if (Temp == '\r') { if (InputBufferPassPos == 0) DumpStringToUSB ("\n\rPassword>"); else { /*todo: check user dada */ if (InputBufferUser[0] == 'r' && InputBufferPass[0] == 'r') { /*todo: read/set User rights */ UserLoginStatus = LoggedIn; } else UserLoginStatus = LoggedOut; } } else if (InputBufferPassPos < InputBufferLen) { InputBufferPass[InputBufferPassPos++] = Temp; vSendByte (Temp); } } if (UserLoginStatus == LoggedIn) { DumpStringToUSB ("\n\r\n\r\n\rWelcome!\n\r\n\r"); cmdlineRepaint (); } if (UserLoginStatus == LoggedOut) { DumpStringToUSB ("\n\r\n\r\n\rGood Bye, have a nive day!\n\r\n\r"); UserLoginStatus = WaitForUsername; } }