Table 1 : MPTH Commands
Command Name
Code
Setting Value
Description
Future use
0 to 4
Hitachi LCD Command Pass-through

5
0x05

0x01 = Clear display
0x02 = Home display
0x08 = Display off
0x0C = Cursor off / Blink off
0x0E = Blink on
0x0D = Cursor on / Blink on
Use this command to pass actual Hitachi commands through the Message Pump into the LCD. See the Hitachi specs sheets for a full list.
Set Serial Baud rate °

6
0x06

0 = 300 baud
1 = 1200
2 = 2400
3 = [9600]*
4 = 19.2k
5 = 57.6k
6 = 115.2k
Used to set the baud rate for the serial port.
Set LCD Size °

7
0x07

0 = 1x16
1 = 2x40
2 = 4x20
3 = [2x16]*
Used to change the LCD size. Where 1x16 would be an LCD with one row of sixteen characters, etc.
Move cursor to position

8
0x08

0 to size-1
0 to size of display-1 (eg. 2x16 LCD = 0 to 31)
Save Custom Splash Screen

9
0x09

0-255
(does not matter)
After this command is sent, the next sixteen characters will be stored to make a custom splash screen.
Splash Screen °

10
0x0A

0 = off
1 = [Show Default]*
2 = Show Custom
Used to show or hide the welcome splash screen. If a custom splash screen is saved, it will only show if this setting is set to value 2.
Set MPTH Command Character °

11
0x0B

0-255
[0x80]*
Every MPTH command is a three byte package. The first byte is the Command Character which lets the MPTH know if it is receiving a command. You may change this value if it conflicts with your application.
I2C Address °

12
0x0C

0-254
[0x40 Hex]*
Use this command to set a new I2C Address. The I2C Address is used on an I2C Bus to identify specific devices. (Never use 0xFF (255 Dec))
GPIO TRIS

13
0x0D

0x00 - 0x0F
(0 to 15)
b’0000nnnn’
where n is either:
0 = output
1 = input
[0x0F - all inputs]*
Set the port direction of the MPTH’s GPIO port (input or output). Each of the pins on the GPIO port may be configured individually. The GPIO TRIS value is the four lower bits of the settings value were a set bit “1” is an input and a clear bit “0” is an output. See Table 2, for a clearer description of numbers.
GPIO TRIS Save °

14
0x0E

1 = on
[0 = off]*
When on, a change to the TRIS value is saved to the EEPROM. You may not want to save the TRIS value to the MPTH's EEPROM every time it changes. If your application is running a MCP which constantly changes the TRIS value, the maximum (1M) erase/write cycles could be exceeded.
GPIO

15
0x0F

0x00 - 0x0F
Sets the value to output on the GPIO port. Note: Outputs will not function unless the corresponding GPIO TRIS bits are clear (set to zero - output).
Request current GPIO value

16
0x10

0-255
(does not matter)
Requests the MPTH to output the most recent GPIO value via the serial port, at the current baud rate. Can be used to check if an input (button) is pressed.
-----------------------------------------------------
It is also possible to read the GPIO port using I2C. But, to get the GPIO value over I2C vs serial, simply have your microprocessor do a single I2C read request. An I2C read request is performed by sending an I2C message which is just the I2C address with the read / write bit set “1”.
Auto Output GPIO changed value °

17
0x11

1 = on
[0 = off]*
When auto output of the GPIO value is on, every time the inputs (buttons) of the GPIO change a byte will be sent out via the serial port. Note: If a button is pressed and released it will produce two bytes, one when the GPIO changes due to the press and another when the GPIO changes due to the release. Also, if PWM is active GPIO pin 1 will be ignored (it is constantly changing).
Auto Output delay factor °

18
0x12

0 to 255
[0x40]*
Sets a "debounching" delay on the GPIO port inputs. Used to help clean-up button inputs on the GPIO port when used with Auto-output of changed values on GPIO port. Set higher if you get false presses, or lower if you miss button presses.
Echo display to Serial °

19
0x13

1 = on
[0 = off]*
When this option is set to “1”, any text that is sent to the LCD for display will also be “echoed” out of the serial port. The source of the display text may be either serial or I2C.
PWM Active °

20
0x14

1 = on
[0 = off]*
The GPIO “1” pin is also a PWM (pulse width modulation) output pin. When set to on, the pin will output a 1.19khz square PWM signal. Note: No signal will be output if the GPIO TRIS value for pin 1 is not set to be an output.
PWM Value

21
0x15

0-255
This value sets the duty cycle of the PWM signal. Where 0 is full off and 255 is full on. Any value from 0 to 255 is acceptable.