Go Down

Topic: thermal printer interface ? (Read 2425 times) previous topic - next topic


I have got a posiflex PP6800 Serial thermal printer that I want to drive from a 328 chip.( an arduino D'nove board for testing )

I have built a RS232 interface to connect to the Arduino board, and am using NewSerialSoft using pins 14 and 15 for the Tx and Rx.

Can anyone suggest a simple sketch to test the comunication ?

I have tried the Tronixstuff sketch for the cheapy Chinese printer, but it does nothing,..

45 years of editing projects with a knife and soldering iron, then I found Arduino !



Run the self test (hold the feed button while powering on).  You will probably see that HANDSHAKING is set to HARDWARE.  This means you probably need to provide a signal on one of the hardware handshake lines (CTS, RTS, DTR).  Perhaps you can find the internal switch or jumper that turns handshaking off.

"Please note that only those qualified technicians may adjust several jumpers for some technical settings. Please visit our web site http://www.posiflex.com or http://www.posiflex.com.tw for details of the technical information such as driver installation, DIP switch settings and command sets etc. if required."
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp


Thanks, thats it, I must change the handshaking to Xon Xoff I think for just using tx and rx lines,
I have downloaded the software and must now try to set the software switch.  Unfamiliar ground here :-)
45 years of editing projects with a knife and soldering iron, then I found Arduino !


OK I have the printer working now, and I have used the thermal.h library, but all I can find on the posiflex site, is drivers for all the different OS.

I copied some code from somewhere and changed it a bit, but I have no idea what the first two lines do.
Code: [Select]

if ( queue == 0 ){
//thermal.print(0x1B,BYTE);             //ESC POS command
//thermal.print('@');                   //ESC POS initialize followed after command
thermal.print ("     EXPRESS TICKET NUMBER ");
thermal.print (Xcount);
thermal.println("check the top line of the display board");
thermal.println(" for which counter to go to when your ");
thermal.println("  number is shown");
thermal.print(0xA,BYTE);                    //Print and Line Feed from Buffer
  }//delay for 1 second

It works the same with or without those 2 lines....

If I run it at 19200 baud rate, it either adds a few characters at the begining of the first line, or if I run it at 9600 it is fine except it adds an E (with an accent ) or ascii 144 at the beginning of the first line.

At the default 115200 baudrate it doesnt work at all ( I have ribbon cable connecting to the MAX232 converter, dont know if thats a clue ? )

I have tried to understand how to add a bitmap from the posiflex website 
but it is way over my head I am afraid.

Has anyone got an arduino sketch that will run on a posiflex 6800 serial printer, that I can mess around with , and how do you load bitmap images into the printers memory?
45 years of editing projects with a knife and soldering iron, then I found Arduino !

Go Up