Serial Protocol v1.x
Noteu also uses a simple serial protocol that you can use to interface with Noteu in any programming language with serial capabilities.
Steps
- Choose a programming language with serial capabilities such as Python, Java and C.
- You can use a serial prompt such as Arduino's or a popular choice Termie
- Read carefully and understand how Noteu's serial commands work as well as what we suggest to how you should interface.
- Check an example written in Java of sending serial commands at our Google Code Wiki page
- That's it! You can now interface with Noteu in any programming language!
You Must..
You must append an LF
(line feed \n) onto every message you send to Noteu otherwise it won't be acknowledged and processed. You can't use multiple line feeds in one message as once recieved its all processed as one.
You must send the real ASCII character for a new line in whatever programming language you are using and not the string equivalent.
Commands
[cmd=setLine1]
- Sets the LCD cursor to line 1 and character 1
[cmd=setLine2]
- Sets the LCD cursor to line 2 and character 1
[cmd=setLine3]
- Sets the LCD cursor to line 3 and character 1
[cmd=setLine4]
- Sets the LCD cursor to line 4 and character 1
[cmd=beep]
- Instructs Noteu to beep
[cmd=clear]
- Clear LCD Display
[cmd=getSerialNumber]
- Requests Noteu to send serial number
Remember..
When you send a message to Noteu with say several commands rememebr that these commands are processed then remaining text is displayed to the LCD. This means if you send the following :
[cmd=setLine1] MyLine1Text [cmd=setLine2] MyLine2Text
Then the command for line 1 will be processed then line 2 meaning the cursor is at line 2 then the text is displayed. So all text will be displayed on line 2 which is not the deseried output which is why we encourage you to set the cursor at line 1 and print your text as one 80 character chunk.
How the LCD is hard wired
The LCD is wired in a counterintuitive fassion in that once its set to line 1 it automatically jumps to line 3 then to line 2 and finally to line 4 when each line is filled with 20 characters. We strongly encourage you that you print each line as 20 characters (add white spaces if text is less) and then in the order of line1, line3, line2 and finally line 4 which would display your text as desired. For example :
[cmd=setLine1]
Line1And20Characters
Line3And20Characters
Line2And20Characters
Line4And20Characters
\n
Which would display :
Line1And20Characters
Line2And20Characters
Line3And20Characters
Line4And20Characters
Displaying with Minimum Latency
If you want to display text to Noteu is real-time or with very little latency we recommend what we descuss above about sending data as one 80 character chunk. This clears the display each time you send a new message as well as displaying it fast rather then setting each line. We also don't recommend using the[cmd=clear]
as it appears
to have a latency attached to it in comparison to rewriting over the display.