Serial cable to connect an XRT70x terminal to a  PC.

 

Serial Port DB9 Female to RJ11 Male

    DB9-pin       RJ11-pin     Assignment
        1                      DCD (Data Carrier Detect)
2 6 RX (Receive Data)
3 1 TX (Transmit Data)
4 DTR (Data Terminal Ready)
5 5 GND (Signal Ground)
6 DSR (Data Set Ready)
7 4 RTS (Request To Send)
8 CTS (Clear To Send)
9 RI (Ring Indicator)

 

 

To create an extension, you should use a Male and female DB9 connector and solder each corresponding pin to the cable.

 

If you only have USB ports in your computer, you should use a Serial Port Adapter.

(UC232A is a USB to serial port converter. It provides PCs, notebook PCs and handheld computing devices using USB an external PnP RS232 port).

 

images

 


 

How to develop a simple application with DotNet for use with X64 terminals.

 



Download the video Watch/Download this video

 

Let's see how it works. The Timer is continually looking for information that the antenna may send to the application. The diagram summarizes the major part of this procedure.

 

 

So if anything happens, we can see that we have two options: receive a screen of the terminal or the terminal asking us for a screen.

If received, the procedure is as follows:

procedure TForm1.ReceiveScreen(TerminalID,ScrName:String);
begin
T_RefreshScreen(TerminalId, ScrName);
DoScreen(ScrName);
//Here you have the information, from this point on your application will use the information as it may be necessary

end;

This procedure updates the variables in the PC with the variables introduced in the terminal. After a refresh and a DoScreen the variables are updated on the PC. At this point the information has already been received, which will end the call TIMER.

The other option is as AskScreen. First we must know when to produce and how. The possibilities are many, in general all the functions that have as parameter the name of a screen will produce an AskScreen.


Another situation is when a reset is done on the terminal and a key is pressed, the screen where the question is layed down is always the default 'start'. The PC can then send screens (as many as it wants to) and send them as non-executable (in the Function T_InitScreen with different flags scr_flag_execute) and the last as executable (scr_flag_execute).


At this point the terminal starts to operate as off-line and with its functionality programmed.

The other situations work in an analogous way to this example:

In the procedure DoScreen are designed screens, so the possibilities are many. Look at the following example:

procedure TForm1.DoScreen(ScrName:String);
begin
if Pchar(ScrName)='LE REF'
then
begin

T_Say('>');
T_GetText(barcode,10,GetText_flag_Barcode + GetText_flag_ExitEnter);
T_NewLine;
T_PrintString('>');
T_PrintString(Description);

T_Beep(50,50);
T_Read;
T_SendScreenToPc('LE REF', scr_flag_update_pc_now + scr_flag_auto_destroy );
T_GotoScreen('LE REF');
end;
end;

There are many things that need a review, but the last function (T_GotoScree) tells the terminal to go to the screen LE REF. What happens is that the terminal calls the screen, which in this case it's itself. Here a AskScreen is produced because the screen had been destroyed with scr_flag_auto_destroy and must be loaded again. It may be that the the screen the program wants is in memory, which will avoid the AskScreen to happen. It may also be sent any number of screens that the programmer must believes necessary.

 

The majority of programs, when a AskScreen happens, follow this sequence:

1. They are initialized or they give value to the variables (those which have reference to this screen) and then a T_InitScreen is done.
2. The screen is created (DoScreen).
3. The screen is sent T_SendScreen.

This is the usual procedure of AskScreen.

 

Normal 0 Microsoft Internet Explorer4
The terminal comes with a catering program by default.

To configure that program you should follow these steps: Press 96195 in order to enter the technical menu.

 

In this menu you can:

  1. Change the command number (password 67145)
  2. Change the licensing number (password 264264)
  3. Change configuration A (Enter to visualize the options)
    1. LCD light on?
    2. Receiving messages from the pc?
    3. Asks for number of people at the table?
    4. Doesn’t reset menus (0 to reset the default menus)?
    5. Ask payment type? i.e.: 1-Cash 2-Visa
    6. Ask type of bill? i.e.: 1-Print 2-Don’t Print
    7. Ask cancellation type? i.e.: 1-With Waste 2-Without Waste
    8. The cancellation is total or asks which articles to cancel
  4. Change configuration B (Enter to visualize the options)
    1. Number of access points
    2. Do not lock keypad
    3. The orders list comes always from the pc instead of start empty
    4. The quantity when not filled is 0 and not 1
    5. The pc is notified whenever a terminal is turned on
    6. Ask the place at the table
    1. When asking the bill asks the place?
    2. Big size font type
    3. 8 digits on the table with barcode reading
    4. 8 digits on the place with barcode reading
    5. Allows the non limitation of articles per order
    6. Automatically checks if the value in payment type and bill type match the values on the description i.e.: 1-Cash 2-Visa à only accepts 0, 1 or 2
  5. Puts the terminal in upload PLUs mode. This option can be manual or automatic if the program gives an order to the terminal via radio.

 

Antenna Configuration for Catering

Just in very exceptional situations you will need to change the confirmation of the antenna.

The antenna connects to the pc through a serial cable. The range is of approximately 150 m in open wide areas. The ideal location to place an antenna is at a distance of 3-50 meters from the pc. Distances inferior to 3 meters may enable interference with the pc, damaging the range.

 

Introduction

This setup is a generic version of a data collection program with its most used fields. The terminal will get a first option to ask whether it is sales or inventories. The difference between these two menus is that the price field appears in the sales field and not in the inventories field.

To read or send data to the terminal one can use the 'datacollector.exe', having as parameters the names of the files with their respective options. After you run the Setup, the program is placed in the programs folder. The links to send and receive data to the terminal point to the 'datacollector.exe' with their parameters.

First use

-Make sure the serial port on your computer, where the cradle is connected, is COM1. If not, you will have to change the property of the links by changing /ComPort 1 to /ComPort (port number).
-Follow the link 'Delete all data from the terminal. "
Awake the terminal and place the terminal in cradle. The cradle must be connected to the power.
-Wait a few minutes until the terminal receives the program.
-Wait until the terminal shows ' Disconnected '.

To read the sales data from the terminal to the file 'vendas.txt'

-Follow the link: 'Read all data from the terminal to the file' vendas.txt''.
-On the terminal choose the option Sales, complete the number of the warehouse and start the sale.
-Place the terminal in the cradle and wait until the process is finished.
-A vendas.txt file will be created with the terminal details.
-The data will not be erased from the terminal. (To delete the data you have to change the command line by adding a / Clear 1).
-Delete the data in the terminal.

To read the data from the
the inventory on the terminal to the file 'inventario.txt '

-Follow the link: 'Read all data from the terminal to the file' inventario.txt'.
-On the terminal choose the option Sales, complete the number of the warehouse and start the sale.
-Place the terminal in the cradle and wait until the process is finished.
-This will create a file inventario.txt with the details of the terminal.
-The data will not be erased from the terminal. (To delete the data you have to change the command line by adding a / Clear 2).
-Delete the data in the terminal.

To read the sales data from the terminal and insert the keyboard

-Follow the link: 'Read all sales data from the terminal and insert it on the keyboard. "
-On the terminal choose the option Sales, complete the number of the warehouse and start the sale.
-Place the cursor of your program of windows in the position where you want to read the data.
-Place the terminal in the cradle and wait until the process is finished.
-After placing the terminal in the cradle, the sequence of keys defined in the link will be executed.
-The data will not be erased from the terminal. (To delete the data you have to change the command line by adding a / Clear 1).
-Delete the data in the terminal.
The data sent to the keyboard is the 'Code Article' followed by a Tab {tab} followed by the 'Quantity' followed by a Tab {tab} followed by the 'Price' followed by an {Enter}

To view inventory data from the terminal and insert in the keyboard.

-Follow the link: 'Read all sales data from the terminal and insert it on the keyboard. "
-On the terminal choose the option Sales, complete the number of the warehouse and start the sale.
-Place the cursor of your program of windows in the position where you want to read the data.
-Place the terminal in the cradle and wait until the process is finished.
-After placing the terminal in the cradle, the sequence of keys defined in the link will be executed.
-The data will not be erased from the terminal. (To delete the data you have to change the command line by adding a / Clear 2).
-Delete the data in the terminal.
The data sent to the keyboard is the 'Code Article' followed by a Tab {tab} followed by the 'Quantity' followed by a Tab {tab} followed by the 'Price' followed by an {Enter}

To send data from a file to the terminal

Prepare a text file named 'artigos.txt' without spacers with the following fields:


It should be something like:
1234567890 11112222 Coca Cola 12.5
3333567890 33332222 Seven Up 15.5
etc ...

Follow the link: 'Send data to the terminal from the file artigos.txt'
Place the terminal in the cradle and wait until the process is finished.


To change the data format of the file that creates the terminal

The data fields that can be read from the terminal are:

You can change the format of the data by adding the link /BodyConf, as in the example below.
datacollector /Save vendas.txt 1 /BodyConf "[CB] [XXXX] [CodArtigo] [XXXX] [Armazem] [XXX] [Qt] [XXXXDDD] [Price] [XXXXDDD]
In this example the file created would have been:

BBBBAAAA001001.000002.000
BBBBAAAA001001.000002.000
etc ...

OR

You can change the format of the data by adding the link /BodyConf, as in the example below.
datacollector /Save vendas.txt 1 /BodyConf "[CB] [XXXX] [CodArtigo] [XXXX] [Armazem] [XXX] [Qt] [XXXXDDD] [Price] [XXXXDDD]
In this example the file created would have been:

CB = BBBB, AAAA, 001,001.000
CB = BBBB, AAAA, 001,001.000
etc ...

To change the format of data that are sent to the keyboard

This is one of the most powerful options since it allows the terminal to 'download' the data from any program that exists in the market.

The data fields that can be read from the terminal are:


You can change the format of the data by adding the link /BodyConf, as in the example below.
datacollector /Save Keyboard 1 /BodyConf "-> [CodArtigo] [XXXX] {Tab} {Tab} [Qt] [XXXXDDD] {Enter}"

In this example, following data from the sales of terminal would have been inserted to to Pc's keyboard:

-> AAAA 001.000
-> AAAA 001.000
-> AAAA 001.000
etc ...

OR

You can change the format of the data added link / BodyConf, as in the example below.
datacollector / Save 2 Keyboard / BodyConf "-> [CodArtigo] [XXXX ]****[ Qt] [XXXXDDD ]****{ Enter)"

In this example, the keyboard would be inserted into the PC the following data from the inventory of the terminal:

-> AAAA **** 001000 ****
-> AAAA **** 001000 ****
-> AAAA **** 001000 ****
etc ...

OR

You can also make a more complicated combination , for example to open notepad and write the results.

datacollector /Save Keyboard 2 /SendKeysBefore "{DELAY = 200} @rnotepad~{appactivate Notepad}{DELAY 100} Hello !!!!% ha{BEEP 1999 1000}{ESC}% {DOWN 5}" /BodyConf "-> [CodArtigo][XXXX]****[Qt][XXXXDDD]****{ Enter} "


List of keys that you can use.



Some examples of combinations of keys.

Example 1
(DELAY = 50) @ rnotepad Hello world ~

Description:
1.Put the delay between keys to be 50 ms.
2.WINKEY + R Opens the Windows Command Line
3.write 'notepad' and press ENTER
4.write'Hello world'


Example 2
Assuming that the calculator and notepad are running.
{DELAY = 100} {appactivate Calculator} {ESC} 5 * 7 ~ {beep 1000 500} ^ c {appactivate Notepad} ^a {DEL} Result of 5 * 7 = ^v

Description:
1. Get the delay between keys to be 100 ms.
2. Turns on the calculator
3. Press ESC to clear the result
4. Write '5 * 7' followed by 'ENTER'
5. Beep for 500ms with a frequency of 1000
6. Do 'CTRL + C' to copy the result
7. Enables notepad
8. Do 'CTRL + A' followed by 'DEL' to delete the text in the notepad
9. Write 'Result of 5 * 7 =' followed by 'CTRL + V' to paste the result of the calculator

Example 3
{DELAY = 500}% {DOWN 5}

Description:
1. Press 'ALT + SPACE'
2. Press 'DOWN' 5 times


Other commands you can put on the command line of datacollector



IMPORTANT:

To create a different program in the terminal you must use the ProgramGenerator.

To create a different setup for a particular customer just follow the following steps:
1. Open the "X64_Inventory pt.zip" (or "X64_Inventory.zip" if available)
2. Copy the file SSEset.dat to the desktop.
3. Open the file SSEset.dat with Notepad.
4. In section LINKS change their parameters. (http://www.ssesetup.com/)
5. Place Back the file to the zip.
6. Finished.