Points | Task |
3 | Registers a major number |
3 | Can be written to |
6 | Rejects any write that contains any byte outside of A-G (all uppercase) or 1-9 |
6 | Makes a sound |
6 | Makes different notes when different letters are sent |
6 | Can play "Mary Had A Little Lamb" |
6 | The digits 1-9 change the duration of following notes |
6 | Octave changes |
2 | has an 'r' for rest |
10 | Has a clear top and bottom half |
5 | Uses some locking something to regulate data changes |
10 | Can play a sound and receive data at the same time |
10 | Uses either a circular buffer or a linked list to hold requests (or something else that's O(n) and approved by me). |
5 | Has a status file describing the current amount of notes in the queue,
and the metadata for the data structure.
For a linked list ... number of links and their addresses For a circular buffer ... head and tail pointers |
Here's a list of frequencies
Note | Frequency |
A | 220 |
B | 247 |
C | 262 |
D | 294 |
E | 330 |
F | 349 |
G | 392 |
Here's the notes of "Mary Had a Little Lamb"
EDCDEEEDDDEGGEDGDEEEEDDEDG