Before you attempt this week's lab please complete the Course Experience Survey
As the collection of this information is very important, this survey is compulsory. If you do not complete the survey fully you will not receive any marks for the lab component of Higher Computing 1B.
However if you do not wish to complete the survey for privacy reasons, send e-mail to andrewt saying only "I do not wish to complete the survey for privacy reasons". No questions will be asked, and you will be exempt from the requirement to complete the survey.
This lab involves:
In this lab you will implement a cell phone style texting interface on the AVR board.
There is starting point code here
Not in particular the library function lcd_set_line(int line, char *s) which set the specified line (0 or 1) on the LCD to the specified characters. There is no way to set individual characters. You must set the entire line.
So, for example, if the '8' key is pressed a 'W' should be displayed on the current column of the top line on the LCD.
The next key press should be displayed on the next column on the LCD.
Except if the same key is pressed again within 100 milliseconds the alphabetic character in the current column should be changed to the next alphabetic character on the key.
So,for example, if the '6' key is pressed rapidly the character displayed in the current column on the LCD should cycle between 'M', 'N' and 'O'.
The '#' should provide a backspace function.
Other keys without alphabetic labels should be ignored.
If you want to see the desired behaviour download this ihex file to the AVR board and try pressing keys.
After your tutor has checked that you answers are correct and given you the lab mark, you must also submit your answers using give. Here is the command to use:
% /home/cs1721/bin/classrun -give lab13 texting.c