3 software integration recommendations, Software integration recommendations – HID Hi-O iCLASS Installation Guide User Manual
Page 9
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