StarIO is a high level programming tool that simplifies the development and creation of software for Star printers.
StarIO exposes an easy-to-use API that gives you fundamental communications access to the printer.
This API is supplied pre-formed for all the most popular programming environments including Java and .NET, and exposes the same functionality regardless of the printer model or the communications interface you’re using.
StarIO is supporting the Star Line Mode and the StarPRNT Mode.
Thermal Printer |
| |
---|---|---|
Hybrid Printer |
| |
Dot Matrix Printer |
| |
Portable Printer |
| |
DK-AirCash (Cash Drawer Controller) |
|
StarIO for Windows do not work with the following firmware version because StarPRNT emulation is not implemented.
Model Name | firmware version | ||
---|---|---|---|
SM-S210i |
| ||
SM-S220i |
| ||
SM-T300i |
| ||
SM-T400i |
|
Windows 7 (32bit/64bit)
Windows 8 (Desktop UI 32bit/64bit) *WindowsRT is not supported
Windows 8.1 (Desktop UI 32bit/64bit) *WindowsRT 8.1 is not supported
Windows 10 (32/64bit) *Windows 10 Mobile Edition and IoT Edition is not supportedく
■ Setting Printer DIP SW1
Serial (COM) | Parallel (LPT) | USB | Ethernet (LAN) | Bluetooth | Remarks | ||
---|---|---|---|---|---|---|---|
Vendor Class | Printer Class | ||||||
TSP650II | 8=OFF | 8=OFF 5=OFF | 5=OFF:Set to USB Vendor Class 8=OFF:Set NSB enable | ||||
FVP10 | 8=OFF | 8=OFF 5=OFF | 5=OFF:Set to USB Vendor Class 8=OFF:Set NSB enable | ||||
TSP800II | 8=OFF | 8=OFF 5=OFF | 5=OFF:Set to USB Vendor Class 8=OFF:Set NSB enable | ||||
TSP650 | 8=OFF | 8=OFF 5=OFF | --- | 5=OFF:Set to USB Vendor Class 8=OFF:Set NSB enable | |||
TSP700II | 8=OFF | 8=OFF 5=OFF | 5=OFF:Set to USB Vendor Class 8=OFF:Set NSB enable | ||||
TUP500 | 5=OFF | --- | 5=OFF:Set to USB Vendor Class | ||||
TUP900 | 5=OFF | 6=OFF (Mode 1) | --- | 5=OFF:Set to USB Vendor Class 6=OFF:Set to USB Mode 1(Firmware version 4.4 or earlier) (Mode1:USB Printer Class New Type) | |||
HSP7000 | 8=OFF | 5=OFF | --- | 5=OFF:Set to USB Printer Class 8=OFF:Set NSB enable | |||
SP700 | 5=OFF | 5=OFF:Set to USB Vendor Class | |||||
SP500 | 5=OFF | --- | 5=OFF:Set to USB Vendor Class | ||||
SAC10 | --- | --- | --- | --- |
■ Setting Printer Memory Switch (MSW)
Serial (COM) | Parallel (LPT) | USB | Ethernet (LAN) | Bluetooth | Remarks | ||
---|---|---|---|---|---|---|---|
Vendor Class | Printer Class | ||||||
TSP650II | |||||||
FVP10 | |||||||
TSP800II | |||||||
TSP650 | --- | ||||||
TSP700II | |||||||
TUP500 | MSW7-8=1 | MSW7-8=1 | --- | MSW7-8=1:Set NSB enable | |||
TUP900 | MSW7-8=1 | --- | MSW7-8=1:Set NSB enable(Firmware version 4.4 or earlier) | ||||
mPOP | --- | --- | --- | --- | |||
HSP7000 | --- | ||||||
SP700 | MSW4-7=1 | MSW4-7=1 | MSW4-7=1:Set NSB enable | ||||
SP500 | MSW4-7=1 | MSW4-7=1 | --- | MSW4-7=1:Set NSB enable | |||
SM-L200 | --- | --- | --- | --- | |||
SM-S210i | --- | --- | --- | --- | |||
SM-S220i | --- | --- | --- | --- | |||
SM-S230i | --- | --- | --- | --- | |||
SM-T300i | --- | --- | --- | --- | |||
SM-T400i | --- | --- | --- | --- | |||
SAC10 | --- | --- | --- | --- |
■ Setting Interface Card DIP Switch (DIPSW)
The following setting is available only when you use 'ResetDevice Function' with Serial Interface.
I/F | DIPSW Setting | Remarks |
---|---|---|
Serial I/F | DIPSW1-7=ON | Resetting by DSR (#6): Valid |
The files that are necessary for developing applications are stored in the "/redistributables" folder.
However, the files to use are different depending on the development language and environment.
Refer to the following tables for the files to use and their storage locations.
Visual C++ |
| ||||||
---|---|---|---|---|---|---|---|
Visual C# Visual Basic .NET |
| ||||||
Java |
| ||||||
Visual Basic 6.0 |
|
Visual C++ |
| ||||||
---|---|---|---|---|---|---|---|
Visual C# Visual Basic .NET |
| ||||||
Java |
|
The sample file has been written in Visual Studio 2005
To use StarIO in your Visual C++ project: include the ”StarIOPort.h” header file, link against the ”StarIOPort.lib” library file. When you run it, put ”StarIOPort.dll” into the same folder where the application locates. ”StarIOPort.h” header file is written in-line with the function declarations.
The sample file has been written in Visual Studio 2005
Building your application by adding ”StarIO.dll” to your project reference setting. When you run the application, drop ”StarIO.dll” and ”StarIOPort.dll” into the same folder where your application file is located.
Each descriptions for API are available in the ”StarIO.xml” file.Keep this XML file in the same directory as ”StarIO.dll" and view the documentation using Visual Studio’s IntelliSense and Object Browser features.
The sample files are compliant with Java Random Ver.1.5.
Specifying "StarIO.jar" to both the compile (javac) and the runtime (java) classpath definitions. When you run the application, drop ”StarIO.jar”, ”StarIOJ.dll” and ”StarIOPort.dll” into the same folder where your application file is located.
The execution sample for the compile and application running commands are mentioned at the header of the ”StarIO_Sample.java” file. For the detail descriptions of each commands, please refer to Here.
Adding the ”StarIOPort.bas” file as a module and compiling.
When you run it, put ”StarIOPort.dll” into the same folder where the application locates. The description is listed in each parts of the function declaration statement in ”StarIOPort.bas” file .
Here we explain to you some functions which are commonly used within your use of StarIO.
For the API commands that have not been mentioned here, please refer to Development Environment for the details of each cpntents.
Your usage of StarIO always begins by opening a port.
Visual C++
Using OpenPort function
If OpenPort failed, it will simply reture ”0” to indicate failure.
Visual C# and Visual Basic .NET
Calling the Port class's static GetPort method
When it is successful, a port handle (or object) will be returned back to you.
When the port you've requested could not be opened, a PortExceptionwill be thrown.
Java
Calling the 'StarIOPort class' getPort static method.
When the port that you've requested could not be opened, a StarIOPortException will be thrown.
The following reasons may cause the OpenPort fails.
Visual C++
The GetLastError function you called returns the result of ' ERROR_ALREADY_EXISTS ' back to you.
Visual C# / Visual Basic .NET / Java
The IsPortInUseFailure property returns the ' True' back to you.
StarIO API is described in different ways depends on each environments.
In Visual C++ / Visual C#
all other APIs take the port handle as the first parameter.
In Visual Basic .NET / Java
calling the port object's methods.
When you have finished using the port, you must close it.
In Visual C++
This is done by calling the ClosePort API.
In Visual C# / Visual Basic .NET
This is done by calling the port class ReleasePort static method.
In Java
This is done by call StarIOPort class' StarIOPort.releasePort static method.
You are recommended to close ports as soon as you've finished using them in order to avoid the ports conflict in your system.
When writing programs in one of the .NET languages or in Java,
it is often convenient to close the port in the finally part of a try / catch / finally construct.
The OpenPort function accepts three parameters: the port name, the port settings, and the communication timeout.
We want to explain the port naming and settings parameters by the difference of the interface.
Specifying the serial port name like ”COM1” or ”COM2”
These fields are assembled with 'baudRate', 'parity', 'dataBits', 'stopBits', 'flowControl'.
Each fields are a comma-separated string described with 'baudRate', 'parity', 'dataBits', 'stopBits', 'flowControl'.
( For example: "9600,n,8,1,n")
Baud rates: This field can be one of: "115200", "57600", "38400", "19200", "9600", "4800".
Parity: This field can be one of:"n", "e", "o".
Data bit This field can be one of: "7" or "8".
Stop bit: This field can be one of: "1" or "2".
FlowControl: This field can be one of:"n", "h", "c".
Specifying the parallel port name like "LPT1" or "LPT2".
The port settings parameter must be the empty string.
Three different port name parameter forms are accepted.
This is useful when you are using only one printer and your printer does not have a USB serial number set (which is the default setting).
1. Do not specify the port name
2. Specifying USB serial number
3. Specifying COM port name
The port settings parameter must be the empty string.
The port name parameter is formed by combining "usbprn:" with your printer's Windows printer queue name.
For the sample program attached, the printer queue name was created with 1 byte character however, two byte characters also can be used.
For example, when you want to specify a Windows queue name as "Star TSP800II(TSP847II)", you may create it as:
The port settings parameter must be the empty string.
The port name parameter is formed by combining "TCP:" with your printer's IP address.
For example, if your printer is established on the 192.168.1.102 address then you would pass
The port settings parameter must be the empty string.
The port name parameter is formed by combining "BT:" with COM port name.
For example, when you want to specify a Bluetooth port name as "COM3", you may create it as:
The port settings parameter must be the empty string.
The following is the description of the restrictions for this release.
Please read it carefully before you use this printer.
Model Name | Supporting firmware version |
---|---|
TSP650II | 1.0 or later |
FVP10 | 1.0 or later |
TSP800II | 1.0 or later |
TSP650 | 2.0 or later |
TSP700II | 2.0 or later |
TUP500 | 1.0 or later |
TUP900 | 1.2 or later |
mPOP | 1.0 or later |
HSP7000 | 1.0 or later |
SP700 | 2.0 or later |
SP500 | 4.0 or later |
SM-L200 | 1.0 or later |
SM-S210i | × |
SM-S220i | × |
SM-S230i | 1.0 or later |
SM-T300i | × |
SM-T400i | × |
SAC10 | × |
Model Name | Bluetooth interface | Supporting firmware version |
---|---|---|
TSP650II | OK | 1.0 or later |
FVP10 | OK | 2.0 or later |
TSP800II | OK | 2.0 or later |
TSP650 | × | - |
TSP700II | OK | 5.0 or later |
TUP500 | × | - |
TUP900 | × | - |
mPOP | OK | 1.0 or later |
HSP7000 | × | - |
SP700 | OK(only SP42) | 4.0 or later |
SP500 | × | - |
SM-L200 | OK | 1.0 or later |
SM-S210i | OK | 1.0 or later |
SM-S220i | OK | 1.0 or later |
SM-S230i | OK | 1.0 or later |
SM-T300i | OK | 1.0 or later |
SM-T400i | OK | 1.0 or later |
SAC10 | OK | 1.0 or later |
Ver. No. | Date of Revision | Changes |
---|---|---|
Version 1.2.0.0 | Mar. 2009 | Single Release 1st Version. |
Version 1.2.1.0 | Mar. 2010 | Added a new model "FVP10", "TSP800II". |
Version 1.2.2.0 | Jul. 2010 | Added a new model "SP500". Error correction. (Printer Setting) The limitation of USB interface Vendor Class Mode and parallel interface was released. |
Version 1.2.3.0 | Dec. 2010 | Fixed a bug of "GetParsedStatusEx" method. |
Version 1.3.1.0 | Apr. 2012 | Fixed a bug of offline in multiple printers environment. Fixed a bug of "ERROR_ACCESS_DENIED" generated in "OpenPort" method. |
Version 1.3.2.0 | Jul. 2012 | Added a new model "TUP500", "TUP900". |
Version 1.3.3.0 | Dec. 2012 | Added a new model "TSP650II". Added a new interface "Bluetooth". (TSP650II only) |
Version 1.3.3.0 | Mar. 2014 | Added a new model "SAC10". |
Version 2.0.0.0 | Apr. 2014 | Added new models support Bluetooth interface "TSP700II" "TSP800II" "SP700(SP742)". |
Version 2.1.0.0 | Jan. 2015 | Added a new model support Bluetooth interface "FVP10". |
Version 2.2.0.0 | Sep. 2015 | Added a new model "mPOP", "SM-L200", "SM-S210i", "SM-S220i", "SM-S230i", "SM-T300i", "SM-T400i". |