This is a general question about if and how you can configure a point of sale peripheral to work in pos4.net (Microsoft's point of sale for .net framework). To briefly exclaim, it isn't quite clear to me, if and how you can self configure hardware without special drivers offered by the vendor in question.
To give some context about my question. I'm researching a couple of peripherals (scanners to be exact) that I'll need to interface with c# code. I'm relatively new to this, but from my understanding, on the surface, pos4.net
appears to be a .net flavor implementation of the upos specification, an abstraction layer to simplify compatibility.
Similarly, there is jpos
if people want to interface from java, and opos
seems to be a legacy standard. What actually confuses me, is there are a couple of lesser known brand scanners (like NADAMOO) and their compatibility isn't that opaque to me.
From my own experience before the PosExplorer
recognized a HoneyWell scanner and Epson Printer they had to be configured and had software installed provided by the respective vendors. This works well, however, these lesser-known brands, don't appear to have a website nor downloadable drivers and it genuinely puzzles if they can be interfaced from.
The scanner I want to use only states it can be configured with virtual com, or act as a keyboard using a USB plug and play driver. But how can you configure the scanner to be used from PosExplorer
? From bits and pieces I read, it appears pos.net requires a service object
or opos driver
. The former appears to be just some xml in a file?
So if the vendor doesn't provide any installable software/driver, can I support the peripherals by manually creating the xml or are there more required than just this.
<ServiceObject Type="Scanner" Name="HoneywellScannerSO">
<Device HardwarePath="COM1"></Device>
<Device HardwarePath="" HardwareId=""></Device>
<Device HardwarePath="COM6"></Device>
<Device HardwarePath="COM5"></Device>
<Device HardwarePath="COM7"><LogicalName Name="genisis" /></Device>
<Device HardwarePath="COM8"><LogicalName Name="Scanner1234" /></Device>
<Device HardwarePath="COM10"></Device>
<Device HardwarePath="COM11"></Device>
<Device HardwarePath="LPT1"></Device>
</ServiceObject>
The XML for a com based scanner doesn't look that daunting. But I'm not sure that is the right way, and if there is anything more to it? And I'm also curious how this would extend to more complicated hardware, how would you even know what XML to construct, what properties, etc.
Can somebody explain how people are doing this?