SHENZHEN TOPWAY TECHNOLOGY CO., LTD.
HMT121BTA-D
LCD Module User Manual
HMT121BTA-D LCD Module
Prepared by: WangRuXuan Date: 2024-04-22 |
Checked by: Date: |
Approved by: DingXin Date: 2024-04-22 |
Rev. | Descriptions | Edit | Release Date |
0.1 | Preliminary release | WangRuXuan | 2023-08-05 |
0.2 | Revise Operating Voltage and outline DWG | WangRuXuan | 2023-10-26 |
0.3 | Minor Update | WangRuXuan | 2024-04-22 |
Basic Specification
TOPWAY HMT121BTA-D is a Smart TFT Module with 32bit MCU on board. Its graphics engine provides numbers of outstanding features. It supports TOPWAY SGTools for preload and pre-design display interface that simplifies the host operation and development time. Suitable for industry control, instrumentation, medical electronics, power electric equipment applications.
1.1 General Specification
Screen Size(Diagonal) : | 12.1” |
Resolution : | 1280(RGB) x 800 |
Color Depth : | 65k color (16bit) |
Pixel Configuration : | RGB Stripe |
Display Mode : | Transmissive / Normal Black |
Viewing Direction : | Full viewing |
Outline Dimension : | 301.52 x 205.6x 27.5 (mm) (see attached drawing for details) |
Active Area : | 261.12 x 163.2 (mm) |
Backlight : | White LED |
Command I/F : | RS-232C |
Project Download: | by PC or by U-Drive |
Touch Panel: | Capacitive Touch Panel |
Operating Temperature : | -20 ~ +70°C |
Storage Temperature : | -30 ~ +80°C |
Highlight: | RTC without battery, Support 90 degrees rotation Lua script engine, Buzzer,256MB Flash |
Note:
- For saturated color display content (eg. pure-red, pure-green, pure-blue, or pure-colors-combinations).
- For “color scales” display content.
- Color tone may slightly change by Temperature and Driving Condition.
1.2 Block Diagram
1.3 Terminal Function
1.3.1 RS-232C Interface Terminal (K1)
Pin No. | Pin Name | I/O | Descriptions |
1,2 | VDD | P | Power supply |
3 | RTS(BUSY) | O | Request To Send (function as busy BUSY signal) 1: Busy;0:No busy (eg. to PC’s RS232C pin8 <9pin D-connector>) |
4 | TX | O | Data output (eg. to PC’s RS232C pin2 <9pin D-connector>) |
5,6 | RX | I | Data Input (eg. to PC’s RS232C pin3 <9pin D-connector> |
7,8 | VSS | P | Ground, (0V) |
Note.
*1. User data and commands transfer through this terminal.
*2. HOST using command hand shake during communication is suggested.
1.3.2 USB TYPE-C Interface Terminal (K2)
Pin No. | Pin Name | I/O | Descriptions |
A1/B12 | GND | P | Ground, (0V) |
A4/B9 | VBUS | P | Power supply |
B8 | NC | – | No connection |
A5 | ID | I | USB_ID,1:Client , 0:HOST |
B7 | D- | I/O | USB DATA negative signal |
A6 | D+ | I/O | USB DATA positive signal |
A7 | D- | I/O | USB DATA negative signal |
B6 | D+ | I/O | USB DATA positive signal |
A8 | NC | – | No connection |
B5 | ID | I | USB_ID,1:Client , 0:HOST |
B4/A9 | VBUS | P | Power supply |
B1/A12 | GND | P | Ground, (0V) |
Note.
- XML files and image files preload through this terminal.
- Do NOT connect USB terminal ,while VDD(K1) is present.
Absolute Maximum Ratings
Items | Symbol | Min. | Max. | Unit | Condition |
Power Supply voltage | VDD | -0.3 | 26.0 | V | |
TX Out Voltage | VTx | -13.2 | +13.2 | V | |
RX In Voltage | VRx | -25 | +25 | V | |
Operating Temperature | TOP | -20 | 70 | °C | No Condensation |
Storage Temperature | TST | -30 | 80 | °C | No Condensation |
Note:
- This rating applies to all parts of the module and should not be exceeded.
- The operating temperature only guarantees operation of the circuit. The contrast, response speed,
and the other specification related to electro-optical display quality is determined at the room temperature, TOP=25℃ - Ambient temperature when the backlight is lit (reference value)
- Any stresses exceeding the Absolute Maximum Ratings may cause substantial damage to the device. Functional operation of this device at other conditions beyond those listed in the specification is not implied and prolonged exposure to extreme conditions may affect device reliability.
Electrical Characteristics
3.1 DC Characteristics
Items | Symbol | MIN. | TYP. | MAX. | Unit | Applicable Pin |
Operating Voltage | VDD | 11.0 | 12.0 | 26.0 | V | VDD |
RxD Input MARK(1) | VRxDM | -3.0 | – | -15.0 | V | Rx |
RxD Input SPACE(0) | VRXDS | +3.0 | – | +15.0 | V | Rx |
TxD Output MARK(1) | VTXDM | -3.0 | – | -15.0 | V | Tx |
TxD Output SPACE(0) | VTXDS | +3.0 | – | +15.0 | V | Tx |
RTS Output High | VTXDH | -3.0 | – | -15.0 | V | RTS(BUSY) |
RTS Output Low | VTXDL | +3.0 | – | +15.0 | V | RTS(BUSY) |
Operating Current | IDD | 700 | 800 | 850 | mA | VDD (*1) |
Battery Supply Current | IBAT | 1.0 | 2.5 | 4.0 | uA |
Note.
- Normal display condition and no usb connect.
Function Specifications
4.1 Basic Operation Function Descriptions
- XML files, Picture files, ICON files are stored inside FLASH memory area. They are preloaded to HMT121BTA-D for stand alone interface use.
- Those files are preloaded via USB interface as an USB drive.
- All the interface flow and the touch response are based on the preloaded XML files
- VP variables memory is inside RAM area, it provides real time access via UART by the HOST or display onto the TFT by XML file.
- Custom Memories are inside FLASH memory area It can be accessed via UART interface by the HOST.
- Control and Draw Engine executes HOST commands and response respectively
- It also reports the real time Touch Key number to the HOST
4.2 Quick Start Guide
- Install TOPWAY Graphics Editor
- Import pictures design UI flow
- Download to Smart LCD
- power on & display
- Connect to host Show real time data
Command Descriptions
Please refer to “SMART LCD Command Manual” .
Optical Characteristics
Item | Symbol | Condition | MIN. | TYP. | MAX. | UNIT | Note. | |
Viewing angle | θT | (CR≥10) | 75 | 85 | – | Degree | Note 2 | |
θB | 75 | 85 | – | |||||
θL | 75 | 85 | – | |||||
θR | 75 | 85 | – | |||||
Contrast ratio | CR | θ=0o | 800 | 1000 | – | – | Note 1,3 | |
Response Time | Ton | 25℃ | – | 25 | 40 | ms | Note 1,4 | |
Toff | ||||||||
Chromaticity | White | X | Backlight is on | 0.250 | 0.30 | 0.350 | – | Note 1,5 |
Y | 0.270 | 0.320 | 0.370 | |||||
Red | X | 0.593 | 0.643 | 0.693 | ||||
Y | 0.286 | 0.336 | 0.386 | |||||
Green | X | 0.253 | 0.303 | 0.353 | ||||
Y | 0.571 | 0.621 | 0.671 | |||||
Blue | X | 0.096 | 0.146 | 0.196 | ||||
Y | 0.032 | 0.082 | 0.132 | |||||
uniformity | U | – | 70 | 75 | – | % | Note 1,6 | |
NTSC | – | – | 67 | 72 | – | % | Note 5 | |
Luminance | L | – | 300 | 350 | – | cd/m2 | Note 1,7 |
Test Conditions:
- The ambient temperature is 25±2℃.humidity is 65±7%.
- The test systems refer to Note 1 and Note 2.
Note 1: Definition of optical measurement system.
The optical characteristics should be measured in dark room.
After 5 Minutes operation, the optical properties are measured at the center point of the LCD screen. All input terminals LCD panel must be ground when measuring the center area of the panel.Note 2:
Definition of viewing angle range and measurement system.
viewing angle is measured at the center point of the LCD 。Note 3:
Definition of contrast ratio“White state “: The state is that the LCD should drive byVw hite.
“Black state”: The state is that the LCD should drive by Vblack.
Vwhite: To be determined Vblack: To be determined.
Note 4:
Definition of Response time
The response time is defined as the LCD optical switching time interval between “White” state and “Black” state.
Rise time (T ON ) is the time between photo detector output intensity changed from 90% to 10%. And fall time
(T OFF ) is the time between photo detector output intensity changed from 10% to 90%.Note 5:
Definition of color chromaticity (CIE1931)
Color coordinates measured at center point of LCD.
Note 6:
Definition of Luminance Uniformity
Active area is divided into 9 measuring areas (Refer Fig. 2). Every measuring point is placed at the center of each measuring area.
Luminance Uniformity (U) = Lmin/ Lmax
L——-Active area length W—– Active area width
LCD Module Design and Handling Precautions
- Please ensure V0, VCOM is adjustable, to enable LCD module get the best contrast ratio under different temperatures, view angles and positions.
- Normally display quality should be judged under the best contrast ratio within viewable area. Unexpected display pattern may com out under abnormal contrast ratio.
- Never operate the LCD module exceed the absolute maximum ratings.
- WARNING! Be aware of (if any) frame grounging of the LCD Module connection with the system which may cause safety issue(e.g. electric shock,etc).
- Never apply signal to the LCD module without power supply.
- Keep signal line as short as possible to reduce external noise interference.
- IC chip (e.g. TAB or COG) is sensitive to light. Strong light might cause malfunction. Light sealing structure casing is recommended.
- Make sure there is enough space (with cushion) between case and LCD panel, to prevent external force passed on to the panel; otherwise that may cause damage to the LCD and degrade its display result.
- Avoid showing a display pattern on screen for a long time (continuous ON segment).
- LCD module reliability may be reduced by temperature shock.
- When storing and operating LCD module, avoids exposure to direct sunlight, high humidity, high or low temperature. They may damage or degrade the LCD module.
- Never leave LCD module in extreme condition (max./min storage/operate temperature) for more than 48hr.
- Recommend LCD module storage conditions is 0 C~40 C <80%RH.
- LCD module should be stored in the room without acid, alkali and harmful gas.
- Avoid dropping & violent shocking during transportation, and no excessive pressure press, moisture and sunlight.
- LCD module can be easily damaged by static electricity. Please maintain an optimum anti-static working environment to protect the LCD module. (eg. ground the soldering irons properly)
- Be sure to ground the body when handling LCD module.
- Only hold LCD module by its sides. Never hold LCD module by applying force on the heat seal or TAB.
- When soldering, control the temperature and duration avoid damaging the backlight guide or diffuser which might degrade the display result such as uneven display.
- Never let LCD module contact with corrosive liquids, which might cause damage to the backlight guide or the electric circuit of LCD module.
- Only clean LCD with a soft dry cloth, Isopropyl Alcohol or Ethyl Alcohol. Other solvents (e.g. water) may damage the LCD.
- Never add force to components of LCD module. It may cause invisible damage or degrade the module’s reliability.
- When mounting LCD module, please make sure it is free from twisting, warping and bending.
- Do not add excessive force on surface of LCD, which may cause the display color change abnormally.
- LCD panel is made with glass. Any mechanical shock (e.g.dropping from high place) will damage the LCD module.
- Protective film is attached on LCD screen. Be careful when peeling off this protective film, since static electricity may be generated.
- Polarizer on LCD gets scratched easily. If possible, do not remove LCD protective film until the last step of installation.
- When peeling off protective film from LCD, static charge may cause abnormal display pattern. The symptom is normal, and it will turn back to normal in a short while.
- LCD panel has sharp edges, please handle with care.
- Never attempt to disassemble or rework LCD module.
- If display panel is damaged and liquid crystal substance leaks out, be sure not to get any in your mouth, if the substance comes into contact with your skin or clothes promptly wash it off using soap and water.
CTP Mounting Instructions
Surface Mounting (Figure 1)
- As the CTP assembling on the countersink area with double side adhesive.
The countersink area should be flat and clean to ensure the double side adhesive installation result. - The Bezel is recommend to keep a gap (≥0.3mm each side) around the cover lens for tolerance.
- It is recommended to provide an additional support bracket with gasket for backside support when necessary (e.g. TFT module without mounding structure). They should only provide appropriate support and keep the module in place.
- The mounting structure should be strong enough to prevent external uneven force or twist act onto the module
Warranty
This product has been manufactured to our company’s specifications as a part for use in your company’s general electronic products. It is guaranteed to perform according to delivery specifications. For any other use apart from general electronic equipment, we cannot take responsibility if the product is used in medical devices, nuclear power control equipment, aerospace equipment, fire and security systems, or any other applications in which there is a direct risk to human life and where extremely high levels of reliability are required. If the product is to be used in any of the above applications, we will need to enter into a separate product liability agreement.
- We cannot accept responsibility for any defect, which may arise form additional manufacturing of the product (including disassembly and reassembly), after product delivery.
- We cannot accept responsibility for any defect, which may arise after the application of strong external force to the product.
- We cannot accept responsibility for any defect, which may arise due to the application of static electricity after the product has passed our company’s acceptance inspection procedures.
- When the product is in CCFL models, CCFL service life and brightness will vary according to the performance of the inverter used, leaks, etc. We cannot accept responsibility for product performance, reliability, or defect, which may arise.
- We cannot accept responsibility for intellectual property of a third part, which may arise through the application of our product to our assembly with exception to those issues relating directly to the structure or method of manufacturing of our product.
SMART LCD
Command V6.12
Manual
Prepared by: chenjian | Checked by: | Approved by: |
Date: 2019-06-28 | Date: | Date: |
Rev. | Descriptions | Release Date |
0.1 | – Preliminary Draft release | 2018-08-28 |
0.2 | – add 0x94, 0x95 | 2018-11-22 |
0.3 | – update section 2.1, 4.2.4, 4.2.7, 4.4.2, 4.4.9 | 2019-06-28 |
Basic Specifications
TOPWAY Smart LCD serial command is for real-time control and access. Host machine get the data which input through the Smart LCD interface or provide the data for display.
1.1 Hardware connection
Smart LCD serial UART interface are mainly base on RS232-C standard, by default, config as 8N1 115200bps.
Command Structure
2.1 Communication Packet Structure
TOPWAY SmartLCD offer 3 kinds of Communication Packet Structure, which can be defined in editor project setting.
2.1.1 Basic Packet:
Seq | Code | Code type | Description |
1 | 0xAA | Packet header | 1byte |
2 | Cmd-code | Command code | 1byte |
3 | Par-data | Parameter or Data | (*1) |
4 | 0xCC | Packet tail | 4byte |
0x33 | |||
0xC3 | |||
0x3C |
2.1.2 Packet with length:
Seq | Code | Code type | Description |
1 | 0xAA | Packet header | 1byte |
2 | Len | Packet length | 2byte(*2) |
3 | Cmd-code | Command code | 1byte |
4 | Par-data | Parameter or Data | (*1) |
5 | 0xCC | Packet tail | 4byte |
0x33 | |||
0xC3 | |||
0x3C |
2.1.3 Packet with CRC:
Seq | Code | Code type | Description |
1 | 0xAA | Packet header | 1byte |
2 | Len | Packet length | 2byte(*2) |
3 | Cmd-code | Command code | 1byte |
4 | Par-data | Parameter or Data | (*1) |
5 | 0xCC | Packet tail | 2byte |
0x33 | |||
6 | CRCL | 2byte(*3) | |
CRCH |
Note.
- Unless otherwise specified, all the multi-byte values, data, address’ byte sequence are MSB first, LSB last.
- Packet length: from Seq3 to the end. (no. of byte)
- CRC Polynomial: x16+x15+x2+1, Calculate the CRC value from Seq3 to Seq5.Please refer to appendix 1.
2.2 Packet Timeout
TOPWAY SmartLCD support Timeout setting, which can be defined in editor project setting.
Timeout options: None, 1s, 2s, 3s, 5s, 10s, 20s. If timeout, The incomplete Packet will be discarded.
2.3 Packet Acknowledgment
Packet Acknowledgment is two byte in ASCII (module → host):
Response | code | Description |
Command (in packet) executed and wait for next Command | “:>” | In ASCII(0x3a, 0x3e) |
Command (in packet) error and wait for next Command | “!>” | In ASCII (0x21,0x3e) |
Note.
- Packet Acknowledgement response to a valid packet only.
Data arrangement
3.1 Color Data Value Configuration
16 bit Color value
16 bit color value | |||||||||||||||
R4 | R3 | R2 | R1 | R0 | G5 | G4 | G3 | G2 | G1 | G0 | B4 | B3 | B2 | B1 | B0 |
High byte (MSB) | Low byte (LSB) | ||||||||||||||
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
3.2 Data / Address / Page_ID / Location Values Configuration
64bit value
64 bit number value | |||||||
D63…D56 | D55…D48 | D47…D40 | D39..D32 | D31…D24 | D23…D16 | D15…D8 | D7…D0 |
Byte7 (MSB) | Byte0 (LSB) | ||||||
D7…D0 | D7…D0 | D7…D0 | D7…D0 | D7…D0 | D7…D0 | D7…D0 | D7…D0 |
32bit value
32 bit number value | |||
D31…D24 | D23…D16 | D15…D8 | D7…D0 |
Byte3 (MSB) | Byte0 (LSB) | ||
D7…D0 | D7…D0 | D7…D0 | D7…D0 |
16bit value
16 bit number value | |
D15…D8 | D7…D0 |
High Byte (MSB) | Low Byte (LSB) |
D7…D0 | D7…D0 |
Command Descriptions
4.1 Command table
Functions | Name | Code | Description |
Config/ Status Functions | hand_shake | 0x30 | Read a Hand Shake |
read_version | 0x31 | Read firmware version | |
read_pg_id | 0x32 | Read Current page ID | |
touch_response | 0x72/0x73/ 0x77/0x78/ 0x79 |
see also set_sys_config | |
set_sys_config | 0xE0 | System parameter configuration and Baud Rate | |
sel_project | 0xE1 | Specify operating project folder | |
touch_calib | 0xE4 | Touch panel calibration(only for RTP) | |
screen_saver | 0x5E | Screen saver (backlight dim down time out) | |
backlight_ctrl | 0x5F | backlight brightness control (64 levels) | |
buzzer_touch_sound | 0x79 | buzzer enable time length (in 10ms step) | |
buzzer_ctrl | 0x7A | Buzzer control | |
Flash_write | 0x90 | Write data to the flash | |
Flash_read | 0x91 | Read data from the flash | |
RTC_read | 0x9B | Read the RTC values | |
RTC_set | 0x9C | Set the RTC | |
USR_bin_read | 0x93 | Read data from the USR_bin | |
U_drv_format | 0xE2 | Format the U_drv | |
U_drv_unlock | 0xE3 | Unlock the U_drv with pre-stored password | |
Display Control Functions | disp_page | 0x70 | Display a pre-stored TML file (page) |
set_element_fg | 0x7E | Set the foreground color of STR, N16, N32 or N64 | |
set_element_bg | 0x7F | Set the background color of STR, N16, N32 or N64 | |
set_codepage | 0xE7 | Sets country character set and code-page character set | |
suspend_vp_fresh | 0xE8 | Set the screen to pause the refresh and deactivate the touchkey or release the pause to refresh and enable the touchkey | |
VP Functions | Successive_write | 0x82 | Write successive value to VP_N16, VP_N32, VP_N64 |
Successive_read | 0x83 | Read successive value from VP_N16, VP_N32, VP_N64 | |
VP_Backup | 0x94 | VP Backup to Flash or VP Restore from Flash | |
VP_Preload | 0x95 | VP Preload from usr.bin | |
BP1_write | 0x4B | Write bit-map (1bpp) data to VP_BP1 | |
BP1_write_comp | 0x4C | Write compressed bit-map (1bpp) data to VP_BP1 | |
G16_write | 0x4D | Write 16bit (signed integer) graphic array to VP_G16 | |
G16_write_rotate | 0x4E | Rotate the VP_G16 array data inside the module and write a 16bit (signed integer) value into end-of-array | |
Reg_Write | 0x3B | Write System Register | |
Reg_Read | 0x3C | Read System Register | |
STR_write | 0x42 | Write string to VP_STR | |
STR_read | 0x43 | Read string form VP_STR | |
STR_fill | 0x46 | Fill strings to the VP_STR | |
N16_write | 0x3d | Write 16bit (signed integer) value to VP_N16 | |
N16_read | 0x3e | Read 16bit (signed integer) value from VP_N16 | |
N16_fill | 0x3f | Fill numbers to the VP_N16 | |
N32_write | 0x44 | Write 32bit (signed integer) value to VP_N32 | |
N32_read | 0x45 | Read 32bit (signed integer) value from VP_N32 | |
N32_fill | 0x47 | Fill numbers to the VP_N32 | |
N64_write | 0x48 | Write 64bit (signed integer) value to VP_N64 | |
N64_read | 0x49 | Read 64bit (signed integer) value from VP_N64 | |
N64_fill | 0x4A | Fill numbers to the VP_N64 |
4.2 Config/ Status Function Commands Details
4.2.1 hand_shake ( 0x30 )
seq | Cmd-code / Par-data | Descriptions |
1 | 0x30 | Read a Hand Shake |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
Response code:
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x30 | Command executed |
3rd | “T” | 0x54 | “Topway HMT Ready\0” in ASCII ‘\0’(0x00): string end mark |
4th | “o” | 0x6f | |
5th | “P” | 0x70 | |
6th | “w” | 0x77 | |
7th | “a” | 0x61 | |
8th | “y” | 0x79 | |
9th | “ “ | 0x20 | |
10th | “H” | 0x48 | |
11th | “M” | 0x4d | |
12th | “T” | 0x54 | |
13th | “ “ | 0x20 | |
14th | “R” | 0x52 | |
15th | “e” | 0x65 | |
16th | “a” | 0x61 | |
17th | “d” | 0x64 | |
18th | “y” | 0x79 | |
19th | \0 | 0x00 | |
20th | Tail | 0xCC | Communication packet tail |
21st | 0x33 | ||
22nd | 0xC3 | ||
23rd | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
4.2.2 read_version ( 0x31 )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x31 | Read firmware version |
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
Response code:
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x31 | Command executed |
3rd | “1” | 0x31 | “1.06\0” in ASCII Where firmware version is V1.06(example) ‘\0’(0x00): string end mark |
4th | “.” | 0x2e | |
5th | “0” | 0x30 | |
6th | “6” | 0x36 | |
7th | \0 | 0x00 | |
8th | Tail | 0xCC | Communication packet tail |
9th | 0x33 | ||
10th | 0xC3 | ||
11th | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
4.2.3 read_pg_id ( 0x32 )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x32 | Read Current page ID |
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
Response code:
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x32 | Command executed |
3rd | Page ID | Page_IDh | Current Page ID in 16bit binary value |
4th | Page_IDl | ||
5th | Tail | 0xCC | Communication packet tail |
6th | 0x33 | ||
7th | 0xC3 | ||
8th | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
4.2.4 touch_response ( 0x72/ 0x73/ 0x77/ 0x78/ 0x79 )
seq | Cmd-code / Par-data | Descriptions |
1 | — | Use set_sys_config to config the functions |
Touch Release Coordinate Response code (0x72):
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x72 | Touched release Coordinate |
3rd | X coordinate | Xh | Coordinate in 16bit binary value X = horizontal coordinate Y = vertical coordinate |
4th | Xl | ||
5th | Y coordinate | Yh | |
6th | Yl | ||
7th | Tail | 0xCC | Communication packet tail |
8th | 0x33 | ||
9th | 0xC3 | ||
10th | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
Touch Down Coordinate Response code ( 0x73 ):
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x73 | Touched down Coordinate |
3rd | X coordinate | Xh | Coordinate in 16bit binary value X = horizontal coordinate Y = vertical coordinate |
4th | Xl | ||
5th | Y coordinate | Yh | |
6th | Yl | ||
7th | Tail | 0xCC | Communication packet tail |
8th | 0x33 | ||
9th | 0xC3 | ||
10th | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
Touch Key ID Response code ( 0x78 ):
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x78 | Touched release Key_ID defined by TOPWAY TML Graphic Editor will be response to host |
3rd | Page_ID | Page_IDh | Page_ID = the touch key in page(16bit binary value) |
4th | Page_IDl | ||
5th | Key_ID | Key_ID | Key_ID (8bit binary value) |
6th | Tail | 0xCC | Communication packet tail |
7th | 0x33 | ||
8th | 0xC3 | ||
9th | 0x3C |
- The Response code with communication packet format (see Communication Packet Structure Section for details)
Touch Key ID Response code ( 0x79 ):
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x79 | Touched down Key_ID defined by TOPWAY TML Graphic Editor will be response to host |
3rd | Page_ID | Page_IDh | Page_ID = the touch key in page(16bit binary value) |
4th | Page_IDl | ||
5th | Key_ID | Key_ID | Key_ID (8bit binary value) |
6th | Tail | 0xCC | Communication packet tail |
7th | 0x33 | ||
8th | 0xC3 | ||
9th | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
Touch Key VP_ADD+VP_Value Response code ( 0x77 ):
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x77 | Touch Key VP_ADD+VP_Value Response code |
3rd | VP_ADD | Addr3(MSB) | VP Address 0x080000 ~ 0x08FFFF:VP_N16 Address 0x020000 ~ 0x02FFFF:VP_N32 Address 0x030000 ~ 0x03FFFF:VP_N64 Address 0x000000 ~ 0x01FFFF:VP_STR Address |
4th | Addr2 | ||
5th | Addr1 | ||
6th | Addr0(LSB) | ||
7th | Data | : | No.of byte VP_N16: 2byte VP_N32: 4byte VP_N64: 8byte VP_STR: string (with end mark (‘‘\0’(0x00))) |
: | : | ||
: | : | ||
: | : | ||
: | Tail | 0xCC | Communication packet tail |
: | 0x33 | ||
: | 0xC3 | ||
: | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
4.2.5 set_sys_config ( 0xE0 )
seq | Cmd-code / Par-data | Descriptions |
1 | 0xE0 | Baud Rate and system parameter configuration |
2 | 0x55 | |
3 | 0xAA | |
4 | 0x5A | |
5 | 0xA5 | |
6 | Baud_Set | Baudrate Set: 0x00 = 1200bps 0x01 = 2400bps 0x02 = 4800bps 0x03 = 9600bps 0x04 = 19200bps 0x05 = 38400bps 0x06 = 57600bps 0x07 = 115200bps |
7 | sys_par1 | Bit7 = 0: Touch panel function disable Bit7 = 1: Touch panel functions enable (*3)(default) Bit[1..0]: Touch actions configuration (*2, *3) |
8 | 0x00 | Reserved |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
- Touch panel configuration:
Sys_par1 Bit7 Sys_par1 Bit1 Sys_par1 Bit0 Response To host Descriptions 0 0 0 Null Not touch panel functions 1 0 1 Coordinates Touch down Coordinate will be response to host 1 1 0 Coordinates Touch release Coordinate will be response to host 1 1 1 Key ID Touch Key_ID defined by TOPWAY TML Graphic Editor will be response to host - see set_touch section for response code
4.2.6 sel_project ( 0xE1 )
seq | Cmd-code / Par-data | Descriptions |
1 | 0xE1 | Select project folder |
2 | Prj_ID | 0~9, project ID 0: System execute the default project “THMT” 1~9: System execute the project “THMT01”~“THMT09” |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.2.7 touch_calib ( 0xE4 )
seq | Cmd-code / Par-data | Descriptions |
1 | 0xE4 | Touch panel calibration |
2 | 0x55 | |
3 | 0xAA | |
4 | 0x5A | |
5 | 0xA5 |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
- Keep pressing the top right corner of touch panel during power on, could also trigger the touch_calib function (only for RTP)
4.2.8 screen_saver (0x5E)
seq | Cmd-code / Par-data | Descriptions |
1 | 0x5E | Screen saver |
2 | Time1h | time out time in seconds, range: 0x0000 ~ 0xffff (0x0000: disable screen saver function) (*2) |
3 | Time1l | |
4 | PWM_LE | PWM_LE = 0 ~ 0x3F (default 0x19 in dim down), the backlight dimmed level in screen saving mode (*2) Screensavers brightness can not be greater than the backlight brightness. |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
- default value defined by TML graphic editor configuration
4.2.9 backlight_ctrl ( 0x5F )
seq | Cmd-code / Par-data | Descriptions |
1 | 0x5F | backlight brightness control |
2 | PWM_LE | PWM_LE=0x00 ~ 0x3F (*2) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
- default value defined by TML graphic editor configuration
4.2.10 buzzer_touch_sound ( 0x79 )
seq | Cmd-code / Par-data | Descriptions |
1 | 0x79 | buzzer touch sound control |
2 | Time | Sounding time length (in 10ms), range 0x00~0x3F 0x00= disable (*2) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
- default value defined by TML graphic editor configuration
4.2.11 buzzer_ ctrl ( 0x7A )
seq | Cmd-code / Par-data | Descriptions |
1 | 0x7A | Buzzer control |
2 | Loop count | Loop count, Range: 0x01 ~ 0xFF. 0xFF = buzzer infinite loop |
3 | T1 | Buzzer play time 1 Range: 0x00 ~ 0xFF (0~25.5s)(unit 100ms) |
4 | T2 | Buzzer play time 2 Range: 0x00 ~ 0xFF (0~25.5s)(unit 100ms) |
5 | Freq1 | T1 time Buzzer frequency, Unit 100 Hz Ranges: 0x05 ~ 0x32 (500Hz ~ 5KHz) 0x00 = T1 time period buzzer turn off |
6 | Freq2 | T2 time Buzzer frequency, Unit 100 Hz Ranges: 0x05 ~ 0x32 (500Hz ~ 5KHz) 0x00 = T1 time period buzzer turn off |
Note:
- The buzzer sound time is (T1 + T2)*100ms
4.2.12 Flash_write ( 0x90 )
seq | Cmd-code / Par-data | Descriptions |
1 | 0x90 | Write data to the flash at specified address |
2 | Address3(MSB) | the specified start address to write Address range =0x00000 ~ 0x03FFFF |
3 | Address2 | |
4 | Address1 | |
5 | Address0(LSB) | |
6 | Data_Lengthh | The no. of data byte to write. Length =0x0001 ~ 0x0400 |
7 | Data_Lengthl | |
8 | Data | data to write. |
: | : | |
: | : | |
: | : |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.2.13 Flash_read ( 0x91 )
seq | Cmd-code / Par-data | Descriptions |
1 | 0x91 | Read data from the flash at specified address |
2 | Address3(MSB) | the specified start address to write Address range =0x00000 ~ 0x03FFFF |
3 | Address2 | |
4 | Address1 | |
5 | Address0(LSB) | |
6 | Data_Lengthh | The no. of data byte to read Length =0x0001 ~ 0x0400 |
7 | Data_Lengthl |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
Response code:
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x91 | Command executed |
3rd | Data | data | Read back data |
: | : | ||
: | : | ||
: | Tail | 0xCC | Communication packet tail |
: | 0x33 | ||
: | 0xC3 | ||
: | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
4.2.14 USR_bin_read ( 0x93 )
seq | Cmd-code / Par-data | Descriptions |
1 | 0x93 | Read USR_bin data from the flash at specified address |
2 | Address3(MSB) | the specified start address to write Address range = 0x00000 ~ 0x03FFFF |
3 | Address2 | |
4 | Address1 | |
5 | Address0(LSB) | |
6 | Data_Lengthh | The no. of data byte to read Length = 0x0001 ~ 0x0400 |
7 | Data_Lengthl |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
Response code:
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x93 | Command executed |
3rd | Data | data | Read back data |
: | : | ||
: | : | ||
: | Tail | 0xCC | Communication packet tail |
: | 0x33 | ||
: | 0xC3 | ||
: | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
4.2.15 RTC_read ( 0x9B )
seq | Cmd-code / Par-data | Descriptions |
1 | 0x9B | Read the current RTC value |
Response code:
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x9B | Command executed |
3rd | Date | Year | Year: 00~99 (00=year 2000) (8bit binary value) Month: 01~12 (8bit binary value) Day: 01~31 (8bit binary value) |
4th | Month | ||
5th | Day | ||
6th | Time | Hour | Hour 00~23 (24hr format)(8bit binary value) Minutes 00~59 (8bit binary value) Second 00~59 (8bit binary value) |
7th | Minute | ||
8th | Second | ||
9th | Tail | 0xCC | Communication packet tail |
10th | 0x33 | ||
11th | 0xC3 | ||
12th | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
4.2.16 RTC_set ( 0x9C )
seq | Cmd-code / Par-data | Descriptions |
1 | 0x9C | Set the RTC |
2 | Year | Year = 00~99(2000 ~ 2099) Month = 00~12 Date = 00~31 Hour = 00~23 Minute = 00~59 Second = 00~59 |
3 | Month | |
4 | Date | |
5 | Hour | |
6 | Minute | |
7 | Second |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.2.17 U_drv_format ( 0xE2 )
seq | Cmd-code / Par-data | Descriptions |
1 | 0xE2 | Format the USB drive. All the files (include the security lock file) will be erased. |
2 | 0x55 | |
3 | 0xAA | |
4 | 0x5A | |
5 | 0xA5 |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.2.18 U_drv_unlock ( 0xE3 )
seq | Cmd-code / Par-data | Descriptions |
1 | 0xE3 | Unlock the USB drive of file read/write with pre-stored password. |
2 | PW | PW: password in ASCII Length = 127max.‘\0’(0x00): string end mark |
: | : | |
: | : | |
: | ‘\0’ |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.3 Display Control Function Commands Details
4.3.1 disp_page ( 0x70 )
seq | Cmd-code / Par-data | Descriptions |
1 | 0x70 | Display a pre-stored TML file(page) |
2 | Page_IDh | Page_ID = 0~999 |
3 | Page_IDl |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.3.2 set_element_fg ( 0x7E )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x7E | Set foreground colors of the STR, N16, N32 or N64 |
2 | Element | 0x00 = STR; 0x01 = N16, N32, N64 |
3 | Page_IDh | Page_ID = 0~999 |
4 | Page_IDl | |
5 | Element_ID | VP_STR = 0~127; N16, N32, N64 = 0~119 |
6 | 0x00 | Reserve |
7 | FGh | Foreground color(0~0xffff) |
8 | FGl |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.3.3 set_element_bg ( 0x7F )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x7F | Set background color of the STR, N16, N32 or N64 |
2 | Element | 0x00 = STR; 0x01 = N16, N32, N64 |
3 | Page_IDh | Page_ID = 0~999 |
4 | Page_IDl | |
5 | Element_ID | VP_STR = 0~127, N16, N32, N64 = 0~119 |
6 | Mode | 0x00: non transparent; 0x01 : transparent |
7 | BGh | Background color(0 ~ 0xffff) |
8 | BGl |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.3.4 set_codepage (0xE7)
Seq | Cmd-code / Par-data | Descriptions |
1 | 0xE7 | Sets country character set and code-page character set |
2 | Country | 1 ~ 11, country character set |
3 | Codepage | 1 ~ 22, code-page character set |
Note.
- Country and CodePage table
Country Code | Descriptions | Code Page | Descriptions |
1 | USA | 1 | 437 (OEM – United States) |
2 | France | 2 | 737 (OEM – Greek 437G) |
3 | Germany | 3 | 852 (OEM – Latin II) |
4 | United Kingdom | 4 | 860 (OEM – Portuguese) |
5 | Demark I | 5 | 863 (OEM – Canadian French) |
6 | Demark II | 6 | 865 (OEM – Nordic) |
7 | Sweden | 7 | 866 (OEM – Russian) |
8 | Italy | 8 | 874 (ANSI/OEM – Thai) |
9 | Spain | 9 | 932 (ANSI/OEM – Japanese Shift-JIS) |
10 | Japan | 10 | 1250 (ANSI – Central Europe) |
11 | Norway | 11 | 1251 (ANSI – Cyrillic) |
— | — | 12 | 1252 (ANSI – Latin I) |
— | — | 13 | 1253 (ANSI – Greek) |
— | — | 14 | 1254 (ANSI – Turkish) |
— | — | 15 | 1255 (ANSI – Hebrew) |
— | — | 16 | 1256 (ANSI – Arabic) |
— | — | 17 | 1257 (ANSI – Baltic) |
— | — | 18 | 1258 (ANSI – Viet Nam) |
— | — | 19 | GB2312 |
— | — | 20 | GBK |
— | — | 21 | EUC_KR |
— | — | 22 | Big5 |
4.3.5 suspend_vp_refresh (0xE8)
Seq | Cmd-code / Par-data | Descriptions |
1 | 0xE8 | Set the screen to pause the refresh and deactivate the touchkey or release the pause to refresh and enable the touchkey |
2 | 55 | |
3 | AA | |
4 | 5A | |
5 | A5 | |
6 | Mode | 0x00: release the pause to refresh and enable the touchkey 0x01: pause the refresh and deactivate the touchkey |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.4 VP Function Commands Details
4.4.1 Successive_write ( 0x82 )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x82 | Write successive value to VP_N16, VP_N32, VP_N64 |
2 | Addr3(MSB) | VP_N16 Address = 0x080000 ~ 0x08FFFF (should be aligned every 2 byte) VP_N32 Address = 0x020000 ~ 0x02FFFF (should be aligned every 4 byte) VP_N64 Address = 0x030000 ~ 0x03FFFF (should be aligned every 8 byte) |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) | |
6 | Length | The number of data to write (Length = 1~255) |
7 | Data 1(MSB) | the value to write No. of byte of Data: VP_N16 = Length *2, VP_N32 = Length *4, VP_N64 = Length *8, |
8 | Data 2 | |
9 | Data 3 | |
: : |
: Data n(LSB) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.4.2 Successive_read ( 0x83 )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x83 | Read successive value to VP_N16, VP_N32, VP_N64 |
2 | Addr3(MSB) | VP_N16 Address = 0x080000 ~ 0x08FFFF (should be aligned every 2 byte) VP_N32 Address = 0x020000 ~ 0x02FFFF (should be aligned every 4 byte) VP_N64 Address = 0x030000 ~ 0x03FFFF (should be aligned every 8 byte) |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) | |
6 | Length | The number of data to write (Length = 1 ~ 255) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
Response code:
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x83 | Command executed |
3rd | VP_ADD | Addr3(MSB) | VP Address 0x080000 ~ 0x08FFFF:VP_N16 Address 0x020000 ~ 0x02FFFF:VP_N32 Address 0x030000 ~ 0x03FFFF:VP_N64 Address |
4th | Addr2 | ||
5th | Addr1 | ||
6th | Addr0(LSB) | ||
7th | Length | NO. | No. of data |
8th | Data | Data n(MSB) | No. of byte of Data: VP_N16 = Length *2, VP_N32 = Length *4, VP_N64 = Length *8, |
: : |
: : |
||
(n-1)th | Data1 | ||
nth | Data0(LSB) | ||
(n+1)th | Tail | 0xCC | Communication packet tail |
(n+2)th | 0x33 | ||
(n+3)th | 0xC3 | ||
(n+4)th | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
4.4.3 VP_Backup ( 0x94 )
seq | Cmd-code / Par-data | Descriptions |
1 | 0x94 | VP Backup to Flash or VP Restore from Flash |
2 | Dir | 1: VP Restore 0: VP Backup |
3 | Addr3(MSB) | the specified Flash start address Address range = 0x000000 ~ 0x3FFFFF |
4 | Addr2 | |
5 | Addr1 | |
6 | Addr0(LSB) | |
7 | VP Addr3(MSB) | VP Address 0x080000 ~ 0x08FFFF:VP_N16 Address 0x020000 ~ 0x02FFFF:VP_N32 Address 0x030000 ~ 0x03FFFF:VP_N64 Address 0x000000 ~ 0x01FFFF:VP_STR Address |
8 | VP Addr2 | |
9 | VP Addr1 | |
10 | VP Addr0(LSB) | |
11 | VP_Lengthh | The no. of VP VP _Length = 0x0001 ~ 0x8000 |
12 | VP _Lengthl |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
- Random data may be restore, before the first time VP backup operation.
4.4.4 VP_Preload ( 0x95 )
seq | Cmd-code / Par-data | Descriptions |
1 | 0x95 | VP Preload from USR_bin |
2 | 01 | |
3 | Addr3(MSB) | the specified usr.bin start address . Address range = 0x000000 ~ 0x3FFFFF |
4 | Addr2 | |
5 | Addr1 | |
6 | Addr0(LSB) | |
7 | VP Addr3(MSB) | VP Address 0x080000 ~ 0x08FFFF:VP_N16 Address 0x020000 ~ 0x02FFFF:VP_N32 Address 0x030000 ~ 0x03FFFF:VP_N64 Address 0x000000 ~ 0x01FFFF:VP_STR Address |
8 | VP Addr2 | |
9 | VP Addr1 | |
10 | VP Addr0(LSB) | |
11 | VP_Lengthh | The no. of VP VP_Length = 0x0001 ~ 0x8000 |
12 | VP_Lengthl |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
- If usr.bin read invalid, VP may not be update correctly.
4.4.5 BP1_write ( 0x4B )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x4B | Write raw bit-map data to the VP_BP1 |
2 | Addr3(MSB) | VP_BP1 Address = 0x040000 ~ 0x05FFFF |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) | |
6 | Length3(MSB) | the number of data Length = 1 ~ 98304 |
7 | Length2 | |
8 | Length1 | |
9 | Length0(LSB) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
- After the above command issued, it follow with the raw data byte with out communication packet structure.
- over all command flow
HOST | Flow | module |
BP1_write Command (in communication packet structure) | → | Instruct to wait for data…. |
Raw 1bpp image data (without communication packet structure) | → | Store the data into VP_BP1 |
→ | Response code “:>” in ASCII (without communication packet structure) |
4.4.6 BP1_write_compress ( 0x4C )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x4C | Write compressed bit-map data to the VP_BP1 |
2 | Addr3(MSB) | VP_BP1 Address = 0x040000 ~ 0x05FFFF |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) | |
6 | Length3(MSB) | the number of data Length = 1 ~ 98304 |
7 | Length2 | |
8 | Length1 | |
9 | Length0(LSB) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
- After the above command issued, it follow with the compressed data byte with out communication packet structure.
- over all command flow
HOST | Flow | module |
BP1_write Command (in communication packet structure) | → | Instruct to wait for data…. |
compressed 1bpp image data (without communication packet structure) | → | Store the data into VP_BP1 |
→ | Response code “:>” in ASCII (without communication packet structure) |
4.4.7 G16_write ( 0x4D )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x4D | Write graph values to the VP_G16 array |
2 | Addr1_H | VP_G16 Address = 0x060000 ~ 0x07FFFF |
3 | Addr1l | |
4 | Addr2h | |
5 | Addr2l | |
6 | Sizeh | Array-size = 1 ~ 1024 (*2, *3) |
7 | Sizel | |
8 | Data(MSB) | 16 bit data array (no. of byte = 2x array-size) |
9 | Data(LSB) | |
10 | Data(MSB) | |
11 | Data(LSB) | |
: | : | |
: | : | |
: | : | |
: | : | |
: | : |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
- Array-size = no. of 16bit values
- Array-size suggest to be same at the size value defined in TML editor
4.4.8 G16_write_rotate ( 0x4E )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x4E | Write graph values to the last position of VP_G16 array with rotation effect |
2 | Addr1_H | VP_G16 Address = 0x060000 ~ 0x07FFFF |
3 | Addr1_L | |
4 | Addr2_H | |
5 | Addr2_L | |
6 | Size_H | Array-size to be rotate = 1 ~ 65535 (*2. *3) |
7 | Size_L | |
8 | Data(MSB) | 16 bit data value to be add to the end-of-array |
9 | Data(LSB) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
- Array-size = no. of 16bit values
- Array-size suggest to be same at the value defined in TML editor
4.4.9 Reg_Write ( 0x3B )
seq | Cmd-code / Par-data | Descriptions |
1 | 0x3B | System Register Write Command |
2 | Addr3(MSB) | Address = 0xFFFF00 : Address = 0xFFFFFF |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) | |
6 | Data | the value to write |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.4.10 Reg_Read ( 0x3C )
seq | Cmd-code / Par-data | Descriptions |
1 | 0x3C | System Register Read Command |
2 | Addr3(MSB) | Address = 0xFFFF00 : Address = 0xFFFFFF |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
Response code:
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x3C | Command executed |
3rd | Address | Addr3(MSB) | Address = 0xFFFF00 : Address = 0xFFFFFF |
4th | Addr2 | ||
5th | Addr1 | ||
6th | Addr0(LSB) | ||
7th | Data | Data(1Byte) | the value of the register |
8th | Tail | 0xCC | Communication packet tail |
9th | 0x33 | ||
10th | 0xC3 | ||
11th | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
- When Timer reach the 0x00000000 or 0x7FFFFFFF, a notification will be provided a 0x77 response code with the corresponding
Timer Address and Value.(See touch_response(0x77)for details)
4.4.11 STR_write ( 0x42 )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x42 | Write string to VP_STR |
2 | Addr3(MSB) | the VP_STR Address = 0x00000 ~ 0x01FFFF (each VP_STR = 128 bytes) (address value must be divisible by 128) |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) | |
6 | data | String to write Total no. of byte in string ≤128 |
: | : | |
: | : | |
: | ‘\0’ | ‘\0’(0x00): string end mark |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.4.12 STR_read ( 0x43 )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x43 | Read string from VP_STR |
2 | Addr3(MSB) | the VP_STR Address = 0x00000 ~ 0x01FFFF (each VP_STR = 128 bytes)(address value must be divisible by 128) |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
Response code:
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x43 | Command executed |
3rd | String data | data | String code |
: | : | ||
: | : | ||
: | \0 | 0x00 | ‘‘\0’(0x00): string end mark |
: | Tail | 0xCC | Communication packet tail |
: | 0x33 | ||
: | 0xC3 | ||
: | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
4.4.13 STR_fill ( 0x46 )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x46 | Write string to VP_STR |
2 | Addr3(MSB) | he VP_STR Address = 0x00000 ~ 0x01FFFF (each VP_STR = 128 bytes)(address value must be divisible by 128) |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) | |
6 | Lengthh | the number of VP_STR (including the start address) to be filled Length = 1 ~ 1024 |
7 | Lengthl | |
8 | data | String to write Total no. of byte in string ≤128 |
: | : | |
: | : | |
: | ‘\0’ | ‘\0’(0x00): string end mark |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.4.14 N16_write ( 0x3D )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x3D | Write 16bit number to VP_N16 |
2 | Addr3(MSB) | VP_N16 Address = 0x080000 ~ 0x08FFFF (each VP_N16 = 2 byte) (address value must be divisible by 2) |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) | |
6 | High Byte | The 16 bit value to write |
7 | Low Byte |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.4.15 N16_read ( 0x3E )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x3E | Read 16bit number from VP_N16 |
2 | Addr3(MSB) | VP_N16 Address = 0x080000 ~ 0x08FFFF (each VP_N16 = 2 byte) (address value must be divisible by 2) |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details
Response code:
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x3E | Command executed |
3rd | N16 value | Data1(MSB) | 16 bit value |
4th | Data0(LSB) | ||
5th | Tail | 0xCC | Communication packet tail |
6th | 0x33 | ||
7th | 0xC3 | ||
8th | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
4.4.16 N16_fill ( 0x3F )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x3F | Fill 16bit number to the VP_N16 |
2 | Addr3(MSB) | VP_N16 Address = 0x080000 ~ 0x08FFFF (each VP_N16 = 2 byte) (address value must be divisible by 2) |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) | |
6 | Lengthh | the number of VP_N16 (including the start address) to be filled Length = 1 ~ 32768 |
7 | Lengthl | |
8 | High Byte | the 16 bit value to fill |
9 | Low Byte |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.4.17 N32_write ( 0x44 )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x44 | Write 32bit number to VP_N32 |
2 | Addr3(MSB) | VP_N32 Address = 0x020000 ~ 0x02FFFF (each VP_N32 = 4 byte) (address value must be divisible by 4) |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) | |
6 | Data3(MSB) | the 32 bit no. value write. |
7 | Data2 | |
8 | Data1 | |
9 | Data0(LSB) |
4.4.18 N32_read ( 0x45 )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x45 | Read 32bit number from VP_N32 |
2 | Addr3(MSB) | VP_N32 Address = 0x020000 ~ 0x02FFFF (each VP_N32 = 4 byte) (address value must be divisible by 4) |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details
Response code:
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x45 | Command executed |
3rd | N32 value | Data3(MSB) | 32 bit value |
4th | Data2 | ||
5th | Data1 | ||
6th | Data0(LSB) | ||
7th | Tail | 0xCC | Communication packet tail |
8th | 0x33 | ||
9th | 0xC3 | ||
10th | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
4.4.19 N32_fill ( 0x47 )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x47 | Fill 32bit number to the VP_N32 |
2 | Addr3(MSB) | VP_N32 Address = 0x020000 ~ 0x02FFFF (each VP_N32 = 4 byte)(address value must be divisible by 4) |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) | |
6 | Lengthh | the number of VP_N32 (including the start address) to be filled Length = 1 ~ 16384 |
7 | Lengthl | |
8 | Data3(MSB) | the 32 bit no. value to fill |
9 | Data2 | |
10 | Data1 | |
11 | Data0(LSB) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.4.20 N64_write ( 0x48 )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x48 | Write 64bit number to VP_N64 |
2 | Addr3(MSB) | VP_N64 Address= 0x030000 ~ 0x03FFFF (each VP_N64 = 8 byte)(address value must be divisible by 8) |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) | |
6 | Data7(MSB) | the 64bit no. value write. |
7 | Data6 | |
: : |
: : |
|
12 | Data1 | |
13 | Data0(LSB) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
4.4.21 N64_read ( 0x49 )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x49 | Read 64bit number from VP_N64 |
2 | Addr3(MSB) | VP_N64 Address= 0x030000 ~ 0x03FFFF (each VP_N64 = 8 byte) (address value must be divisible by 8) |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details
Response code:
Seq. | Content | Byte in Hex | Descriptions |
1st | Header | 0xAA | Communication packet header |
2nd | Command | 0x49 | Command executed |
3rd | N64 value | Data7(MSB) | 64 bit value |
4th | Data6 | ||
: : |
: : |
||
9th | Data1 | ||
10th | Data0(LSB) | ||
11th | Tail | 0xCC | Communication packet tail |
12th | 0x33 | ||
13th | 0xC3 | ||
14th | 0x3C |
Note.
- The Response code with communication packet format (see Communication Packet Structure Section for details)
4.4.22 N64_fill ( 0x4A )
Seq | Cmd-code / Par-data | Descriptions |
1 | 0x4A | Fill 64bit number to the VP_N64 |
2 | Addr3(MSB) | VP_N64 Address= 0x030000 ~ 0x03FFFF (each VP_N64 = 8 byte) (address value must be divisible by 8) |
3 | Addr2 | |
4 | Addr1 | |
5 | Addr0(LSB) | |
6 | Lengthh | the number of VP_N64 (including the start address) to be filled Length = 1 ~ 8192 |
7 | Lengthl | |
8 | Data7(MSB) | the 64 bit no. value to fill |
9 | Data6 | |
: : |
: : |
|
14 | Data1 | |
15 | Data0(LSB) |
Note.
- Command should be transferred in communication packet structure (see Communication Packet Structure Section for details)
Appendix 1:CRC Calculate
uint16_t const CRC16[256]={/* 16: 8005 reflected */
0x0000,0xc0c1,0xc181,0x0140,0xc301,0x03c0,0x0280,0xc241,0xc601,0x06c0,0x0780,0xc741,0x0500,0xc5c1,0xc 481,0×0440,
0xcc01,0x0cc0,0x0d80,0xcd41,0x0f00,0xcfc1,0xce81,0x0e40,0x0a00,0xcac1,0xcb81,0x0b40,0xc901,0x09c0,0x0 880,0xc841,
0xd801,0x18c0,0x1980,0xd941,0x1b00,0xdbc1,0xda81,0x1a40,0x1e00,0xdec1,0xdf81,0x1f40,0xdd01,0x1dc0,0x1 c80,0xdc41,
0x1400,0xd4c1,0xd581,0x1540,0xd701,0x17c0,0x1680,0xd641,0xd201,0x12c0,0x1380,0xd341,0x1100,0xd1c1,0xd 081,0×1040,
0xf001,0x30c0,0x3180,0xf141,0x3300,0xf3c1,0xf281,0x3240,0x3600,0xf6c1,0xf781,0x3740,0xf501,0x35c0,0x3 480,0xf441,
0x3c00,0xfcc1,0xfd81,0x3d40,0xff01,0x3fc0,0x3e80,0xfe41,0xfa01,0x3ac0,0x3b80,0xfb41,0x3900,0xf9c1,0xf 881,0×3840,
0x2800,0xe8c1,0xe981,0x2940,0xeb01,0x2bc0,0x2a80,0xea41,0xee01,0x2ec0,0x2f80,0xef41,0x2d00,0xedc1,0xe c81,0x2c40,
0xe401,0x24c0,0x2580,0xe541,0x2700,0xe7c1,0xe681,0x2640,0x2200,0xe2c1,0xe381,0x2340,0xe101,0x21c0,0x2 080,0xe041,
0xa001,0x60c0,0x6180,0xa141,0x6300,0xa3c1,0xa281,0x6240,0x6600,0xa6c1,0xa781,0x6740,0xa501,0x65c0,0x6 480,0xa441,
0x6c00,0xacc1,0xad81,0x6d40,0xaf01,0x6fc0,0x6e80,0xae41,0xaa01,0x6ac0,0x6b80,0xab41,0x6900,0xa9c1,0xa 881,0×6840,
0x7800,0xb8c1,0xb981,0x7940,0xbb01,0x7bc0,0x7a80,0xba41,0xbe01,0x7ec0,0x7f80,0xbf41,0x7d00,0xbdc1,0xb c81,0x7c40,
0xb401,0x74c0,0x7580,0xb541,0x7700,0xb7c1,0xb681,0x7640,0x7200,0xb2c1,0xb381,0x7340,0xb101,0x71c0,0x7 080,0xb041,
0x5000,0x90c1,0x9181,0x5140,0x9301,0x53c0,0x5280,0x9241,0x9601,0x56c0,0x5780,0x9741,0x5500,0x95c1,0x9 481,0×5440,
0x9c01,0x5cc0,0x5d80,0x9d41,0x5f00,0x9fc1,0x9e81,0x5e40,0x5a00,0x9ac1,0x9b81,0x5b40,0x9901,0x59c0,0x5 880,0×9841,
0x8801,0x48c0,0x4980,0x8941,0x4b00,0x8bc1,0x8a81,0x4a40,0x4e00,0x8ec1,0x8f81,0x4f40,0x8d01,0x4dc0,0x4 c80,0x8c41,
0x4400,0x84c1,0x8581,0x4540,0x8701,0x47c0,0x4680,0x8641,0x8201,0x42c0,0x4380,0x8341,0x4100,0x81c1,0x8 081,0×4040,
};
static __inline uint16_t rshiftu16(uint16_t value, int nb)
{
return (uint16_t)((value >> nb) & ~((( uint16_t) 0x8000) >> (nb-1)));
}
uint16_t crc16_calc(unsigned char *q, int len)
{
uint16_t crc = 0xffff;
while (len– > 0)
crc=(rshiftu16(crc,8) ^ CRC16[(crc ^ *q++) & 0xff]);
return crc;
}
Note:
- LCD Display Type: TFT.Transmissive(Full View)
- Pixel Arrangment: RGB-STRIPE
- Color Depth: 65K Colors
- Operating Voltage: 12.0V(11.0~26.0V)
- Backlight: White LED
- Interface: RS-232C
- Terminal:
K1: JST S8B-XH-SM3-TB or equivalent
K2: USB Type-C - Touch Panel Type Capacitive Touch Panel (Cover Lens Thickness=2.9mm)
Surface treatment: anti-glare - Operating Temperature: -20°C~70°C
- Storage Temperature: -30°C~80°C
- Unmarked Tolerace ≤150,±0.3; >150,±0.5
K1 Terrninal | |
No | Pin Name |
1 | VDD |
2 | VDD |
3 | RTS(BUSY) |
4 | Tx |
5 | Rx |
6 | Rx |
7 | VSS |
8 | VSS |
B | Revise Operating Voltage | HeiYichen 2024-04-22 | ||||
A | Revise PCBA and Operating Voltage | HeiYichen 2023-10-25 | ||||
Rev | Note | Date | ||||
Dwg Title HVT1P1BTA—D Lutline Dwg |
||||||
Dwg No, | Date 2023-06-20 | |||||
Dwg Title Mk 0080920 1 1 |
||||||
Scale 2/5 | Tol. | Unit mm | Paper Size A3 | ![]() |
||
Approved | Checked | Drawn , HeiYichen |
||||
![]() |
Documents / Resources
![]() |
TOPWAY HMT121BTA-D LCD Module [pdf] User Manual HMT121BTA-D LCD Module, HMT121BTA-D, LCD Module, Module |