Synel SY-7000 series, SY-7000 SDK User Manual

SY-7000 SDK
Manual
SYnel Industries LTD.
Manual 6/21/07. Document no. SY-7000SDK-222-01 Catalogue no. 650770
This model is compatible with Processor firmware version: Main Processor firmware version: V9.00x0 LCDg Processor firmware version: G22V001
SY-7000 SDK Manual
Table of Contents
Chapter 1 - Introduction..................................................................................... 5
1.1SY-7000 Capabilities ...................................................................................................... 5
1.1.1TA 7100, 7200 & 7500 Family Specification.......................................................... 5
1.1.1.1Memory............................................................................................................ 5
1.1.1.2Communications .............................................................................................. 5
1.1.1.3LCDs ................................................................................................................ 6
1.1.1.4Readers............................................................................................................. 6
1.1.1.5Rubber Keypad................................................................................................. 7
1.1.1.6 Power Requirements ...................................................................................... 7
1.1.2The Software Development Kit ............................................................................... 8
1.1.2.1Components ..................................................................................................... 8
1.1.3Developer Minimum Skill Set ................................................................................. 8
1.1.3.1Technical Specifications .................................................................................. 9
1.1.3.2Bottom connector panel ................................................................................. 10
Chapter 2 -Terminal Configuration Instructions........................................... 11
2.0.1Configuration Menu............................................................................................... 11
2.0.2Dates ..................................................................................................................... 12
2.0.2.1Set Date and Time ......................................................................................... 12
2.0.2.2Daylight Savings ........................................................................................... 12
2.0.3Communication ..................................................................................................... 12
2.0.3.1Wired ............................................................................................................. 12
2.0.3.2Wireless ......................................................................................................... 13
2.0.4Set Readers ........................................................................................................... 13
2.0.5Accessory Test ...................................................................................................... 13
2.0.6Clock Reset ........................................................................................................... 14
2.0.6.1Reset Clock ................................................................................................... 14
2.0.7Clock Info ............................................................................................................. 14
2.0.7.1Version .......................................................................................................... 14
2.0.7.2Wired Settings ............................................................................................... 14
2.0.8Configure Access .................................................................................................. 15
2.0.9Utilities .................................................................................................................. 15
2.0.9.1Telnet Utilities ............................................................................................... 15
Chapter 3 -Application Development Instructions ........................................16
3.1Toolchain Development Tools ...................................................................................... 16
3.1.1CygWin.................................................................................................................. 16
3.1.2Cross Compiler ...................................................................................................... 16
3.1.3FTP or TFTP Server .............................................................................................. 16
3.2Communication Between the Host and Terminal.......................................................... 16
3.2.1Setting up Communication by a Serial Port........................................................... 16
3.2.2Setting up Communication via Telnet ................................................................... 17
3
SY-7000 SDK Manual - DRAFT
Chapter 4 - Writing the SDK Application...................................................... 18
CLASS EVENTMANAGER .................................................................................. 19
virtual ~EventManager(); ....................................................................................19
void RegisterForEvent(Event eventId, EventCallback callback , void* userdata ); 19
void UnRegisterForEvent(Event eventId, EventCallback callback); ................... 20
int InstallNetworkServer ( const unsigned int port , const char* ifc = "eth0" ); ..21
int createLowResTimer (long timeoutSeconds); ................................................. 21
void killTimer (int timerId); ................................................................................21
static EventManager * GetInstance(); .................................................................. 21
CLASS LCDDISPLAY ...........................................................................................22
LCDDisplay (); ..................................................................................................... 22
virtual ~LCDDisplay (); ........................................................................................ 22
virtual void Write (int row, int col, const char * str); .......................................... 22
virtual void Clear (); .............................................................................................23
virtual void DisplayContrast (int contrast); ......................................................... 23
virtual void SetCursorState (CursorState state); ................................................... 23
CLASS SOUND .......................................................................................................24
void Sound (); .......................................................................................................24
virtual ~Sound(); ................................................................................................... 24
void Beep(int milliseconds, int toneHz); .............................................................. 24
CLASS LED .............................................................................................................25
void LED (); .......................................................................................................... 25
virtual ~LED(); .....................................................................................................25
void TurnOn(Light light); ..................................................................................... 25
CLASS RELAY .......................................................................................................26
void Relay (); ........................................................................................................ 26
virtual ~ Relay (); .................................................................................................. 26
void Set(int index, int state); ................................................................................. 26
4.1Demo Application.......................................................................................................... 27
Chapter 5 - Creating and Loading the Application File to the Terminal .... 34
5.1Creating a Binary File of the Application...................................................................... 34
5.2Loading the Application Binary file to the Terminal..................................................... 35
5.3Running The Application on Terminal Startup ............................................................. 36
Appendix A - Setting Up the PIK Environment ............................................ 38
Appendix B - Model Matrix............................................................................. 53
4
SY-7000 SDK Manual Introduction
Chapter 1 - Introduction
The SY-7000 series data collection terminal is introduced by Synel as a top of the line hardware terminal. The terminal has almost unlimited capabilities when partnered with Synel’s additional time and attendance software and hardware products. By using one or more of several different input methods, the SY-7000 series terminal records the time, date, employee number, and other collected data to be processed by a host computer. The SY-7000 series data terminal has the capability to accommodate auxiliary inputs and outputs used to control a wide variety of systems ranging from door access control to bells and alarms.
Each SY-7000 series terminal model type includes slightly different features. This guide is a compatible and reliable installation guide for each type of terminal, regardless of the model type.
SY-7000 is an Open architecture terminal which enables the user to create their own settings and uses for the terminal. The unit user defined capabilities are user-created using the Linux open source platform.
This SDK manual provides you with the information needed to create your own user defined system to collect and manage Time and Attendance data.
1.1 SY-7000 Capabilities
In an effort to broaden availability and functionality of customer use, Synel offers several different model types of the SY-7000 series data terminals. Each model type (7100, 7200, and 7500) differs slightly in features ranging from wireless communications capabilities to LCD interactive touch screen menus. Please refer to the Model matrix at the end of the book and the sales spec sheet for individual attributes.
1.1.1 TA 7100, 7200 & 7500 Family Specification
1.1.1.1Memory
TA 7100 & 7200
•8 MB SDRAM
16 MB Flash
TA 7500
•64 MB SDRAM
16 MB Flash
1.1.1.2Communications
•Ethernet
•Standard
• Support for 10/100 Mb networks
Poe - Power for the unit enters from the same cable as your Ethernet
Wireless
•RS-232
•RS-485
•Modem
• 1200 Kb – 28.8 Kb
5
IntroductionSY-7000 SDK Manual
•2 USB ports
• –Host and Device
• –Bar-code wands
• –Printers
• –Keyboards
2 PCMICA Slots
• –Additional memory
•–Wireless
•802.11b –WEP –eap-leap wireless security
1.1.1.3LCDs
TA 7100 & TA 7200
Large Character 4x20 backlit text display (6.5”)
TA 7500
8.0” Graphical color LCD touch screen
1.1.1.4Readers
FPU- Finger Print Unit
FPU-S (Capacitance) sensor
Template size 384 Bytes (reducible to 256 bytes)
Template capacity 9,000 at 4MB flash
Encryption 256 bit AES (fingerprint data protection)
Resolution 500 (dpi)
Image size 280 x 320 (pixel)
Bar Code and Key Entry
• Can have both bar code and magnetic on one reader
6
SY-7000 SDK Manual Introduction
Supports the following bar code formats: Code 39, Code 128, Interleaved 2 of 5, Industrial 2 of 5, Codabar, UPC-A, UPC-E, EAN-13, EAN-8, UPC/EAN 2 & 5 digit AddOn, Code 11, Code 93, MSI/ Plessey, Code 4, Code 5 and BC412
Internal Proximity Reader The Proximity reader receives input via a two wire Wiegand type logic level interface consisting of a pair of data lines Data0 and Data1. Data input via this interface is typically a small stream of from 26 to 36 bits representing a binary ID number that is broken into two or more fields in the software. Some custom adaptations of this interface use longer bit streams of up to 60 plus bits.
1.1.1.5Rubber Keypad
Numeric + 12 function keys + directional arrows
Customizable overlay
1.1.1.6 Power Requirements
DC Power Input (@ J15):
15 VDC nominal; -1% - +7% (1)
0.25 - 1.5 A @ 15 VDC (2)
3.75 - 22.5 Watts (2)
AC Power Module(3) Input:
7
IntroductionSY-7000 SDK Manual
90 - 264 VAC 47 - 63 Hz, single phase
0.5 A max. @ 90 VAC 5 - 23 Watts (2)
Power-over-Ethernet Input (via J4):
IEEE 802.3af compliant power sources only (4) 4 - 12.5 Watts (2)
A wider DC input range is permissible depending on model and options configured; consult the factory for details.
Actual input power and current vary depending on model and options configured.
Based on use of either of the following approved external AC to DC power modules:
Ault PW118RA1503F01 Sunny SYS1089-1515-W3
Recommended stand-alone PoE power injector module:
Ault PW130RB4800F01
Note: PW130RA modules are not 802.3af compliant.
You can view the SY-7000 series matrix in “Model Matrix” on page 44.
1.1.2 The Software Development Kit
1.1.2.1Components
The following components are included in the SY-7000 SDK kit.
The SY-7000 Terminal (contains standard application named SY-7000)
SY-7000 SDK disk (includes readme.txt file)
Cross Compiler – GCC Version 3.3.3
•Cables
• Crossover Cable
• DB9 Cable (In Cables)
SDK manual
Terminal installation manual
1.1.3 Developer Minimum Skill Set
In order to assure the most efficient use of time and resources during while building the project, it is important for developers to be proficient in at least the following minimum skill sets:
•C or C++
Familiar with Linux
Familiar with embedded systems
8
SY-7000 SDK Manual Introduction
1.1.3.1Technical Specifications
The heart of the Terminal is based on a MPC885 from Freescale Semiconductor.
It is specifically designed to enable working with for several communication types and is powerful enough to meet several future demands.
Operating System - standard open source embedded Linux Version 2.4.26.
9
IntroductionSY-7000 SDK Manual
1.1.3.2Bottom connector panel
10
SY-7000 SDK Manual Terminal Configuration Instructions
Chapter 2 -Terminal Configuration Instructions
The following section describes the way in which to initially configure the terminal, using the standard configuration of the factory default SY-7000 application.
Most of the configuration can be done using the standard Linux system commands via Telnet or Serial port, as explained in Communication Between the Host and Terminal on page 16.
2.0.1 Configuration Menu
The terminal is configured using the configuration menu.The configuration menu contains a variety of sub menus, all of which have their own distinct functions. The default keypad code for accessing the configuration menu is “00000”.
Below is a sitemap of the configuration menu (ver1.5 as of 03/06/2006):
Configuration
Dates
Set Date and Time
Daylight Savings
Communication
Wired
DHCP Manually Config
TCP\IP Address Gateway Address Subnet Mask Terminal ID
Wireless
SSID Security
IP Settings
DHCP Manually Config
TCP\IP Address Gateway Address Subnet Mask Terminal ID
Set Readers
N/A
Accessory Test
Wireless Security
WEP
64 Bit 128 Bit
N/A
Clock Reset
Reset Clock
Clock Info
11
Terminal Configuration InstructionsSY-7000 SDK Manual
Version
Application Version Release Version Root FS Version Kernal Version
Wired Settings
Wireless Settings
Config Access
Keypad
Utilities
Telnet
2.0.2 Dates
The date configuration menu allow the programming of the terminal date and time, as well as configuring the use of daylight savings.
2.0.2.1Set Date and Time
Once this option has been selected, the terminal will prompt for a date input. The date format is always (MMDDYYYY). Once the date has been entered, the terminal will prompt for time entry. The time format is always military time (HH:MM).
2.0.2.2Daylight Savings
When daylight savings is selected, the terminal will prompt for the use of daylight savings. The dates set for daylight savings are standard and can be changed.
2.0.3 Communication
The communication menu is where the terminal is configured for the different types of communication: Wired and Wireless.
2.0.3.1Wired
Wired communication indicates the presence of physical wires connecting the terminal to a computer. Currently the terminal only defaults to TCP/IP communication across a network. There are two options when selecting TCP/IP communication:
2.0.3.1.1DHCP (dynamic host configuration protocol)
Selecting DHCP will prompt the terminal to automatically select and configure its own network settings. These settings can later be verified under the Clock Info menu.
2.0.3.1.2Manually Config
The manual configuration menu allows users to configure the network settings according to their own specifications.
TCP/IP Address / Gateway Address / Subnet Mask
Using standard network format of 000.000.000.000, input an IP address. The arrow keys can be used to scroll between the numbers.
12
SY-7000 SDK Manual Terminal Configuration Instructions
Terminal ID
The terminal ID is set to identify the terminal in a LAN environment. The default is set to 1.
2.0.3.2Wireless
Wireless communication is done with a single or dual channel antenna pointed to a wireless access point. The wireless network must be configured with an IP address, gateway, subnet, and WEP key (if available). There are currently more additional menus when configuring the wireless.
2.0.3.2.1SSID (service set identifier)
After selecting SSID from the menu, the terminal will prompt for SSID entry. The SSID can be up to 20 characters long.
2.0.3.2.2Security
The SY-7000 series terminals come with the option of configuring security via WEP key solutions.
None
This will disable any wireless security.
WEP (wired equivalent privacy)
Selecting WEP for security will prompt for the entry of either a 64 bit, or 128 bit WEP key. After selecting the WEP key type, the terminal will prompt for entry.
2.0.3.2.3IP Settings
The IP settings menu leads to the configuration of the network settings for the wireless card.
2.0.3.2.4DHCP (dynamic host configuration protocol)
Selecting DHCP will prompt the terminal to automatically select and configure its own network settings. These settings can later be verified under the Clock Info menu.
2.0.3.2.5Manually Config
The manual configuration menu allows users to configure the network settings according to their own specifications.
TCP/IP Address / Gateway Address / Subnet Mask
Using standard network format of 000.000.000.000, input an IP address. The arrow keys can be used to scroll between the numbers.
Terminal ID
The terminal ID is set to identify the terminal in a LAN environment. The default is set to 1.
2.0.4 Set Readers
This feature is reserved for future application.
2.0.5 Accessory Test
This feature is reserved for future application.
13
Terminal Configuration InstructionsSY-7000 SDK Manual
2.0.6 Clock Reset
Accessing the clock reset menu gives the option of resetting the terminal.
Warning! Resetting the terminal will erase all memory from the clock
defaults. This includes both the clock configuration, as well as the transactions.
, and restore it to the factory
2.0.6.1Reset Clock
The terminal will ask yes or no on the confirmation of being reset. After being reset, the terminal will reboot and will display the default idle prompt.
2.0.7 Clock Info
The clock information menu can be accessed to display additional information about the terminal.
2.0.7.1Version
This menu displays the current version of the terminal.
Application Version (1.5 as of 03/06/2006) Release Version (FlashFS: 2.1.5 as of 02/02/2006) Root FS Version (RootFS: 2.0.3 as of 02/02/2006) Kernel Version (Linux version 2.4.26-NE7200, Gcc version 3.3.3)
2.0.7.2Wired Settings
The wired settings menu re-displays the information that was configured when setting up the communication. If DHCP was selected, this menu shows what settings the terminal automatically obtained.
2.0.7.2.1IP Settings
This menu displays the IP address settings in the current format:
IP=000.000.000.000 NM=000.000.000.000 Gateway=000.000.000
2.0.7.2.2Network Status
The network status displays the live network status of transmitting data, which includes errors. The arrow keys can be used to browse horizontally, should the information be scrolled off of the screen. The format is:
RX bytes: (byte value) Errors: (byte value)
TX bytes: (byte value) Errors: (byte value)
2.0.7.2.3Mac Address
The TCP/IP MAC address which applies to the Ethernet wired network, displayed in the following format:
00:00:00:00:00:00
2.0.7.2.4Wireless Settings
The wireless settings menu re-displays the information that was configured when setting up the communication. If DHCP was selected during the set up process, that information will be displayed here.
14
SY-7000 SDK Manual Terminal Configuration Instructions
2.0.7.2.5IP Settings
This menu displays the wireless IP address settings in the current format: IP=000.000.000.000
NM=000.000.000.000 Gateway=000.000.000.000
2.0.7.2.6Wireless Status
The wireless status menu displays a live network of transmitting data, including errors over the wireless network in the following format:
RX bytes: (bytes) Errors: (bytes) TX bytes: (bytes) Errors: (bytes) Link=% Signal=(Xlnt) Noise=-0dBm (These options display the link and signal strength, as well as wireless noise. The signal is displayed as “Xlnt” as it approaches closer to zero, which becomes a better connection.)
2.0.7.2.7Wireless Mac Address
The wireless MAC address which applies to the wireless device network, displayed in the following format:
00:00:00:00:00:00
2.0.8 Configure Access
The access configuration menu allows the terminal to be configured for what acceptable methods are available for accessing the clock configuration menu. Note that if the badge length changes, so must the access configuration. The default for entering the configuration menu is “00000”. If the badge length is changed, the configuration code will change by either adding or removing a subsequent character.
Warning! If the access code is changed and later forgotten,
nal will need to be sent back to the factory for repair, and have the original programming restored. When selecting an access code, select something and write it down to prevent being locked out from the terminal.
Example:
Default code is “00000”
Code is changed to “12345”
Badge length is changed to 6 (in software)
By default, code is changed to “123450”
there is no way to retrieve it. The termi-
2.0.9 Utilities
This menu displays a variety of utilities available with the TA7000 series terminals.
2.0.9.1Telnet Utilities
The Telnet utilities are used for enabling or disabling Telnet.
2.0.9.1.1Enable Telnet
Enables the Telnet utility.
2.0.9.1.2Disable Telnet
Disables the Telnet utility.
15
Application Development InstructionsSY-7000 SDK Manual
Chapter 3 -Application Development Instructions
You can add almost unlimited capabilities to the SY-7000 terminal by writing your own terminal applications. The following section describes the way in which to develop your own customized application for the SY-7000 terminal.
3.1 Toolchain Development Tools
This sections lists the tools needed to compile and link the application used for developing an application for SY-7000.
3.1.1 CygWin
CygWin is a collection of free software tools which allow various versions of Mcrosoft Windows to act similarly to a Unix system. This aims mainly at porting software that runs on POSIX systems (such as Linux, BSD, and Unix systems) to run on Windows. For information about how to download and use Cygwin see Setting Up the PIK Environment on page 38.
3.1.2 Cross Compiler
Cross Compiler is provided in the SY-7000 SDK kit in a tar file called tools.2006-12-15.tar.gz).
Step 1. Extract the cross compiler by opening the CygWin window and typing “cd /” and a command
such as the one below, for a file residing in the C:/CrossCompiler directory.
tar –xzf /cygdrive/c/CrosCompiler/ tools.2006-12-15.tar.gz
Note: If your TAR file resides in a location different than C:/CrossCompiler edit the command to
match the file location.
Step 2. After extracting the Cross Compiler, add the path C:\cygwin\tools\bin to the Path variable
environment.
3.1.3 FTP or TFTP Server
An FTP or TFTP server is needed to upload the application from the host to the terminal. The FTP or TFTP server must be available in the host and must indicate the directory where the application exists.
3.2 Communication Between the Host and Terminal
Communication between host and terminal can be done either by Serial port or via Telnet. The communication in both ways is described below.
3.2.1 Setting up Communication by a Serial Port
Step 3. Physically connect between the host and the terminal with a Serial port cable. Step 4. Open a communication program such as HyperTerminal (in Windows XP open via Start/
Programs/ Accessories/ HyperTerminal)
Step 5. Enter the following details to set the connection:
Bits per second = 38400 (baud rate) Data bits = 8 Parity = None
16
Application Development InstructionsSY-7000 SDK Manual
Stop bits = 1 Flow control = None.
Step 6. When the communication is defined, select File/ Open.
The terminal comes up and the terminal data is displayed. The last line which appears should resemble: “192.168.108.2 login:” (the IP may vary according
to what is entered in the UBoot) Step 7. After this last line appears type “root” and press ENTER. Step 8. When a # symbol appears on the command line type the command “cd /” to go to the file system
root directory.
From the root directory you can drill down to the Terminal directory (under Home/Terminal)
where you can upload your application to the terminal.
3.2.2 Setting up Communication via Telnet
PREREQUISIT - Before connecting to the terminal via Telnet you need to set a legal IP in the local network. See Chapter 2 - Terminal Configuration Instructions for information on how to set an IP for the terminal.
The recommended IP for the terminal is: 10.0.0.2
Step 1. Physically connect between the host and the terminal to a network connection cable. Step 2. Open the Command prompt in the host (by opening Start/ Run, typing “cmd” and press
ENTER).
Step 3. Type the command: “telnet 10.0.0.2” and press ENTER.
The terminal comes up and the terminal data is displayed.
The last line which appears should resemble: “192.168.108.2 login:” (the IP may vary according
to what is entered in the UBoot) Step 4. After this last line appears type “root” and press ENTER. Step 5. When a # symbol appears on the command line type the command “cd /” to go to the file system
root directory.
From the root directory you can drill down to the Terminal directory (under Home/Terminal)
where you can upload your application to the terminal.
17
Loading...
+ 37 hidden pages