KU007 Programming PDF
KU007 Programming PDF
PROGRAMMING
MANUAL
Smart Keyboard Programming Manual
CONTENT
DOCUMENT CONVENTIONS..................................................................................................................... V
QUICK START................................................................................................................................................. 1
SPECIFICATIONS .......................................................................................................................................... 2
SAFETY REGULATION................................................................................................................................. 4
CHECK-LIST ................................................................................................................................................... 4
OPTIONS .......................................................................................................................................................... 4
EDIT A PROGRAM....................................................................................................................................... 12
VARIABLES ................................................................................................................................................... 14
FUNCTIONS .................................................................................................................................................. 16
i
Smart Keyboard Programming Manual
OPERATORS.................................................................................................................................................. 16
EXPRESSIONS .............................................................................................................................................. 17
ARITHMETIC EXPRESSIONS................................................................................................................... 17
<ESC>!R ......................................................................................................................................................... 19
<ESC>!W ........................................................................................................................................................ 20
SOUND ............................................................................................................................................................ 21
CLS .................................................................................................................................................................. 22
CLEAR ............................................................................................................................................................ 23
CURSOR ......................................................................................................................................................... 24
LOCATE ......................................................................................................................................................... 25
PRINT[USING] .......................................................................................................................................... 26
INPUT.............................................................................................................................................................. 28
OUT ................................................................................................................................................................. 29
FOUT............................................................................................................................................................... 30
OUT USING.................................................................................................................................................... 31
DOWNLOAD.................................................................................................................................................. 32
EOP.................................................................................................................................................................. 33
OPEN............................................................................................................................................................... 34
CLOSE ............................................................................................................................................................ 35
KILL................................................................................................................................................................ 36
SEEK ............................................................................................................................................................... 37
READ............................................................................................................................................................... 38
WRITE ............................................................................................................................................................ 39
ii
Smart Keyboard Programming Manual
GOSUBRETURN ....................................................................................................................................... 40
DO[EXITDO]LOOP .............................................................................................................................. 41
FOR[EXITFOR]NEXT.......................................................................................................................... 42
WHILEWEND............................................................................................................................................ 43
GOTO .............................................................................................................................................................. 44
IFTHENELSE......................................................................................................................................... 45
END ................................................................................................................................................................. 48
DIM.................................................................................................................................................................. 49
FREE ............................................................................................................................................................... 50
REM................................................................................................................................................................. 51
POS() ............................................................................................................................................................... 52
INKEY() .......................................................................................................................................................... 53
INP$() .............................................................................................................................................................. 54
EOF() ............................................................................................................................................................... 56
LOF() ............................................................................................................................................................... 57
ABS() ............................................................................................................................................................... 58
ASC() ............................................................................................................................................................... 59
LEN() ............................................................................................................................................................... 60
FRE() ............................................................................................................................................................... 61
INT() ................................................................................................................................................................ 62
VAL() ............................................................................................................................................................... 63
RND()............................................................................................................................................................... 64
CHR$() ............................................................................................................................................................ 65
FREAD$()........................................................................................................................................................ 66
LEFT$()........................................................................................................................................................... 67
RIGHT$() ........................................................................................................................................................ 68
MID$() ............................................................................................................................................................. 69
STR$().............................................................................................................................................................. 70
SPC$().............................................................................................................................................................. 71
iii
Smart Keyboard Programming Manual
YEAR............................................................................................................................................................... 72
MONTH .......................................................................................................................................................... 73
DATE ............................................................................................................................................................... 74
HOUR .............................................................................................................................................................. 75
MINUTE.......................................................................................................................................................... 76
SECOND ......................................................................................................................................................... 77
IDNUMBER$.................................................................................................................................................. 78
iv
Smart Keyboard Programming Manual
Document Conventions
This manual uses the following typographic conventions
v
Smart Keyboard Programming Manual
Quick Start
1. Please verify if the pin configuration of keyboard COM1 port (keyboard
cable) is compatible with your printer COM port. If they are not compatible,
please refer to section Specification and Appendix A for more information.
2. Turn off printer power. Connect keyboard COM1 port to printer serial port.
3. Press F1 to setup the communication parameters of keyboard. Please refer
to section Keyboard Utilities for more information.
4. Press ALT-EXIT to reset keyboard. It is ready for downloading the program.
5. Key in the program as below:
CLS
PRINT HELLO !
A=INKEY()
END
NOTE: TSKL only accepts capital letters.
6. Save the file with filename of DEMO.BAS.
7. Select Utilities | Download File to download program file to keyboard.
Note: When download programs (*.BAS), please select BAS file
extension in the Download file dialog box.
8. A sharp and short beep sound means the file has been downloaded to
keyboard memory.
9. Press FORM key and to select the and to execute downloaded
program.
10. HELLO ! will be shown on the LCD display. Press any key to end the
program.
11. Press ALT-EXIT to reset printer.
Com1
Com2
1
Smart Keyboard Programming Manual
Specifications
z Keyboard Unit
Size 261mm(L)142.2mm(W)31mm(H)
Weight 440g
LCD 20 characters 2 lines
Max Current 5V, 250mA
External Power 5V, 150mA
Operating
40F~104F (5C~40C)
Temperature
Storage Temperature -4F~140F (-20C~60C
z Memory
FLASH 512 KB for system, 1 MB for application
Communication Interface
The available communication parameters for both 2 serial ports are listed as
below:
Baud rate: 2400, 4800, 9600, 19200 bps
Parity check: none, even or odd
Data bits: 7 or 8
2
Smart Keyboard Programming Manual
Stop bit(s): 1 or 2
COM1 Port
Pin Configuration
1 Power input 5 volts, 250mA
2 RxD
3 TxD
4 DTR
5 Ground
6 DSR
7 RTS
8 CTS
9 Connect with Pin1 internally
COM2 Port
Pin Configuration
1 Power input 5 volts, 250mA
2 TxD
3 RxD
4 DSR
5 Ground
6 DTR
7 CTS
8 RTS
9 Connect with Pin1 internally
3
Smart Keyboard Programming Manual
Safety Regulation
FCC Class A
CE Class A
Check-List
Verify the contents of the container according to the list below, if any parts are
missing, please contact your local representative.
z SMART KEYBOARD keyboard unit
z SMART KEYBOARD Users Manual
z 25 pin to 9 pin RS-232 converter
z 2 screws for SI thread
z Codepage stickers
Options
z External power set
AC adapter
Input: 110V AC or 220V AC
Output: 5V DC
RS-232 cable with power adapter jack
4
Smart Keyboard Programming Manual
Keyboard Setup
Please turn off printer power prior connecting keyboard COM1 port to printer.
COM2 port of keyboard is used for download files from PC or can be
connected to other input devices such as bar code scanner.
Keyboard Operation
z Power-on Utilities
Auto Execution
SMART KEYBOARD will execute the program automatically when
turning on power without pressing any key, If one of the downloaded
programs is named AUTO.BAS
Please presses ALT-F1 first to disable the auto execution functions
prior keyboard configuration setup, on-line editing, initialization and
extend files manager utilities if the auto execution file is downloaded in
keyboard.
Keyboard Initialization
Press the ALT-CLEAR while turning on printer power will initialize the
keyboard. All files stored in the SRAM will be deleted. Code page and
country codes are set to defaults value of 437 and 001 respectively.
Both of serial port communications parameters are set to 9600 bps,
none parity check, 8 data bits and 1 stop bit.
5
Smart Keyboard Programming Manual
COM1 SETUP
COM2 SETUP
Setup Utility
INFORMATION
UTILITY SETUP
PASSWORD SETUP
6
Smart Keyboard Programming Manual
SETUP.
The available code pages and country code are listed as below:
Code pages
437: United States
850: Multilingual
852: Slavic
860: Portuguese
863: Canadian/French
865: Nordic
Country codes
001: USA
002: Canadian French
003: Spanish (Latin America)
031: Dutch
032: Belgian
033: French (France)
034: Spanish (Spain)
036: Hungarian
038: Yugoslavian
039: Italian
041: Switzerland
042: Slovak
044: United Kingdom
045: Danish
046: Swedish
047: Norwegian
048: Polish
049: Germany
055: Brazil
061: English (International)
351: Portuguese
358: Finnish
There is a beep sound after each key strokes. It can be disabled by
set the key sound off.
PASSWORD SETUP:
SMART KEYBOARD supports password security. With password
locked on, the download, uploads programs, on-line editing, deleting
7
Smart Keyboard Programming Manual
files, firmware upgrade and extend files manager will be disabled. The
maximum characters of password are up to 14 characters, which are
not case sensitive.
Note: If the password is lost, please contact the Customer
Service Department of your distributor or reseller.
SMART KEYBOARD provides another password namely ID Number,
which can be verified in the program. The allowable maximum number
of characters of ID number is 49. The ID number is not case sensitive.
The default ID number is T.S.C.
8
Smart Keyboard Programming Manual
9
Smart Keyboard Programming Manual
LIST FILES
DOWNLOAD FILES
LIST FILES:
All the files stored in Flash memory will be listed. The BASIC files
stored in Flash memory will also be listed in BASIC program file list
by press Form key.
ERASE FILES:
This utility delete all the files stored in Flash memory. The KILL
command cant delete files stored in Flash memory.
DOWNLOAD FILES:
Enter this utility before download files to Flash memory. Download
files either by DOS command or by SMART KEYBOARD Windows
software. Press EXIT key to exit download utility.
Note:
1. All files will be deleted when invoked DOWNLOAD FILES utility.
Copy all the files again although only one file is appended.
2. With password locked on, the utilities above will be disabled.
10
Smart Keyboard Programming Manual
upper and downward arrow keys are used to scroll files displayed in LCD
screen. SMART KEYBOARD also supports hot key feature to find the
program. For example: If the program is named DEMO.BAS, press FORM
and then press D. It scrolls the files to the first one that begins with D
automatically. Execute the selected program by press ENTER key.
11
Smart Keyboard Programming Manual
Edit A Program
To edit a program file, you need a plain text editor, for example: DOS Editor, or
Windows NotePador
12
Smart Keyboard Programming Manual
Download A Program
Users can download the program by DOS command.
Connect PC and smart keyboard by board COM2 port.
Connect smart keyboard COM1 RS-232 cable to printer.
A sharp and short beep sound means the file has been downloaded to
keyboard memory.
Execute A Program
Reset smart keyboard by pressing ALT-EXIT.
Press FORM to list program files.
Press and to select a program to execute.
If you want to interrupt the program, press ALT-EXIT.
13
Smart Keyboard Programming Manual
Expressions
The information in this chapter will help you to learn about variables, constants,
functions, operators, and expressions in TSKL. Variables and constants are
manipulated by operators to form expressions.
Variables
Variables are placeholders used to store values; they have names and data
types. The data type of a variable determines how the bits representing
those values are stored in the computer's memory. When you declare a
variable, you can also supply a data type for it. All variables have a data
type that determines what kind of data they can store.
The variable name in TSKL can vary from one to ten characters. The first
character must be a letter or an underscore with subsequent characters being
letters, numbers, or underscore. There are two categories of variables in TSKL:
numeric data type and string data type.
TSKL supplies several numeric data types: long integer, float and double float.
Then maximum numbers of variable available in one program is listed as
following:
z 200 long integer and float data type variables
z 100 double float data type variables
z 50 string data type variables
The range of data types in the system are listed as below:
Data Type Identifier Byte Range Significant digits
Long integer % 4 -2147483648 to 2147483647 10
Float N/A 4 -9999999 to 9999999 7
-999999999999999 to
Double float # 8 15
999999999999999
String $ 256 254 characters N/A
14
Smart Keyboard Programming Manual
String Variables
The $ identifier is used to declare a string variable by placing the $ at
the end of variable name. For example, A$ and TITLE$ are string
variables. Each string variable can store 254 byte of data.
System Variables
System variables are the data maintained by smart keyboard. For
example, Real Time Clock.
All the system variables are listed below:
YEAR
MONTH
DATE
HOUR
MINUTE
SECOND
IDNUMBER$
15
Smart Keyboard Programming Manual
Functions
Functions are built-in procedures or subroutines used to evaluate, make
calculations on, or transform data.
Numeric Functions
Numeric functions include integral functions and floating point functions.
For example, INT(), ASC().
String Functions
String functions include string conversion, string manipulation. For
example, RIGHT$(), STR$().
Operators
The operators used in TSKL can be grouped into numeric operators, string
operators and relational operators.
Arithmetic Operators
Arithmetic operators: +, -, *, /.
String Operators
String operators: +.
Relational Operators
Relational operators: >, =, <, <>,>=,<=
16
Smart Keyboard Programming Manual
Expressions
Operators, constants, and variables are the constituents of expressions. An
expression in TSKL is any valid combination of these pieces. There are three
kinds of expressions in TSKL.
Arithmetic Expressions
Arithmetic expressions can be integral expression or floating point
expression, depends on the calculation value. In integral expression,
floating point operands will be converted to integer, and vice versa.
String Expressions
There is only one operator in string expression, +, that is, add a string to
another string.
Relational Expressions
The relational expressions are used to determine the relationship of one
quantity to another. The result is true if the value is non-zero, otherwise, it
is false.
17
Smart Keyboard Programming Manual
18
Smart Keyboard Programming Manual
TSKL Commands
<ESC>!R
Description
This command is used to reset the keyboard. Keyboard will search for
AUTO.BAS auto execution program first after reset.
Syntax
<ESC>!R
Remarks
<ESC> is ASCII 27 escape character.
Example
N/A
19
Smart Keyboard Programming Manual
<ESC>!W
Description
This command is used to upgrade the firmware. Keyboard will enter BIOS
upgrade mode after receive this command and disable to execution of
AUTO.BAS program.
Syntax
<ESC>!W
Remarks
N/A
Example
N/A
20
Smart Keyboard Programming Manual
SOUND
Description
Turn the speaker on at the specified frequency of interval.
Syntax
SOUND frequency, interval
where
Frequency: 0~15
Interval: 0~65535
Remarks
N/A
Example
DOWNLOAD SOUND.BAS
FOR F=0 TO 15
FOR I=0 TO 65535
SOUND F,I
FOR J=1 TO 10
NEXT J
NEXT I
NEXT F
EOP
21
Smart Keyboard Programming Manual
CLS
Description
Clears the LCD display.
Syntax
CLS
Remarks
CLS clears the LCD and places the cursor in the upper left corner. (at
position 0,0)
Example
DOWNLOAD "CLS.BAS"
PRINT "THIS WORD WILL BE CLEARED"
FOR I = 1 TO 5000
NEXT I
CLS
FOR I = 1 TO 2000
NEXT I
PRINT "PLEASE PRESS ANY KEY "
K= INKEY()
EOP
22
Smart Keyboard Programming Manual
CLEAR
Description
Remove all the declared variables, arrays, and opened files in the
program from memory.
Syntax
CLEAR
Remarks
N/A
Example
CLEAR
23
Smart Keyboard Programming Manual
CURSOR
Description
Select cursor appearance.
Syntax
CURSOR mode
Remarks
The available modes of cursor are listed below:
0: Hides the cursor.
1: Block with blinked cursor.
2: Fixed Underline cursor.
3: Block blinked and underline fixed cursor. (default)
Example
CURSOR 1
24
Smart Keyboard Programming Manual
LOCATE
Description
Position cursor in LCD display.
Syntax
LOCATE x, y
Remarks
LOCATE moves the cursor to the given position in LCD display. If the
coordinates are invalid, the command will be ignored.
The available value of x parameter is between 0 to 79.
The available value of y parameter is 0 and 1. Where 0 and 1 is the first
line and the second line of LCD display respectively.
Example
DOWNLOAD "LOCATE.BAS"
PRINT "ENTER POSITION: (0<NUM<79)"
INPUT "",A$
B=VAL(A$)
LOCATE B,1
Cur_pos = POS()
PRINT "CURSOR POSITION "+STR$(Cur_pos)
END
EOP
25
Smart Keyboard Programming Manual
PRINT[USING]
Description
PRINT command is used to output the numeric and strings to LCD
display. TSKL also supports formatted output to LCD display by PRINT
USING command.
The available maximum numbers of specified format for PRINT USING
command is 15.
Syntax
PRINT list of expression[;]
Remarks
A blank line is displayed on LCD if there is no expressions after the
PRINT command. The PRINT USING command sends 0D 0A ( carriage
return and line feed) at the end of the expression if no ; (semicolon) is at
the end of the expression. The , (comma) is used to separate the values
by 8 spaces. There are no spaces between the two values if the ;
(semicolon) is used between the two expressions. If ; (semicolon) is the
last character of PRINT statement, the cursor will stop in this line.
The # (pound sign) and \ (back slash) is used to specify the output
format of numeric data and string data respectively. If the actual value is
greater that the specified format, a % (percent) sign will be paced at the
end of value.
Example
DOWNLOAD "P_USING.BAS"
B=123.45
PRINT 12+3;ASC("A")
K=INKEY()
PRINT USING "####.##",B
END
26
Smart Keyboard Programming Manual
EOP
27
Smart Keyboard Programming Manual
INPUT
Description
Input numeric or string from keyboard keypad or COM2 port and assign
them to variables.
Syntax
INPUT prompt; variables
Remarks
Prompt must be a string constant. Variable list contains the variable
names to be assigned.
The input value will pass to the variable if ENTER key is pressed. The
other input devices such bar code scanner can be connected to the
COM2 port of keyboard to get data instead of key in data by keyboard.
Example
DOWNLOAD "INPUT.BAS"
PRINT "ENTER YOUR NAME:"
INPUT "",ITEM$
PRINT "YOUR NAME IS "+ITEM$
K=INKEY()
EOP
28
Smart Keyboard Programming Manual
OUT
Description
Output data stream from keyboard serial port.
Syntax
OUT port; list of expressions[;]
Remarks
Port specifies the serial port to send data. It can be 0 (keyboard COM1)
or 1 (keyboard COM2). List of expressions consists of string or numeric
expression separated by semicolons. The OUT command sends 0D0A
(carriage return and line feed) at the end of the expression except that
the semicolon is used. (, (comma) also sends 0D0A to serial port)
Example
DOWNLOAD "OUT.BAS"
C$=CHR$(34)
PRINT "ENTER YOUR NAME:"
INPUT "",A$
OUT 1;"YOUR NAME IS ";A$
OUT 0;"TEXT10,10,"+ C$+"4"+ C$+",0,1,1,"+ C$+"YOUR NAME IS
"+A$+ C$
OUT 0;"PRINT 1,1"
PRINT "PRESS ANYKEY TO LEAVE"
K=INKEY()
EOP
29
Smart Keyboard Programming Manual
FOUT
Description
Output specified file from keyboard serial port.
Syntax
FOUT Port, FileHandle, FileSize
Remarks
Port specifies the serial port to send data. It can be 0 (keyboard COM1)
or 1 (keyboard COM2). The number of FileHandle is between 0~14.
FileSize is expressed in bytes.
Example
DOWNLOAD "DATA1.DAT",137,
SIZE 4,2.5
GAP 0,0
SPEED 3
DENSITY 10
CLS
TEXT 10,10,"4",0,1,1,"FOUT TEST"
BARCODE 10,50,"39",100,1,0,2,5,"123456"
PRINT 1,1
DOWNLOAD "FOUT.BAS"
OPEN "DATA1.DAT" FOR INPUT AS #1
FOUT 1,1,137
SEEK #1,0
FOUT 0,1,137
CLOSE #1
EOP
30
Smart Keyboard Programming Manual
OUT USING
Description
Output formatted data stream from keyboard serial port.
Syntax
OUT port USING format,list of expressions[;]
Remarks
Port specifies keyboard serial port to send data. It can be 0 (keyboard
COM1) or (keyboard COM2) port.
List of expressions consists of string or numeric expression separated by
semicolons. The OUT USING command sends 0D0A (carriage return and
line feed) at the end of the expression except that the semicolon (;) is
used. Comma (,) also sends 0Dh 0Ah to serial port
Example
DOWNLOAD "O_USING.BAS"
A=123.45
B$="TSC-PRINTER"
OUT 1 USING "######.## ",A
OUT 1 USING "\ \",B$
EOP
31
Smart Keyboard Programming Manual
DOWNLOAD
Description
The DOWNLOAD keyword is the identifier to save files into keyboard
memory . There are two types of file that can be downloaded into
keyboard memory: program file and data file.
Syntax
Program file:
DOWNLOAD FILENAME.BAS
File contents
EOP
Data file:
DOWNLOAD FILENAME, FILESIZE,<DATA FILE>
Remarks
The maximum character of filename is up to 8 characters and extension
is up to 3 characters.
The extension of program file must be BAS.
Data file can be any format of file. 0D 0A is used as separator of each
data for text dada file.
The FILESIZE parameter is calculated by bytes.
Example
Program file:
DOWNLOAD DEMO.BAS
CLS
PRINT This is a test
EOP
Data file:
DOWNLOAD DEMO.DAT,10,0123456789
32
Smart Keyboard Programming Manual
EOP
Description
End of program. The keyword must be placed at the end of program file
is the DOWNLOAD keyword is used in the program.
Syntax
EOP
Remarks
N/A
Example
DOWNLOAD EOP.BAS
CLS
PRINT This is a test
EOP
33
Smart Keyboard Programming Manual
OPEN
Description
To establish file handles for file access. 15 files can be access in one
program.
Syntax
OPEN filename FOR mode AS #FileHandle.
Remarks
Filename is the name of the file.
Mode parameter specified the file operation mode. It can be :
INPUT : Position to the beginning of the file and this file is read
only. If the file does not exist, The File not found error is
displayed on LCD display.
OUTPUT : Position to the beginning of the file, and this file is
write only. If the file does not exist, a new file is
created.
APPEND: Append characters to the end of file.
FileHandle is a constant number or expression result, between 0 and 14.
Remember to close the file handle when the file is no longer used.
Example
DOWNLOAD "DATA1.DAT",135,
SIZE 4,2.5
GAP 0,0
SPEED 3
DENSITY 10
CLS
TEXT 10,10,"4",0,1,1,",OPEN TEST"
BARCODE 10,50,"39",100,1,0,2,5,"123456"
PRINT 1,1
DOWNLOAD "OPEN.BAS"
OPEN "DATA1.DAT" FOR INPUT AS #1
FOUT 1,1,135
SEEK #1,0
FOUT 0,1,135
CLOSE #1
EOP
34
Smart Keyboard Programming Manual
CLOSE
Description
To clear file handles.
Syntax
CLOSE #FileHandle
Remarks
FileHandle must be constant number which the file is opened.
Example
DOWNLOAD "DATA1.DAT",136,
SIZE 4,2.5
GAP 0,0
SPEED 3
DENSITY 10
CLS
TEXT 10,10,"4",0,1,1,"CLOSE TEST"
BARCODE 10,50,"39",100,1,0,2,5,"123456"
PRINT 1,1
DOWNLOAD "CLOSE.BAS"
OPEN "DATA1.DAT" FOR INPUT AS #1
FOUT 1,1,136
SEEK #1,0
FOUT 0,1,136
CLOSE #1
EOP
35
Smart Keyboard Programming Manual
KILL
Description
To delete file(s) in keyboard memory.
Syntax
KILL filename
KILL *.*
KILL *
Remarks
Filename can be any file in the memory.
Wild card (*) supports all files only.
The file must be closed before deleting.
Example
KILL DEMO.BAS
KILL *.*
KILL *
36
Smart Keyboard Programming Manual
SEEK
Description
Reposition a file pointer in specified file buffer.
Syntax
SEEK #FileHandle, offset.
Remarks
Offset is the number from the beginning of file to the new position.
Example
DOWNLOAD "DATA1.DAT",135,
SIZE 4,2.5
GAP 0,0
SPEED 3
DENSITY 10
CLS
TEXT 10,10,"4",0,1,1,"SEEK TEST"
BARCODE 10,50,"39",100,1,0,2,5,"123456"
PRINT 1,1
DOWNLOAD "SEEK.BAS"
OPEN "DATA1.DAT" FOR INPUT AS #1
SEEK #1,14
FOUT 0,1,135
FOUT 1,1,135
CLOSE #1
EOP
(Notice)
1. Printer or PC will receive the below commands, because it begins from
15th byte to the end of file.
2. The 14 bytes of SEEK means SIZE 4,2.5 10 bytes and ODh OAh x2
GAP 0,0
SPEED 3
DENSITY 10
CLS
TEXT 10,10,"4",0,1,1,"SEEK TEST"
BARCODE 10,50,"39",100,1,0,2,5,"123456"
PRINT 1,1
37
Smart Keyboard Programming Manual
READ
Description
Read data from data file and assign them to variables.
Syntax
READ #FileHandle; list of variables.
Remarks
FileHandle specifies the file to read data from.
The variables store the data read from the FileHandle.
Example
DOWNLOAD "READ.BAS"
OPEN "DATA" FOR INPUT AS #1
READ #1;A$;A
CLOSE #1
PRINT A$
K=INKEY()
PRINT A
END
38
Smart Keyboard Programming Manual
WRITE
Description
Write data to an opened file.
Syntax
WRITE #FileHandle; list of expressions.
Remarks
FileFandle specifies the file to write data to.
The variables are used to write data to opened data file.
Example
DOWNLOAD "WRITE.BAS"
OPEN "DATA" FOR OUTPUT AS #1
WRITE #1;"THIS IS (WRITE) TEST"
WRITE #1;"12345678"
CLOSE #1
PRINT "WRITE OK!"
END
EOP
39
Smart Keyboard Programming Manual
GOSUBRETURN
Description
To branch to, return from a subroutine.
Syntax
GOSUB label
Statement block1
Label:
Statement block2
RETURN
Remarks
Label is a tag to mark a specified position in the program. The available
maximum label name is 20 characters. A return statement will cause the
program return to the statement following the GOSUB statement.
The total numbers of GOSUBRETURN statement cant exceed than 40
in one program.
Example
DOWNLOAD "GOSUB.BAS"
PRINT "MAIN ROUTINE (START)"
K=INKEY()
GOSUB SUB1
PRINT "MAIN ROUTINE (END)"
END
SUB1:
PRINT "SUBROUTINE"
K=INKEY()
RETURN
EOP
40
Smart Keyboard Programming Manual
Loop Statements
Loop statements allow program to execute one or more lines of code
repetitively. The loop statements that TSKL supports include:
DOLOOP
FORNEXT
WHILEWEND
DO[EXITDO]LOOP
Description
Use a DO loop to execute a block of statements by an indefinite number
of times. There are several variations of DOLOOP statement, but each
evaluates a numeric condition to determine whether to continue
execution.
Syntax
DO {WHILE | LOOP}
Statements
{EXITDO}
LOOP
Or
DO
Statements
{EXITDO}
LOOP {WHILE | LOOP}
Or
DO
Statements
{EXITDO}
LOOP
Remarks
The total numbers of nested DOLOOP statement in one program can
not exceed than 40 levels.
41
Smart Keyboard Programming Manual
Example
DOWNLOAD "DOLOOP.BAS"
A=0
DO WHILE A<10
A=A+1
PRINT A
K=INKEY()
LOOP
PRINT "EXIT"
END
EOP
FOR[EXITFOR]NEXT
Description
To execute a series of instructions by a specified number of times in a
42
Smart Keyboard Programming Manual
loop.
Syntax
FOR variable= I TO J [STEP K]
statements
NEXT variable
Remarks
I, J, K are numeric expressions
I: The initial value of the counter
J: The final value of the counter
K: The increment of the counter. If K parameter is ignored, the default
increment is 1.
The maximum numbers of IFTHENELSE, FORNEXT,
WHILEWEND, and DOLOOP statements available in one program is
up to 40.
Example
The following sample program prints out the sum of numbers between 1
and 10 :
DOWNLOAD "FOR.BAS"
SUM=0
FOR I=1 TO 10
SUM=SUM+I
PRINT SUM
K=INKEY()
NEXT I
END
EOP
WHILEWEND
Description
To execute a series of statements in a loop until the given condition is
false.
Syntax
WHILE expression
43
Smart Keyboard Programming Manual
statements
WEND
Remarks
If expression is true the program will be executed until the WEND
statement is encountered, then return to the WHILE statement to check
again, as encountering a false condition, program will branch to the
statement following the WEND.
Example
DOWNLOAD "WHILE.BAS"
A=1
WHILE A<10
PRINT "A= "+STR$(A)
A=A+1
K=INKEY()
WEND
EOP
GOTO
Description
Branches from program to a specified block of statements.
Syntax
GOTO label
Remarks
Label is a tag to mark a specified position in the program.
44
Smart Keyboard Programming Manual
Example
DOWNLOAD "IF.BAS"
BEGIN:
PRINT "LOOK HERE"
K=INKEY()
CLS
PRINT "REPEAT?(y/n)"
v_CHAR = INKEY()
IF v_CHAR=89 THEN
CLS
GOTO BEGIN
ELSE IF v_CHAR=121 THEN
CLS
GOTO BEGIN
ENDIF
PRINT "Press key to quit!"
SOUND 5,10000
END
EOP
Program-Control Statements
The program-control statements are the essence of any computer
language because they govern the flow of program execution.
program-control statements may be separated into two categories:
IFTHEN
IFTHENELSE
IFTHENELSE
45
Smart Keyboard Programming Manual
Description
Use an IFTHEN block to execute one or more statements conditionally.
You can use either a single-line syntax or multiple-line block syntax:
Syntax
IF condition THEN statement
Notice that the single-line form of IFTHEN does not use an ENDIF
statement.
Or
IF condition THEN
Statements
ENDIF
Or
IF condition THEN
Statements
ELSE
Statements
ENDIF
Or
IF condition1 THEN
Statement block 1
ELSEIF condition2 THEN
Statement block 2
ELSE
Statement block n
ENDIF
Remarks
If the result of the expression is nonzero, the statement following THEN
will be executed. If the result of the expression is zero, and the statement
following the ELSE present, it will be executed. Otherwise the next line of
statement is executed.
46
Smart Keyboard Programming Manual
Example
DOWNLOAD "IF.BAS"
BEGIN:
PRINT "LOOK HERE"
K=INKEY()
CLS
PRINT "REPEAT?(y/n)"
v_CHAR = INKEY()
IF v_CHAR=89 THEN
CLS
GOTO BEGIN
ELSE IF v_CHAR=121 THEN
CLS
GOTO BEGIN
ENDIF
PRINT "Press key to quit!"
SOUND 5,10000
END
EOP
47
Smart Keyboard Programming Manual
END
Description
Terminates the program execution.
Syntax
END
Remarks
END statement may be placed anywhere in a program to terminate the
execution.
With END statement, all variables will be released from memory and
closed file handles.
Example
DOWNLOAD "IF.BAS"
BEGIN:
PRINT "LOOK HERE"
K=INKEY()
CLS
PRINT "REPEAT?(y/n)"
v_CHAR = INKEY()
IF v_CHAR=89 THEN
CLS
GOTO BEGIN
ELSE IF v_CHAR=121 THEN
CLS
GOTO BEGIN
ENDIF
PRINT "Press key to quit!"
SOUND 5,10000
END
EOP
48
Smart Keyboard Programming Manual
DIM
Description
An array is a collection of variables of the same type that is referenced by
a common name. DIM statement is used to declare the array variables of
integer, float and double float data types. The lowest address corresponds
to the first element, and the highest address to the last element. A specific
element in an array is accessed by an index.
Syntax
DIM variable (subscripts)[, variable (subscripts), ]
Remarks
The base of an array index always begins from 0. For example, DIM
A(10), there are totally 11 elements of variable A (0 to 10).
Do not duplicate declare array in the program without executing the
FREE statement.
The DIM statement sets all the elements of specified arrays to an initial
value of numbers to zero and strings to null string.
The total numbers of array elements (no matter what kind of data type)
cannot exceed than 200 elements.
The available maximum array variable name is 10 characters.
The maximum dimensions of an array variables is 3 dimension.
Example
DOWNLOAD "DIM.BAS"
DIM A(8),B(8)
FOR I=0 TO 8
A(I)=I+1
FOR J=0 TO 8
B(J)=J+1
OUT 1; A(I);"*";B(J);"=";A(I)*B(J)
NEXT J
NEXT I
PRINT PRESS ANY KEY!
END
FREE A
FREE B
EOP
49
Smart Keyboard Programming Manual
FREE
Description
Eliminates array variables from memory.
Syntax
FREE dimension variable
Remarks
Arrays can be re-dimensioned after they are freed, or the memory space
previously allocated to the array may be used for other purposes. If an
attempt is made to re-dimension an array without first freeing it, an error
occurs.
Example
DOWNLOAD "DIM.BAS"
DIM A(8),B(8)
FOR I=0 TO 8
A(I)=I+1
FOR J=0 TO 8
B(J)=J+1
OUT 1; A(I);"*";B(J);"=";A(I)*B(J)
NEXT J
NEXT I
END
FREE A
FREE B
EOP
50
Smart Keyboard Programming Manual
REM
Description
Inserts explanatory remarks in a program.
Syntax
REM comments
Remarks
REM statements are not executed.
Example
REM *** this is an example ***
DOWNLOAD REMB.BAS
PRINT YOU WILL NOT SEE REM
REM *** REM ***
END
EOP
51
Smart Keyboard Programming Manual
TSKL Functions
POS()
Description
Gets the current position of the cursor on LCD display.
Syntax
POS()
Remarks
This function returns the value between 0~79.
Example
DOWNLOAD "POS.BAS"
PRINT "ENTER POSITION: (0<NUM<79)"
INPUT "",A$
B=VAL(A$)
LOCATE B,1
Cur_pos = POS()
PRINT "CURSOR POSITION "+STR$(Cur_pos)
END
EOP
52
Smart Keyboard Programming Manual
INKEY()
Description
To return the ASCII code of the character read from keyboard. The
returned ASCII code will not shown on LCD display.
Syntax
INKEY( )
Remarks
53
Smart Keyboard Programming Manual
Example
DOWNLOAD "IF.BAS"
BEGIN:
PRINT "LOOK HERE"
K=INKEY()
CLS
PRINT "REPEAT?(y/n)"
v_CHAR = INKEY()
IF v_CHAR=89 THEN
CLS
GOTO BEGIN
ELSE IF v_CHAR=121 THEN
CLS
GOTO BEGIN
ENDIF
PRINT "Press key to quit!"
SOUND 5,10000
END
EOP
INP$()
Description
To return one byte that received from serial port.
Syntax
INP$(expression)
Remarks
The result of the expression must be numeric. (0 or 1)
54
Smart Keyboard Programming Manual
Example
DOWNLOAD "INP.BAS"
REM *****Total Milage*****
PRINT "******Distence******"
Milage1$=""
OUT 0;"~!@"
Milage2$=""
DO
Milage2$=INP$(0)
IF ASC(Milage2$)=13 THEN EXITDO
Milage1$=Milage1$+Milage2$
LOOP
PRINT Milage1$
END
EOP
55
Smart Keyboard Programming Manual
EOF()
Description
To return nonzero when the end of a file has been reached, or to return 0
if the end of file (EOF) has not been found.
Syntax
EOF(file number)
Remarks
If file pointer points to the end of the file, EOF returns non-zero.
Example
DOWNLOAD "DATA",10,1234567890
DOWNLOAD "EOF.BAS"
OPEN "DATA" FOR INPUT AS #1
C=0
Repeat:
IF EOF(1)>0 THEN GOTO End_of_file
READ #1;A
C=C+1
GOTO Repeat
End_of_file:
PRINT "PRESS ANY KEY!"
END
EOP
56
Smart Keyboard Programming Manual
LOF()
Description
To return the size of file.
Syntax
LOF(FileHandle)
Remarks
An integer is returned to indicate the size of file
Example
DOWNLOAD "LOF.BAS"
OPEN "DATA" FOR APPEND AS #1
WRITE #1;"ABC"
File_length = LOF(1)
PRINT "File_length= "+STR$(File_length)
CLOSE #1
END
EOP
57
Smart Keyboard Programming Manual
ABS()
Description
To return the absolute value of the expression.
Syntax
ABS(expression)
Remarks
The result of the expression must be numeric.
Example
DOWNLOAD "ABS.BAS"
X=ABS(5-12)
PRINT "Absolute value: "+X
K=INKEY()
X=5-12
PRINT "Value: "+X
END
EOP
58
Smart Keyboard Programming Manual
ASC()
Description
To return the value of the ASCII code for the first character of the
expression.
Syntax
ASC(expression)
Remarks
The result of the expression must be a string.
Example
DOWNLOAD "ASC.BAS"
PRINT "*** INPUT YOUR WORD ***"
INPUT "Only one world: ",A$
X=ASC(A$)
PRINT "ASCII code value "+STR$(X)+" = "+A$
END
EOP
59
Smart Keyboard Programming Manual
LEN()
Description
To return the length of the string.
Syntax
LEN(string expression)
Remarks
The maximum returned string length is 255.
Example
DOWNLOAD "LEN.BAS"
BEGIN:
PRINT "HOW MANY DIGITS?"
INPUT "ABC-DEF ",A$
X=LEN("ABC-DEF")
IF A$=STR$(X) THEN
PRINT "CORRECT! ANSWER IS "+X
ELSE
PRINT "WRONG! ANSWER IS "+STR$(X)
ENDIF
END
EOP
60
Smart Keyboard Programming Manual
FRE()
Description
Return the size of free memory.
Syntax
FRE( )
Remarks
It calculates and returns an integer to indicate free memory size of
keyboard in K Bytes.
Example
DOWNLOAD "FRE.BAS"
A=FRE( )
PRINT "REMAIN SPACE: "+STR$(A)+" K bytes"
END
EOP
61
Smart Keyboard Programming Manual
INT()
Description
To truncate an expression to an integral number.
Syntax
INT(expression)
Remarks
The result of the expression must be numeric.
Example
DOWNLOAD "INT.BAS"
PRINT "INTEGER OF 5/2 = ?"
K=INKEY()
A=INT(5/2)
PRINT "ANSWER IS: "+STR$(A)
END
EOP
62
Smart Keyboard Programming Manual
VAL()
Description
To return the numerical value of the string expression.
Syntax
VAL(expression)
Remarks
The result of the expression must be a string.
Example
DOWNLOAD "VAL.BAS"
PRINT "A=123, B=321, A+B=?"
K=INKEY()
A=VAL("123")
B=VAL("321")
C=A+B
PRINT "A+B= "+STR$(C)
END
EOP
63
Smart Keyboard Programming Manual
RND()
Description
RND returns a number between 0 and 1
Syntax
A=RND()
Remarks
N/A
Example
DOWNLOAD "RND.BAS"
A=RND()
PRINT STR$(A)
K=INKEY()
EOP
64
Smart Keyboard Programming Manual
CHR$()
Description
To return the ASCII character of the numerical expression.
Syntax
CHR$(expression)
Remarks
The result of the expression must be numeric.
Example
DOWNLOAD "CHR.BAS"
PRINT "*** INPUT YOUR VALUE ***"
INPUT " ",A
X$=CHR$(A)
PRINT "ASCII character "+X$+" = "+STR$(A)
END
EOP
65
Smart Keyboard Programming Manual
FREAD$()
Description
To read a number of bytes from specified file.
Syntax
FREAD$ (FileHandle, count)
Remarks
Count is the number of data bytes. Maximum count size is 255.
Example
DOWNLOAD "DATA",10,1234567890
DOWNLOAD "FREAD.BAS"
OPEN "DATA" FOR INPUT AS #1
SEEK #1,5
A$=FREAD$(1,5)
CLOSE #1
PRINT A$
END
EOP
66
Smart Keyboard Programming Manual
LEFT$()
Description
To return a number of the leftmost characters of the string expression.
Syntax
LEFT$(expression, count)
Remarks
The result of the expression must be a string.
Count is the number of the leftmost characters.
Example
DOWNLOAD "LEFT.BAS"
A$=CHR$(34)
PRINT "LEFT("+A$+"123456"+A$+",3) =?"
B$=LEFT$("123456",3)
K=INKEY()
PRINT B$
K=INKEY()
EOP
67
Smart Keyboard Programming Manual
RIGHT$()
Description
To return a number of the rightmost characters of the string expression.
Syntax
RIGHT$(expression, count)
Remarks
The result of the expression must be a string.
Count is the number of the rightmost characters.
Example
DOWNLOAD "RIGHT.BAS"
A$=CHR$(34)
PRINT "RIGHT$("+A$+"123456"+A$+",3) =?"
B$=RIGHT$("123456",3)
K=INKEY()
PRINT B$
K=INKEY()
EOP
68
Smart Keyboard Programming Manual
MID$()
Description
To return a number of characters begin from the starting parameter to the
specified length.
Syntax
MID$(String, Starting, Length)
Remarks
String: Can be a string or expression
Start: Character position in string at which the part to be taken begins. If
start is greater than the number of characters in string, Mid returns a
zero-length string ("").
Length: The numbers of characters to be returned.
Example
DOWNLOAD "MID.BAS"
A$=CHR$(34)
PRINT "MID$("+A$+"123456"+A$+",3,3) =?"
B$=MID$("123456",3,3)
K=INKEY()
PRINT B$
K=INKEY()
EOP
69
Smart Keyboard Programming Manual
STR$()
Description
Returns a string representation of a number.
Syntax
STR$(expression)
Remarks
The result of the expression must be a numeric.
Note: STR$() function can not be included in other functions.
Example: VAL(STR$(123)
Example
DOWNLOAD "STRING.BAS"
PRINT "1+2+3+4+5=?"
K=INKEY()
SUM=1+2+3+4+5
SUM$=STR$(SUM)
PRINT "SUM= "+SUM$
K=INKEY()
EOP
70
Smart Keyboard Programming Manual
SPC$()
Description
To insert a number of spaces in a string.
Syntax
SPC$(expression)
Remarks
The result of the expression must be numeric.
Example
DOWNLOAD "SPACE.BAS"
PRINT "PRICE";SPC$(5);"123.5"
K=INKEY()
EOP
71
Smart Keyboard Programming Manual
System Variables
YEAR
Description
Set and returns the year of Real Time Clock. The available numbers to set
YEAR variable begins from 00 to 99. The returned data iis a 4 digits
number. Ex: 1998,2001.
Syntax
YEAR=nn
Where
nn=00~99
A=YEAR
Remarks
The Real Time Clock is Year 2000 compatible.
Example
DOWNLOAD "YEAR.BAS"
YEAR$=STR$(YEAR)
PRINT "YEAR "+YEAR$
K=INKEY()
YEAR$=MID$(YEAR$,3,2)
PRINT "YEAR "+YEAR$
K=INKEY()
EOP
72
Smart Keyboard Programming Manual
MONTH
Description
Set and returns the month of Real Time Clock. The available numbers
begins from 01 to 12.
Syntax
MONTH=nn
Where
nn=01~12
A=MONTH
Remarks
N/A
Example
DOWNLOAD "MONTH.BAS"
MONTH$=STR$(MONTH)
PRINT "MONTH "+ MONTH$
K=INKEY()
EOP
73
Smart Keyboard Programming Manual
DATE
Description
Set and returns the date of Real Time Clock. The available numbers
begins from 00 to 99.
Syntax
DATE=nn
Where
nn=01~31
A=DATE
Remarks
The leap year timing is automatic
Example
DOWNLOAD "DATE.BAS"
DATE$=STR$(DATE)
PRINT "DATE "+ DATE$
K=INKEY()
EOP
74
Smart Keyboard Programming Manual
HOUR
Description
Set and returns the hour of Real Time Clock. The available numbers
begins from 00 to 23.
Syntax
HOUR=nn
Where
nn=00~23
A=HOUR
Remarks
N/A
Example
DOWNLOAD "HOUR.BAS"
HOUR$=STR$(HOUR)
PRINT "HOUR "+ HOUR$
K=INKEY()
EOP
75
Smart Keyboard Programming Manual
MINUTE
Description
Set and returns the minute of Real Time Clock. The available numbers
begins from 00 to 59.
Syntax
MINUTE=nn
Where
nn=00~59
A=MINUTE
Remarks
N/A
Example
DOWNLOAD "MINUTE.BAS"
MINUTE$=STR$(MINUTE)
PRINT "MINUTE "+ MINUTE$
K=INKEY()
EOP
76
Smart Keyboard Programming Manual
SECOND
Description
Set and returns the second of Real Time Clock. The available numbers
begins from 00 to 59.
Syntax
SECOND=nn
Where
nn=00~59
A=SECOND
Remarks
N/A
Example
DOWNLOAD " SECOND.BAS"
SECOND $=STR$( SECOND)
PRINT " SECOND "+ SECOND $
K=INKEY()
EOP
77
Smart Keyboard Programming Manual
IDNUMBER$
Description
IDNUMBER$ is read only at run time. The ID number can be set in the
Setup Utility. With password locked on, users cant change the ID number.
Syntax
A$=IDNUMBER$
Remarks
N/A
Example
DOWNLOAD "ID.BAS"
BEGIN:
PRINT "ENTER THE ID NUMBER:"
INPUT "",A$
IF A$=IDNUMBER$ THEN
PRINT "HELLO ~ WELCOME!"
K=INKEY()
END
ELSE
PRINT "WRONG ID -- TO NEXT!"
K=INKEY()
GOTO AGAIN
ENDIF
AGAIN:
PRINT "INPUT AGAIN? (Y/N)"
v_CHAR = INKEY()
IF v_CHAR=89 THEN
CLS
GOTO BEGIN
ELSE IF v_CHAR=121 THEN
CLS
GOTO BEGIN
ENDIF
PRINT "Press key to quit!"
SOUND 5,10000
END
ENDIF
EOP
78
Smart Keyboard Programming Manual
Language
79
Smart Keyboard Programming Manual
80
Smart Keyboard Programming Manual
81
Smart Keyboard Programming Manual
82
Smart Keyboard Programming Manual
83
Smart Keyboard Programming Manual
11 Unassigned NC NC NC NC
84
Smart Keyboard Programming Manual
18 Unassigned NC NC NC NC
22 Ring Indicator RI NC NC NC
23 Data Signal Rate Selector NC NC + 5V 0.25A NC
24 Transmitter Signal Element Timing NC TXC NC NC
25 Unassigned NC NC NC NC
(Continued on next
page)
85
Smart Keyboard Programming Manual
86
Smart Keyboard Programming Manual
Operation Guide
Power-on Utility
Power on with ALT F1 Disable the auto execution utility
Keyboard Utilities
FORM Select BASIC files to execute
Select parameters
87
Sep. 1, 2008