posiflex-hidcd
Example interface for Posiflex USB HID Cash Drawer
Usage
from hidcd import HidCd
cd = HidCd(7) # use cash drawer with id=7
if cd.closed():
cd.open()
Requirements
On linux, read/write access to the hid device file may be required. See example udev rule 72-posiflex-hid.rules for a possible approach.
Device Info
Tested with Posiflex CR-4115G2/CR-4000 Series:
ID 0d3a:020X Posiflex Technologies, Inc. Series 3xxx Cash Drawer
HID Descriptor:
0x06, 0xA0, 0xFF, // Usage Page (Vendor Defined 0xFFA0)
0x09, 0x01, // Usage (0x01)
0xA1, 0x01, // Collection (Application)
0x09, 0x02, // Usage (0x02)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0x00, // Logical Maximum (255)
0x75, 0x08, // Report Size (8)
0x95, 0x78, // Report Count (120)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x09, 0x03, // Usage (0x03)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0x00, // Logical Maximum (255)
0x75, 0x08, // Report Size (8)
0x95, 0x78, // Report Count (120)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
Protocol
Command (120 bytes, host to device):
[CDNUM] [COMMAND] 0x00 ... 0x00
- [CDNUM] is the drawer number (0-7)
- [COMMAND] is one of:
- CDNUM: Open drawer
- CDNUM+1: Drawer status
Status (120 bytes, device to host):
[STATUS] 0x?? ... 0x??
- STATUS is (CDNUM<<4)|CLOSED:
- CLOSED==0: Drawer is open
- CLOSED==1: Drawer is closed
Notes
- Open command is the drawer number
- Status command is drawer number plus one
- Command D0 returns garbage bytes from cash drawer
- Commands C0 and E0 do not appear to function
- Command F0 will set device into ISP (bootloader) mode
If cash drawer is in ISP (bootloader) mode, it will report a USB product ID of 0x0c23:
ID 0d3a:0c23 Posiflex Technologies, Inc. USB MSR BL V200
In this case, the Posiflex firmware programming util (available from manufacturer tech support) can be used to revert the device to HID mode and restore function. The tool may also be used to convert the device to "Virtual Com Port" mode which may be more convenient.
Metadata
Release files for posiflex-hidcd 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| posiflex-hidcd-1.0.0.tar.gz | 4.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| posiflex_hidcd-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.4 kB
Release files / posiflex-hidcd-1.0.0.tar.gz
| Download URL | posiflex-hidcd-1.0.0.tar.gz |
|---|---|
| Size | 4.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eaaf0d5716414f93a618f6d80233ff6c0f14ef8212cb3313292c46a3c5f06424
|
|
BLAKE2b-256 checksum How to use checksums |
8eeb2d4465cbe0095e21bf996035d7bc893619e36a83c7bb01261815dda81bab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.2
|
Release files / posiflex_hidcd-1.0.0-py3-none-any.whl
| Download URL | posiflex_hidcd-1.0.0-py3-none-any.whl |
|---|---|
| Size | 4.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4b7acd3e7f9e810fd9a63b9b3aa677e5654fb30ed8e72328151c5d618c1fee9b
|
|
BLAKE2b-256 checksum How to use checksums |
e9ffccfdf70b538cce9d0e8f1edae92d2e1b376e3197905f427dcbcd4ba1da51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.2
|