beautypg.com

3 software integration recommendations, Software integration recommendations – HID Hi-O iCLASS Installation Guide User Manual

Page 9

background image

iCLASS OEM75 Integration Guide, 3141-907, Rev. B.0

January 2014

Page 9 of 49

HID GLOBAL CONFIDENTIAL AND/OR PROPRIETARY INFORMATION. This document contains confidential and/or proprietary

information, which may not be duplicated, published, disseminated or disclosed, or used for any purpose, without the written

consent of HID Global Corporation. If you are an unintended recipient of this information or are unwilling to accept the above

restrictions, please immediately return this document to HID Global Corporation, 15370 Barranca Pkwy, Irvine, CA 92618-3106.

3 Software Integration Recommendations

The following section details recommended software operational interfacing. The reader of this

guide should use this information in conjunction with the OEM75 Interface Protocol Manual.

Previously it has been shown how the OEM75 reader module interacts with the processor in the

OEM75 Development Kit.
This discourse applies to a Host based application communicating/controlling/querying the OEM75

based reader firmware. The explanation of the operation is independent of type of hardware used to

communicate with the OEM75. This information applies whether a UART, SPI or I2C serial

connection is used. A user application must first update the data structure Application Protocol Data

Unit APDB
Consider initially the transmission of a command to the OEM75 from a host. The state machine

representation indicates the state of the task, the event that transitions the task is indicated above

the dotted line and the action taken is indicated below the dotted line in the figure below.

When the host application has properly initialized an APDU, it raises the event _send(APDU). This

event triggers a call to make_pkt(APDU) which encapsulates the control block into a serial packet

and then calls _serial_send(_packet) which places the _packet on the serial output lines. The state

machine then reverts back to a “Wait for call from above” state.

When the OEM75 recognizes the receipt of a packet by means of the event _recv(_packet), it

makes a call to _extract(_packet, APDU) in order to extract the APDU from the packet and then call

_deliver_data(APDU) which passes the APDU up to the higher layers for evaluation. The state

machine returns to a state of “Wait for call from below”.
The above state machines represent the transmission of a command from the host to the reader at

its most simplistic level. The operations also assume a perfect world in which no transmission line

bit corruption occurs. In actuality the state machines must be a bit more complicated than initially