User Manual

5. Orangutan LCD
The OrangutanLCD class and the C functions in this section provide a variety of ways of displaying
data to the LCD screen of an Orangutan robot controller (LV, SV, SVP, and X2) and 3pi robot,
providing an essential tool for user interfaces and debugging. The library implements the standard
4-bit HD44780 protocol (except on the Orangutan X2, for which the 8-bit protocol is used), and it uses
the busy-wait-flag feature to avoid the unnecessarily long delays present in other 4-bit LCD Arduino
libraries at the time of this library’s release. It is designed to gracefully handle alternate use of the
LCD data lines. It will change their data direction registers and output states only when needed for
an LCD command, after which it will immediately restore the registers to their previous states. This
allows the LCD data lines to function, for example, as pushbutton inputs and LED drivers on the 3pi
and Orangutans.
For a list of the standard characters available on the LCD, see page 17 of the HD44780 interface
datasheet [https://www.pololu.com/file/0J72/HD44780.pdf] (330k pdf).
For C and C++ users, the standard C function printf() from stdio.h is made available. See below for
more information.
For a higher level overview of this library and example programs that show how this library can be
used, please see Section 3.d of the Pololu AVR C/C++ Library User’s Guide [https://www.pololu.com/
docs/0J20].
Pololu AVR Library Command Reference © 2001–2019 Pololu Corporation
5. Orangutan LCD Page 24 of 77