Skip to main content

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)

Source distribution for posiflex-hidcd 1.0.0
File Size Uploaded
posiflex-hidcd-1.0.0.tar.gz 4.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for posiflex-hidcd 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page