Page 2
Website: www.barcodesato.com Website: www.barcodesato.com www.satosingapore.com Email: sales@satochina.com Email: sales@satosingapore.com SATO BAR CODE & LABELLING SDN BHD BARCODE SATO (THAILAND) CO. LTD Suite B-08-11&12, Block B Plaza Mont' 370/8 Supattra Building, 5th Floor, Rama9 Kiara, No.2, Jalan Kiara Mont' Kiara, Road, Bangkapi, Huay Kwang...
Page 3
The information contained herein is subject to change without notice. Reproduction of this manual either in part or its entirety is forbidden. Note that the manufacturer assumes no responsibility for any injury or loss incurred while using this manual. SATO Europe...
LONG INTEGER DATA TYPE VARIABLES..............18 FLOAT DATA TYPE VARIABLES ..................18 DOUBLE FLOAT DATA TYPE VARIABLES ..............18 STRING VARIABLES .......................18 SYSTEM VARIABLES......................18 FUNCTIONS ........................19 NUMERIC FUNCTIONS....................19 STRING FUNCTIONS......................19 OPERATORS........................19 ARITHMETIC OPERATORS ....................19 STRING OPERATORS ....................19 RELATIONAL OPERATORS ....................19 EXPRESSIONS .......................20 SATO Europe...
Page 5
OUT USING ........................33 DOWNLOAD........................34 EOP ..........................35 OPEN..........................36 CLOSE..........................37 KILL ..........................38 SEEK ..........................39 READ..........................40 WRITE ..........................41 GOSUB…RETURN......................42 LOOP STATEMENTS.......................43 DO…[EXITDO]…LOOP ....................43 FOR…[EXITFOR]…NEXT ....................45 WHILE…WEND .......................46 GOTO ..........................47 PROGRAM-CONTROL STATEMENTS ................48 IF…THEN…ELSE......................48 END ..........................50 DIM ..........................51 FREE ..........................52 REM..........................53 TSKL FUNCTIONS ......................54 SATO Europe...
Page 6
RIGHT$() .........................69 MID$()..........................70 STR$() ..........................71 SPC$() ..........................72 SYSTEM VARIABLES......................73 YEAR ..........................73 MONTH..........................74 DATE ..........................75 HOUR ..........................76 MINUTE ...........................77 IDNUMBER$........................79 APPENDIX A - LIMITATIONS OF TSKL ................80 APPENDIX B - ERROR MESSAGES................81 APPENDIX C - RS-232 PIN CONFIGURATIONS.............84 OPERATION GUIDE......................87 SATO Europe...
Bold letters represent a key on the keyboard. Two keys with a dash, means to press them Ctrl-C simultaneously. Italic letters represent explanations given in the Italic context. Bold Italic Note. Important information. The Keyboard To Printer From PC, Scanner, Scale, etc. SATO Europe...
20 characters × 2 lines Max Current 5V, 250mA External Power 5V, 150mA Operating 40°F~104°F (5°C~40°C) Temperature Storage Temperature -4°F~140°F (-20°C~60°C Memory FLASH 512 KB for system, 1 MB for application SRAM 128 KB for system, 128KB for application SATO Europe...
Power input 5 volts, 250mA Ground Connected with Pin1 internally COM2 Port COM2 is a 9-pin, female, D-style subminiature connector with pin assignments as shown as below: Configuration Power input 5 volts, 250mA Ground Connect with Pin1 internally SATO Europe...
K012 keyboard unit K012 User’s Manual 25 pin to 9 pin RS-232 converter 2 screws for SI thread Options External power set AC adapter Input: 110V AC or 220V AC Output: 5V DC RS-232 cable with power adapter jack SATO Europe...
9600 bps, no parity check, 8 data bits and 1 stop bit. Items Default Parameters COM1 Port 9600,N,8,1,Xon/Xoff COM2 Port 9600,N,8,1,DSR/DTR Country Code 001 Code Page Key Sound ID Number* T.S.C. Password* None Note: The items with asterisk (*) can’t be initialized. SATO Europe...
The information lists the available memory (SRAM) in system and the extended Flash memory status. If the extended memory is installed, it shows 8M. Otherwise “None” is shown on the display. UTILITY SETUP: The code page, country code and key sound ON/OFF is set in UTILITY SETUP. SATO Europe...
Page 13
There is a beep after each keystroke. It can be disabled by setting the key sound OFF. PASSWORD SETUP: K012 supports password security. With password locked on, the download/upload programs, on-line editing, deleting files, firmware upgrade and extended file SATO Europe...
Select “New File” and press Enter to begin editing a new file. Permissible filenames are up to 8 characters with 3 characters for the extension. Press F2 to save the file when editing is completed. SATO Europe...
Note: 1. ALL files will be deleted when you invoke the DOWNLOAD FILES utility. Copy all the files again although only ONE file is appended. 2. With password locked on, the above utilities will be disabled. SATO Europe...
Keyboard Execute downloaded BASIC program Press FORM to list all the BASIC files stored in the K012 smart keyboard. The UP and Down arrow keys are used to scroll files displayed in LCD screen. K012 also supports a hot key feature to find the program. For example: If the program is named DEMO.BAS, press FORM and then press D.
Enter the commands as below: C:\> MODE COM2 96,N,8,1 (sets communications for COM2 of your PC ) C:\> COPY MYPROG.BAS /B COM2 Where MYPROG.BAS is the name of program file, COM2 is the serial port of your PC. SATO Europe...
Execute A Program Reset the K012 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. SATO Europe...
50 string data type variables The range of data types in the system are listed below. Data Type Identifier Byte Range Significant digits Long integer -2147483648 to 2147483647 Float none -9999999 to 9999999 -999999999999999 to Double float 999999999999999 String 254 characters SATO Europe...
For example, A$ and TITLE$ are string variables. Each string variable can store 254 bytes of data. System Variables System variables are the data maintained by the K012. For example, Real Time Clock. All the system variables are listed below: YEAR MONTH DATE HOUR MINUTE SECOND IDNUMBER$ SATO Europe...
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: ‘>’, ‘=’, ‘<’, ‘<>’,’>=’,’<=’ SATO Europe...
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. SATO Europe...
Commands instruct K012 to work accordingly. Sometimes, commands followed by one or several parameters, For example, INPUT A$. For more information refer to TSKL Commands. A statement is composed of one command or several commands, For example, IF…THEN…ELSE. SATO Europe...
Programming Manual Keyboard TSKL Commands <ESC>!R Description This command is used to reset the keyboard. The keyboard will search for an AUTO.BAS auto-execution program as the first after reset. Syntax <ESC>!R Remarks <ESC> is ASCII 27 escape character. Example SATO Europe...
Keyboard Programming Manual <ESC>!W Description This command is used to upgrade the firmware. The keyboard will enter BIOS upgrade mode after receiving this command and disable the execution of any AUTO.BAS program. Syntax <ESC>!W Remarks Example SATO Europe...
Turn the speaker on at the specified frequency and interval. Syntax SOUND frequency, interval Where Frequency: 0~15 Interval: 0~65535 msec, Remarks Example FOR F=0 TO 15 FOR I=0 TO 65535 SOUND F,I FOR J=1 TO 10 NEXT J NEXT I NEXT F SATO Europe...
Keyboard Programming Manual Description Clears the LCD display. Syntax Remarks CLS clears the LCD and places the cursor in the upper left corner. (At position 0,0) Example SATO Europe...
Programming Manual Keyboard CLEAR Description Remove all the declared variables, arrays, and opened files in the program from memory. Syntax CLEAR Remarks Example CLEAR SATO Europe...
Selects cursor appearance. Syntax CURSOR mode Remarks The available modes for the cursor are listed below: 0: Hides the cursor. 1: Block with blinking cursor. 2: Fixed Underline cursor. 3: Block blinking and underline fixed cursor. (Default) Example CURSOR 1 SATO Europe...
The permissible value of the x parameter is from 0 to 79. The permissible values of they parameter are 0 and 1. Where 0 and 1 are the first and the second lines respectively of the LCD display. Example LOCATE 1, 1 SATO Europe...
The “#” (pound sign) and “\” (back slash) are used to specify the output format of numeric data and string data respectively. If the actual value is greater than the specified format, a “%” (percent) sign will be paced at the end of value. Example B=123.45 PRINT 12+3;ASC(“A”) PRINT USING “###.##”,B; SATO Europe...
The input value will pass to the variable if ENTER is pressed. Other input devices such as a bar code scanner or scale may be connected to the COM2 port of the K012 to get data instead of keying in data on the keyboard. Example INPUT “ENTER ITEM NAME”,ITEM$ INPUT PRICE SATO Europe...
The OUT command sends 0D0A (carriage return and line feed) at the end of the expression except if the semicolon is used as the terminating character. Comma (“,”) also sends 0D0A to the serial port. Example OUT 0;A;A$ SATO Europe...
Port specifies the serial port to send data. It can be 0 (K012 COM1) or 1 (K012 COM2). The number of FileHandle is between 0 and14. FileSize is expressed in bytes. Example OPEN “DATA1” FOR INPUT AS #1 FOUT 0,1,1024 SATO Europe...
The OUT USING command sends 0D0A (carriage return and line feed) at the end of the expression except if the semicolon (“;”) is used as a terminator. Comma (“,”) also sends 0D0A to the serial port. Example OUT 0 USING ”####.## “,A OUT 1 USING “\ \”,A$ SATO Europe...
Data files can be any format of file. 0D 0A is used as separator of each data for a text data file. The FILESIZE parameter is expressed in bytes. Example Program file: DOWNLOAD “DEMO.BAS” PRINT “This is a test” Data file: DOWNLOAD “DEMO.DAT”,10,0123456789 SATO Europe...
Programming Manual Description End of program. This keyword must be placed at the end of a program file if the DOWNLOAD keyword is used in the program. Syntax Remarks Example Program file: DOWNLOAD “DEMO.BAS” PRINT “This is a test” SATO Europe...
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 OPEN “DATA1” FOR INPUT AS #1 OPEN “DATA2” FOR OUTPUT AS #2 SATO Europe...
Keyboard Programming Manual CLOSE Description To clear file handles. Syntax CLOSE #FileHandle Remarks FileHandle must be a constant number, with which the file is opened. Example CLOSE #1 SATO Europe...
Wild card (*) supports all files. The file must be closed before deleting. Example KILL “DEMO.BAS” Note: KILL cannot be used to delete files in Flash memory. For this you must use the K012 Extended File Manager utility from keyboard. SATO Europe...
SEEK Description Reposition a file pointer in a specified file buffer. Syntax SEEK #FileHandle, offset. Remarks Offset is the number from the beginning of file to the new position. Example OPEN “DATA” FOR INPUT AS #1 SEEK #1,12 SATO Europe...
Read data from a 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 OPEN “DATA” FOR INPUT AS #1 READ #1;A;A$ SATO Europe...
Write data to an opened file. Syntax WRITE #FileHandle; list of expressions. Remarks FileHandle specifies the file to write data to. The variables are used to write data to opened data file. Example OPEN “DATA2” FOR OUTPUT AS #1 WRITE #1; “DATA” SATO Europe...
GOSUB statement. The total number of GOSUB…RETURN statements cannot exceed 40 in one program. Example PRINT “MAIN ROUTINE” GOSUB SUB1 PRINT “MAIN ROUTINE” SUB1: PRINT “SUBROUTINE” RETURN The execution result should be as follows: MAIN ROUTINE SUBROUTINE MAIN ROUTINE SATO Europe...
Use a DO loop to execute a block of statements an indefinite number of times. There are several variations of DO…LOOP statement, but each evaluates a numeric condition to determine whether or not to continue execution. Syntax DO {WHILE | LOOP} Statements {EXITDO} LOOP Statements {EXITDO} LOOP {WHILE | LOOP} Statements {EXITDO} LOOP SATO Europe...
Page 46
Keyboard Remarks The total number of DO…LOOP statement in one program cannot exceed 40. The maximum number of IF…THEN…ELSE, FOR…NEXT, WHILE…WEND, and DO…LOOP statements available in one program is 40. Example DO WHILE A<10 A=A+1 LOOP PRINT A SATO Europe...
The maximum numbers of IF…THEN…ELSE, FOR…NEXT, WHILE…WEND, and DO…LOOP statements available in one program is 40. Example The following sample program prints out the sum of numbers between 1 and 10: SUM=0 FOR I=1 TO 10 SUM=SUM+I NEXT I PRINT SUM SATO Europe...
The total numbers of WHILE…WEND statement in one program can not exceed 40. The maximum numbers of IF…THEN…ELSE, FOR…NEXT, WHILE…WEND, and DO…LOOP available in one program is up to 40. Example A=10 WHILE A A=A-1 PRINT “12345678” WEND SATO Europe...
Label is a tag to mark a specified position in the program. The Label name is limited to a maximum of 20 characters. The total number of GOTO statement in a program cannot exceed 200. Example INIT: SUM=0 INDEX=1 INPUT “S/N;”, SN$(INDEX) IF SN$=”” THEN GOTO INIT SATO Europe...
“block” syntax: Syntax IF condition THEN statement Notice that the single-line form of IF…THEN does not use an ENDIF statement. IF condition THEN Statements ENDIF IF condition THEN Statements ELSE Statements ENDIF SATO Europe...
Page 51
The total number of IF…THEN…ELSE statements in a program can not exceed 40. The total numbers of IF…THEN…ELSE, FOR…NEXT, WHILE…WEND, and DO…LOOP in a program cannot exceed 40. Example IF A>0 THEN PRINT “TRUE” ELSE PRINT “FALSE” IF ANS=1 THEN PRINT “Error!!!” INPUT ANS ENDIF SATO Europe...
Programming Manual Keyboard Description Terminates the program execution. Syntax Remarks END statement may be placed anywhere in a program to terminate the execution. With the END statement, all variables will be released from memory and file handles closed. Example SATO Europe...
The total number of array elements (no matter what kind of data type) cannot exceed than 200 elements. The maximum array variable name is 10 characters. The maximum dimensions of an array variable is 3. Example DIM A(20) SATO Europe...
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 FREE A SATO Europe...
Keyboard Programming Manual Description Inserts explanatory remarks in a program. Syntax REM comments Remarks REM statements are not executed. Example REM *** this is an example *** SATO Europe...
Programming Manual Keyboard TSKL Functions POS() Description Gets the current position of the cursor in the LCD display. Syntax POS() Remarks This function returns the value between 0~79. Example Cur_pos = POS() SATO Europe...
Description To return the ASCII code of the character read from keyboard. The returned ASCII code will not show on LCD display. Syntax INKEY( ) Remarks All tasks are pending until a key is pressed. Example A=INKEY( ) SATO Europe...
INP$(expression) Remarks The result of the expression must be numeric. (0 or 1) 0: COM1 (Serial port with cable on K012) 1: COM2 (Serial port mount on K012) The returned value is a string Example A$=A$ + INP$(0) SATO Europe...
(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 OPEN “DATA” FOR INPUT AS #1 Repeat: IF EOF(1)>0 THEN GOTO end_of_file READ #1;A C=C+1 GOTO Repeat End_of_file: SATO Europe...
Programming Manual Keyboard LOF() Description To return the size of a file. Syntax LOF(FileHandle) Remarks An integer is returned to indicate the size of file Example File_length = LOF(1) SATO Europe...
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 X=ABS(5-12) SATO Europe...
Programming Manual Keyboard 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 X=ASC(“A”) SATO Europe...
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 X=LEN(“A”) SATO Europe...
Programming Manual Keyboard FRE() Description Return the size of free memory. Syntax FRE( ) Remarks Calculates and returns an integer to indicate free memory size of the K012 in K Bytes. Example A=FRE( ) PRINT A SATO Europe...
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 A=INT(5/2) SATO Europe...
Programming Manual Keyboard 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 A=VAL(“1234”) SATO Europe...
CHR$() Description To return the ASCII character of the numerical expression. Syntax CHR$(expression) Remarks The result of the expression must be numeric. Example A$=CHR$(27) Used, for example to send and ESCAPE or other control code to a printer. SATO Europe...
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 OPEN “DATA” FOR INPUT AS #1 A$=FREAD$(1,20) CLOSE #1 SATO Europe...
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 10 A$=LEFT$(“123456”,3) SATO Europe...
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 A$=RIGHT$(“123456”,3) SATO Europe...
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 A$=MID$(“123456”,3,3) SATO Europe...
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 cannot be included in other functions. Example: VAL(STR$(“123”) Example A$=STR$(12345) SATO Europe...
Programming Manual Keyboard SPC$() Description To insert a number of spaces in a string. Syntax SPC$(expression) Remarks The result of the expression must be numeric. Example PRINT “PRICE”;SPC$(5);“123.5” SATO Europe...
Sets and returns the year of the Real Time Clock. The YEAR variable may be set from 00 to 99. The returned data is a 4-digit number. Ex: 1998,2001. Syntax YEAR=nn Where nn=00~99 A=YEAR Remarks The Real Time Clock is Year 2000 compatible. Example YEAR$=STR$(YEAR) YEAR$=MID$(YEAR$,3,2) SATO Europe...
Programming Manual Keyboard MONTH Description Sets and returns the month of the Real Time Clock. Allowable numbers are 01 to 12. Syntax MONTH=nn Where nn=01~12 A=MONTH Remarks Example MONTH=12 SATO Europe...
Keyboard Programming Manual DATE (day) Description Sets and returns the date of the Real Time Clock. Allowable numbers are from 00 to Syntax DATE=nn Where nn=01~31 A=DATE Remarks The leap year timing is automatic Example DATE=01 SATO Europe...
Programming Manual Keyboard HOUR Description Sets and returns the hour of the Real Time Clock. Allowable numbers are from 00 to Syntax HOUR=nn Where nn=00~23 A=HOUR Remarks Example HOUR=01 SATO Europe...
Keyboard Programming Manual MINUTE Description Sets and returns the minute of the Real Time Clock. Allowable numbers are from 00 to Syntax MINUTE=nn Where nn=00~59 A=MINUTE Remarks Example MINUTE=16 SATO Europe...
Page 80
Programming Manual Keyboard SECOND Description Sets and returns the second of the Real Time Clock. Allowable numbers are from 00 to Syntax SECOND=nn Where nn=00~59 A=SECOND Remarks Example MINUTE=16 SATO Europe...
IDNUMBER$ is read only at run time. The ID number can be set in the Setup Utility. With password locked ON, users cannot change the ID number. The factory default is: T.S.C. Syntax A$=IDNUMBER$ Remarks Example IF IDNUMBER=”T.S.C.” THEN GOSUB USER1 ENDIF SATO Europe...
The number of downloaded files cannot exceed 50 files. 15 files can be opened simultaneously in one program. Maximum numbers of dimensions for array variables is 3 dimensions. The total number of specified formats for PRINT USING and OUT USING statements can’t exceed 15. SATO Europe...
WHILE…WEND statement without WHILE keyword. (12) DO without LOOP DO…LOOP statement without LOOP keyword. (13) LOOP without DO DO…LOOP statement without DO keyword. (14) RETURN without GOSUB GOSUB…RETURN without GOSUB keyword (15) Mode error File operation access error. SATO Europe...
Page 84
(29) Port error The port specified in OUT and FOUT command is other than 0 and 1. (30) Stack overflow The total numbers of GOSUB…RETURN, WHILE…WEND, DO…LOOP, FOR…NEXT, IF…THEN…ELSE statement is larger than the specified number. (31) Division by zero SATO Europe...
Page 85
There is no t enough memory for download program or data file. (37) Too many files The total number of files stored in memory exceeds that 50. (38) Unmatched brace One of the right or left parentheses is missing. SATO Europe...
+ 5V Å + 5V Æ + 5V Æ Pin 9 Note 1: K012 Hardware SW1 & SW2 must ON. Note 2 K012 Hardware SW1 & SW2 must OFF. Note 3: <-- symbol emblem INPUT, --> symbol emblem OUTPUT. SATO Europe...
Page 87
Secondary Received Data Receiver Signal Element Timing Unassigned Secondary Request to Send Data Terminal Ready /DTR /DTR /DSR /DTR Signal Quality Detector Ring Indicator Data Signal Rate Selector + 5V 0.25A Transmitter Signal Element Timing Unassigned (Continued on next page) SATO Europe...
Page 88
19 Secondary Request to Send To Be Left Unused 20 Data Terminal Ready BUSY /DTR /DSR /DTR 21 Signal Quality Detector 22 Ring Indicator 23 Data Signal Rate Selector + 5V 24 Tx Signal Element Timing 25 Unassigned To Be Left Unused SATO Europe...
← → Select parameters ↑ ↓ Scroll files or cursor ALT F1 Keyboard configuration setup ALT F2 On-line editing utility ALT F2 F1 Upload files ALT F2 CLEAR Delete files ALT D Extended file manager ALT EXIT Reset keyboard SATO Europe...
Page 90
Programming Manual Keyboard SATO Europe...
Page 91
Edit A Program ....... 16 LOCATE .........29 END..........52 LOF() ..........60 EOF() ..........59 Long Integer Data Type Variables...18 EOP..........37 Loop Statements......45 Execute A Program ......17 MID$() ..........72 Execute downloaded BASIC program14 MINUTE..........79 Expressions........21 MONTH ..........76 SATO Europe...
Page 92
Using K012 ........16 READ ..........42 VAL()..........66 Relational Expressions....21 Variables.........18 Relational Operators ...... 20 Variables, Constants, Functions, REM ..........55 Operators, and Expressions ...18 RIGHT$()........71 WHILE…WEND......48 RND() ..........67 WRITE..........43 Safety Regulation......9 YEAR..........75 SECOND........80 SATO Europe...
Need help?
Do you have a question about the Smart Keyboard and is the answer not in the manual?
Questions and answers