Human Interface Devices

Slides:



Advertisements
Similar presentations
STRING AN EXAMPLE OF REFERENCE DATA TYPE. 2 Primitive Data Types  The eight Java primitive data types are:  byte  short  int  long  float  double.
Advertisements

TDPS Wireless v Enhancements E1 - Multi load E2 - Driver time scheduler.
The Operating System. What is an Operating System? The program that is loaded first and manages the hardware resources like main memory, backing storage.
SLAC asyn class, Day 1, August 26, 2010 Example asyn driver Modbus Mark Rivers, Marty Kraimer, Eric Norum University of Chicago Advanced Photon Source.
CANopen Introduction for C2000
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
Computer Systems Peripherals. What is a peripheral? A peripheral is a device which can be attached to a computer processor Peripherals can be internal.
BY VENUS BRIGHT Input Output. What is a input An input is something simple that connects into the computer. Such as the most common input is a keyboard.
Introduction to USB Development. USB Development Introduction Technical Overview USB in Embedded Systems Recent Developments Extensions to USB USB as.
Using the PSoC USB March 17, 2012 Lloyd Moore, President/Owner.
Landon Peterson and William Yancey. Definition Input Device - A variety of devices, which allow a human to machine interface. This allows the human to.
Wii mote interfacing. The product It is a wireless device, using standard Bluetooth technology to communicate The Wii Remote uses the standard Bluetooth.
Chapter 10 Advanced Programming, PLC Interfacing, and Troubleshooting
COMPUTER Structure Int 2 Unit 1 – Computer Systems St Kentigern’s Academy.
Motor drivers for asyn motor device support Mark Rivers GeoSoilEnviroCARS, Advanced Photon Source University of Chicago.
New IP Drivers using drvIpac Module Driver:CANopen Carrier Driver:GPFC drvIpac ?? CANopen Tip810 CAN Tip810 mv162GPFCatc40vipc310vipc616 Module driver.
No:Label of the ports 1Power port 2PS2 port (Mouse) 3PS2 port (keyboard) 4USB port 5Serial port (Modem) 6Parallel port (printer Port) 7VGA port (Monitor.
Background Music System -- Home Automation. Background Music System Features RF and IR remote control Multi source for music input Easy programme for.
1.3 The ZigBee application framework Jae Shin Lee.
Flowcode USB Pack USB Serial – Legacy RS232 COM Port Replacement
1. Presentation Agenda  Identify Java Card Technology  Identify Elements of Java Card applications  Communicating with a Java Card Applet  Java Card.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved. Chapter 1: Introduction to Computers and Programming.
What does LinkConnect do?
Chapter 1: Introduction to Computers and Programming
INFORMATION TECHNOLOGY
Computer Information Technology – Section 1-1
Pointers What is the data type of pointer variables?
Computer 1 JEOPARDY.
JavaIOC Overview and Update
Chapter 6: BIOS.
AT Commands Supports AT commands
I/O SYSTEMS MANAGEMENT Krishna Kumar Ahirwar ( )
How Computers Store Variables
PORTS Socket for external devices to connect to the system unit.
COMP541 Input Devices: Keyboards, Mice and Joysticks
CIP Modbus Object Read Example
Laboratorio per dottorandi 2017 Particle Accelerators Control System
DATA COMMUNICATION Lecture-20.
Andrew Johnson and Eric Norum AES Controls Group, Argonne
Module 5- Unit 2 Understanding Input Devices
Remote Control Rover CSC 460 Final Project Fall Jon & Michael.
DT80 range Modbus capability
Operating Systems (CS 340 D)
Advanced Photon Source
TMF1414 Introduction to Programming
Input/Output.
Computer Information Technology – Section 1-1
COMP541 Input Devices: Keyboards, Mice and Joysticks
1 Input-Output Organization Computer Organization Computer Architectures Lab Peripheral Devices Input-Output Interface Asynchronous Data Transfer Modes.
C_ITCO011/C_ITCO111 LECTURER: E.DONDO
asyn: An Interface Between EPICS Drivers and Clients
Chapter 8 Input/Output I/O basics Keyboard input Monitor output
Computer Architecture
Introduction to LabVIEW
Pulse Width Modulation (PWM)
USB- Universal Serial Bus
Java Finish command line guessing game, then….
Input Device Interrupt Latency of KVM on ARM using Passthrough
.Net Programming with C#
Welcome! Thank you for joining us. We’ll get started in a few minutes.
TEKNOLOGI MAKLUMAT DALAM PENDIDIKAN
Introduction to Computer Systems
Pololu DC Motor Controller
Input and Output Devices
Installing and Troubleshooting Hardware
EXPRESSIONS, PAUSES AND SOUNDS
Hardware Organization
Introduction to Linux Device Drivers
LEGO Education - Mindstorms EV3 - Computer/control center – The Brick
regDev Simple access to register based devices
Presentation transcript:

Human Interface Devices EPICS Support

What are Human Interface Devices? Mice Keyboards Presentation Remotes Joysticks Game Controllers Barcode Scanners Card Readers Variety of other devices

Human Interface Devices Set of interfaces to communicate with a given device Generally, one interface per capability (Mouse + Keyboard = 2 interfaces) Interfaces are described by a USB descriptor You can find this information with the ‘lsusb’ command

https://github.com/keenanlang/epics-usb HID EPICS Support https://github.com/keenanlang/epics-usb

HID EPICS Support Based on asynPortDriver from asyn EPICS module from Mark Rivers https://github.com/epics-modules/asyn Descriptor file → asyn parameters Handles communications with the device in the background. Updates parameters as data changes.

Current Uses APS Open House Demonstration Beamline Motor Control with Wireless Controller

HID Driver Every device will send data over their interfaces on a periodic basis Just a set of raw bytes Descriptor file defines how to interpret that data into asyn parameters Compares new data to old data and only updates changed data

Descriptor File One definition per line Example Parameter_Name [Indicies] -> Parameter_Type Example X_AXIS_VALUE [0,1] -> UInt16

Descriptor File Optionally, there are bit shifts and bit masks available for data that doesn’t align to specific bytes. Name [Index] >> Shift -> Type /0xMask TEN_BIT_DATA [0,1] -> UInt16 /0x03FF OFFSET_DATA [1,2] >> 2 -> UInt16 /0x03FF

Single-bit True/False Type Name Definition Asyn Type Int8 8-bit Integer asynInt32 UInt8 Unsigned 8-bit Integer Int16 16-bit Integer UInt16 Unsigned 16-bit Integer Int32 32-bit Integer Int8Array Array of 8-bit Integers asynInt8Array Int16Array Array of 16-bit Integers asynInt16Array Int32Array Array of 32-bit Integers asynInt32Array Float64 64-bit Floating Point asynFloat64 Float32Array 32-Bit Float Array asynFloat32Array Float64Array 64-Bit Float Array asynFloat64Array UInt32Digital 32-bit Bitmask Boolean Single-bit True/False String Character Array asynOctet

Driver Functions usbCreateDriver (portName, definitionFile) Loads the definitions file to create the driver usbConnectDevice (portName, interface, vendorID, productID, serial) Connects the driver to a given device, serial is optional, interface=0 connects to the first available interface usbShowIO (portName, on_off) Displays the bytes the device sends every period

Driver Functions usbSetFrequency (portName, pollFreq) Sets the polling frequency of the device for devices that have a constant connection. Many devices will only send information when an event happens. For those, leave this at 0.0 usbSetTimeout (portName, timeout) Sets the number of seconds before the device is considered to have timed out. Useful for devices that only send out event data. UsbSetDelay (portName, delay) Sets the amount of time between attempting to reconnect to a disconnected device.

Example