Setting Up Cash Register & Display Pole

Summary


Wavelet EMP Point of Sales is able to integrate with cash register and display pole at the cashier counter. Please follow the steps below to make things work:


Note: This setup is applicable to TRADING -> FULL SCREEN CASH SALE only. 
Table of Contents:

Who will be using this?

  • User system admin to set up for a new casher
  • Casher want to set up for display pole

PART 1

1.1 Connect the Cash Register to COM1 (serial port) of the Point of Sales PC

After you connect the cash register cable to the PC at the Point of Sales, ensure that you test the connectivity by using a DOS command prompt:

  • 1) Create a text file using notepad with, and save it inside c:\wavelet (create the directory if it does not exist), we call it serial_test.txt
    The text file should have the following text inside: 000000000
  • 2) Type the following DOS command to send serial_test.txt file to the COM1 (RS232 serial port).  Type the commands line by line. 

cd ..

do above until you get to C directory ( should look like this C:\> ). Then,

cd wavelet

mode COM1:300

copy serial_test.txt COM1

If the cash drawer opens, you have successfully connects the Cash Register to COM1 of the PC, otherwise get it to work before you proceed to the following steps. 

1.2 Connect the Display Pole to COM2 (serial port) of the Point of Sales PC

If you have a display pole that you would like to show the prices as the cashier scan in each item, and subsequently as the total amount and change amount, you can connect a display pole to the second serial port of the PC at the point of sales.

PART 2

2.1 The Applet/Plugin Configurations

If the plugin/applet above does not work, follow the instructions below, the instruction is also available at TRADING -> FULL SCREEN CASH SALE (scroll to the bottom):

  • Download and install MOZILLA web browser from http://www.mozilla.org/download
  • Download and install J2EE SDK 1.6.0  from Sun Microsystems website. During installation, select CUSTOMER, and set  the installation directory to C:\j2sdk1.6.0\ (We call it JDK -Java Development Kit ) in the Windows environment (from http://java.sun.com/javaee/downloads/index.jsp) or 
  • Download java.policy and save it inside JDK\jre\lib\security
  • Download comm.jar and save it inside JDK\jre\lib\ext
  • Download javax.comm.properties and save it inside JDK\jre\lib
  • Download win32com.dll and save it inside JDK\jre\bin


NOTE

Note :

  • When installing Java for Windows 8 (64bit), the 32bit Java will be installed to Program Files ( x86 ), DON'T change the default folder.
  • When copy the file into Java Folder, please be noted that 2 folders inside Java Folder, one is JDK1.6.0_45, another one is jre6.
  • To get the Display Pole work, make sure copy the file to Java\jre6\lib and etc...but not copy to Java\JDK1.6.0_45\jre\ folder.
    java.policy ( Updated on 18 June 2015 )

2.2 Configure the JRE (Java Runtime Environment) Settings

The Java Runtime Environment (JRE) is what you get when you download Java software. The JRE consists of the Java Virtual Machine (JVM), Java platform core classes, and supporting Java platform libraries. The JRE is the runtime portion of Java software, which is all you need to run it in your Web browser.

After you have installed the Applet/Plugin above, power up mozilla web browser, and login to Wavelet EMP, click TRADING-> FULL SCREEN CASH SALE for the Point of Sales interface. As the applet is embedded in this page, it will trigger the JRE to be activated. You should see a small coffee cup icon, open up the control panel, and make sure that the JRE is pointing to the right directory. This is because during the installation of the mozilla, the default JRE may have been installed in the system, but we do not want to use the default JRE, we would like to make use of the newly downloaded and installed JRE, with the various configuration files, dll etc properly in place as per above instructions.

PART 3


3.1 Configuring the Display Custom Text : Welcome etc


Users will be able to configure welcome message under SYSADMIN -> CONFIGURATIONS -> POINT OF SALES 

Note: You can only change Default Message Line 1 and 2. If you are not sure, contact any technician from Wavelet Solutions for further clarifications. Please don't ever modify Driver Class Name field and Serial Port settings!!!!!!   

Cash Register Serial Port :         COM1

Display pole Serial Port    :         COM2

Default Message Line 1    :         Welcome to YOUR-COMPANY-NAME-HERE

Default Message Line 2    :         Have a nice day !

Driver Class Name            :         com.sun.comm.Win32Driver



3.2 Trouble Shooting 


To troubleshoot for errors, if the applet is not working properly, (make sure you have opened the Full Screen Cash Sale window)

  • You can right-click the coffee cup icon on the system tray (bottom right hand corner of your windows desktop), and choose  "open console" (we call it Java Console).
  • Click on "clear" button
  • Refresh the Full Screen Cashsale ( or press F5).
  • Go to the Java Console window that you opened (in step 1). 
  • You will see lines of messages displayed

It could be one of following messages, take a close look at the error message. If Java Console displayes other than following messages, get screen shot of the Java Console window and contact technician from Wavelet Solutions.

3.2.1 Case 1

JAVAX COMM PROPERTIES...C:\Program Files\Java\jre6\lib\javax.comm.properties
DRIVER PATH...com.sun.comm.Win32Driver
com.sun.comm.Win32Driver@15d56d5
Caught java.lang.NullPointerException: name can't be null while loading driver com.sun.comm.Win32Driver
POSPeripheralController constructor ..!
Initialize applet starts.
 > COM1,Port currently not owned,SERIAL
 > LPT1,Port currently not owned,PARALLEL
 > LPT2,Port currently not owned,PARALLEL
java.lang.Exception
    at POSPeripheralController.openConnectionDisplayPole(POSPeripheralController.java:282)
    at POSPeripheralController.init(POSPeripheralController.java:179)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Initialize applet ends!

Solution: 

If you see above message being displayed, that means your cash drawer is either connected wrongly or Point Of Sales settings is wrong. Please consult System Admin or Wavelet Technician to change settings (COM1 and COM2).

3.2.2 Case 2

java.lang.ExceptionInInitializerError
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at sun.applet.AppletPanel.createApplet(AppletPanel.java:785)
    at sun.plugin.AppletViewer.createApplet(AppletViewer.java:2302)
    at sun.applet.AppletPanel.runLoader(AppletPanel.java:714)
    at sun.applet.AppletPanel.run(AppletPanel.java:368)
    at java.lang.Thread.run(Thread.java:619)
Caused by: java.security.AccessControlException: access denied (java.util.PropertyPermission java.home read)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
    at java.security.AccessController.checkPermission(AccessController.java:546)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
    at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1285)
    at java.lang.System.getProperty(System.java:652)
    at POSPeripheralController.<clinit>(POSPeripheralController.java:47)
    ... 11 more

Solution: 

If you see above error message in Java Console, it might have been caused by misplacement of java.policy, comm.jar, javax.comm, win32com.dll file. Please look a "The Applet/Plugin Configurations" settings to place the files correctly.


3.2.3 Case 3

If the cash drawer opens automatically and displayes following message.

        Error Opening Port!null

Solution: 

This means that you have plugged Display Pole into port where Cash Register is supposed to be plugged in, which is wrong. Hence, try changing the port.


3.2.4 Case 4

You can't see the "Open cash drawer" button. And when you click on the "Error. Click for..." message, you might get something similar to following error message.


Reading certificates from 11 http://192.168.1.200:8080/emp/comm.jar | C:\Documents and Settings\User\Application Data\Sun\Java\Deployment\cache\6.0\8\14646948-41612d5f.idx
java.lang.NullPointerException
at sun.plugin2.applet.Plugin2Manager.findAppletJDKLevel(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Thread.java:619)
Exception: java.lang.NullPointerException

Solution:

To fix it, follow the steps below: 

1) Close all web browsers, ensuring that there are no plugin coffee cup icons in the Windows taskbar.
2) Open the Java Control panel (Start->Control Panel->Java).
2.5) On the General tab, clear cache by clicking Settings..., Delete Files..., OK.
3) Open the Advanced tab.
4) Expand the Java Plug-in tree option.
5) Ensure that the "Enable the next-generation Java Plug-in" option is NOT checked and click OK.
6) Visit your page again. Now you should be able to see the button and it should perform desired action.

Appendix:

  1. java (1).policy
  2. javax.comm.properties
  3. win32com (1).dll
  4. comm (2).jar
  5. java.policy ( Updated on 18 June 2015 )

Private & Confidential