Bluetooth Printers

From SI-Droid Wiki
Jump to: navigation, search

SI-Droid Event (not the Lite version) have support for printing split time receipts on Bluetooth printers. The basic feature should work with all Bluetooth printers that supports the Serial Port Profile (SPP) and as long as you are only using the standard English alphabet (A-Z, a-z, 0-9) in the names of the runners. Other characters may come out correct or as garbage, depending on the printer.

If you want to use other characters (and get them correctly printed), the only printer that I know is working correct is the model that I used during development: NT-5802 Bluetooth Printer
I have gotten a report that this Ebay store also sells a very similar printer that is fully working with the app Bluetooth Printer (Thanks to Christoffer O).

For the above printer, I have added character set mappings for most languages, so it should be able to print most non-english characters correct. See the table below for all character sets known to the app.

I have also gotten a report from David N that this very cheap printer (less than 30 GBP) is working with the app (at least for standard English): GOOJPRT Thermal Printer

It is also possible to buy SportIdent's new BT-printer and use it with the app. It has been used and tested to work by multiple users.

There exists a lot of other similar printers which might or might not work correct. Try these different searches for examples:

If you have tested my app with any other Bluetooth printer, I will be very interested in the result. If you can supply me with a list of all the supported code pages (character sets) for the printer, I might also be able to add support for it. Compare the printers code page numbers with the ones in the table below.

Supported character sets

The table below lists the character sets that SI-Driod knows about.

Different printer manufacturer are then assigning their own code page numbers to these character sets. In the app there are three different types of printers (or actually mapping tables from a character set to a code page number) to choose from.

  • Printer type 1 (ESC/POS, e.g. NT-5802 and the SI-Printer)
  • Printer type 2 (ESC/POS, e.g. RPP02N and PTP-II)
  • Printer type 3 (StarPRNT, e.g. SM-L200

The first 10 character sets are common for both types of printers. If you need to print a character that only exists in one of the later sets, you need to use the correct printer type / mapping table for it to print correctly.

Character set Java name and aliases CP # in type 1 CP # in type 2 Comment
Nordic IBM865 5 5
Multilingual IBM850 2 2 Also the default code page if nothing else matches
Portuguese IBM860 3 3
Canadian IBM863 4 4
East European IBM755 9 9
West European windows-1252 16 16
Latin2 IBM852 18 18
MultiLatin1 IBM858 19 19
Arabic IBM864 22 22 R-to-L
Baltic windows-1257 25 25
Hebrew IBM862 8 15 R-to-L
Israel windows-1255 32 33 R-to-L
Bulgarian IBM855 60 28
Turkey IBM857 61 29
Latin-2, C European windows-1250 72 30
Cyrillic windows-1251 73 6
Greek windows-1253 90 17
Turkish windows-1254 91 -
Arabic windows-1256 92 - R-to-L
Vietnam windows-1258 94 -
Cyrillic IBM866 - 7
West Europe ISO-8859-1 - 23
Thai IBM-Thai - 26
Arabic x-IBM720 - 27 R-to-L
CP775 IBM775 - 31