Portable Data Terminal
PT-20 / PT-20B
Programming Guide
Version: 1.04A
Copyright 2008 by ARGOX Information Co., Ltd.
http://www.argox.com
Preface
To satisfy the users customized needs, the PT-20 provide users to generate programs for their
actual demands. This allows users to collect data, execute function expression and store the
processed data with the application programs designed by their own.
Developers can use ARM Assembly or C code to create the program flow. And developers can
also link standard ANSI C function library to meet the demands through executing the
functions of input, output, expression and storage using the functions provided by PT-20.
Later in this manual, youll learn how to write, compile and link program, and also how to
download renewed codes and test functions via simulation. Finally, this manual will also
conclude the function illustration of PT-20 for your reference.
Table of Contents
Program Developing ........................................................................................3
Development Environment .......................................................................3
1.1
SDK Directory......................................................................3
1.2
Development Tool Kit ..........................................................5
Function Library ........................................................................................8
Standard Function Library.........................................................................9
How to Build Your Program..................................................................... 11
1.3
Edit Program: .................................................................... 11
1.4
Under RealView: ............................................................... 11
1.5
Update Firmware:..............................................................12
1.6
Development Notice: .........................................................12
Upgrade Application................................................................................13
1.7
System Requirement:........................................................13
1.8
Upgrade Procedure: ..........................................................13
1.9
Execute User Program: .....................................................14
Utility & Others........................................................................................15
1.10
AID MAKER.......................................................................15
1.11
Scanner FW Upgrade........................................................15
1.12
Font ...................................................................................15
1.13
ScanSetting .......................................................................15
SDK Library ...................................................................................................16
SDK Functions list ..................................................................................16
Reader ....................................................................................................23
Buzzer ....................................................................................................27
Calender .................................................................................................29
Bluetooth(Only for PT-20B).....................................................................31
File Manipulation.....................................................................................36
DBMS .....................................................................................................53
LED.........................................................................................................62
Keypad....................................................................................................63
LCD ........................................................................................................72
UserFont .................................................................................................79
TextBlock ................................................................................................80
Communication Ports .............................................................................84
PT-20 Programming Guide
Remote ...................................................................................................89
System....................................................................................................92
Memory...................................................................................................95
Vibrate ....................................................................................................97
Other.......................................................................................................98
Simulator (Only for PC Simulator)...........................................................99
Data Conversion ...................................................................................100
APPENDIX 1 ............................................................................................102
Scan Command Table...........................................................................102
PT-20 Programming Guide
Program Developing
Development Environment
1.1 SDK Directory
Folder Structure:
When open the SDK folder in the CD provided with the PT-20, it will show the structure
as the following:
Functions in SDK folder description:
You have to Install RealView 2.2 in your computer.
PT20-SDK.mcp is a RealView Developer Suite project file, developer need to set
PT20-SDK.mcp as RealViews project file.
AP.bin is the binary file ,compiler by RealView 2.2. You can download the binary file
by PT-FileManager
Source folder is used to store application files and the PT-20 function library used in
the programs.
Library folder is used to store PT20Library.a, Startup.s, and other *.inc files for
compiler, dont delete this folder.
Others folder is for later use. Dont care this folder.
PT20-SDK_Data folder is used to store object files.
Release folder is used to store compiler information.
PT-20 Programming Guide
Adding Source File:
All user application program source files has to be placed under Source folder, and
register needed files name in the project file of PT20-SDK.mcp before proceeding
with compiling and linking process.
PT-20 Programming Guide
1.2 Development Tool Kit
The Development Tool Kit is available from the manufacturer or the suppliers. After
installing the Development Tool Kit, run the CodeWarrior for RVDS as figure:
In RealView CodeWarrior, you can open the RealView project PT20-SDK.mcp by double
click as figure:
After finish application code development, you can compile and link application code as
figure:
PT-20 Programming Guide
Then, turn off PT-20, and press 1+3+0 keys, when press these keys, turn on PT-20, and
you will go into Supervisor Menu
Input password 00000
->Communication
->AP Install
. Then connect the Cradle to the PC and wait for PT-FileManager
communication.
Execute PT-FileManager and select Tool\F/W Update
PT-20 Programming Guide
Select the Binary file (AP.bin)
and
complete the firmware update.
PT-20 Programming Guide
Function Library
PT-20 Function Library supports user application program to perform the data
collection jobs. PT-20 Function Library provides variety of services, and
accomplishes special functions according to specific demands.
When using the PT-20 Function Library, please add the import command (#include
SDK.h) into the user program file (*.c) and the function will be imported. In this case,
the PT-20 Function Library file PT20Library.a is needed.
The PT-20 Function Library file PT20Library.a is updated occasionally. For most
update version, please ask helps from your vendor or the manufacturer.
PT-20 Function Library file PT20Library.a is needed during compiling and linking for
generating AP.bin.
The update library release is SDK.h. Please refer SDK Library section.
PT-20 Programming Guide
Standard Function Library
The user application program in the data collector can perform the tasks to combine
standard C language function library. The function library is enclosed in the
developing environment (RealView Developer Suite). After set up the developing
environment, you can find the include head file of standard C language function
library in the directory \\ARM\RVCT\Data\2.2\349\include\windows. The following
are the available include head file list in standard C language function library:
<assert.h>
__assert ;
<ctype.h>
isalnum; isalpha; iscntrl; isdigit; isgraph; islower; ispr; ispunct;
isspace; isupper; isxdigit; tolower; toupper;
<locale.h>
setlocale; localeconv;
<math.h>
acos; asin; atan; atan2; cos; sin; tan; cosh;
sinh; tanh; exp; frexp; ldexp; log; log10; modf;
pow; sqrt; ceil; fabs;__d_abs; floor; fmod;
<setjmp.h>
setjmp; longjmp;
<signal.h>
signal; raise;
<stdio.h>
sprintf; sscanf;
<stdlib.h>
atof; atoi; long atol; strtod; long strtol; strtoul; rand; srand;
_ANSI_rand; _ANSI_srand; abort; atexit; exit; getenv; system; bsearch;
qsort; abs; long labs;
<string.h>
strcpy; strncpy; strcat; strncat; memcmp; strcmp; strncmp; strcoll; strxfrm; strstr;
memset; strlen;
If you need to use standard C language functions in the user program, please add
#include <header file name> in the top of the file to import the correlated include
head files. See following example:
#include <stdio.h>
PT-20 Programming Guide
#include <stdlib.h>
The statements listed above will make Compiler and Linker to import all the
correlated functions to generate AP.bin file.
PT-20 Programming Guide
10
How to Build Your Program
1.3 Edit Program:
Developers may use the Application.c file under Source folder in the PT20-SDK
Directory as the starting file. And you can use void Application_Main(void) as the
start point to edit the program. And also you can freely create a new source file to
proceed structural development.
For regulations and procedures in the developing procedures, please refer to the
Development Notice
1.4 Under RealView:
Add or Delete Files:
When adding or deleting the source files, you can do the adding and removing
directly under the RealView Developer Suite. The files will be displayed
both in Debug and Release file list.
Compile, Link and Create:
If you are not familiar with RealView environment, The default project
PT20-SDK.mcp in \\PT20-SDK is a good starting point to develop new
project. User can edit, translate, link, and produce the source file under it.
These procedures should to use the Release version to be the last
requirement. The steps of operation are listed below (Figure 1), Choose files
(# 1) and click make bin file (#2) in order, the program compilation will be
started. The compiled bin file will be saved in the folder \\PT20-SDK\. The file
name is AP.bin. At the moment, the file can be downloaded into PT-20 via
Argo Link for execution.
PT-20 Programming Guide
11
(Figure 1)
1.5 Update Firmware:
Please refer to the Upgrade Application section.
1.6 Development Notice:
void Application_Main(void) is the entry program of Application.c instead of usual
main.c.
Maximum User Task Steak: 12K bytes
Maximum global area: 100K bytes.
Memory allocation: 192K bytes
Maximum capacity of the Binary file (AP.bin): User can define size by BIOS Setting.
System storage:
Drive C RAM memory for dynamic access.
Drive D Non-violate flash memory, It is strongly recommend to avoid rapidly
read/write for better flash memory life time.
The developer can exchange files with PC using the communication tool Argolink.
PT-20 Programming Guide
12
Upgrade Application
1.7 System Requirement:
Software: Argolink
Hardware: PT-20 and PC.
Firmware: Binary file generated by RealView compiler (AP.bin)
1.8 Upgrade Procedure:
Place the Binary file (AP.bin) under \PT20-SDK.
When reset PT-20, press combine key 1+3+0+PW+reset any time or press
combine key 1+3+0+PW in power off to into Supervisor Menu.
And input password 00000
PT-20 Programming Guide
->Communication
->AP
13
Install
. Then connect the Cradle to the PC and wait for
PTFileManager communication.
Execute PTFileManager and select Tool\F/W Update
Select the Binary file (AP.bin)
and complete the firmware update.
1.9 Execute User Program:
Restart PT-20.
PT-20 Programming Guide
14
Utility & Others
1.10 AID MAKER
Download AID.bin to PT-20 by PTFileManager(Application download)
This application will ask the username and password, each of these word for 4~8
characters.
After set, you can check the AID by Check_AID function in your SDK application.
1.11 Scanner FW Upgrade
When scanner cannot work, please use these two files to upgrade scanner fw.
Download bootall.bin and SCN80ALL.bin to C:\Data in PT-20/PT20B by
PTFileManager(Application download)
After download, go to supervirsor menu, select Barcode => Scanner Fw Upgrade
to upgrade/reset your scanner firmware.
1.12 Font
This utility SDK Tool in Font folder can do somethings as follows
When you need a BMP picture to display, you can make a BMP text by our SDK
Tool. This text file is your BMP file image array, you can copy this array in your code
and compiler that.
When you need a font array in your source code, you can make the font array by
SDK Tool to make font text.
When you need a font file for your application, you can make the font file by SDK
Tool, the font generator can help you to make a font file.
1.13 ScanSetting
This utility ScanSetting can help you to set scanner setting faster. After you make a
scanner setting file, you have to save the file in PT-20, and use SDK function
ScannerSetFromFile to set your scanner setting.
PT-20 Programming Guide
15
SDK Library
SDK Functions list
Function
Description
Reader
InitScanner1
Initialize respective scanner port.
Decode
Perform barcode decoding.
HaltScanner1
Stop the scanner port from operating.
TriggerStatus
To check the scan key status.
Scanner_Reset
Set scanner setting to default.
Scanner_Config_Start
To start scanner setting procedure.
Scanner_Config_End
To end scanner setting procedure.
Scan_SendCommand
Send scanner command to change scanner status.
Scan_QueryStatus
Query the scanner current setting.
ScannerSetFromFile
Set scanner setting by scanner setting file. This file is made
by utility ScanSetting.
Scanner_Version
Query the scan module version.
Buzzer
beeper_status
To see whether a beeper sequence is under going or not.
off_beeper
Terminate beeper sequence.
on_beeper
Assign a beeper sequence to instruct beeper action.
SetBuzzerVol
Set the buzzer volume.
Calender
DayOfWeek
Get the day of the week information.
get_time
Get current date and time.
set_time
Set new date and time to the calendar chip.
Bluetooth(Only for PT-20B)
BT_Start
Bluetooth module power enable.
BT_Stop
Bluetooth module power disable.
BT_Open
Bluetooth connect.
BT_Close
Bluetooth disconnect.
BT_Read
Read characters from Bluetooth module.
BT_Write
Write characters to Bluetooth module.
BT_GetLocalInfo
Get Bluetooth information.
BT_SetLocalSet
Set Bluetooth information.
PT-20 Programming Guide
16
BT_Inquiry
Inquiry other Bluetooth module for PT-20B to connect.
File Manipulation
__access
Check for file existence.
append
Write a specified number of bytes to bottom (end-of-file
position) of a DAT file.
appendln
Write a specified number of bytes to bottom (end-of-file
position) of a DAT file.
chsize
Extends or truncates a DAT file.
close
Close a DAT file.
delete_top
Remove a specified number of bytes from top
beginning-of-file position) of a DAT file.
delete_topln
Remove a null terminated character string from the top
(beginning-of-file position) of a DAT file.
eof
Check if file pointer of a DAT file reaches end of file.
filelength
Get file length information of a DAT file.
filelist
Get file directory information.
lseek
Move file pointer of a DAT file to a new position.
open
Open a DAT file and get the file handle of the file for further
processing.
read
Read a specified number of bytes from a DAT file.
read_error_code
Get the value of the global variable fErrorCode.
readln
Read a line terminated by a null character \0 from a DAT
file.
_remove
Delete file.
_rename
Change file name of an existing file.
tell
Get file pointer position of a DAT file.
write
Write a specified number of bytes to a DAT file.
writeln
Write a line terminated by a null character (\0) to a DAT file.
The null character is also written to the file. After writing in,
file position will update.
DiskC_format
Format disk C.
DiskD_format
Format disk D.
DiskC_totalsize
Checking the total space in disk C.
DiskD_totalsize
Checking the total space in disk D.
DiskC_usedsize
Checking the used space in disk C.
DiskD_usedsize
Checking the used space in disk D.
DiskC_freesize
Checking the free space in disk C.
DiskD_freesize
Checking the free space in disk D.
PT-20 Programming Guide
17
getDirNum
Get the folder quantity in designate path.
getFileNum
Get the file quantity in designate path.
getDirList
Get the folder information in designate path.
getFileList
Get the file information in designate path.
_fclose
Use _fclose to close a file opened earlier for buffered
input/output using _fopen.
_fcloseAll
Use _fcloseAll to close all files opened for buffered
input/output with _fopen or tmpfile.
_filelength
Use _filelength to dertimine the length of a file in bytes.
_fopen
Use _fopen to open a file for buffered input/output
operations.
_fopenLookup
Use _fopenLookup to open an index file for buffered
input/output operations.
_fread
Use _fread to read a specified number of data items, eachof
a given size, from the current position in a file opened for
buffered input. The current position is updated after the
read.
_fseek
Use _fseek to move to a new position in a file opened for
buffered input/output.
_fwrite
Use _fwrite to write a specified number of data itmes, each
of a given size, from a buffer to the current position in a file
opened for buffered output. The current position is updated
after the write.
DBMS
Ini_Search
Use Ini_Search can initiate the file search function in disk.
Close_Search
Close the file search function in Disk C and D.
SearchField
Search the designated field.
SearchField_GR
Search the designated field; After searching success,
acquiring the record which includes this field.
SearchField_GF
Search the designated field; After searching success,
acquiring the appointed field in including this fields record.
SearchMutiField_GF
Search the designated field. The fields information include
field string and field number.You can write many fields in this
field buffer. After searching success, acquiring the appointed
field in including this fields record.
SeekRecord
Move the index of searching to the appointed record.
GetRecordNum
Obtain the figure of all records in the file.
DeleteRecord
Delete the appointed record in the file.
PT-20 Programming Guide
18
DeleteLastRecord
Delete the last record in the file.
AppendRecord
Increase one record on the file end.
WriteField
Revise the data of appoint field in appointed field record.
WriteRecord
Revise the data of the appointed record.
ReadField
Read the data of appointed field in the appointed record.
ReadRecord
Read data of the appointed record.
LED
set_led
To set the LED indicators
Keypad
clr_kb
To clear the keyboard buffer.
dis_alpha
Disable alphabet key stroke processing.
en_alpha
Enable alphabet key stroke processing.
get_alpha_enable_state
Get the status of the alphabet key stroke processing.
set_alpha_mode_state
Set the status of the alphabet mode.
get_alpha_mode_state
Get the status of the alphabet mode.
set_keypad_BL
Set keypad backlight on/off.
get_keypad_BL
Get keypad backlight on/off status.
set_keypad_BL_Timer
Set keypad backlight timer.
get_keypad_BL_Timer
Get keypad backlight timer.
_getchar
Get one key stroke from the keyboard buffer.
GetKeyClick
Get current key click status
SetKeyClick
To enable / disable the key click sound.
Def_PKey
Change progrom key 1 & 2(P1 & P2) key define.
_scanf_color
Use _scanf_color to read character strings from the
standard input file and covert the strings to values of C
variables according to specified formats.
_scanf_color_DefaultStr
Use _scanf_color_DefaultStr to set a default string in input
and read character strings from the standard input file and
covert the strings to values of C variables according to
specified formats.
_scanf_ctrl_ScannerStatus
Set scanner on/off when use _scanf_color function.
_scanf_ctrl_Vibrate
Set vibrate on/off when use _scanf_color function and
scanner status on.
_scanf_ctrl_ScanWithENT
Set ENT auto press on/off when use _scanf_color function
and scanner status on.
_scanf_ctrl_AlphaKey
Set Alpha key function on/off when use _scanf_color
function.
_scanf_ctrl_AlphaKey_Mode
PT-20 Programming Guide
Set alpha mode when use _scanf_color function.
19
_scanf_ctrl_password
Set display for general or user define when use
_scanf_color function.
_scanf_ctrl_KeypadLock
Set keypad lock on/off when use _scanf_color function.
FNKey_Reset
To reset all of FN-Key setting.
FNKey_GetState
To check the FN-Key setting that is custom or default.
FNKey_SetUserDef
To set a custom setting for FN-Key.
LCD
clr_eol
Clear from where the cursor is to the end of the line. The
cursor position is not affected after the operation.
clr_rect
Clear a rectangular area on the LCD display. The cursor
position is not affected after the operation.
clr_scr
Clear LCD display.
fill_rect
Fill a white rectangular area on the LCD display.
fill_rect_color
Fill a user define color rectangular area on the LCD display.
GetCursor
Get current cursor status.
SetCursor
Turn on or off the cursor of the LCD display.
gotoxy
Move cursor to new position.
wherex
Get x-coordinate of the cursor location.
wherexy
Get x-coordinate and y-coordinate of the cursor location
wherey
Get y-coordinate of the cursor location.
lcd_backlit_Setlv
Set LCD backlight level.
lcd_backlit_SetTimer
Set LCD backlight timer.
lcd_backlit_Getlv
Get LCD backlight level.
lcd_backlit_GetTimer
Get LCD backlight timer.
_printf_color
Use _printf_color to write character strings and volues of C
variables, formatted in a specified manner, to display
screen.
_putchar
Display a character in color black on the LCD display.
_putchar_color
Display a character in user define color on the LCD display.
_puts
Display a string in color black on the LCD display.
_puts_color
Display a string in color black on the LCD display.
show_image_bmp
Put a rectangular bitmap to the LCD display.
UserFont
DispFont_SetFont
Set user font from font file.
DispFont_SetPFont
Set user font from font point.
DispFont_GetFontInfo
Get font type,width and height.
TextBlock
DefineTextBlock
PT-20 Programming Guide
Define TextBlock setting.
20
SetTextBlock
Enable the specific TextBlock.
ResetTextBlock
Disable the specific TextBlock.
PrintTextBlock
Print Text to specific TextBlock.
GetTextBlockCur
Get TextBlock current position.
SetTextBlockCur
Set specific TextBlock as active TextBlock and set position.
ShowTextBlockCursor
Show or hide TextBlock cursor.
TextBlock_SetBGColor
Set default background color.
TextBlock_SetBGImage
Set default background image for bmp file.
Communication Ports
clear_com
Clear receive buffer
close_com
To close specified communication port
com_cts
Get CTS level
com_eot
To see if any COM port transmission in process (End Of
Transmission)
com_overrun
See if overrun error occurred
com_rts
Set RTS signal
nwrite_com
Send a specific number of characters out through RS232
port
open_com
Initialize and enable specified RS232 port
read_com
Read 1 byte from the RS232 receive buffer
write_com
Send a string out through RS232 port
USB_Open
Initialize and enable USB port.
USB_Close
To close USB port
USB_Read
Read specific number of bytes from USB port.
USB_Write
Write specific number of bytes to the PC site.
Remote
SetRemoteBaud
Setting the RemoteLink baud rate.
GetRemoteBaud
Getting the RemoteLink baud rate.
SetRemoteInterface
Setting the RemoteLink interface.
GetRemoteInterface
Getting the RemoteLink interface.
RemoteLink
Use RemoteLink to call the transmission function for user to
upload or download files.
RemoteLink_RealTime
Use RemoteLink_RealTime can transfer file in any state.
System
SysSuspend
Shut down the system.
SysDelay
Set system delay time.
SetPowerOnState
Set power on status
GetPowerOnState
Get power on status
PT-20 Programming Guide
21
SetAutoPWOff
Set auto power off timer.
GetAutoPWOff
Get auto power off timer.
SetStatusBAR
Set statusbar display/no display.
GetStatausBAR
Get statusbar display status.
SN_Get
To get the SN of PT10/12.
BIOS_SetDefault
Set BIOS setting default.
Check_AID
Check the agency ID correct or not.
Memory
Tfree
Use the Tfree to release an allocated storage block to the pool
of free memory.
Tmalloc
Use Tmalloc to allocate memory for an array of a given
number of bytes, not exceeding 200KB.
TotalHeapSize
Checking the total heap size.
UsedHeapSize
Checking the used heap size.
FreeHeapSize
Checking the free heap size.
Vibrate
on_vibrator
Use on_vibrator to set vibrator on.
off_vibrator
Use off_vibrator to set vibrator off.
set_vibrator_timer
Use set_vibrator_timer to set vibrator on timer.
get_vibrator_timer
Use get_vibrator_timer to get vibrator on. timer
Other
prc_menu_color
Create a menu-driven interface.
Simulator (Only for PC Simulator)
CopyFileToTerminal
Use BackupDataFiletoPC to copy data file to C:\Data directory
in PC.
BackupDataFiletoPC
Use BackupDataFiletoPCA to copy data file to any disc in PC.
Data Conversion
__itoa
Use __itoa to convert an integer value to a null-terminated
character string.
__ltoa
Use __ltoa to convert a long integer value to a null-terminated
character string.
__ultoa
Use __ultoa to convert an unsigned long integer value to a
character string.
PT-20 Programming Guide
22
Reader
InitScanner1
Purpose
Syntax
Example call
Includes
Description
Initialize respective scanner port.
void InitScanner1(void);
InitScanner1( );
#include SDK.h
Use InitScanner1 function to initialize scanner port. The scanner port
won't work unless it is initialized.
Returns
None
Decode
Purpose
Syntax
Example call
Includes
Description
Perform barcode decoding.
int Decode(void);
while(1){if(Decode( )) break;}
#include SDK.h
Once the scanner port is initialized (by use of InitScanner1 function), call
this Decode function to perform barcode decoding. This function should
be called constantly in user's program loops when barcode decoding is
required. If the barcode decoding is not required for a long period of
time, it is
recommended that the scanner port should be stopped by use of the
HaltScanner1 function. If the Decode function decodes successfully, the
decoded data will be placed in the string variable CodeBuf with a string
terminating character appended.
And the code length will be saved in CodeLen, the code name type will
be saved in CodeName, and the code ID will be saved in CodeID.
And we have the other buffer for save all barcode information in
FullCodeBuf, the format of FullCodeBuf as follows:
Code
Pream
name
ble
ID*
Code
Barcode
Lengt
data
ID*
Posta
Termi
mble
nator
h
The ID position depends on Code ID position setting.
Returns
0 : Fail
Other value : Barcode length
HaltScanner1
Purpose
Syntax
Stop the scanner port from operating.
void HaltScanner1(void);
PT-20 Programming Guide
23
Example call
Includes
Description
HaltScanner1( );
#include SDK.h
Use HaltScanner1 function to stop scanner port from operating. To
restart a halted scanner port, the initialization function, InitScanner1,
must be called. It is recommended that the scanner port should be
stopped if the barcode decoding is not required for a long period of time.
Returns
none
TriggerStatus
Purpose
Syntax
Example call
To check the scan key status.
int TriggerStatus(void);
if (TriggerStatus( ))
_printf_color(COLOR_RED, Scan key pressed!);
Includes
Description
#include SDK.h
This function can check the scan key status, if pressed scan key, this
function will return 1, else will return 0.
Returns
0:Scan key is not pressed.
1:Scan key is pressed.
Scanner_Reset
Purpose
Syntax
Example call
Set scanner setting to default.
BOOL Scanner_Reset(void)
If (Scanner_Reset())
_printf_color(COLOR_RED, Scan module reset OK!);
Includes
Description
#include SDK.h
This function can reset scan module,if reset OK,this function will return
1,else will return 0.
Returns
0:Reset fail.
1:Reset OK.
Scanner_Config_Start
Purpose
Syntax
Example call
Includes
Description
Returns
To start scanner setting procedure.
void Scanner_Config_Start(void);
Scanner_Config_Start();
#include SDK.h
This function can starting scanner setting procedure.
None
Scanner_Config_End
Purpose
Syntax
Example call
To end scanner setting procedure.
void Scanner_Config_End(void);
Scanner_Config_End();
PT-20 Programming Guide
24
Includes
Description
Returns
#include SDK.h
This function can ending scanner setting procedure.
None
Scan_SendCommand
Purpose
Syntax
Send scanner command to change scanner status.
BOOL SCAN_SendCommand(int Command1,int Command2,char
*pValue);
Example call
char ssValue = 0;
If(SCAN_SendCommand(6,7,&ssValue))
_printf_color(COLOR_RED, Setup complete!);
Includes
Description
#include SDK.h
This function can send command to set scanner status.
You can see Appendix 1 to know about the command setting.
Returns
0:Send fail.
1:Send OK.
Scan_QueryStatus
Purpose
Syntax
Query the scanner current setting.
BOOL SCAN_QueryStatus(int Command1,int Command2,char
*pReturn);
Example call
char ssReturn = 0;
if(SCAN_QueryStatus (6,7, &ssReturn))
_printf_color(COLOR_RED, Query OK!);
Includes
Description
#include SDK.h
This function can query scanner setting.
You can see Appendix 1 to know about the command setting.
Returns
0:Query fail.
1: Query OK.
ScannerSetFromFile
Purpose
Set scanner setting by scanner setting file. This file is made by utility
ScanSetting.
Syntax
Example call
BOOL ScannerSetFromFile(char *pssFilePath);
If(ScannerSetFromFile (C:\\data\\scan.axs))
_printf_color(COLOR_RED, Setting OK!);
Includes
Description
#include SDK.h
You can set scanner from scanner setting file by this function. This
function can help you set scanner setting easier.
Returns
0:Load fail.
1: Load OK.
PT-20 Programming Guide
25
Scanner_Version
Purpose
Syntax
Example call
Query the scan module version.
BOOL Scanner_Version(char* Returnbuf);
If(Scanner_Version (Returnbuf))
_printf_color(COLOR_RED, Query module version OK!);
Includes
Description
Returns
#include SDK.h
This function can query the scan module version.
0:Query module fail.
1: Query module OK.
PT-20 Programming Guide
26
Buzzer
beeper_status
Purpose
To see whether a beeper sequence is under going or not.
Syntax
int beeper_status(void);
Example call
while(beeper_status( ));
Includes
Description
#include SDK.h
The beeper_status function checks if there is a beeper sequence in
progress.
Returns
1 if beeper sequence still in progress, 0 otherwise
off_beeper
Purpose
Syntax
Example call
Includes
Description
Terminate beeper sequence.
void off_beeper(void);
off_beeper( );
#include SDK.h
The off_beeper function terminates beeper sequence immediately if there
is a beeper sequence in progress.
Returns
none
on_beeper
Purpose
Syntax
Example call
Assign a beeper sequence to instruct beeper action.
void on_beeper(int *sequence);
int beep_twice[50] = {30,10,0,10,30,10,0,0};
on_beeper(beep_twice);
Includes
Description
#include SDK.h
A beep frequency is an integer used to specify the frequency (tone) when
the beeper activates. The actual frequency that the beeper activates is
not the value specified to the beep frequency. It is calculated by the
following formula.
Beep Frequency = 76000 / Actual Frequency Desired
For instance, to get a frequency of 2000Hz, the value of beep frequency
should be 38. If no sound is desired (pause), the beep frequency should
beset to 0. A beep with frequency 0 does not terminate the beeper
sequence. Suitable frequency for the beeper ranges from 1 to 2700Hz,
where peak
at 2000Hz.
Returns
The on_beeper function has no return value.
SetBuzzerVol
PT-20 Programming Guide
27
Purpose
Syntax
Example call
Includes
Description
Returns
Set the buzzer volume.
void SetBuzzerVol(int slVol);
SetBuzzerVol(0);//Buzzer close.
#include SDK.h
The SetBuzzerVol function can set the buzzer volume.
slVol
Buzzer vloume
close
Low
Medium
High
None.
PT-20 Programming Guide
28
Calender
DayOfWeek
Purpose
Syntax
Example call
Includes
Description
Get the day of the week information.
int DayOfWeek(void);
day=DayOfWeek( );
#include SDK.h
The DayOfWeek function returns the day of week information based on
current date.
Returns
The DayOfWeek function returns an integer indicating the day of week
information. A value of 1 to 6 represents Monday to Saturday accordingly.
And a value of 7 indicates Sunday.
get_time
Purpose
Syntax
Example call
Get current date and time
int get_time(char *cur_time);
char system_time[16];
get_time(system_time);
Includes
Description
#include SDK.h
The get_time function reads current date and time from the calendar
chip and copies them to a character array specified in the argument
cur_time. The character array cur_time allocated must have a
minimum of 15 bytes to accommodate the date, time, and the string
terminator. The format of the system date and time is listed below.
"YYYYMMDDhhmmss"
YYYY
Returns
year, 4 digits
MM
month, 2 digits
DD
day, 2 digits
hh
hour, 2 digits
mm
minute, 2 digits
ss
second, 2 digits
Normally the get_time function always returns an integer value of 0. If the
calendar chip malfunctions, the get_time function will then return 1 to
indicate error.
set_time
Purpose
Set new date and time to the calendar chip.
PT-20 Programming Guide
29
Syntax
int set_time(char *new_time);
Example call
set_time(20030401223035);
Includes
Description
#include SDK.h
The set_time function set a new system date and time specified in the
argument new_time to the calendar chip. The character string
new_time must have the following format,
"YYYYMMDDhhmmss"
YYYY
year, 4 digits
MM
month, 2 digits, 1-12
DD
day, 2 digits, 1-31
hh
hour, 2 digits, 0-23
mm
minute, 2 digits, 0-59
ss
second, 2 digits, 0-59
Ps. When it execute in simulator, the time will not change.
Returns
Normally the set_time function always returns an integer value of 1. If the
calendar chip malfunctions, the set_time function will then return 0 to 0
error. Also, if the format is illegal (e.g. set hour to 25), the operation is
simply denied and the time is not changed.
PT-20 Programming Guide
30
Bluetooth(Only for PT-20B)
These functions only for PT-20B, and our Bluetooth module only support SPP
mode(Serial Port Profile).
BT_Start
Purpose
Syntax
Example call
Includes
Description
Bluetooth module power enable.
int BT_Start(void);
BT_Start();
#include SDK.h
This function can enable Bluetooth module power. After use this function,
the left led will flash blue light.If you want to use other Bluetooth function,
you must run this function first.
Returns
BT_NOMODULE : The terminal is not PT-20B.
BT_START : Bluetooth module has been power enable, please run
BT_Stop.
BT_OK : Bluetooth module power enable.
BT_Stop
Purpose
Syntax
Example call
Includes
Description
Bluetooth module power disable.
int BT_Stop(void);
BT_Stop();
#include SDK.h
This function can disable Bluetooth module power. Each Bluetooth
function will return BT_NOSTART after use this function, and the left led
will stop flashing.
Returns
BT_NOMODULE : The terminal is not PT-20B.
BT_NOSTART : Bluetooth module power disable, please run BT_Start.
BT_OK : Bluetooth module power disable.
BT_Open
Purpose
Bluetooth connect.
Syntax
int BT_Open(void);
Example call
Includes
Description
BT_Open();
#include SDK.h
This function can connect to other Bluetooth device.Befor use this
function, you have to set the target Bluetooth MAC address by using
BT_SetLocalSet function.
Returns
BT_NOMODULE : The terminal is not PT-20B.
BT_NOSTART : Bluetooth module power disable, please run BT_Start.
PT-20 Programming Guide
31
BT_CONNECT : Bluetooth has connected, please run BT_Close.
BT_OK : Bluetooth connect ok.
BT_Close
Purpose
Syntax
Example call
Includes
Description
Bluetooth disconnect.
int BT_Close(void);
BT_Close();
#include SDK.h
This function can disconnect Bluetooth. If you want to disconnect, you
can use BT_Stop(Bluetooth module power off) or this function.
Returns
BT_NOMODULE : The terminal is not PT-20B.
BT_NOSTART : Bluetooth module power disable, please run BT_Start.
BT_OK : Bluetooth disconnect ok.
BT_Read
Purpose
Syntax
Example call
Read characters from Bluetooth module.
int BT_Read(char* pssBuf, int slReadSize, int* pslGetSize);
int slGetSize;
char assBuf[20];
BT_Read(assBuf, 10, &slGetSize);
Includes
Description
#include SDK.h
If Bluetooth is connected, this function can read characters from
Bluetooth module.The parameter slReadSize can set how many
characters you will read, and the parameter pslGetSize will tell you how
many characters you read.
Returns
BT_NOMODULE : The terminal is not PT-20B.
BT_NOSTART : Bluetooth module power disable, please run BT_Start.
BT_DISCONNECT : Bluetooth not connect to other bluetooth device,
please run BT_Open.
BT_ERROR : Parameter error, please check your parmeter.
BT_OK :Read OK.
BT_Write
Purpose
Syntax
Example call
Write characters to Bluetooth module.
int BT_Write(char* pssBuf, int slWriteSize, int* pslPutSize);
int slWriteSize;
char assBuf[20] = 1234567890;
BT_Write(assBuf, 10, & slWriteSize);
Includes
Description
#include SDK.h
If Bluetooth is connected, this function can wriet characters to other
Bluetooth device.The parameter slWriteSize tell the function how many
PT-20 Programming Guide
32
characters will be writed to other Bluetooth device, and pslPutSize will
tell you how meny characters send to other Bluetooth device.
Returns
BT_NOMODULE : The terminal is not PT-20B.
BT_NOSTART : Bluetooth module power disable, please run BT_Start.
BT_DISCONNECT : Bluetooth not connect to other bluetooth device,
please run BT_Open.
BT_ERROR : Parameter error, please check your parmeter.
BT_OK :Write OK.
BT_GetLocalInfo
Purpose
Syntax
Example call
Get Bluetooth information.
int BT_GetLocalInfo(_BT_INFO* stInfo);
_BT_INFO stInfo;
BT_GetLocalInfo(&stInfo);
Includes
Description
#include SDK.h
This function will return the PT-20B Bluetooth information in structure.
The structure describe as follows:
typedef struct __BT_INFO
{
char assLocalAddress[16]; //PT-20B Bluetooth MAC
address.(Cannot change.)
char assLocalName[20];
//PT20B Bluetooth device name
BOOL bLocalSecurity;
//PT-20B Bluetooth security mode, set
TRUE(on) or FALSE(off)
BOOL bLocalEncryption;
//PT-20B Bluetooth encryption mode,
set TRUE(on) or FALSE(off)
int stInquiryTimeout;
//PT-20B Bluetooth inquiry timeout set,
the value from 1(1.28 seconds) to
48(61.44 seconds).
int stInquirytMaxResponse; //PT-20B Bluetooth inquiry max
response, the value from 1 to 9.
char assLinkAddress[16];
//Set link device address.
char assPinCode[20];
//Set PIN code.
}_BT_INFO;
Returns
BT_NOMODULE : The terminal is not PT-20B.
BT_OK : Get information OK.
PT-20 Programming Guide
33
BT_SetLocalSet
Purpose
Syntax
Example call
Set Bluetooth information.
int BT_SetLocalSet(_BT_INFO* stSet);
_BT_INFO stInfo;
BT_GetLocalInfo(&stInfo);
stInfo. stInquiryTimeout = 10;
stInfo. stInquirytMaxResponse = 5;
BT_SetLocalSet(&stSet);
Includes
Description
#include SDK.h
This function can help you to set our Bluetooth module parameters.
The structure describe as follows:
typedef struct __BT_INFO
{
char assLocalAddress[16]; //PT-20B Bluetooth MAC
address.(Cannot change.)
char assLocalName[20];
//PT20B Bluetooth device name
BOOL bLocalSecurity;
//PT-20B Bluetooth security mode, set
TRUE(on) or FALSE(off)
BOOL bLocalEncryption;
//PT-20B Bluetooth encryption mode,
set TRUE(on) or FALSE(off)
int stInquiryTimeout;
//PT-20B Bluetooth inquiry timeout set,
the value from 1(1.28 seconds) to
48(61.44 seconds).
int stInquirytMaxResponse; //PT-20B Bluetooth inquiry max
response, the value from 1 to 9.
char assLinkAddress[16];
//Set link device address.
char assPinCode[20];
//Set PIN code.
}_BT_INFO;
Returns
BT_NOMODULE : The terminal is not PT-20B.
BT_NOSTART : Bluetooth module power disable, please run BT_Start.
BT_CONNECT : Bluetooth has connected, please run BT_Close.
BT_ERROR : Parameter error, please check your parmeter.
BT_TIMEOUT : Set fail, please Set again.
BT_OK : Set OK.
BT_Inquiry
PT-20 Programming Guide
34
Purpose
Syntax
Example call
Inquiry other Bluetooth module for PT-20B to connect.
int BT_Inquiry(_BT_DEVINFO* stBT_DevInfo, BOOL bGetDevName);
_BT_DEVINFO stBT_DevInfo;
BT_Inquiry(&stBT_DevInfo, TRUE);
Includes
Description
#include SDK.h
This function can search other Bluetooth device for PT-20B to connect,
the struct stBT_DevInfo will return how many device are found and
these devices MAC address. The parameter bGetDevName will tell the
BT_Inquiry function that will return device name or not.If bGetDevName
is TRUE, then BT_Inquiry will return device name in struct
stBT_DevInfo.
Returns
BT_NOMODULE : The terminal is not PT-20B.
BT_NOSTART : Bluetooth module power disable, please run BT_Start.
BT_CONNECT : Bluetooth has connected, please run BT_Close.
BT_TIMEOUT : Search fail, please search again.
BT_OK :Search OK.
PT-20 Programming Guide
35
File Manipulation
__access
Purpose
Syntax
Example call
Includes
Description
Returns
Check for file existence.
int __access(char *filename);
if(__access(C:\\data\\store.dat) _puts(store.dat exist!!);
#include SDK.h
Check if the file specified by filename.
If the file specified by filename exist, access returns an integer
value of 1, 0 otherwise. In case of error, access will return an
integer value of -1 and an error code is set to the global variable
fErrorCode to indicate the error condition encountered. Possible
error codes and theirinterpretation are listed below.
fErrorCode
1: filename is a NULL string.
append
Purpose
Write a specified number of bytes to bottom (end-of-file position)
of a DAT file.
Syntax
Example call
Includes
Description
int append(int fd, char *buffer, int count);
append(fd,ABCDE,5);
#include SDK.h
The append function writes the number of bytes specified in the
argument count from the character array buffer to the bottom of a
DAT file whose file handle is fd. Writing of data starts at the
end-of-file position of the file, and the file pointer position is
unaffected by the operation. The append function will
automatically extend the file size of the file to hold the data
written.
Returns
The append function returns the number of bytes actually written
to the file. In case of error, append returns an integer value of -1
and an error code is set to the global variable fErrorCode to
indicate the error condition encountered. Possible error codes and
their interpretation are listed below.
fErrorCode
2 File specified by fd does not exist.
8 File not opened
9 The value of count is negative.
10 No more free file space for file extension.
appendln
PT-20 Programming Guide
36
Purpose
Write a null terminated character string to the bottom
(end-of-file position) of a DAT file.
Syntax
Example call
Includes
Description
int appendln(int fd, char *buffer);
appendln(fd, data_buffer);
#include SDK.h
The appendln function writes a null terminated character string
from the character array buffer to a DAT file whose file handle is
fd. Characters are written to the file until a null character (\0) is
encountered. The null character is also written to the file. Writing
of data starts at the end-of-file position. The file pointer position
is unaffected by the operation. The appendln function will
automatically extend the file size of the file to hold the data
written.
Returns
The appendln function returns the number of bytes actually
written to the file (includes the null character). In case of error,
appendln returns an integer value of -1 and an error code is set to
the global variable fErrorCode to indicate the error condition
encountered. Possible error codes and their interpretation
are listed below.
fErrorCode
2:File specified by fd does not exist.
8:File not opened
10:No more free file space for file extension.
11:Can not find string treminator in buf.
chsize
Purpose
Extends or truncates a DAT file.
Syntax
int chsize(int fd, long new_size);
Example call
Includes
Description
if (chsize(fd, 0)) _puts(file truncated!\n);
#include SDK.h
The chsize function truncates or extends the file specified by the
argument fd to match the new file length in bytes given in the
argument new_size. If the file is truncated, all data beyond the
new file size will be lost. If the file is extended, no initial value is
filled to the newly extended area.
Returns
If chsize successfully changes the file size of the specified DAT
file, it returns an integer value of 1. In case of error, chsize will
return an integer value of 0 and an error code is set to the global
variable fErrorCode to indicate the error condition encountered.
Possible error codes and their interpretation are listed below.
PT-20 Programming Guide
37
fErrorCode
2:File specified by fd does not exist.
8:File not opened
10:No more free file space for file extension.
close
Purpose
Syntax
Example call
Includes
Description
Close a DAT file.
int close(int fd);
If (close(fd)) _puts(file closed!\n);
#include SDK.h
Close a previously opened or created DAT file whose file handle
is fd.
Returns
close returns an integer value of 1 to indicate success. In case of
error, close returns an integer value of 0 and an error code is set to
the global variable fErrorCode to indicate the error condition
encountered. Possible error codes and their interpretation are
listed below.
fErrorCode
2:File specified by fd does not exist.
8:File not opened
delete_top
Purpose
Remove a specified number of bytes from top (beginning-of-file
position) of a DAT file.
Syntax
Example call
Includes
Description
int delete_top(int fd, int count);
delete_top(fd,100);
#include SDK.h
The delete_top function removes the number of bytes specified in
the argument count from a DAT file whose file handle is fd.
Removing of data starts at the beginning-of-file position of the
file. The file pointer position is adjusted accordingly by the
operation. For instance, if initially the file pointer points to the
tenth character, after removing 8 character from the file, the new
file pointer will points to the second character of the file.
The delete_top function will resize the file size automatically.
Returns
The delete_top function returns the number of bytes actually
removed from the file. In case of error, delete_top returns an
integer value of -1 and an error code is set to the global variable
fErrorCode to indicate the error condition encountered. Possible
error codes and their interpretation.
fErrorCode
2:File specified by fd does not exist.
8:File not opened
PT-20 Programming Guide
38
9:The value of count is negative.
10:No more free file space for file extension.
delete_topln
Purpose
Remove a null terminated character string from the top
(beginning-of-file position) of a DAT file.
Syntax
Example call
Includes
Description
int delete_topln(int fd);
delete_topln (fd);
#include SDK.h
The delete_topln function removes a line terminated by a null
character file until a null character (\0) or end-of-file is
encountered. The null character is also removed from the file.
Removing of data starts at the top (beginning-of-file position) of
the file, and the file pointer position is adjusted accordingly. The
delete_topln function will resize the file size automatically.
Returns
The delete_topln function returns the number of bytes actually
removed from the file (includes the null character). In case of
error, delete_topln returns an integer value of -1 and an error code
is set to the global variable fErrorCode to indicate the error
condition encountered. Possible error codes and their
interpretation are listed below.
fErrorCode
2:File specified by fd does not exist.
8:File not opened
9:The value of count is negative.
10:No more free file space for file extension.
eof
Purpose
Syntax
Example call
Includes
Description
Check if file pointer of a DAT file reaches end of file.
int eof(int fd);
if (eof(fd)) _puts(end of file reached!\n);
#include SDK.h
The eof function checks if the file pointer of the DAT file whose
file handle is specified in the argument fd, points to end-of-file.
Returns
The eof function returns an integer value of 1 to indicate an
end-of-file and a 0 when not. In case of error, eof returns an
integer value of -1 and an error code is set to the global variable
fErrorCode to indicate the error condition encountered.
fErrorCode
2:File specified by DBF_fd does not exist.
8:File not opened
filelength
PT-20 Programming Guide
39
Purpose
Syntax
Example call
Includes
Description
Get file length information of a DAT file.
long filelength(int fd);
datasize = filelength(fd);
#include SDK.h
The filelength function returns the size in number of bytes of the
DAT file whose file handle is specified in the argument fd.
Returns
The long integer value returned by filelength is the size of the
DAT file in number of bytes. In case of error, filelength returns a
long value of -1 and an error code is set to the global variable
fErrorCode to indicate the error condition encountered. Possible
error codes and their interpretation.
fErrorCode
2:File specified by fd does not exist.
8:File not opened
filelist
Purpose
Syntax
Example call
Includes
Description
Get file directory information.
int filelist(char * file_list);
total_file = filelist(file_list);
#include SDK.h
The filelist function copies the file name, file type, and file size
information (separated by a blank character) of all files in
existence into a character array specified in the argument dir.
When char * file_list = NULLit will pass the length that the file
string needs back.
For example, if there are two files in C:\Data, the filename are
StoreIn.dat and StoreOut, and their filesize are 100bytes and 150bytes,
the data in the return buffer is C:\Data\StoreIn.dat dat 100
C:\Data\StoreOut.dat dat 150
Returns
When char*file_list is NULL, it will pass the size of memory
back.
When char*file_list is not NULL, it will pass the quantity of file
back.
fErrorCode
None
lseek
Purpose
Syntax
Move file pointer of a DAT file to a new position.
long lseek(int fd, long offset, int origin);
Example call
lseek (fd, 512, 0);
Includes
#include SDK.h
PT-20 Programming Guide
40
Description
The lseek function moves the file pointer of a DAT file whose
file handle is specified in the argument fd to a new position
within the file. The new position is specified with an offset byte
address to a specific origin. The offset byte address is specified
in the argument offset which is a long integer. There are 3
possible values for the argument origin.
The values and their interpretations are listed below.
Returns
Value of origin
Interpretation
beginning of file
current file pointer position
-1
end of file
When successful, lseek returns the new byte offset address of the
file pointer from the beginning of file. In case of error, lseek
returns a long value of -1L and an error code is set to the global
variable fErrorCode to indicate the error condition encountered.
Possible error codes and their interpretation are listed below.
fErrorCode
2:File specified by fd does not exist.
9:Illegal offset value.
10:Illegal origin value.
15:New position is beyond end-of-file.
open
Purpose
Open a DAT file and get the file handle of the file for further
processing.
Syntax
Example call
int open(char *filename);
if (fd = open(C:\\data\\store.dat)>0)
_puts(store.dat opened!);
Includes
Description
#include SDK.h
The open function opens a DAT file specified by filename and
gets the file handle of the file. A file handle is a positive integer
(excludes 0) used to identify the file for subsequent file
manipulations on the file. If the file specified by filename does
not exist, it will be created first. If filename exceeds 8 characters,
it will be truncated to 8 characters long. After the file is opened,
the file pointer points to the beginning
of file.
Returns
If open successfully opens the file, it returns the file handle of the
file being opened. In case of error, open will return an integer value of -1
PT-20 Programming Guide
41
and an error code is set to the global variable
fErrorCode to indicate the error condition encountered. Possible
error codes and their interpretation are listed below.
fErrorCode
1:filename is a NULL string.
6:Can't create file. Because the maximum number of files allowed in the
system is exceeded.
read
Purpose
Syntax
Example call
Read a specified number of bytes from a DAT file.
int read(int fd, char *buffer, unsigned count);
if ((bytes_read = read(fd,buffer,50)) = = -1)
_puts(read error!);
Includes
Description
#include SDK.h
The read function copies the number of bytes specified in the
argument count from the DAT file whose file handle is fd to the
array of characters buffer. Reading starts at the current position of
the file pointer, which is incremented accordingly when the
operation is completed.
Returns
The read function returns the number of bytes actually read from
the file. In case of error, read returns an integer value of -1 and an
error code is set to the global variable fErrorCode to indicate the
error condition encountered. Possible error codes and their
interpretation are listed below.
fErrorCode
2:File handle is NULL.
7:fd is not a file handle of a previously opened file.
read_error_code
Purpose
Syntax
Example call
Includes
Description
Get the value of the global variable fErrorCode.
int read_error_code( );
if (read_error_code( ) = = 2) _puts(File not exist!);
#include SDK.h
The read_error_code function gets the value of the global variable
fErrorCode and returns the value to the calling program. The
programmer can use this function to get the error code of the file
manipulation routine previously called. However, the global
variable fErrorCode can be directly accessed without making a
call to this function.
Returns
The read_error_code function returns the value of the global
variable fErrorCode.
fErrorCode
None
PT-20 Programming Guide
42
readln
Purpose
Syntax
Example call
Includes
Description
Read a line terminated by a null character \0 from a DAT file.
int readln(int fd, char *buffer, unsigned max_count);
readln(fd, buffer, 50);
#include SDK.h
The readln function reads a line from the DAT file whose file
handle is fd and stores the characters in the character array buffer.
Characters are read until end-of-file encountered, a null character
(\0) encountered, or the total number of characters read equals the
number specified in max_count. The readln function then returns
the number of bytes actually read from the file. The null character
(\0) is also counted if read. If the readln function completes its
operation not because a null character is read, there will be no null
character stored in buffer. Reading starts at the current position of
the file pointer, which is incremented accordingly when the
operation is completed.
Returns
The readln function returns the number of bytes actually read
from the file (includes the null character if read). In case of error,
readln returns an integer value of -1 and an error code is set to the global
variable fErrorCode to indicate the error condition
encountered. Possible error codes and their interpretation are
listed below.
fErrorCode
2:File handle is NULL.
7:fd is not a file handle of a previously opened file.
_remove
Purpose
Syntax
Example call
Includes
Description
Delete file.
int _remove(char *filename);
if (_remove(C:\\data\\store.dat) _puts(store.dat deleted);
#include SDK.h
Delete the file specified by filename. If filename exceeds 8
characters, it will be truncated to 8 characters long. If the file to be
deleted is a DBF file, the DBF file and all the index (key)
files associated to it will be deleted altogether.
Returns
If remove deletes the file successfully, it returns an integer value
of 1. In case of error, remove will return an integer value of 0 and
an error code is set to the global variable fErrorCode to indicate
the error condition encountered. Possible error codes and their
interpretations are listed below.
PT-20 Programming Guide
43
fErrorCode
1:filename is a NULL string.
2:File specified by filename does not exist.
_rename
Purpose
Syntax
Example call
Change file name of an existing file.
int _rename(char *old_filename, char *new_filename);
if (_rename(C:\\data\\store.dat, C:\\data\\text.dat)
_puts(store.dat renamed);
Includes
Description
#include SDK.h
Change the file name of the file specified by old_filename to
new_filename. But the route does not change.
Returns
If rename successfully changes the file name, it returns an integer
value of 1. In case of error, rename will return an integer value of
0, and an error code is set to the global variable fErrorCode to
indicate the error condition encountered. Possible error codes and
their interpretation are listed below.
fErrorCode
1:Either old_filename or new_filename is a NULL string.
2:File specified by old_filename does not exist.
3:A file with file name new_filename already exists.
4:File path is error
5:Filename is too long.
6:File is using.
7:Filename is error
8:Other error
tell
Purpose
Syntax
Example call
Includes
Description
Get file pointer position of a DAT file.
long tell(int fd);
current_position = tell(fd);
#include SDK.h
The tell function returns the current file pointer position of the
DAT file whose file handle is specified in the argument fd. The
file pointer position is expressed in number of bytes from the
beginning of file. For instance, if the file pointer points to the
beginning of file, the file pointer position will be 0.
Returns
The long integer value returned by tell is the current file pointer
position in file. In case of error, tell returns a long value of -1 and
an error code is set to the global variable fErrorCode to indicate
the error condition encountered. Possible error codes and their
interpretation are listed below.
PT-20 Programming Guide
44
fErrorCode
2:File handle is NULL.
7:fd is not a file handle of a previously opened file.
write
Purpose
Syntax
Example call
Includes
Description
Write a specified number of bytes to a DAT file.
int write(int fd, char *buffer, unsigned count);
write(fd, data_buffer,100);
#include SDK.h
The write function writes the number of bytes specified in the
argument count from the character array buffer to a DAT file
whose file handle is fd. Writing of data starts at the current
position of the file pointer, which is incremented accordingly
when the operation is completed.
If the end-of- file condition is encountered during the operation,
the file will be extended automatically to complete the operation.
Returns
The write function returns the number of bytes actually written to
the file. In case of error, write returns an integer value of -1 and
an error code is set to the global variable fErrorCode to indicate
the error condition encountered. Possible error codes and their
interpretation are listed below.
fErrorCode
2:File handle is NULL.
7:fd is not a file handle of a previously opened file.
10:No more free file space for file extension.
writeln
Purpose
Write a line terminated by a null character (\0) to a DAT file.
The null character is also written to the file. After writing in, file
position will update.
Syntax
Example call
Includes
Description
int writeln(int fd, char *buffer);
writeln(fd, data_buffer);
#include SDK.h
The writeln function writes a line terminated by a null character
from the character array buffer to a DAT file whose file handle is
fd. Characters are written to the file until a null character (\0) is
encountered. The null character is also written to the file. Writing
of data starts at the current position of the file pointer, which is
incremented accordingly when the operation is completed. If the
end-of-file condition is encountered during the operation, the file
will be extended automatically to complete the operation.
Returns
The writeln function returns the number of bytes actually written
PT-20 Programming Guide
45
to the file (includes the null character). In case of error, writeln
returns an integer value of -1 and an error code is set to the global
variable fErrorCode to indicate the error condition encountered.
Possible error codes and their interpretation are listed below.
fErrorCode
2:File handle is NULL.
7:fd is not a file handle of a previously opened file.
9:no null character found in buffer
10:No more free file space for file extension.
DiskC_format
Purpose
Syntax
Format disk C.
int DiskC_format(void);
Example call
DiskC_format ( );
Includes
#include SDK.h
Description
Returns
The DiskC_format function formats disk C.
0 : Format false
1 : Format OK
fErrorCode
None
DiskD_format
Purpose
Syntax
Format disk D.
int DiskD_format (void);
Example call
DiskD_format ( );
Includes
#include SDK.h
Description
Returns
The DiskC_format function formats disk D.
0 : Format false
1 : Format OK
fErrorCode
None
DiskC_totalsize
Purpose
Checking the total space in disk C.
Syntax
unsigned int DiskC_totalsize (void);
Example call
Includes
Description
Returns
DiskC_totalsize ( );
#include SDK.h
The DicskC_totalsize function returns the used space in disk C.
0xffffffff : Disk C unformatted.
Others : The total space in disk C.(Bytes)
fErrorCode
None
DiskD_totalsize
Purpose
Syntax
Checking the total space in disk D.
unsigned int DiskD_ totalsize (void);
PT-20 Programming Guide
46
Example call
Includes
Description
Returns
DiskD_totalsize ( );
#include SDK.h
The DicskD_totalsize function returns the total space in disk D.
0xffffffff : Disk D unformatted.
Others : The total space in disk D.(Bytes)
fErrorCode
None
DiskC_usedsize
Purpose
Checking the used space in disk C.
Syntax
unsigned int DiskC_usedsize (void);
Example call
Includes
Description
Returns
DiskC_usedsize ( );
#include SDK.h
The DicskC_usedsize function returns the used space in disk C.
0xffffffff : Disk C unformatted.
Others : The used space in disk C.(Bytes)
fErrorCode
None
DiskD_usedsize
Purpose
Checking the used space in disk D.
Syntax
unsigned int DiskD_usedsize (void);
Example call
Includes
Description
Returns
DiskD_usedsize ( );
#include SDK.h
The DicskD_usedsize function returns the used space in disk D.
0xffffffff : Disk D unformatted.
Others : The used space in disk D.(Bytes)
fErrorCode
None
DicskC_freesize
Purpose
Checking the free space in disk C.
Syntax
unsigned int DiskC_freesize (void);
Example call
DiskC_freesize( );
Includes
#include SDK.h
Description
Returns
The DicskC_freesize function returns the free space in disk C.
0xffffffff : Disk C unformatted.
Others : The free space in disk C.(Bytes)
fErrorCode
None
DicskD_freesize
Purpose
Checking the free space in disk D.
Syntax
unsigned int DiskD_freesize (void);
Example call
DiskD_freesize( );
Includes
#include SDK.h
PT-20 Programming Guide
47
Description
Returns
The DicskD_freesize function returns the free space in disk D.
0xffffffff : Disk C unformatted.
Others : The free space in disk D.(Bytes)
fErrorCode
None
getDirNum
Purpose
Syntax
Example call
Get the folder quantity in designate path.
int getDirNum(char *pssPath);
int Dir_Num;
Dir_Num = getDirNum(C:\\);
Includes
Description
Returns
#include SDK.h
The getDirNum function can get the folder quantity in designate path.
-1 : path error.
-2 : disk unformat.
upward 0 : folder quantity.
fErrorCode
None
getFileNum
Purpose
Syntax
Example call
Get the file quantity in designate path.
int getFileNum(char *pssPath);
int File_Num;
File_Num = getFileNum(C:\\Data\\);
Includes
Description
Returns
#include SDK.h
The getFileNum function can get the file quantity in designate path.
-1 : path error.
-2 : disk unformat.
upward 0 : folder quantity.
fErrorCode
None
getDirList
Purpose
Syntax
Example call
Get the folder information in designate path.
int getDirList(char *pssPath, char *pssBuffer);
int DirNum;
char assBuffer[100];
DirNum = getDirList (C:\\, assBuffer);
Includes
Description
#include SDK.h
The getDirList function can get the folder quantity and name in designate
path.
When pssBuffer = NULL, this function will return the buffer size.
For example, the path D:\ has three folders Program, Fonts,
Lookup, then the buffer will get folder information like Program Fonts
PT-20 Programming Guide
48
Lookup.
Returns
-1 : path error.
-2 : disk unformat.
upward 0 : When pssBuffer = NULL, it will return buffer size. When
pssBuffer != NULL, it will return folder quantity.
fErrorCode
None
getFileList
Purpose
Syntax
Example call
Get the file information in designate path.
int getFileList(char *pssPath, char *pssBuffer);
int File_Num;
char assBuffer[200];
File_Num = getFileList(D:\\Lookup\\, assBuffer);
Includes
Description
#include SDK.h
The getFileList function can get the file quantity and name in designate
path.
When pssBuffer = NULL, this function will return the buffer size.
For example, the path C:\Data\ has two files StoreIn.dat,
StoreOut.dat, and their size are 1128 bytes and 564 bytes, then the
buffer will get file information like StoreIn.dat dat 1128 StoreOut.dat dat
564 .
Returns
-1 : path error.
-2 : disk unformat.
upward 0 : When pssBuffer = NULL, it will return buffer size. When
pssBuffer != NULL, it will return file quantity.
fErrorCode
None
_fclose
Purpose
Use _fclose to close a file opened earlier for buffered input/output using
_fopen.
Syntax
Example call
Includes
Description
int _fclose(_TFILE *file_pointer);
_fclose(infile);
#include SDK.h
The _fclose function closes the file specified by the argument file_pointer.
This pointer must have been one returned earlier when the file was opened
by _fopen. If the file is opened for writing, the contens of the buffer
associated with the file are flushed before the file is closed. The buffer is
then released.
Returns
If the file is successfully closed, _fclose returns a zero. In case of an error,
the return value is equal to the constant EOF.
PT-20 Programming Guide
49
_fcloseAll
Purpose
Use _fcloseAll to close all files opened for buffered input/output with _fopen
or tmpfile.
Syntax
Example call
Includes
Description
void _fcloseAll(void);
_fcloseAll();
#include SDK.h
The _fcloseAll function closes all files that have been opened by _fopen or
tmpfile for buffered I/O. Buffers associated with files opened for writing are
written out to the corresponding file before closing.
_filelength
Purpose
Syntax
Example call
Includes
Description
Use _filelength to dertimine the length of a file in bytes.
size_t _filelength(_TFILE* file_pointer);
file_size = _filelength(infile);
#include SDK.h
The _filelength function returns the size in number of bytes of the file
specified in the argument file_pointer. This pointer should be the return
value of earlier opened file by _fopen.
Returns
The integer value returned by _filelength is the size of the file in number of
bytes.
_fopen
Purpose
Syntax
Example call
Includes
Description
Use _fopen to open a file for buffered input/output operations.
_TFILE* _fopen(const char*filename, const char *access_mode);
input_file = _fopen("c:\\data\\order.dat", "r");
#include SDK.h
The fopen function opens the file specified in the argument filename. The
type of operations you intend to perform on the file must be given in the
argument access_mode. The following table explains the values that the
access_mode string can take:
Access
Interpretation
Mode String
r
Opens file for read operations only. The _fopen function
fails if the file does not exist.
Opens a new file for writing. If the file exists, its contents
are destroyed.
r+
Opens an existing file for both read and write
operations. Error is returned if file does not exist.
PT-20 Programming Guide
50
w+
Creates a file and opens it for both reading and writing.
If file exists, current contents are destroyed.
Returns
If the file is opened successfully, _fopen returns a pointer to the file. Actually,
this is a pointer to a structure of type _TFILE, which is defined in the header
file. The actual structure is allocated elsewhere and you do not have to
allocate it. In case of an error, _fopen returns a NULL.
_fopenLookup
Purpose
Syntax
Example call
Includes
Description
Use _fopenLookup to open an index file for buffered input/output operations.
char *_fopenLookup(char *pssFName, unsigned int* pulSize);
data_pointer = _fopenLookup ("D:\\Lookup\\MenuLook.dat", &unFileSize);
#include SDK.h
The _fopenLookup function opens an index file in the path specified by
pssFName pointer. It returns a pointer to the first byte of the index file
continuous space block and writes the length of the continuous space block
to the location specified by the pulSize pointer. The index file is a continuous
space block, which the data was stored by turns.
Returns
If the file is opened successfully, _fopenLookup returns a pointer to the file
continuous space block. Actually, this is a pointer to the location of
continuous space block. In case of an error, _fopenLookup returns a NULL.
_fread
Purpose
Use _fread to read a specified number of data items, eachof a given size,
from the current position in a file opened for buffered input. The current
position is updated after the read.
Syntax
size_t _fread(const void *buffer, size_t size, size_t count, _TFILE
*file_pointer);
Example call
Includes
Description
Numread = _fread(buffer, sizeof(char), 80, infile);
#include SDK.h
The fread function reads count data items, each of size bytes, starting at the
current read position of the file specified by the argument file_pointer. After
the read is complete, the current position is updated. You must allocate
storage for a buffer to hold the number of bytes that you expect to read. This
buffer is a pointer to a void data type.
Returns
The _fread function returns the number of items it successfully read.
_fseek
Purpose
Use _fseek to move to a new position in a file opened for buffered
input/output.
Syntax
int _fseek(_TFILE *file_pointer, long offset, int origin);
Example call
_fseek(infile, 0, SEEK_SET); /* Go to the beginning */
PT-20 Programming Guide
51
Includes
Description
#include SDK.h
The fseek function sets the current read or write position of the file specified
by the argument file_pointer to a new value indicated by the arguments
off-set and origin. The
offset is a long integer indicating how far away the new position is from a
specific location given in origin. The following table explains the possible
value of origin.
Returns
Origin
Interpretation
SEEK_SET
Beginning of file.
SEEK_CUR
Current position in the file.
When successful, _fread returns a zero. In case of error, _fread returns a
non-zero value.
_fwrite
Purpose
Use _fwrite to write a specified number of data itmes, each of a given size,
from a buffer to the current position in a file opened for buffered output. The
current position is updated after the write.
Syntax
size_t _fwrite(const void *buffer, size_t size, size_t count, _TFILE
*file_pointer);
Example call
numwrite = _fwrite(buffer, sizeof(char), 80, outfile);
Includes
#include SDK.h
Description
The _fwrite function writes count data items, each of size bytes, to the file
specified by the argument file_pointer, starting at the current position. After
the write operation is complete, the current position is updated. The data to
be written is in the buffer whose address is passed to _fwrite in the
argument buffer.
Returns
The _fwrite function returns the number of items it actually wrote.
PT-20 Programming Guide
52
DBMS
Ini_Search
Purpose
Syntax
Use Ini_Search can initiate the file search function in disk.
int Ini_Search(_TFILE* filehd,_DBMS* F_Search, unsigned char
*pusFielddlt, int record_type, int record_length, int total_field_no, int
total_record_no);
Example call
Example 1: Variable field length
_DBMS fsearch;
_TFILE *filepoint;
unsigned char ausFielddlt[2]=,;
filepoint = _fopen(c:\\data\\data.txt,r+);
Ini_Search(filepoint,&fsearch, ausFielddlt,1,0,5,0);
Example 2: Regular field length
_DBMS fsearch;
_TFILE *filepoint;
unsigned char field_size[5]={6,5,4,5,6};
filepoint = _fopen(c:\\data\\data.txt,a+);
Ini_Search(filepoint,&fsearch, field_size,0,26,5,0);
Includes
Description
#include DBMS.h
This function can initialize a work of searching file. After inserting every
argument, you can use _ DBMS* F _ Search to search files. Several
introduces the argument as follows:
argument
description
_TFILE* filehd
An opened file index.
_DBMS* F_Search
One of _DBMS start address has already
declared. Originally after the beginning
success this argument was used for written
into various kinds of search.
PT-20 Programming Guide
53
unsigned char *pusFielddlt
This argument has two kinds of meanings.
When record _ Type is 0, search for regular
length. This function needs to insert the
unsigned char array; the array represents
the length of every field.
When record _ Type is1, search for
variable length, this function need to insert
one character to represent separate
symbol.
int record_type
When record _ Type is 0, search for regular
length. It has no separate symbols among
field and field.
When record _ Type is 1, search for
variable length. It needs a separate symbol
among field and field.
int record_length
This argument is each records length.
When record _ Type is 0, need to insert this
value, not including the symbol of line feed.
When record _ Type is 1, this field can
insert any value.
int total_field_no
This argument is the fields quantity of each
record.
int total_record_no
Total amount of records in the file. If does
not know the total amount, you can insert 1, that will calculate automatically by the
system.
Returns
0: Initialize defeat.
1: Initialize success.
Close_Search
Purpose
Syntax
Example call
Includes
Description
Returns
Use Close _ Search can close the file search function in Disk C and D.
int Close_Search(_DBMS* F_Search);
Close_Search(&F_Search);
#include DBMS.h
When want to finish the file searching state, you can use this function.
0: Close defeat.
1: Close success.
SearchField
PT-20 Programming Guide
54
Purpose
SearchField can search the appointed field that begin from the appointed
record and compare with importing string. If agreeing, pass back to the
first record.
Syntax
int SearchField(_DBMS* F_Search, char* field, int search_fieldno, int
recordno, int flag);
Example call
char str[8]=abcdefg;
int Record_Num;
Record_Num =SearchField(&fsearch, str,0,0,FORWARD);
Includes
Description
#include DBMS.h
Several describe the argument as follows:
argument
_DBMS* F_Search
description
The files searching structure that has been
initialized.
char* field
String data wanted to match.
int search_fieldno
Field wanted to search.
int recordno
Begin to search from which data.
int flag
FORWARD => Search from forward to
backward
BACKWARD => Search from backward to
forward
As success of searching, the file index will
stay in successful record front. When
search defeat, the file index will not be
moved (not support BACKWARD at
present).
Returns
-1: Search defeat.
Other value: Match the record position of data
SearchField_GR
Purpose
SearchField_GR can search the appointed field that begin from the
appointed record and compare with importing string. If agreeing, it will
copy the record which included the field to buffer.
Syntax
int SearchField_GR(_DBMS* F_Search, char* field, int search_fieldno, int
recordno, char* R_Buffer, int flag);
Example call
char str[8]=abcdefg,str_buffer[60];
SearchField_GR(&fsearch, str,0,0, str_buffer,FORWARD);
Includes
#include DBMS.h
PT-20 Programming Guide
55
Description
This function can search and contrast the data of appointed field. After
success, reading the record which includes this field.
Several describe the argument as follows:
argument
_DBMS* F_Search
description
The files searching structure that has been
initialized.
char* field
String data wanted to match.
int search_fieldno
Field wanted to search.
int recordno
Begin to search from which data.
char* R_Buffer
After contrast success, it will write record
which included this field into buffer.
int flag
FORWARD => Search from forward to
backward
BACKWARD => Search from backward to
forward
As success of searching, the file index will
stay in successful record front. When
search defeat, the file index will not be
moved (not support BACKWARD at
present).
Returns
When R _ Buffer = NULL, pass back 1: Search defeat; Pass other
value back: That is the size of space for buffer.
When R _ Buffer NULL, pass back 1: Search defeat; Pass other
value back: That is the record position which confirm to contrast data.
SearchField_GF
Purpose
Search the designated field. After success, acquiring the appointed field
in including the fields record.
Syntax
int SearchField_GF(_DBMS* F_Search, char* field, int search_fieldno, int
recordno, int get_field_no, char* F_Buffer, int flag);
Example call
char str[8]=abcdefg,str_buffer[60];
SearchField_GF(&fsearch, str,0,0,1,str_buffer,FORWARD);
Includes
Description
#include DBMS.h
Search the correctly appointed field. After search success, acquiring
another appointed field which including record of this field.
Several describe the argument as follows:
argument
PT-20 Programming Guide
description
56
_DBMS* F_Search
The files searching structure that has been
initialized.
char* field
String data wanted to match.
int search_fieldno
Field wanted to search.
int recordno
Begin to search from which data.
int get_field_no
After contrasting success, acquiring the
data of appointed field in this record.
char* F_Buffer
After contrast success, it will write record
which included this field into buffer.
int flag
FORWARD => Search from forward to
backward
BACKWARD => Search from backward to
forward
As success of searching, the file index will
stay in successful record front. When
search defeat, the file index will not be
moved (not support BACKWARD at
present).
Returns
When F _ Buffer = NULL, pass back 1: Search defeat; Pass other
value back: That is the size of space for buffer.
When F _ Buffer NULL, pass back 1: Search defeat; Pass other
value back: That is the record position which confirm to contrast data.
SearchMutiField_GF
Purpose
Search the designated field. The fields information include field string
and field number.You can write many fields in this field buffer. After
searching success, acquiring the appointed field in including this fields
record.
Syntax
int SearchMutiField_GF(_DBMS* F_Search, char* many_field, int
recordno, int get_field_no, char* F_Buffer, int flag);
Example call
char str[20]=00001,0;abcdefg,1,str_buffer[60];
SearchMutiField_GF(&fsearch, str, 0,3,str_buffer,FORWARD);
Includes
Description
#include DBMS.h
Search the correctly appointed field. After search success, acquiring
another appointed field which including record of this field.
Several describe the argument as follows:
argument
_DBMS* F_Search
description
The files searching structure that has been
initialized.
PT-20 Programming Guide
57
char* many_field
String data wanted to match.
The string form is field string 0, field
number 0; field string 1, field number 1;....
Each field string and field number use
separate symbol ,, behind the field number
use separate symbol ;, last field number
dont use any separate symbol.
int recordno
Begin to search from which data.
int get_field_no
After contrasting success, acquiring the data
of appointed field in this record.
char* F_Buffer
After contrast success, it will write record
which included this field into buffer.
int flag
FORWARD => Search from forward to
backward
BACKWARD => Search from backward to
forward
As success of searching, the file index will
stay in successful record front. When search
defeat, the file index will not be moved (not
support BACKWARD at present).
Returns
When F _ Buffer = NULL, pass back 1: Search defeat; Pass other
value back: That is the size of space for buffer.
When F _ Buffer NULL, pass back 1: Search defeat; Pass other
value back: That is the record position which confirm to contrast data.
SeekRecord
Purpose
Syntax
Example call
Includes
Description
Move the searching index to the appointed record.
long SeekRecord(_DBMS* F_Search,int recordno);
SeekRecord(&fsearch,10);//move file index to eleventh record
#include DBMS.h
Use this function can move the search index to appointed record. The
number of first record is 0. The number of second record is 1.
Returns
-1: The index move is defeated.
Other value: the present address of searching index
GetRecordNum
Purpose
Use this function can read the total amount of records storing in the file at
present. .
Syntax
Example call
int GetRecordNum(_DBMS* F_Search);
int record_num;
PT-20 Programming Guide
58
record_num= GetRecordNum(&fsearch);
Includes
Description
#include DBMS.h
GetRecordNum can pass back the amount of record storing in the file at
present.
Returns
Amount of record that stores in the file
DeleteRecord
Purpose
Syntax
Example call
Includes
Description
Use this function can delete the appointed record in the file.
int DeleteRecord(_DBMS* F_Search,int recordnum);
DeleteRecord(&fsearch,2);//delete the third data of this file
#include DBMS.h
DeleteRecord can delete the appointed record, and change the size of
the file.
As success of deleting, file index will stay in the deleting record front. As
deleting defeat, file index will not move.
Returns
0: Delete defeat. 1: Delete success.
DeleteLastRecord
Purpose
Syntax
Example call
Includes
Description
Use this function can delete the last record in the file.
int DeleteLastRecord(_DBMS* F_Search);
DeleteLastRecord(&fsearch);
#include DBMS.h
DeleteLastRecord can delete the last record in the file, and change the
size of the file.
As success of deleting, file index will stay in deleting record front. As
deleting defeat, file index will not move.
Returns
0: Delete defeat. 1: Delete success.
AppendRecord
Purpose
Syntax
Example call
Use this function can increase a new record on the file end.
int AppendRecord(_DBMS* F_Search,char* record);
char str_record[25]=A1357924680,PT-10,3500;
AppendRecord(&fsearch, str_record);
Includes
Description
#include DBMS.h
AppendRecord can increase a new record on the file end, the data of
record is introduced by char * record.
As increasing success, file index will be moved to the front of increasing
record.
Returns
-1: Write into defeat.
Other value: the quantity of the data.
WriteField
PT-20 Programming Guide
59
Purpose
Syntax
Example call
Use this function can revise the designated record in the existed file.
int WriteField(_DBMS* F_Search, int recordno, int fieldno, char* field);
char str_field[10]=123456789;
WriteField(&fsearch,0,1, str_field);// Revise the second field of the first
data to str_field.
As revising success, file index will be moved to the front of the record
included revising field.
Includes
Description
#include DBMS.h
Using WriteField function can copy the field of appointed record. If the file
in disc D that you want to write, it will not allow to write.
Returns
-1: Write into defeat.
Other value: Write into the amount of data.
WriteRecord
Purpose
Syntax
Example call
Using this function can copy the existed record.
int WriteRecord(_DBMS* F_Search, int recordno, char* record);
char str_record[20]=A123456,PT-10,2330;
WriteRecord(&fsearch,0, str_record);// Revise the first record to char
str_record
Includes
Description
#include DBMS.h
Use WriteRecord function can copy the existed record, but unable to
increase a new record.
As revising success, file index will be moved to revise the front of revising
record. If the file in disc D that you want to write, it will not allow to write.
Returns
-1: Write into defeat.
Other value: Write into the amount of data.
ReadField
Purpose
Use this function to read the data of appointed field in the appointed
record.
Syntax
Example call
int ReadField(_DBMS* F_Search, int recordno, int fieldno, char* buffer);
char str_buffer[30];
ReadField(&fsearch,5,0,str_buffer);//Reading the data of first field in the
sixth record, and store to str_buffer.
Includes
Description
#include DBMS.h
int recordno : Read of record position.
int fieldno : Read of field position.
char* buffer : Read the storing space of field
Returns
When char * buffer = NULL, functions will pass the data size back. Read
defeat: Pass back - 1.
PT-20 Programming Guide
60
When char * buffer NULL. Read succeed: Pass 1 back; Read defeat:
Pass back - 1.
ReadRecord
Purpose
Syntax
Example call
Use this function to read the data of appointed record.
int ReadRecord(_DBMS* F_Search, int recordno, char* buffer);
char str_buffer[30];
ReadRecord (&fsearch,5,str_buffer);//Reading the data of sixth record,
and store to str_buffer.
Includes
Description
#include DBMS.h
int recordno : Read of record position
char* buffer : Read the storing space of field
Returns
When char * buffer = NULL, functions will pass materials size back. Read
defeat. Pass back - 1.
When char * buffer does not equal NULL. Read succeed. Passing 1 back;
Read defeat. Pass back - 1.
PT-20 Programming Guide
61
LED
set_led
Purpose
Syntax
Example call
Includes
Description
To set the LED indicators
void set_led(int led, int mode, int duration);
set_led(LED_RED, LED_FLASH, 30);
#include SDK.h
led
description
LED_GREEN
LED moving display green light.
LED_RED
LED moving display red light.
LED_ORANGE
LED moving display orange light.
mode
description
LED_OFF
off for (duration X 0.01) seconds then on
LED_ON
on for (duration X 0.01) seconds then off
LED_FLASH
flash, on then off each for (duration X 0.01)
seconds then repeat
Returns
none
PT-20 Programming Guide
62
Keypad
clr_kb
Purpose
Syntax
Example call
Includes
Description
To clear the keyboard buffer.
void clr_kb(void);
clr_kb( );
#include SDK.h
The clr_kb function clears the keyboard buffer. This function is
automatically called by the system program upon power up.
Returns
none
dis_alpha
Purpose
Syntax
Example call
Includes
Description
Disable alphabet key stroke processing.
void dis_alpha(void);
dis_alpha( );
#include SDK.h
The dis_alpha function disables the alphabet key stroke processing. If the
alpha lock status is on prior to calling this function, it will become off after
calling this function.
Returns
none
en_alpha
Purpose
Syntax
Example call
Includes
Description
Returns
Enable alphabet key stroke processing.
void en_alpha(void);
en_alpha( );
#include SDK.h
The en_alpha function enables the alphabet key stroke processing.
none
get_alpha_enable_state
Purpose
Syntax
Example call
Includes
Description
Get the status of the alphabet key stroke processing.
void get_alpha_enable_state (void);
get_alpha_enable_state ( );
#include SDK.h
This routine gets the current status, enable/disable, of the alphabet key
stroke processing. The default is enabled.
Returns
1, if the alphabet key stroke processing is enabled.
0, if disabled.
set_alpha_mode_state
Purpose
Set the status of the alphabet mode.
PT-20 Programming Guide
63
Syntax
Example call
Includes
Description
Returns
void set_alpha_mode_state(int status);
set_alpha_mode_state(1);
#include SDK.h
This function can set alphabet mode on or off.
none
get_alpha_mode_state
Purpose
Syntax
Example call
Includes
Description
Returns
Get the status of the alphabet mode status.
int get_alpha_mode_state(void);
get_alpha_mode_state();
#include SDK.h
This function can get alphabet mode on or off.
1, if alpha key is locked.
0, if alpha key is not locked.
set_keypad_BL
Purpose
Syntax
Example call
Includes
Description
Returns
Set keypad backlight on/off.
void set_keypad_BL(BOOL bStatus);
set_keypad_BL(TRUE);//Key backlight on.
#include SDK.h
This function can set keypad backlight on or off.
None
get_keypad_BL
Purpose
Syntax
Example call
Get keypad backlight on/off status.
BOOL get_keypad_BL(void);
if (get_keypad_BL())
_printf_color(COLOR_BLACK, Key Backlight on);
Includes
Description
Returns
#include SDK.h
This function can get keypad backlight status.
TRUE: Key backlight on.
FALSE: Key backlight off.
set_keypad_BL_Timer
Purpose
Syntax
Example call
Includes
Description
Returns
Set keypad backlight timer.
void set_keypad_BL_Timer(int slTimer);
set_keypad_BL_Timer(1);//Set keypad backlight timer for 1 sec.
#include SDK.h
This function can set keypad backlight timer.
None
PT-20 Programming Guide
64
get_keypad_BL_Timer
Purpose
Syntax
Example call
Get keypad backlight timer.
int get_keypad_BL_Timer(void);
int slkeypadimer;
slkeypadimer = get_keypad_BL_Timer();
Includes
Description
Returns
#include SDK.h
This function can get keypad backlight timer.
0: Keypad backlight always on
Other: The timer for keypad backlight(sec.).
_getchar
Purpose
Syntax
Example call
Get one key stroke from the keyboard buffer.
char _getchar(void);
c=_getchar ( );
if (c > 0) _printf(Key %d pressed,c);
else printf(No key pressed);
Includes
Description
#include SDK.h
The getchar function reads one key stroke from the keyboard buffer and
then removes the key stroke from the keyboard buffer. It will pass the
value back, and clear the buffer. If there is no any key press before, it will
pass NULL(0X00) back.
Returns
The getchar function returns the key stroke read from the keyboard
buffer. If the keyboard buffer is empty, a null character (0x00) is returned.
The keystroke returned is the ASCII code of the key being pressed.
GetKeyClick
Purpose
Syntax
Example call
Includes
Description
Get current key click status
int GetKeyClick(void);
state = GetKeyClick( );
#include SDK.h
The function returns an integer indicates the key click staus.The default is
enabled.
Returns
1, if key click sound is enabled.
0, if key click sound is disabled.
SetKeyClick
Purpose
Syntax
Example call
To enable / disable the key click sound.
void SetKeyClick(int status);
SetKeyClick(1); /* enable the key click sound */
PT-20 Programming Guide
65
Includes
Description
#include SDK.h
This routine truns on or off the key click sound
1, if key click sound is enabled.
0, if key click sound is disabled.
Returns
none
Def_PKey
Purpose
Syntax
Example call
Includes
Description
Change progrom key 1 & 2(P1 & P2) key define.
void Def_PKey(int nPKey, char ssDef);
Def_PKey (KEY_P1, KEY_ENT); /*Change P1 key to ENT key*/
#include SDK.h
This function can change the program key (P1 & P2) to other key define.
For example, change P1 key to ENT key or ESC key.
Returns
none
_scanf_color
Purpose
Use _scanf_color to read character strings from the standard input file
and covert the strings to values of C variables according to specified
formats.
Syntax
Example call
int _scanf_color(int color, const char *format, ...);
char assBuffer[10];
_scanf_color(COLOR_RED, %s, assBuffer);
Includes
Description
#include SDK.h
The _scanf_color function accepts a variable number of arguments, which
it interprets as addresses of C variables, and reads character strings,
representing their values. It converts them to their internal representations
using formatting commands embedded in the argument format, which
must be present in a call to _scanf_color.
The interpretation of the variables depends on the forma. The formatting
command for each variable begins with a % sign and can contain other
characters as well. A whitespace character (a blank space, a tab, or a new
line) may cause _scanf_color to ignore whitespace characters from
keyboard. Other nonwhitespace characters, excluding the % sign, cause
_scanf_color to ignore each matching character from the input. It begins
to interpret the first nonmatching character as the value of variable that is
being read.
For each C variable whose address is included in the argument list to
_scanf_color, there must be a format specification embedded in the
format. For the complete format specification accepted by the
PT-20 Programming Guide
66
_scanf_color function, please refer to the scanf function in Turbo C++.
If you want input a float value, the value type is double , not float .
Returns
The _scanf_color function returns the number of input items that were
successfully read, converted, and saved in variables. A return value equal
to EOF means that an end-of-file was encountered during the read
operation.
_scanf_color_DefaultStr
Purpose
Use _scanf_color_DefaultStr to set a default string in input and read
character strings from the standard input file and covert the strings to
values of C variables according to specified formats.
Syntax
int _scanf_color_DefaultStr(int color, char* assDefaultStr, const char
*format, ...);
Example call
char assBuffer[10] = ABC;
_scanf_color_DefaultStr(COLOR_RED, assBuffer , %s, assBuffer);
Includes
Description
#include SDK.h
The _scanf_color_DefaultStr function accepts a variable number of
arguments, which it interprets as addresses of C variables, and reads
character strings, representing their values. It converts them to their
internal representations using formatting commands embedded in the
argument format, which must be present in a call to
_scanf_color_DefaultStr.
The interpretation of the variables depends on the forma. The formatting
command for each variable begins with a % sign and can contain other
characters as well. A whitespace character (a blank space, a tab, or a new
line) may cause _scanf_color_DefaultStr to ignore whitespace
characters from keyboard. Other nonwhitespace characters, excluding
the % sign, cause _scanf_color_DefaultStr to ignore each matching
character from the input. It begins to interpret the first nonmatching
character as the value of variable that is being read.
For each C variable whose address is included in the argument list to
_scanf_color_DefaultStr, there must be a format specification embedded
in the format. For the complete format specification accepted by the
_scanf_color_DefaultStr function, please refer to the scanf function in
Turbo C++.
If you want input a float value, the value type is double , not float .
Returns
The _scanf_color_DefaultStr function returns the number of input items
that were successfully read, converted, and saved in variables. A return
PT-20 Programming Guide
67
value equal to EOF means that an end-of-file was encountered during the
read operation.
_scanf_ctrl_ScannerStatus
Purpose
Syntax
Example call
Includes
Description
Set scanner on/off when use _scanf_color function.
void _scanf_ctrl_ScannerStatus(BOOL bStatus);
_scanf_ctrl_ScannerStatus(TRUE);
#include SDK.h
When use _scanf_color function, this function can set scanner status.
TRUE : Scanner on.
FALSE : Scanner off.
Returns
none
_scanf_ctrl_Vibrate
Purpose
Set vibrate on/off when use _scanf_color function and scanner status
on.
Syntax
Example call
Includes
Description
void _scanf_ctrl_Vibrate(BOOL bEnable);
_scanf_ctrl_Vibrate(TRUE);//Enable vibrate
#include SDK.h
When use _scanf_color function, this function can set vibrate on/off after
scanner read.
TRUE : Auto press ENT on.
FALSE : Auto press ENT off.
Returns
none
_scanf_ctrl_ScanWithENT
Purpose
Set ENT auto press on/off when use _scanf_color function and scanner
status on.
Syntax
Example call
Includes
Description
void _scanf_ctrl_ScanWithENT(BOOL bScanEnt);
_ scanf_ctrl_ScanWithENT (TRUE);
#include SDK.h
When use _scanf_color function, this function can set auto press ENT
key after scanner read.
TRUE : Auto press ENT on.
FALSE : Auto press ENT off.
Returns
none
_scanf_ctrl_AlphaKey
Purpose
Syntax
Set Alpha key function on/off when use _scanf_color function.
void _scanf_ctrl_AlphaKey (int status);
PT-20 Programming Guide
68
Example call
Includes
Description
_scanf_ctrl_AlphaKey (TRUE);
#include SDK.h
When use _scanf_color function, this function can set enable/disable
alpha key when key input.
TRUE : Enable alpha key.
FALSE : Disable alpha key.
Returns
none
_scanf_ctrl_AlphaKey_Mode
Purpose
Syntax
Example call
Includes
Description
Set alpha mode when use _scanf_color function.
void _scanf_ctrl_AlphaKey_Mode(int slAlphaMode);
_scanf_ctrl_AlphaKey_Mode(ALPHA_123);//Set keypad input for number.
#include SDK.h
When use _scanf_color function, this function can set alpha mode when
key input.
ALPHA_123 : For input number.
ALPHA_abc : For input lower character.
ALPHA_ABC : For input upper character.
Returns
_scanf_ctrl_password
Purpose
Syntax
Example call
Includes
Description
Set display for general or user define when use _scanf_color function.
void _scanf_ctrl_password (char ssPassWord);
_scanf_ctrl_password (*);
#include SDK.h
When use _scanf_color function, this function can set enable/disable
alpha key when key input.
0 : Input character nomoral display.
others : Input character display define word.
Returns
none
_scanf_ctrl_KeypadLock
Purpose
Syntax
Example call
Includes
Set keypad lock on/off when use _scanf_color function.
void _scanf_ctrl_KeypadLock(BOOL bLock);
_scanf_ctrl_KeypadLock(FALSE);
#include SDK.h
PT-20 Programming Guide
69
Description
When use _scanf_color function, this function can set keypad input
lock on/off except ENT key ,ESC key and Scan key.
TRUE : Keypad lock
FALSE : Keypad unlock.
Returns
none
FNKey_Reset
Purpose
Syntax
Example call
Includes
Description
To reset all of FN-Key setting.
void FNKey_Reset(void);
FNKey_Reset();
#include SDK.h
(Null)
If you want to set default for all FNKey.
Returns
none
FNKey_GetState
Purpose
Syntax
Example call
To check the FN-Key setting that is custom or default.
char FNKey_GetState(short smKeyNum);
if (FNKey_GetState(0))
_printf(FN + 0 key is custom setting);
Includes
Description
#include SDK.h
You can check the FN-Key function that is default setting or
custom setting.
smKeyNum: 0 F1, 1 F2, 2 F3, 3 F4, 4 F5, 5 F6
Returns
1 : Custom Setting
0 : Default Setting
-1: Error
FNKey_SetUserDef
Purpose
Syntax
Example call
To set a custom setting for FN-Key.
char FNKey_SetUserDef(short smKeyNum, void (*pslFunction)(void));
void Sample01FN(void)
{
_printf(This is Test!!);
}
void SetFNKey(void)
{
if (FNKey_SetUserDef(0, Sample01FN))
{
PT-20 Programming Guide
70
_printf(Set F1 UserDefine OK!);
}
if (FNKey_SetUserDef(0, NULL))
{
_printf(Set F1 Default OK!);
}
}
Includes
Description
#include SDK.h
The function is used to set the FN-Key. After set successed, the
FN-Key is changed for custom setting function. You can set F1~6, if you
want to set default, please set pslFunction = NULL.
smKeyNum: 0 F1, 1 F2, 2 F3, 3 F4, 4 F5, 5 F6
Returns
1 : Set success
0 : Set false
PT-20 Programming Guide
71
LCD
The following functions clr_eol, clr_rect, clr_scr, fill_rect, fill_rect_color, GetCursor,
SetCursor, gotoxy, wherex, wherexy, wherey, _printf_color, _putchar, _puts, _puts_color and
show_image_bmp only effect the current TextBlock. The parameters of those function will
base on TextBlocks size and position.
clr_eol
Purpose
Clear from where the cursor is to the end of the line. The cursor position is
not affected after the operation.
Syntax
Example call
Includes
Description
void clr_eol(void);
clr_eol( );
#include SDK.h
The clr_eol function clears from where the cursor is to the end of the line,
and then moves the cursor to the original place.
Returns
None
clr_rect
Purpose
Clear a rectangular area on the LCD display. The cursor position is not
affected after the operation.
Syntax
Example call
Includes
Description
void clr_rect(int left, int top, int width, int height);
clr_rect(10,5,30,10 );
#include SDK.h
The clr_rect function clears an rectangular area on the LCD display whose
top left position and size are specified by left, top, width, and height. The
cursor position is not affected after the operation. Several introduces the
argument as follows:
Returns
left
Clear form the start point of X-axis.
top
Clear form the start point of Y-axis.
width
Clear the width form the start point.
height
Clear the high form the start point.
None
clr_scr
Purpose
Syntax
Example call
Includes
Description
Clear LCD display.
void clr_scr(void);
clr_scr( );
#include SDK.h
The clr_scr function clears the LCD display and places the cursor at the
first column of the first line, that is (0,0) as expressed with the coordinate
PT-20 Programming Guide
72
system.
Returns
None
fill_rect
Purpose
Syntax
Example call
Includes
Description
Fill a white rectangular area on the LCD display.
void fill_rect(int left, int top, int width, int height);
fill_rect (10,5,30,10);
#include SDK.h
The fill_rect function fills a rectangular area white on the LCD display
whose top left position and size are specified by left, top, width, and
height. The cursor position is not affected after the operation.Several
introduces the argument as follows:
Returns
left
Fill form the start point of X-axis.
top
Fill form the start point of Y-axis.
width
Fill the width form the start point.
height
Fill the high form the start point.
None
fill_rect_color
Purpose
Syntax
Example call
Includes
Description
Fill a user define color rectangular area on the LCD display.
void fill_rect_color(int left, int top, int width, int height, int color);
fill_rect_color(10,5,30,10,COLOR_RED);
#include SDK.h
The fill_rect_ color function fills a rectangular area for user define on the
LCD display whose top left position and size are specified by left, top,
width, and height. The cursor position is not affected after the
operation.Several introduces the argument as follows:
Returns
left
Fill form the start point of X-axis.
top
Fill form the start point of Y-axis.
width
Fill the width form the start point.
height
Fill the high form the start point.
color
Fill color choice.
None
GetCursor
Purpose
Syntax
Example call
Includes
Description
Get current cursor status.
int GetCursor(void);
if (GetCursor( ) = =0) _puts(Cursor Off);
#include SDK.h
The GetCursor function checks if the cursor is visible or not.
PT-20 Programming Guide
73
Returns
The GetCursor function returns an integer of 1 if the cursor is visible
(turned on), 0 if not.
SetCursor
Purpose
Syntax
Example call
Includes
Description
Turn on or off the cursor of the LCD display.
void SetCursor(int status);
SetCursor (0);//Cursor off
#include SDK.h
The SetCursor function displays or hides the cursor of the LCD display
according to the value of status specified. If status equals 1, 2, or 3, the
cursor will be turned on to show the current cursor position. If status
equals 0, the cursor will be invisible.
status
Returns
Curser status
0
Cursor off.
Cursor on, and cursor type is a line as _.
Cursor on, and cursor type is a line as |.
Cursor on, and cursor type is a block as .
None
gotoxy
Purpose
Syntax
Example call
Includes
Description
Move cursor to new position.
int gotoxy(int x_position, int y_position);
gotoxy(3,2);/* Move to second line of the third row */
#include SDK.h
The gotoxy function moves the cursor to a new position whose
coordinate is specified in the argument x_position and y_position.
Returns
Normally the gotoxy function will return an integer value of 1 when
operation completes. In case of LCD fault, 0 is returned to indicate error.
wherex
Purpose
Syntax
Example call
Includes
Description
Get x-coordinate of the cursor location.
int wherex(void);
x_position = wherex( );
#include SDK.h
The wherex function determines the current x-coordinate location of the
cursor.
Returns
The wherex function returns the x-coordinate of the cursor location.
wherexy
Purpose
Syntax
Get x-coordinate and y-coordinate of the cursor location
int wherexy(int* column, int* row);
PT-20 Programming Guide
74
Example call
Includes
Description
wherexy(&x_position,&y_position);
#include SDK.h
The wherexy function copies the value of x-coordinate and y-coordinate of
the cursor location to the variables whose address is
specified in the arguments column and row.
Returns
None
wherey
Purpose
Syntax
Example call
Includes
Description
Get y-coordinate of the cursor location.
int wherey(void);
y_position = wherey( );
#include SDK.h
The wherey function determines the current y-coordinate location of the
cursor.
Returns
none
lcd_backlit_Setlv
Purpose
Syntax
Example call
Includes
Description
Set LCD backlight level.
void lcd_backlit_Setlv(int level);
lcd_backlit_ Setlv (1);/*Set LCD backlight level 1*/
#include SDK.h
The lcd_backlit_Setlv sets LCD backlight level. When any key is pressed,
the backlight will turn on, and the light will be the level that you set.
The back light level has 5 levels to set.
Returns
None
lcd_backlit_SetTimer
Purpose
Syntax
Example call
Includes
Description
Set LCD backlight timer.
void lcd_backlit_SetTmer(int timer);
lcd_backlit_SetTmer (10);/*Set LCD backlight on timer for 10 sec.*/
#include SDK.h
The lcd_backlit_SetTimer sets LCD backlight on timer.
If set timer 0, the backlight always not light, others will set backlight on
timer for sec.
The max timer will be 65535 sec.
Returns
None
lcd_backlit_Getlv
Purpose
Syntax
Example call
Get LCD backlight level.
int lcd_backlit_Getlv(void);
lcd_backlit_Getlv();/*Get LCD backlight level.*/
PT-20 Programming Guide
75
Includes
Description
Returns
#include SDK.h
The lcd_backlit_Getlv gets LCD backlight level.
LCD backlight level for 1~5.
lcd_backlit_GetTimer
Purpose
Syntax
Example call
Includes
Description
Returns
Get LCD backlight timer.
int lcd_backlit_GetTimer(void);
lcd_backlit_GetTimer( );//Get LCD backlight timer.
#include SDK.h
The lcd_backlit_GetTimer gets LCD backlight timer.
LCD backlight timer for 0~65535.
_printf_color
Purpose
Use _printf_color to write character strings and volues of C variables,
formatted in a specified manner, to display screen.
Syntax
Example call
int _printf_color(int color, char *format, ...);
_printf_color(COLOR_RED, The product of %d and %d is %d\n, x, y,
x*y);
Includes
Description
#include SDK.h
The _printf_color function accepts a variable number of arguments and
prints them out to display screen. The value of each argument is
formatted according to the codes embedded in the format specification
format_string. If the format_string does not contain a % character (except
for the pair %%, which appears as a single % in the output), no argument
is expected and the format_string is written out to display screen. For the
complete format specification accepted by the _printf function, please
refer to the same function in Turbo C++.
Returns
The _printf_color function returns the number of characters it has printed.
In case of error, it returns EOF
_putchar
Purpose
Syntax
Example call
Includes
Description
Display a character in color black on the LCD display.
int _putchar(char c);
_putchar(A);
#include SDK.h
The putchar function sends the character specified in the argument c to
the LCD display at the current cursor position and moves the cursor
accordingly.
Returns
None
_putchar_color
Purpose
Display a character in user define color on the LCD display.
PT-20 Programming Guide
76
Syntax
Example call
Includes
Description
int _putchar_color(int color, char c);
_putchar_color(COLOR_BLACK, A);
#include SDK.h
The putchar function sends the character specified in the argument c to
the LCD display at the current cursor position and moves the cursor
accordingly.
Returns
None
Purpose
Display a string in color black on the LCD display.
_puts
Syntax
Example call
Includes
Description
char _puts (char* string)
_puts(Hello World);
#include SDK.h
The puts function sends a character string whose address is specified in
the argument string to the LCD display starting from the current cursor
position. The cursor is moved accordingly as each character of string is
sent to the LCD display. The operation continues until a terminating null
character is encountered.
Returns
The puts function returns the number characters sent to the LCD display.
_puts_color
Purpose
Syntax
Example call
Includes
Description
Display a string in color black on the LCD display.
char _puts_color(int colorindex, char* string);
_puts_ color (COLOR_RED, Hello World);
#include SDK.h
The puts function sends a character string in user define color whose
address is specified in the argument string to the LCD display starting
from the current cursor position. The cursor is moved accordingly as each
character of string is sent to the LCD display. The operation continues
until a terminating null character is encountered.
Returns
The puts function returns the number characters sent to the LCD display
in user define color.
show_image_bmp
Purpose
Syntax
Put a rectangular bitmap to the LCD display.
void show_image_bmp(int left, int top, int width, int height, const void
*pat);
Example call
Includes
show_image_ bmp (10,5,60,30,buffer);
#include SDK.h
PT-20 Programming Guide
77
Description
The showet_image function displays a rectangular bitmap specified by pat
to the LCD display. The rectangular s top left position and size are
specified by left, top, width, and height. The cursor position is not affected
after the operation.
left
Display form the start point of X-axis.
top
Display form the start point of Y-axis.
width
Display the width form the start point.
height
Display the high form the start point.
pat
Returns
Notice
The buffer that you want to display data of image.
none
If you want to show a two bits file of BMP, you can change the format by
using SDKUtility, and write into the buffer. After that, it will show on
PT-10s LCD.
PT-20 Programming Guide
78
UserFont
DispFont_SetFont
Purpose
Syntax
Example call
Includes
Description
Returns
Set user font from font file.
BOOL DispFont_SetFont(S32 slSelFont, const char *filename)
DispFont_SetFont(2,"D:\\Fonts\\Font16.cft");
#include SDK.h
slSelFont
User Font 2~9
filename
User font file
TRUE : success
FALSE : fail
DispFont_SetPFont
Purpose
Syntax
Example call
Set user font from font point.
BOOL DispFont_SetPFont(S32 slSelFont, char* pfile);
char *pssFP;
int slFSize;
pssFP = _fopenLookup(D:\\Fonts\\FONT16.cft, &slFSize);
DispFont_SetPFont (2, pssFP);
Includes
Description
Returns
#include SDK.h
slSelFont
User Font 2~9
pfile
User font point, from
TRUE : success
FALSE : fail
DispFont_GetFontInfo
Purpose
Syntax
Get font type,width and height.
BOOL DispFont_GetFontInfo(S32 slSelFont, S32* slType, S32* slWidth,
S32* slHeight)
Example call
Includes
Description
DispFont_GetFontInfo(2,&Type,&Width,&slHeight);
#include SDK.h
This function copies the slSelFont(0~9) info of font type ,width and height
to the variables whose address is specified in the arguments slType ,
slWidth and slHeight.
Returns
TRUE : success
FALSE : fail
Notice
Font type
0: 1 byte font file
1: 2 bytes font file
2: 2 bytes + 1bytes font file
PT-20 Programming Guide
79
TextBlock
TextBlock is a floating text printing rectangle area on screen. TextBlock defines its
activated area anywhere within LCD screen display. A out of display area definition is not
allowed.
Each TextBlock has individual attribute definition for position, size, font , background
color or bmp. There are total 16 TextBlocks. TextBlock(0) is system default block. The setting
of TextBlock(0) cant change. TextBlock(1~15) are user defined.
DefineTextBlock
Purpose
Syntax
Define TextBlock setting.
BOOL DefineTextBlock(S32 slBlockNo,S32 slSelFont,S32
slBGType,U32* ulBGData,S32 slColumn,S32 slRow,S32 slXPos,S32
slYPos)
Example call
DefineTextBlock(1,0,TYPE_IMAGE,(U32*)gausImage_PT20LOGO,10,8,
40,20);
Includes
Description
#include SDK.h
The DefineTextBlock function defines font,background graph,size and
position. There are total 15 text blocks.
slBlockNo
TextBlock number(1~15).
slSelFont
Defined Font:
0~1 system font and 2~9 user font.
slBGType
TYPE_COLOR -using background color.
TYPE_IMAGE -using background bmp.
TYPE_ORIGINAL using default background.
ulBGData
pointer of background color or bmp.
slColumn
TextBlock column number.
slRow
TextBlock row number.
slXPos
TextBlock left-top X position in pixel(0~239).
slYPos
TextBlock left-top Y position in pixel.
Status Bar enable:0~295.
Status Bar disable:0~319.
Returns
TRUE : success
FALSE : fail
Notice
It must define user font(2~9) before select user font number(2~9). The
function define a TextBlock start at point(slXPos,slYPos) , width equal to
slColumn * FontSize(width) and height equal to slRow * FontSize(height).
The TextBlock also has background color or bmp and the specific font.
PT-20 Programming Guide
80
SetTextBlock
Purpose
Syntax
Example call
Includes
Description
Enable the specific TextBlock.
BOOL SetTextBlock(S32 slBlockNo,BOOL bSF)
SetTextBlock(1,TRUE);
#include SDK.h
This function will assign TextBlock area attribute and optionally store
existing screen in TextBlock occupied area. This TextBlock will become
the active TextBlock. A regular print function is assigned to this TextBlock.
Returns
slBlockNo
TextBlock number(1~15).
bSF
Save flag for save screen or not.
TRUE : success
FALSE : fail
ResetTextBlock
Purpose
Syntax
Example call
Includes
Description
Disable the specific TextBlock.
void ResetTextBlock (S32 slBlockNo)
ResetTextBlock(1);
#include SDK.h
ResetTextBlock will disable the specific TextBlock and set the active
TextBlock to 0. If an opened TextBlock has screen save, this function will
restore previous screen from buffer in TextBlock occupied area.
slBlockNo
Returns
Notice
TextBlock number(1~15).
None.
System supports one layer screen buffer, only not be overwrote yet
opened TextBlock can be restored. If two or more TextBlock area are not
overlap on screen, they all can be saved and restored properly. In two
overlap TextBlocks, only the later opened one can be restored. To restore
previous one will cause unknown result.
PrintTextBlock
Purpose
Syntax
Print Text to specific TextBlock.
POINT PrintTextBlock(S32 slBlockNo, S32 slColumn, S32 slRow, char*
string, U32 ulFontColor)
Example call
Includes
Description
pt = PrintTextBlock(0,5,7,string,COLOR_BLACK);
#include SDK.h
This function displays colorful text to specific TextBlock. The active
TextBlock is not changed.
slBlockNo
TextBlock number(0~15).
slColumn
column.
slRow
row.
PT-20 Programming Guide
81
Returns
string
Text data pointer.
ulFontColor
Text color.
Function success: return the next position.
Function fail: return (-1,-1).
GetTextBlockCur
Purpose
Syntax
Example call
Includes
Description
Get TextBlock current position.
POINT GetTextBlockCur(S32 slBlockNo)
pt = GetTextBlockCur(3);
#include SDK.h
This function can get position in specific TextBlock.
slBlockNo
Returns
TextBlock number(0~15).
Function success: return the current position.
Function fail: return (-1,-1).
SetTextBlockCur
Purpose
Syntax
Example call
Includes
Description
Set specific TextBlock as active TextBlock and set position.
void SetTextBlockCur(S32 slBlockNo,S32 slColumn,S32 slRow)
SetTextBlockCur(3,1,1);
#include SDK.h
This function sets active TextBlock become to slBlockNo. The position of
slBlockNo sets to (slColumn, slRow).
Returns
slBlockNo
TextBlock number(0~15)
slColumn
Column
slRow
Row
None.
ShowTextBlockCursor
Purpose
Syntax
Example call
Includes
Description
Show or hide TextBlock cursor.
void ShowTextBlockCursor(S32 slBlockNo, BOOL bShow, S32 slType)
ShowTextBlockCursor(1,TRUE, 3);
#include SDK.h
This function defines cursor type. Only the active TextBlock can show
cursor.
slBlockNo
TextBlock number(0~15)
bShow
TRUE:show cursor
FALSE:Hide cursor
slType
0: Cursor off.
1: Cursor on, and cursor type is a line as _.
2: Cursor on, and cursor type is a line as |.
3: Cursor on, and cursor type is a block as .
PT-20 Programming Guide
82
Returns
None.
TextBlock_SetBGColor
Purpose
Syntax
Example call
Includes
Description
Set default background color.
void TextBlock_SetBGColor(S32 slColor);
TextBlock_SetBGColor(COLOR_BLUE);
#include SDK.h
This function can help you to set background color.
After use this function, all textblock will be reset.
TextBlock_SetBGImage
Purpose
Syntax
Example call
Includes
Description
Set default background image for bmp file.
BOOL TextBlock_SetBGImage(S8* pssPath);
TextBlock_SetBGImage(D:\\Font\\BGImage.bmp);
#include SDK.h
This function can help you to set background image.
If you want change the background image, you have to save a bmp file to
disk first. The bmp file need for 240 * 320 pixel.
After use this function, all textblock will be reset.
PT-20 Programming Guide
83
Communication Ports
clear_com
Purpose
Syntax
Example call
Includes
Description
Clear receive buffer
void clear_com(int port);
clear_com(1);
#include SDK.h
This routine is used to clear all data stored in the receive buffer. This can be
used to avoid mis-interpretation when overrun or other error occurred. Use
the argument port as the connect port which is chosen to open . You can
choose 1(RS232).
Returns
None
close_com
Purpose
Syntax
Example call
Includes
Description
To close specified communication port
void close_com(int port);
close_com(1);
#include SDK.h
The close_com disables the communication port specified. Use the
argument port as the connect port which is chosen to open . You can
choose 1(RS232).
Returns
None
com_cts
Purpose
Syntax
Example call
Get CTS level
int close_com(int port);
if (com_cts(1) = = 0) _printf(COM 1 CTS is space);
else _printf(COM 1 CTS is mark);
Includes
Description
#include SDK.h
This routine is used to check current CTS level. Use the argument port as
the connect port which is chosen to open. Now we only can choose
1(RS232).
Returns
1 : allow to deliver
0 : not allow to deliver
com_eot
Purpose
Syntax
Example call
To see if any COM port transmission in process (End Of Transmission)
int com_eot(int port);
while (com_eot(1) != 0x00); write_com(1,NEXT STRING);
PT-20 Programming Guide
84
Includes
Description
#include SDK.h
This routine is used to check if prior transmission is still in process or not.
Use the argument port as the connect port which is chosen to open . You
can choose 1(RS232).
Returns
0, prior transmission still in course
1, transmission completed
-1, the transmitting port choices error
com_overrun
Purpose
Syntax
Example call
Includes
Description
See if overrun error occurred
int com_overrun(int port);
if (com_overrun(1) > 0) clear_com(1);
#include SDK.h
This routine is used to see if overrun met. The overrun flag is automatically
cleared after examined. You can choose 1(RS232) or.
Returns
1, overrun error met
0, OK
-1, the transmitting port choices error
com_rts
Purpose
Syntax
Example call
Includes
Description
Set RTS signal
void com_rts(int port, int val);
com_rts(1,1);
#include SDK.h
This routine is used to control the RTS signal. It works even when the CTS
flow control is selected. However, RTS might be changed by the
background routine according to receiving buffer status. It is strongly
recommended not to use this routine if CTS control is utilized. Use the
argument port as the connect port which is chosen to open. Now we only
can choose 1(COM).
The argument val is set up RTS, 1 is ok for receiving data; 0 is error.
Returns
None
nwrite_com
Purpose
Syntax
Example call
Send a specific number of characters out through RS232 port
int nwrite_com(int port, char *s, int count);
char s[20]={Hello World\n};
nwrite_com(1,s,5);/*send string Hello to connect port*/
Includes
Description
#include SDK.h
This routine is used to send a specific number of characters specified by
count through RS232 ports. If any prior transmission is still in process, it is
PT-20 Programming Guide
85
terminated then the current transmission resumes. The character string is
transmitted one by one until the specified number of character is sent. Use
the argument port as the connect port which is chosen to open. You can
choose 1(RS232). The argument count is the number of words of sending
data.
Returns
-1 : error
Other value: the number of words that success writing into.
open_com
Purpose
Syntax
Example call
Initialize and enable specified RS232 port
int open_com(int com_port, int setting);
open_com(1,0x0b);/*openCOM1baud rate 38400,8 data bits,no parity,no
handshake*/
Includes
Description
#include SDK.h
The open_com function initializes the specified RS-232 port. It clears the
receive buffer, stops any data transmission under going, reset the status of
the port, and set the RS-232 specification according to parameters set. Use
the argument port as the connect port which is chosen to open. You can
choose 1(RS232).
Each bit of the argument setting
D0
Returns
baud rate
0 :115200
1-2 : 57600
3 : 38400
4 : 19200
D2
5 : 9600
6-7 : 4800
D3
data bits
0 : 7bits
1 : 8bits
D4
Parity enable
0 : disable
1 : enable
D5
even / odd
0 : odd
1 : even
D6
flow control
0 : disabe
1 : enable
D7
flow control method
0 : CTS/RTS 1 : Reserved
0 : Open fail
1 : Open success
Remark
When flow control set up disable and flow control method set up CTS/RTS.
When you use IR port, the baud rate only can be setted 115200, flow control
disable.
read_com
Purpose
Syntax
Example call
Read 1 byte from the RS232 receive buffer
int read_com(int port, char *c);
char c;
int i;
i = read_com(1,c);
PT-20 Programming Guide
86
if (i) _printf(char %c received from COM1,*c);
Includes
Description
#include SDK.h
This routine is used to read one byte from the receive buffer and then
remove it from the buffer. However, if the buffer is empty, no action is taken
and 0 is returned. Use the argument port as the connect port which is
chosen to open. You can choose 1(RS232).
Returns
1, available or 0 if buffer is empty
write_com
Purpose
Syntax
Example call
Send a string out through RS232 port
int write_com(int port, char *s);
char s[20]={Hello World\n};
write_com(1,s);
Includes
Description
#include SDK.h
This routine is used to send a string through RS232 ports. If any prior
transmission is still in process, it is terminated then the current transmission
resumes. The character string is transmitted one by one until a NULL
character is met. A null string can be used to terminate prior transmission.
Use the argument port as the connect port which is chosen to open. You
can choose 1(RS232).
Returns
None
USB_Open
Purpose
Syntax
Example call
Includes
Description
Returns
Initialize and enable USB port.
void USB_Open(void);
USB_Open();
#include SDK.h
The USB_Open function initializes and enable USB port.
None
USB_Close
Purpose
Syntax
Example call
Includes
Description
Returns
To close USB port
void USB_Close(void);
USB_Close();
#include SDK.h
The USB_Close function disable and suspend USB port.
None
USB_Read
Purpose
Syntax
Example call
Read specific number of bytes from USB port.
int USBRead(unsigned char *rbuf, unsigned int rLength);
int k;
PT-20 Programming Guide
87
unsigned char ausBuf[12];
k = USBRead(ausBuf, 10);
_printf("Read %d characters => %s", k, ausBuf);
Includes
Description
Returns
#include SDK.h
The function can write specific number of bytes from USB port.
The USBRead function returns the number characters from the PC site
USB_Write
Purpose
Syntax
Example call
Includes
Description
Returns
Write specific number of bytes to USB port.
void USBWrite(unsigned char *wbuf, unsigned int wLength);
USBWrite("0123456789", 10);
#include SDK.h
The function can write specific number of bytes to USB port.
None
PT-20 Programming Guide
88
Remote
SetRemoteBaud
Purpose
Syntax
Example call
Includes
Description
Setting the RemoteLink baud rate.
void SetRemoteBaud(int slBaud);
SetRemoteBaud (0);
#include SDK.h
This function can set RemoteLink baud rate(when use com port), the baud
rate setting as follows:
Returns
slBaud
Baud rate(bps)
115200
57600
38400
19200
9600
4800
None
GetRemoteBaud
Purpose
Getting the RemoteLink baud rate.
Syntax
int GetRemoteBaud(void);
Example call
Switch(GetRemoteBaud())
{
Case 0:
_printf_color(COLOR_RED, RemoteLink baud rate=115200);
Break;
Case 1:
_printf_color(COLOR_RED, RemoteLink baud rate=57600);
Break;
Case 2:
_printf_color(COLOR_RED, RemoteLink baud rate=38400);
Break;
Case 3:
_printf_color(COLOR_RED, RemoteLink baud rate=19200);
Break;
Case 4:
_printf_color(COLOR_RED, RemoteLink baud rate=9600);
Break;
PT-20 Programming Guide
89
Case 5:
_printf_color(COLOR_RED, RemoteLink baud rate=4800);
Break;
}
Includes
Description
Returns
#include SDK.h
This function can get RemoteLink baud rate(when use com port).
0:115200 bps
1:57600 bps
2:38400 bps
3:19200 bps
4:9600 bps
5:4800 bps
SetRemoteInterface
Purpose
Syntax
Example call
Includes
Description
Setting the RemoteLink interface.
void SetRemoteInterface(int slInterface);
SetRemoteInterface(int slInterface);
#include SDK.h
This function can set RemoteLink connect interface, the interface setting as
follows:
Returns
slInterface
Interface
RS-232
USB
None
GetRemoteInterface
Purpose
Syntax
Example call
Getting the RemoteLink interface.
int GetRemoteInterface(void);
Switch(GetRemoteInterface ())
{
Case 0:
_printf_color(COLOR_RED, RemoteLink Interface is RS-232);
Break;
Case 1:
_printf_color(COLOR_RED, RemoteLink Interface is USB);
Break;
}
Includes
Description
#include SDK.h
This function can set RemoteLink connect interface.
PT-20 Programming Guide
90
Returns
0RS-232
1USB
RemoteLink
Purpose
Use RemoteLink to call the transmission function for user to upload or
download files.
Syntax
Example call
Includes
Description
void RemoteLink(void);
RemoteLink( );
#include SDK.h
The RemoteLink function provides the transmission environment to link
with Argolink and make file uploading or downloading.
Returns
Use RemoteLink to call the transmission function for user to upload or
download files.
RemoteLink_RealTime
Purpose
Syntax
Example call
Includes
Description
Use RemoteLink_RealTime can transfer file in any state.
void RemoteLink_RealTime(BOOL bStatus);
RemoteLink_RealTime(TRUE);
#include SDK.h
This function can set real time RemoteLink enable/disable, the bStatus
setting as follows:
Returns
FALSE
Real time RemoteLink disable
TRUE
Real time RemoteLink enable.
None
PT-20 Programming Guide
91
System
SysSuspend
Purpose
Syntax
Example call
Includes
Description
Shut down the system.
void SysSuspend(void);
SysSuspend( );
#include SDK.h
This function will shut down the system.When power on, the system will
resume or restart itself, depending on the system setting.
Returns
None.
SysDelay
Purpose
Syntax
Example call
Includes
Description
Returns
Set system delay time.
void SysDelay(unsigned int ulTime);
SysDelay(6000);//delay 6 seconds.
#include SDK.h
The function can delay system, its unit is millisecond.
None
SetPowerOnState
Purpose
Set power on for resume or restart.
Syntax
void SetPowerOnState(int slState);
Example call
Includes
Description
SetPowerOnState(0);//Power on for resume.
#include SDK.h
This function can set power on status for resume or restart.
slState for 0:Set power on resume.
slState for 1:Set power on restart.
Returns
None
GetPowerOnState
Purpose
Syntax
Example call
Get power on status
int GetPowerOnState(void);
if (GetPowerOnState())
_printf_color(COLOR_BLACK, Power on for restart:);
Includes
Description
Returns
#include SDK.h
This function can get power on status for resume or restart.
0:Resume
1:Restart
SetAutoPWOff
Purpose
Set auto power off timer.
PT-20 Programming Guide
92
Syntax
Example call
Includes
Description
void SetAutoPWOff(int slTimer);
SetAutoPWOff(0);//Always on
#include SDK.h
This function can set auto power off timer. The range is from 30 to
65535(s),
If the value is 0, that means always on.
Returns
None
GetAutoPWOff
Purpose
Get auto power off timer.
Syntax
int GetAutoPWOff(void);
Example call
int slAPO;
slAPO = GetAutoPWOff( );
Includes
Description
Returns
#include SDK.h
This function can get auto power off timer.
Auto power off timer(s).
SetStatusBAR
Purpose
Set statusbar display/no display.
Syntax
void SetStatusBAR(int slStatus);
Example call
Includes
Description
SetStatusBAR(TRUE);//Statusbar on.
#include SDK.h
This function can set statusbar display or on display.
If use this function, all of the textblock setting will be reset.
Returns
None.
GetStatausBAR
Purpose
Syntax
Example call
Get statusbar display status.
int GetStatusBAR(void);
if (GetStatusBAR())
_printf_color(COLOR_BLACK, Statusbar on);
Includes
Description
Returns
#include SDK.h
This function can get statusbar display status.
TRUE: Statusbar display
FALSE: Statusbar no display
SN_Get
Purpose
Syntax
Example call
Includes
Description
To get the SN of PT10/12.
void SN_Get(char *pssSNBuffer);
SN_Get(SNBuffer);
#include SDK.h
The function cab get the SN of PT20. The string buffer size must longer
PT-20 Programming Guide
93
than 8 bytes.
Returns
None
BIOS_SetDefault
Purpose
Syntax
Example call
Includes
Description
Set BIOS setting default.
void BIOS_SetDefault(void);
BIOS_SetDefault();
#include SDK.h
This function can set BIOS setting to default setting. It takes several
seconds.
Returns
None
Check_AID
Purpose
Syntax
Example call
Check the agency ID correct or not.
BOOL Check_AID(char* pssUser, char* pssPassword);
if (Check_AID(USER01, AAAAAAAA))
_printf_color(COLOR_BLACK, AID Correct!!);
Includes
Description
#include SDK.h
This function can check the agency ID correct or not. You can write the
agency ID by AID Maker.
The pssUser and pssPassword need 4~8 characters.
Returns
TRUE: AID correct.
FALSE: AID not correct.
PT-20 Programming Guide
94
Memory
Tfree
Purpose
Use the Tfree to release an allocated storage block to the pool of free
memory.
Syntax
Example call
Includes
Description
void Tfree(void *mem_address);
Tfree(buffer);
#include SDK.h
The Tfree function returns to the pool of free memory a blockof memory
that was allocated earlier by Tmalloc. The address of the block is specified
by the argument mem_address, which is a pointer to the starting byte of the
block. A NULL pointer argument is ignored by Tfree.
Returns
None
Tmalloc
Purpose
Use Tmalloc to allocate memory for an array of a given number of bytes,
not exceeding 256KB.
Syntax
Example call
Includes
Description
void* Tmalloc(U32 num_bytes);
buffer = (char *)Tmalloc(100*sizeof(char));
#include SDK.h
The Tmalloc function allocates the number of bytes requested in the
argument num_bytes by calling internal Turbo C heap management
routines. The Tmalloc function will work properly for all memory models.
Returns
The Tmalloc function returns a pointer that is the starting address of the
memory allocated. The allocated memory is properly aligned (the address
of the first byte meets the requirements for storing any type of C variable). If
the memory allocation is unsuccessful because of insufficient space or bad
values of the arguments, a NULL is returned.
Comments
Note that when using Tmolloc to allocate storage for a specific data type,
you should cast the returned void pointer to that type.
TotalHeapSize
Purpose
Syntax
Example call
Includes
Description
Returns
Checking the total heap size.
int TotalHeapSize(void);
totalsize = TotalHeapSize();
#include SDK.h
The TotalHeapSize function can get the total heap size.
The total heap size in units of Kbytes.
UsedHeapSize
PT-20 Programming Guide
95
Purpose
Syntax
Example call
Includes
Description
Returns
Checking the used heap size.
int UsedHeapSize(void);
usedsize = UsedHeapSize();
#include SDK.h
The UsedHeapSize function can get the used heap size.
The used heap size in units of Kbytes.
FreeHeapSize
Purpose
Syntax
Example call
Includes
Description
Returns
Checking the free heap size.
int FreeHeapSize(void);
freesize = FreeHeapSize();
#include SDK.h
The UsedHeapSize function can get the used heap size.
The total heap size in units of Kbytes.
PT-20 Programming Guide
96
Vibrate
on_vibrator
Purpose
Syntax
Example call
Includes
Description
Use on_vibrator to set vibrator on.
void on_vibrator(void);
on_vibrator( );
#include SDK.h
Use on_vibrator function can enable vibrator. On timer is set by
set_vibrator_timer function.
Returns
None.
off_vibrator
Purpose
Syntax
Example call
Includes
Description
Returns
Use off_vibrator to set vibrator off.
void off_vibrator(void);
off_vibrator( );
#include SDK.h
Use off_vibrator function can daisable vibrator.
None.
set_vibrator_timer
Purpose
Syntax
Example call
Includes
Description
Use set_vibrator_timer to set vibrator on timer.
void set_vibrator_timer(unsigned char usTimer);
set_vibrator_timer(10);//Set vibrator on timer for 1 sec.
#include SDK.h
Use set_vibrator_timer function can set vibrator on timer. For example, set
10 for on 1 sec.
Returns
None.
get_vibrator_timer
Purpose
Syntax
Example call
Includes
Description
Returns
Use get_vibrator_timer to get vibrator on. timer
unsigned char get_vibrator_timer(void);
i = get_vibrator_timer( );
#include SDK.h
Use get_vibrator_timer function can get vibrator on timer.
Vibrator on timer.
PT-20 Programming Guide
97
Other
prc_menu_color
Purpose
Syntax
Example call
Create a menu-driven interface.
void prc_menu(MENU *menu);
MENU_ENTRY Menu_01 = {0,1,"1.Test Menu 01",FuncMenu_01,0};
MENU_ENTRY Menu_02 = {0,2,"2.Test Menu 02",FuncMenu_02,0};
MENU_ENTRY Menu_03 = {0,3,"3.Test Menu 03",FuncMenu_03,0};
void prc_menu_Test(void)
{
MENU Menu_Test = {3,1,0,"Menu
Test!!",{&Menu_01,&Menu_02,&Menu_03}};
prc_menu(&Menu_Test);
}
void FuncMenu_01(void)
{
/*to do :add your own program code here*/
}
void FuncMenu_02(void)
{
/*to do :add your own program code here*/
}
void FuncMenu_03(void)
{
/*to do :add your own program code here*/
}
Includes
Description
#include SDK.h
The prc_menu function is used to create a user-defined menu. SMENU
and MENU structures are defined in SDK.h. Users can just fill the MENU
structure and call the prc_menu function to build a hierarchy menu-driven
user interface.
Returns
None
PT-20 Programming Guide
98
Simulator (Only for PC Simulator)
CopyFileToTerminal
Purpose
Syntax
Example call
Use BackupDataFiletoPC to copy data file to C:\Data directory in PC.
void CopyFileToTerminal(char *pssPCFileName, char *pssPDTFileName);
CopyFileToTerminal("..\\Lookup\\MenuLook.dat",
"D:\\Lookup\\MenuLook.dat");
Includes
Description
#include SDK.h
The CopyFileToTerminal function copies the PC file path specified by
pssPCFileName pointer to the simulator path specified by
pssPDTFileName pointer.
Returns
None
BackupDataFiletoPC
Purpose
Syntax
Example call
Includes
Description
Use BackupDataFiletoPCA to copy data file to any disc in PC.
void BackupDataFiletoPC(char *pTerminalFile, char *pPCFileName);
BackupDataFiletoPC("c:\\data\\test1.dat","f:\\sample\\test1.dat ");
#include SDK.h
The BackupDataFiletoPC function copies the simulator datafile path
specified by pTerminalFile to the pFileName in PC, and you need to store
with the same file name.
Returns
None
PT-20 Programming Guide
99
Data Conversion
__itoa
Purpose
Syntax
Example call
Includes
Description
Use __itoa to convert an integer value to a null-terminated character string.
char * __itoa (int value, char *string, int radix);
__itoa(32, buffer, 16); /* buffer will contain 20 */
#include SDK.h
The __itoa function converts the int argument value into a null-terminated
character string using the argument radix as the base of the number
system. The resulting string with a length of up to 17 bytes is saved in the
buffer whose address is given in the argument string. You must allocate
enough room in the buffer to hold all digits of the converted string plus the
terminating null character (\0). For radixes other than 10, the sign bit is not
interpreted; instead, the bit pattern of value is simply expressed in the
requested radix. The argument radix specifies the base (between 2 and 36)
of the number system in which the string representation of value is
expressed. For example, using either 2, 8, 10, or 16 as radix, you can
convert value into its binary, octal, decimal, or hexadecimal representation,
respectively. When radix is 10 and the value is negative, the converted
string will start with a minus sign.
Returns
The __itoa function returns the pointer to the string of degits (i.e., it returns
the argument string).
__ltoa
Purpose
Use __ltoa to convert a long integer value to a null-terminated character
string.
Syntax
Example call
Includes
Description
char * __ltoa (long value, char *string, int radix);
__ltoa(0x10000, string, 10); /* string = 65536 */
#include SDK.h
The __ltoa function converts the long argument value into acharacter string
using the argument radix as the base of the number system. A long integer
has 32 bits when expressed in radix 2, so the string can occupy a
maximum of 33 bytes with the terminating null character. The resulting
string is returned in the buffer whose address is given in the argument
string. The argument radix specifies the base (between 2 and 36) of the
number system in which the string representation of value is expressed.
For example, using either 2, 8, 10,or 16 as radix, you can convert value into
its binary, octal, decimal, or hexadecimal representation, respectively.
PT-20 Programming Guide
100
When radix is 10 and the value is negative, the converted string will start
with a minus sign.
Returns
The __ltoa function returns the pointer to the converted string (i.e., it
returns the argument string).
__ultoa
Purpose
Syntax
Example call
Includes
Description
Use __ultoa to convert an unsigned long integer value to a character string.
char * __ultoa (unsigned long value, char *string, int radix);
__ultoa(0x20000, string, 10); /* string = 131072 */
#include SDK.h
The __ultoa function converts the unsigned long argument value into a
null-terminated character string using the argument radix as the base of the
number system. A long integer has 32 bits when expressed in radix 2, so
the string can occupy a maximum of 33 bytes with the terminating null
character. The resulting string is returned by __ultoa in the buffer whose
address is given in the argument string. The argument radix specifies the
base (between 2 and 36) of the number system in which the string
representation of value is expressed. For example, using either 2, 8, 10, or
16 as radix, you can convert value into its binary, octal, decimal, or
hexadecimal representation, respectively.
Returns
The __ultoa function returns the pointer to the converted string (i.e., it
returns the argument string).
PT-20 Programming Guide
101
APPENDIX 1
Scan Command Table
Command1
Command2
Value
0: Disable
Indication
LED indication
1: Enable
0: Disable
Buzzer indication
1: Enable
0: Before code data
Transmission
Code ID position
1: After code data
0: Disable
Code ID transmission
1: Proprietary ID
2: AIM ID
0: Disable
Code length transmission
1: Enable
10
0: Disable
Code name transmission
1: Enable
11
0: Disable
Case conversion
1: Upper case
2. Lower case
Scan
Double confirm
6
0~9
0 ~ 64
Global min. code length
7
0 ~ 64
Global max. code length
8
0: Disable
Inverted image scan
1: Enable
0x00 ~ 0xff ASCII code
String setting
Suffix characters setting
22 characters.
0x00 ~ 0xff ASCII code
Preamble characters
22 characters.
settings
4
PT-20 Programming Guide
0x00 ~ 0xff ASCII code
102
Postamble characters
22 characters.
settings
10
0: Disable
Code 11
Read
1: Enable
0: Disable
Check-sum verification
1: One digit
2: Two digits
0: Disable
Check-sum transmission
1: Enable
0 ~ 64
Max. code length
5
0 ~ 64
Min. code length
6
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
11
0: Disable
Code 39
Read
1: Enable
0: Disable
Check-sum verification
1: Enable
0: Disable
Check-sum transmission
1: Enable
0 ~ 64
Max. code length
5
0 ~ 64
Min. code length
6
0 ~ 20
Truncate leading
20: Truncate characters before
space
0 ~ 15
Truncate ending
PT-20 Programming Guide
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
10
0: Standard
Format
1: Full ASCII
103
13
0: Disable
Start/stop transmission
1: Enable
12
0: Disable
Code 93
Read
1: Enable
0: Disable
Check-sum verification
1: Enable
0: Disable
Check-sum transmission
1: Enable
0 ~ 64
Max. code length
5
0 ~ 64
Min. code length
6
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
13
0: Disable
Code 128
Read
1: Enable
0: Disable
Check-sum verification
1: Enable
0: Disable
Check-sum transmission
1: Enable
0 ~ 64
Max. code length
5
0 ~ 64
Min. code length
6
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
10
0: Standard
Format
1: UCC.EAN 128
12
0x00 ~ 0xff ASCII code(1 bytes)
UCC/EAN 128 ID setting
PT-20 Programming Guide
104
13
0x00 ~ 0xff ASCII code(1 bytes)
Concatenation code
14
0: Disable
Codabar
Read
1: Enable
0: Disable
Check-sum verification
1: Enable
0: Disable
Check-sum transmission
1: Enable
0 ~ 64
Max. code length
5
0 ~ 64
Min. code length
6
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
10
0: ABCD/ABCD
Start/stop type
1: abcd/abcd
2: ABCD/TN*E
3: abcd/tn*e
11
0: Disable
Start/stop transmission
1: Enable
15
0: Disable
EAN 8
Read
1: Enable
0: Disable
Check-sum transmission
1: Enable
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
10
0: None
Supplement digits
1: 2 digits
2: 5 digits
3: 2, 5 digits
PT-20 Programming Guide
105
4: UCC/EAN 128
5: 2, UCC/EAN 128
6: 5, UCC/EAN 128
7: All
11
0: None
Truncation/expansion
1: Truncate leading zero
2: Expand to EAN 13
12
0: Disable
Expansion
1: Enable
16
0: Disable
EAN 13
Read
1: Enable
0: Disable
Check-sum transmission
1: Enable
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
10
0: None
Supplement digits
1: 2 digits
2: 5 digits
3: 2, 5 digits
4: UCC/EAN 128
5: 2, UCC/EAN 128
6: 5, UCC/EAN 128
7: All
12
0: Disable
ISBN/ISSN conversion
1: Enable
17
0:Disable
Industrial 2 of 5
Read
1:Enable
0 ~ 64
Max. code length
5
0 ~ 64
Min. code length
6
0 ~ 15
Truncate leading
7
PT-20 Programming Guide
0 ~ 15
106
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
18
0: Disable
Interleaved 2 of
Read
1: Enable
0: Disable
Check-sum verification
1: Enable
0: Disable
Check-sum transmission
1: Enable
0 ~ 64
Max. code length
5
0 ~ 64
Min. code length
6
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
19
0: Disable
Standard 2 of 5
Read
1: Enable
0: Disable
Check-sum verification
1: Enable
0: Disable
Check-sum transmission
1: Enable
0 ~ 64
Max. code length
5
0 ~ 64
Min. code length
6
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
20
0: Disable
MSI Plessey
Read
1: Enable
0: Disable
PT-20 Programming Guide
107
Check-sum verification
1: Mod 10
2: Mod 10/10
3: Mod 11/10
0: Disable
Check-sum transmission
1: Enable
0 ~ 64
Max. code length
5
0 ~ 64
Min. code length
6
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
21
0: Disable
UK Plessey
Read
1: Enable
0: Disable
Check-sum verification
1: Enable
0: Disable
Check-sum transmission
1: Enable
0 ~ 64
Max. code length
5
0 ~ 64
Min. code length
6
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
22
0: Disable
Telepen
Read
1: Enable
0: Disable
Check-sum verification
1: Enable
0: Disable
Check-sum transmission
1: Enable
0 ~ 64
PT-20 Programming Guide
108
Max. code length
5
0 ~ 64
Min. code length
6
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
10
0: Numeric
Format
1: Full ASCII
23
0: Disable
UPCA
Read
1: Enable
0: Disable
Check-sum transmission
1: Enable
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
10
0: None
Supplement digits
1: 2 digits
2. 5 digtis
3: 2, 5 digits
4: UCC/EAN 128
5: 2, UCC/EAN 128
6: 5, UCC/EAN 128
7: All
11
0: None
Truncate/expansion
1: Truncate leading zero
2: Expand to EAN 13
24
0: Disable
UPCE
Read
1: Enable
0: Disable
Check-sum transmission
1: Enable
0 ~ 15
Truncate leading
PT-20 Programming Guide
109
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
10
0: None
Supplement digits
1: 2 digits
2: 5 digits
3: 2, 5 digits
4: UCC/EAN 128
5: 2, UCC/EAN 128
6: 5, UCC/EAN 128
7: All
11
0: None
Truncate/expansion
1: Truncate leading zero
2: Expand to EAN 13
3: Expand to UPCA
12
0: Disable
Expansion
1: Enable
13
0: Disable
UPCE-1
1: Enable
25
0: Disable
Matrix 25
Read
1: Enable
0: Disable
Check-sum verification
1: Enable
0: Disable
Check-sum transmission
1: Enable
0 ~ 64
Max. code length
5
0 ~ 64
Min. code length
6
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
28
0: Disable
China post
Read
1: Enable
PT-20 Programming Guide
110
0 ~ 64
Max. code length
5
0 ~ 64
Min. code length
6
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
29
0: Disable
RSS 14
Read
1: Enable
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
11
0: Disable
UCC/EAN 128 emulation
1: Enable
30
0: Disable
RSS Limited
Read
1: Enable
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
11
0: Disable
UCC/EAN 128 emulation
1: Enable
31
0: Disable
RSS Expanded
Read
1: Enable
0 ~ 99
Max. code length
5
0 ~ 99
Min. code length
6
0 ~ 15
Truncate leading
PT-20 Programming Guide
111
0 ~ 15
Truncate ending
8
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
11
0: Disable
UCC/EAN 128 emulation
1: Enable
32
0: Disable
Italian
Read
1: Enable
Pharmacode 39
0 ~ 64
Max. code length
5
0 ~ 64
Min. code length
6
0 ~ 15
Truncate leading
7
0 ~ 15
Truncate ending
PT-20 Programming Guide
0x00 ~ 0xff ASCII code(1 or 2
Code ID setting
bytes)
10
0: Disable
Leading A
1: Enable
112