Skip to main content

USB HID Cash Drawer Interface

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

posiflex-hidcd-1.0.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

posiflex_hidcd-1.0.0-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file posiflex-hidcd-1.0.0.tar.gz.

File metadata

  • Download URL: posiflex-hidcd-1.0.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for posiflex-hidcd-1.0.0.tar.gz
Algorithm Hash digest
SHA256 eaaf0d5716414f93a618f6d80233ff6c0f14ef8212cb3313292c46a3c5f06424
MD5 0325f486b2c43916caa4f7ad075c8d8e
BLAKE2b-256 8eeb2d4465cbe0095e21bf996035d7bc893619e36a83c7bb01261815dda81bab

See more details on using hashes here.

File details

Details for the file posiflex_hidcd-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for posiflex_hidcd-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4b7acd3e7f9e810fd9a63b9b3aa677e5654fb30ed8e72328151c5d618c1fee9b
MD5 e6b6bdd8622dd4c3002440aaa3e4e915
BLAKE2b-256 e9ffccfdf70b538cce9d0e8f1edae92d2e1b376e3197905f427dcbcd4ba1da51

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page