// Displays the currently selectable keys on a single row. Row can be set to values // 1 - 5. void displayKeyboard(int rowToBeDisplayed) { int i = 0, j = 0; moveCursorLCD(0,rowToBeDisplayed); for(j = 0; j < strlen(KeyBoard.Characters[i]); j++) { if(KeyBoard.CursorPosition == j) { writeInvertedCharLCD(KeyBoard.Characters[KeyBoard.ArrayRow][j]); } else { writeCharLCD(KeyBoard.Characters[KeyBoard.ArrayRow][j]); } } highlightChar(); }
void initMainMenuText() { int i = 0, j = 0; for(i = 0; i <= mainMenuChoices; i++) { moveCursorLCD(0,i); for(j = 0; j < strlen(mainMenuOptions[i]); j++) { if(cursorHighlightMainMenu == i) { writeInvertedCharLCD(mainMenuOptions[i][j]); } else { writeCharLCD(mainMenuOptions[i][j]); } } } }
void loop(void) { static uint8_t ledstate = 1; uint16_t tmp = getMicrophonePeak(); clearLCD(); writeIntegerLengthLCD(tmp, DEC, 4); writeCharLCD(':'); writeIntegerLengthLCD((uint16_t)ledstate, DEC, 4); if (tmp > 512) { ledstate <<= 1; if (ledstate == 16) { ledstate = 1; } } setLEDs(ledstate); mSleep(100); }
void ir_receiveBaseStation(void) { uint8_t tijdelijk; writeString_P("aap!\n"); while ((personX == 0xFF) || (personY == 0xFF) || (startX == 0xFF) || (startY == 0xFF)) { I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 27); tijdelijk = I2CTWI_readByte(I2C_RP6_BASE_ADR); writeString_P("ADDR: "); writeInteger((int16_t) tijdelijk, DEC); I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 28); tijdelijk = I2CTWI_readByte(I2C_RP6_BASE_ADR); writeString_P(" DATA: "); writeInteger((int16_t) tijdelijk, DEC); writeString_P("\n"); mSleep(100); // implement device bit 0 - device bit - code // Oops! i did it again (van 44 naar 9) if (tijdelijk >= 48 && tijdelijk <= 56) { startY = tijdelijk - 48; } else if (tijdelijk >= 32 && tijdelijk <= 38) { startX = tijdelijk - 32; } else if (tijdelijk >= 16 && tijdelijk <= 24) { personY = tijdelijk - 16; } else if (tijdelijk <= 6) { personX = tijdelijk; } // for now, just put it on the screen clearLCD(); setCursorPosLCD(0, 0); writeCharLCD('X'); setCursorPosLCD(0, 2); writeIntegerLCD(startX, DEC); setCursorPosLCD(0, 10); writeCharLCD('Y'); setCursorPosLCD(0, 12); writeIntegerLCD(startY, DEC); setCursorPosLCD(1, 0); writeCharLCD('X'); setCursorPosLCD(1, 2); writeIntegerLCD(personX, DEC); setCursorPosLCD(1, 10); writeCharLCD('Y'); setCursorPosLCD(1, 12); writeIntegerLCD(personY, DEC); } }