Author Topic: Pole/Customer Displays  (Read 28454 times)

JohnS

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 677
Pole/Customer Displays
« on: December 13, 2011, 06:29:43 pm »
Loving SambaPOS more and more every day - keep up the great work.

Is there any support for customer pole displays (http://www.posiflexusa.com/pole_display25.php) and/or a screen for the customer side? A 7inch VGA screen (http://www.ebay.com.au/itm/260911133070) would look so good in portrait.

SambaPOS - POS'n the World, one Terminal at a time.

emre

  • SambaPOS Developer
  • Samba Team
  • Hero Member
  • *****
  • Posts: 1564
Re: Pole/Customer Displays
« Reply #1 on: December 14, 2011, 07:00:44 am »
Hello John.. There is no customer display support for now. It can be easily implemented with our port printer feature but I didn't tried it before. I'll request a sample pole display from one of our hardware dealers for testing. If it can be solved easily with port commands I'll prepare a document for needed configuration.

For VGA displays an additional client should be implemented. In fact it is easy to display such display but I'll try pole display before.

JohnS

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 677
Re: Pole/Customer Displays
« Reply #2 on: December 15, 2011, 06:37:07 am »
Emre,
I have tried a 20 character by 4 line pole display, and it does work somewhat.

1. Added new COM port printer in windows, and select Generic Text Printer and called it Pole Display
2. Add printer to POS as HTML with 18 character line count
3. Set print template with line item and total (printer formatting commands work as expected), and add print job
4. Set a rule and action to Execute Print Job on Ticket Total Change

Every time an item is added, the display updates.

I had 2 problems
1. I couldn't workout the command to clear the display so the text kept overwriting what was on the display (cls>com1 worked in DOS)
2. You cannot select Last Line as the Printing Content in Print Job, therefore it displays all item lines each time you add a new item to a ticket.

Hope this helps.


Pole Display I used - http://www.mtrans.com.sg/giga_dsp_865.htm
SambaPOS - POS'n the World, one Terminal at a time.

emre

  • SambaPOS Developer
  • Samba Team
  • Hero Member
  • *****
  • Posts: 1564
Re: Pole/Customer Displays
« Reply #3 on: December 15, 2011, 07:43:34 am »
John thank you very much for that great feedback. I understood the way it works. I think we'll be able to implement it easily but I have to try few things such as clearing screen and positioning lines properly. I requested the pole display. I'll try it in a few days.

To be able to select last (4 or whatever) lines I'll add a simple parameter to the print job.

emre

  • SambaPOS Developer
  • Samba Team
  • Hero Member
  • *****
  • Posts: 1564
Re: Pole/Customer Displays
« Reply #4 on: December 21, 2011, 08:54:19 am »
Hello John.
We tried working with a pole display but unluckily burnt it while wiring electrical connections :)

However before burning it I managed to send lines with our port printer so I prepared a Pole display simulator with notepad and programmed required features. We requested another display but until we receive it you can try new features with the new release I recently uploaded.

First of all instead of creating a generic printer you'll setup a port printer and name it as COM1 (or whatever port it connected to)

Here are the new features for preparing custom Customer Display.

Printer Setup:
Line Count setting will define the available lines for displaying orders. For example if you have a 4 line display you'll enter here 3 and that will mean you have 3 lines for transactions. (and one line for total)

Print Jobs:
We added "New Lines by Printer Line Count" setting to Printing Content. If you entered 2 as Line Count on printer setup SambaPOS will fetch last 2 orders while printing.

Rule Events:
Line Added to Ticket: triggers when a new line added to ticket (you can use it instead of Ticket Total Changed)
Change Amount Updated: Triggers when SambaPOS displays a "Change Due" value. Use it for displaying change amounts.
Ticket Closed: triggers when a ticket closed. You can use it for displaying banners on customer displays.
Application Started: Triggers on application start. You can use it for resetting displays.
Payment Received: You can use it for displaying payment totals.

Port Printer commands:
You can use <L>, <R>, <C> and <J> tags for positioning lines. You'll use <XCT x> tag to send commands for clearing display or other supported features by your hardware. On hardware programming manual you'll see the command list that your hardware supports. For example clearing display command is 0C Hex. 0C Hex equals to decimal 12 so you can use <XCT 12> tag for clearing display.

I hope you'll have fun while setting it up. Thanks.
« Last Edit: December 21, 2011, 09:07:31 am by emre »

emre

  • SambaPOS Developer
  • Samba Team
  • Hero Member
  • *****
  • Posts: 1564
Re: Pole/Customer Displays
« Reply #5 on: December 28, 2011, 10:38:37 am »
I finally tested it on a Pole Display. I fixed some bugs on sending port commands and encodings. I'll release these fixes with 2.74... Thanks.

JohnS

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 677
Re: Pole/Customer Displays
« Reply #6 on: December 29, 2011, 05:36:09 am »
Thanks for the update.

One issue I have found is that if you center the text using <C> , the second and third lines start at the end of the previous line. <J>, <L> AND <R> work as expected.

Also, what are the template tokens for Payment Tendered and for Change Due ?

SambaPOS - POS'n the World, one Terminal at a time.

emre

  • SambaPOS Developer
  • Samba Team
  • Hero Member
  • *****
  • Posts: 1564
Re: Pole/Customer Displays
« Reply #7 on: December 29, 2011, 09:15:43 am »
After <C> (or when needed) you can try adding <XCT 13,10> for new line... On next releases I'll fix <C> tag as expected.

Since we do not store latest payment values and Change Due value before closing the ticket we'll use a different technique for accessing these values. SambaPOS have ability to store any value in memory and print them when needed. We'll store values with "Update Program Setting" Action and print them with {SETTING:[SETTING NAME]} token.

Step1
  • Create a new Printer template for displaying Change Due amount screen.
  • Paste {SETTING:CHANGEDUE} token where you want to display Change Due amount.
Step2
  • Create a new Print Job for displaying Change Due screen and name it as you want.
  • Like we did on previous steps setup required printer / printer template values and add this print job to terminal setting.
Step3
  • Create a new action named "Update Setting Value"
  • Choose "Update Program Setting" Action type.
  • Setting Name will be "[Setting Name]"
  • Setting Value will be "[Setting Value]"
Hint: When we write values inside brackets that means we'll update these values from rules.

Step 4
  • Create a new rule and name it as something like "Update Change Due Value"
  • Event Name will be "Change Amount Updated"
  • Click Select Actions. Select "Update Setting Value" and "Change Amount Display" actions. Update Setting Value action should be the first action because it should execute before print job.
  • Expand blue "Update Setting Value" action by clicking the small arrow. Bracketed variables will appear as you named them. Enter CHANGEDUE for "Setting Name" and choose [Change Amount] from "Setting Value" drop down list.

As you noticed we created an extra action for storing "Change Due" value named as CHANGEDUE and executed that action before executing the print job. And we accessed CHANGEDUE value with {SETTING:CHANGEDUE} token.

You can store any value and print / display them with this technique. You can setup similar rules for displaying Cash, Credit Card amounts or if you created rules for opening cash drawer on payment received you can use same rule for displaying amounts too. Since we setup "Update Program Setting" action to work with variable values there is no need to setup additional actions for updating different values. You can use same action with other rules.

I hope you'll like this. Feel free to ask when you'll have questions.

I know some users will think lots of setup needed but understanding these settings will give you great flexibility. We'll create easy setup screens on further releases.

Thanks
« Last Edit: December 29, 2011, 09:41:11 am by emre »

emre

  • SambaPOS Developer
  • Samba Team
  • Hero Member
  • *****
  • Posts: 1564
Re: Pole/Customer Displays
« Reply #8 on: December 30, 2011, 06:36:01 pm »
This is what we achieved together. Pole display and cash drawer demo...
http://www.youtube.com/watch?v=W4A-DNoxKeM

Video is in Turkish but you can watch with English sub-titles. 
Happy new year..

JohnS

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 677
Re: Pole/Customer Displays
« Reply #9 on: January 01, 2012, 08:39:41 pm »
Great video. Well done Emre.
SambaPOS - POS'n the World, one Terminal at a time.

JohnS

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 677
Re: Pole/Customer Displays
« Reply #10 on: January 02, 2012, 12:57:05 am »
I have had great success with the pole display, and its working extremely well.
The pole display shows welcome text when a user logs in and between tickets, and it displays a bar closed message when a user has logged off.

I have found a little bug with [TenderedAmount] setting value - it returns the ticket total amount.

When running a Delivery department type, I am unable to get a welcome ACC NAME message to show up on the pole display - the rule only seems to trigger if you select a customer during an open ticket, but selecting a customer this way closes the ticket, so you have to reopen it to continue. Any ideas?

Also, is there a way to update the pole display when a modifier has been added to an item - the ticket total updates, but the pole display will not update the total until you select another item, or receive payment.
« Last Edit: January 02, 2012, 05:02:53 am by JohnSCS »
SambaPOS - POS'n the World, one Terminal at a time.

emre

  • SambaPOS Developer
  • Samba Team
  • Hero Member
  • *****
  • Posts: 1564
Re: Pole/Customer Displays
« Reply #11 on: January 02, 2012, 07:05:00 am »
Hello JohnSCS. These are great news.

1. [TenderedAmount] issue fixed.
2. On that case print job does not activate because there is no orders in ticket. I improved it by checking if a line template exists before rejecting PrintJob because there are no orders. So if you leave line template empty your printjob action will execute even if there are no orders in ticket.
3. With next release modifier selection will execute ticket total changed event and I added additional rule events for detecting modifier and portion selection.

You'll receive them with 2.76 release.. Thank you very much.

JohnS

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 677
Re: Pole/Customer Displays
« Reply #12 on: January 02, 2012, 11:48:04 pm »
1. Great
2. Awesome
3. Just had to change my rule from Line Added to Ticket to Ticket Total Changed - Pole Display now updates as expected - Works perfect.

Thank you so much for attending to this so quickly.
SambaPOS - POS'n the World, one Terminal at a time.

JohnS

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 677
Re: Pole/Customer Displays
« Reply #13 on: January 07, 2012, 07:27:01 pm »
Just adding some pictures of our pole display setup.

POS 002 - Section Closed - When user is logged off
POS 003 - Welcome - When terminal is idle
POS 004 - When a customer has been selected

To be continued
SambaPOS - POS'n the World, one Terminal at a time.

JohnS

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 677
Re: Pole/Customer Displays
« Reply #14 on: January 07, 2012, 07:37:24 pm »
POS 005 - Purchase an item
POS 006 - More items with running Total
POS 007 - Change screen - only when change is required

The displays we use are 4x20 VFD's. Unfortunately they are expensive and not that common.
2x20 displays work well and with some clever formatting can show almost as much detail as I have demonstrated.


Just thought of a Moto
POS'n the World - One Terminal at a time.
SambaPOS - POS'n the World, one Terminal at a time.