1. 機能
- Compatible with USB 1.1/2.0 HID standard
- Standard English USB keyboard simulation (with triggering support for up/down keys)
- Standard USB joystick simulation (6 axis, 32 buttons with triggering support)
- 55 digital inputs with pull-up resistors, freely mappable to virtual USB keyboard’s keys
- 55 software controlled digital outputs
- 7 analog inputs (12-bit) with adjustable low-pass filtering support
- Up to 26 encoder pair inputs (3 high-speed encoder inputs, 1 ultra high speed encoder input)
- Digital counters on specific digital input pins
- 3-axis 25 kHz or 8-axis 125 kHz highly customizable Pulse engine v2 with safety 5 kHz charge-pump output
- Two 8×8 matrix LED display support
- Up to 64 256-character long keyboard macro sequences
- Up to 16×8 matrix keyboard with triggered keys/alternate function support
- Two 8×8 matrix LED display support
- Up to 6 high-speed fully configurable PWM outputs support (25MHz PWM timer)
- HD44780-based character LCD support (up to 4×20 characters)
- PoExtBus support for adding up to 10 external shift registers
- PoNET devices support (48-key CNC keyboard mapped to matrix keyboard)
- Support for Connection signal output
- Fail-safe support in case of communication interruption
- Support for up to 10 sensors on I2C bus, up to 10 sensors on 1-wire bus and up to 7 analog sensors
- Communication compatible with PoKeys55 on application layer (data packet structure)
- Intuitive and user-friendly software
- Third-party support via communication DLL library and extensive protocol specification document that allows porting to other systems
2. Device hardware description
[ I = input, O = output, I/O input or output, SF = special function ]
3. use DLL follow
1). usb device open
2). usb device connect
3). read input / write output
4). usb device disconnect
5). usb device close
4. DLL function
4.1 usb device open
// device open
POKEY56UDLL DeviceOpen(int nID);
// nID: switch ID for usb device, value:0-15
4.2 usb device open
// device close
POKEY56UDLL DeviceClose(int nID);
// nID: switch ID for usb device, value:0-15
4.3 get usb device counter
// get device number
POKEY56UDLL GetDeviceNumber(int nID);
// nID: switch ID for usb device, value:0-15
4.3 connect to usb device
// connect to device
POKEY56UDLL ConnectDevice(int nID);
// nID: switch ID for usb device, value:0-15
4.4 disconnect from usb device
// Disconnect from device
POKEY56UDLL DisconnectDevice(int nID);
// nID: switch ID for usb device, value:0-15
4.5 disconnect from usb device
// Disconnect from device
POKEY56UDLL DisconnectDevice(int nID);
// nID: switch ID for usb device, value:0-15
4.5 read input pin value(bit)
// Input Bit from device
POKEY56UDLL InputBit(int nID, int nBit, BYTE* byValue);
// nID: switch ID for usb device, value:0-15
// nBit: input pin number
// byValue: pin status(0:ON 1:OFF)
4.5 read input pin group value(byte)
// Input byte from device
POKEY56UDLL InputByte(int nID, int nNo, BYTE* byValue);
// nID: switch ID for usb device, value:0-15
// nNo: pin group number(0:0~7bit, 1:8~15bit, ... , 5:40~47bit, 6:48~55bit)
// byValue: pin group status(0:ON 1:OFF)
4.6 write output pin value(bit)
// OutPut Bit to device
POKEY56UDLL OutputBit(int nID, int nBit, BYTE byValue);
// nID: switch ID for usb device, value:0-15
// nBit: input pin number
// byValue: pin status(0:ON 1:OFF)
4.7 write output pin group value(byte)
// OutPut byte from device
POKEY56UDLL OutputByte(int nID,int nNo, BYTE byValue);
// nID: switch ID for usb device, value:0-15
// nNo: pin group number(0:0~7bit, 1:8~15bit, ... , 5:40~47bit, 6:48~55bit)
// byValue: pin group status(0:ON 1:OFF)
4.8 get all pins config
// Get pin type
POKEY56UDLL GetPinConfig(int nID, BYTE* byValue);
// nID: switch ID for usb device, value:0-15
// byValue: all pin config value
4.9 set all pins config
// set pin type
POKEY56UDLL SetPinConfig(int nID, BYTE* byValue);
// nID: switch ID for usb device, value:0-15
// byValue: all pin config value
4.10 get pin analog value
// Read Analog from device
POKEY56UDLL GetAnalog(int nID, int nBit, int* nValue);
// nID: switch ID for usb device, value:0-15
// nBit: input pin number
// nValue: analog value
4.11 set pin group analog value
// Read Analog from device
POKEY56UDLL GetAnalogEx(int nID, int nBit, int* nValue, int nCh);
// nID: switch ID for usb device, value:0-15
// nBit: pin group number(0:0~7bit, 1:8~15bit, ... , 5:40~47bit, 6:48~55bit)
// nValue: analog value
// nCh: max chaannel counter
5. 注意点
- DLLを使う前、必ず一回PIN初期化設定を行います
- 「connect usb device」前、すべてPin状態は入力になる
- pin値:ON=0, OFF=1
- COMで使うから、実行前、一回Registします
- 動作しない場合時、「実行ファイルを右クリック、管理者者として実行する。