Page 1 of 6 The is intended to operate as a LCD terminal over an RS232 interface: 9600 baud, 8 data bits and Even Parity. Module ID: Is set from the DIP switches 1 to. Terminal keys, mapped to ASCII: LCD ASCII LCD ASCII LCD ASCII LCD ASCII A B C @ HELP = 1 ABC 1 2 DEF 2 3 GHI 3 MENU? JKL 5 MNO 5 6 PQR 6 END > 7 STU 7 8 VWX 8 9 YZ 9 : ON ; 0 0 OFF < These ASCII characters sent to the terminal interface via the RS232 will drive the controller in exactly the same way key presses on a LCD terminal would. If plugged into an ANSI compatible terminal, such as Hyper Terminal the text display should appear as it would on the LCD display. This is because it uses ANSI terminal escape sequences to control the display format and cursor control. Following is an example of what sort of information is sent to the terminal and a brief description of the ANSI interfacing. Display text has embedded escape sequences: FF$[H$[J$[?25lAreas: 1235678$[2H$[J001 -> nnnnnnnnnul Displayed on an ANSI terminal this appears as it would on the LCD: Areas: 1235678 001 -> nnnnnnnn FF, NUL $[H, $[J, $[?25l, $[2H : single control characters, Form Feed and Null where FF is (12, 0x0C) and NUL is (0, 0x00) : escape control sequences where $ is the ESC control character (27, 0x1B) The control characters Form Feed and Null are markers for the start of a message and the end of a message respectively. A Form Feed is sent every time an entirely new page (or form) of information is to be displayed. A Null is sent once at the end of each page of information. Characters may be received after a Null. These may be updates to the last page sent, such as editing settings. The escape sequences contain information about how to display the text and the cursor. While editing, the cursor can move around the display. Further updates to the text displayed on the current page can be sent as key-presses are sent to the controller. Terminal Interface Program.doc Page 1 28 Jan. 05
Page 2 of 6 Some example messages from the Terminal interface Power on FF$[H$[J$[?25lTI3000 V1.0$[2H$[JNo: 0$[0q First message from controller FF$[H$[J$[?25lAreas: 123567890 $[2H$[J001 -> nnnnnnnnnul Some example uses of the Terminal interface Check the date and time Key Response MENU (? ) FF$[H$[J$[?25lSelect Option$[2H$[J1=Review 2=Info 3=Time =DVR Access/Search 5=DVR AdminNUL 3 FF$[H$[J$[?25lThursday$[1;12H$[?25hNov25 $[2H$[J200$[2;9H$[?25hJ1:9:25NUL FF$[H$[J$[?25lThursday$[1;12H$[?25hNov25 $[2H$[J200$[2;9H$[?25hJ1:9:26NUL FF$[H$[J$[?25lThursday$[1;12H$[?25hNov25 $[2H$[J200$[2;9H$[?25hJ1:9:27NUL END ( > ) FF$[H$[J$[?25lAreas: 123567890 $[2H$[J001 -> nnnnnnnnnul Terminal Interface Program.doc Page 2 28 Jan. 05
Page 3 of 6 0 1 Turn on the first Auxiliary Key Response FF$[H$[J$[?25lCode : # # FF$[H$[J$[?25lGood Afternoon$[2H$[JINSTALLERNUL FF$[H$[J$[?25l** Main Menu **$[2H$[J0 = Area 2 On/Off 1=Info 2=Access 3=Isolate =Testing 5=Times 6= 7=Installer 8=Service 9=ControlNUL FF$[H$[J$[?25l** Test Menu ** $[2H$[J1=Inputs 2=Auxes 3=Sirens =Telecom 5=Cards 6=Memory 7=Ports 8=Power 9=VoltsNUL FF$[H$[J$[?25lAux to Operate $[2H$[JC01:X01$[2;1H$[?25hJNUL FF$[H$[J$[?25lC01:X01 $[2H$[Jis Off. Press OnNUL ON ( ; ) FF$[H$[J$[?25lC01:X01 $[2H$[Jis On. Press OffNUL END ( > ) FF$[H$[J$[?25lAreas: 123567890 $[2H$[J001 -> nnnnnnnn: 0NUL Terminal Interface Program.doc Page 3 28 Jan. 05
Page of 6 0 1 Turn on this Terminal, Auxiliary 8 Key Response FF$[H$[J$[?25lCode : # # FF$[H$[J$[?25lGood Afternoon$[2H$[JINSTALLERNUL FF$[H$[J$[?25l** Main Menu **$[2H$[J0 = Area On/Off 1=Info 2=Access 3=Isolate =Testing 5=Times 6= 7=Installer 8=Service 9=ControlNUL FF$[H$[J$[?25l** Test Menu ** $[2H$[J1=Inputs 2=Auxes 3=Sirens =Telecom 5=Cards 6=Memory 2 7 7 7=Ports 8=Power 9=VoltsNUL FF$[H$[J$[?25lAux to Operate $[2H$[JC01:X01$[2;1H$[?25hJNUL S$[D T$[D Terminal Interface Program.doc Page 28 Jan. 05
Page 5 of 6 8 8$[D FF$[H$[J$[?25lT0:X08 $[2H$[Jis Off. Press OnNUL ON ( ; ) FF$[H$[J$[?25lT0:X08 $[2H$[Jis On. Press OffNUL$[0;3q END ( > ) FF$[H$[J$[?25lAreas: 123567890 $[2H$[J001 -> nnnnnnnnnul Terminal Interface Program.doc Page 5 28 Jan. 05
Page 6 of 6 Standard derived from VT100 Programming references ANSI Compatible Mode Cursor Movement Commands Cursor forward (right) ESC [ C Cursor backward (left) ESC [ D Direct cursor addressing ESC [ Pl; Pc H Home cursor ESC [ H Pl = line number (default 0); Pc = column number (default 0) Erase In Display ESC [ J Cursor Control ESC [? 25 h ESC [? 25 l Erase from the active position to the end of the screen Cursor displayed Cursor invisible Programmable LEDs ESC [ Ps;Ps;...Ps q Ps = 0: All LEDs Off Ps = 1: LED1 (AUX6) on Ps = 2: LED2 (AUX7) on Ps = 3: LED3 (AUX8) on Ps = : LED (AUX2) on An ANSI compatible terminal will display the escape sequences according to the above standard specification. To see how this would appear, it is useful to use something like HyperTerminal, which is bundled with Microsoft Windows. Or one of many such applications designed to interface a PC to the vast legacy of ANSI compatible systems. Set up the terminal emulation application to configure the RS232 COM serial port to: 9600 baud, 8 data bits, Even Parity. Example terminal emulation programs: Download site http://www.tucows.com/term95.html Recommended product CRT Terminal Interface Program.doc Page 6 28 Jan. 05