未分類

PoKeys56U開発資料まとめ

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します
  • 動作しない場合時、「実行ファイルを右クリック、管理者者として実行する。

コメントを残す