0

thermal printer feed does not work properly, neither bitmap
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

thermal printer feed does not work properly, neither bitmap

by einlagerfeuer on Fri Oct 27, 2017 5:24 pm

hello,

i just tested my mini thermal printer and found out these 2 issues, would be happy if you could help me solve them:

1) the test page prints out fine except the feed produces characters rather then just feeding the paper through the printer. it seems this occurs also on other functions, as the characters appear also on the top of the test page even with out feed being present (the characters are always the same "x(J")
2) the example sketch seems to print out ascii gibberish when trying to print the bitmap data

i am not sure which firmware my printer runs on, as i can not find any info about that other then "FW Version:1.00.48 NVT" - is this supposed to be the valid firmware? in the documentation and the sample sketches they usually contain just 3 numbers (e.g. 2.68)

thank you for you help!

IMG_3998.JPG
result of A_printertest
IMG_3998.JPG (84.35 KiB) Viewed 1114 times

IMG_3999.JPG
feed
IMG_3999.JPG (57.65 KiB) Viewed 1114 times

einlagerfeuer
 
Posts: 1
Joined: Fri Oct 27, 2017 4:59 pm

Re: thermal printer feed does not work properly, neither bit

by inonoob on Thu Nov 02, 2017 3:39 pm

Hey

I have the exact same issue as you described it. I dont't know what is wrong. I tried to fix it in the Adafruit_thermal.py but no luck so far. If I do the math 1 * 100 + 48 = 148 which I should put in the Adafruit_thermal.py but no changes either.

The printer is hooked to a Raspberry pi 2.

Maybe some else has the same issue.

my model: BT-2
Boot Version: 1.01.02
FW Version: 1.00.48 NVT
CG Version 1.00.2
Build date: Apr 19 2017
Build time: 23.18:41

Regards

Ino

inonoob
 
Posts: 1
Joined: Thu Nov 02, 2017 3:35 pm

Re: thermal printer feed does not work properly, neither bit

by PixelDemon on Thu Apr 05, 2018 9:13 am

Hey all,

i have the exact same problem with "FW Version:1.00.48 NVT". Printing bitmap results in rubbish, linefeed prints "x(J".
Have you found a solution in the meantime? Can Adafruit staff say something about that?

Thanks!

PixelDemon
 
Posts: 1
Joined: Thu Apr 05, 2018 9:11 am

Re: thermal printer feed does not work properly, neither bit

by Ramondes on Sat May 12, 2018 4:06 pm

Hello dear all,
I am facing the same problems. I would be glad if someone of the cracks could guide me out. My setup:
Arduino Mega
Adafruit mini thermal printer
The library given by Adafruit

Ramondes
 
Posts: 1
Joined: Sat May 12, 2018 4:02 pm

Re: thermal printer feed does not work properly, neither bit

by costelano on Mon Aug 13, 2018 11:12 am

The library is not adapted to the printer. To get rid of "x(J" you have to modify the Adafruit_Thermal.cpp from library.
Locate
Code: Select all | TOGGLE FULL SIZE
void Adafruit_Thermal::begin

and before closing bracket "}" insert the reset command again:
Code: Select all | TOGGLE FULL SIZE
reset();

This problem is caused by that wrong commands for setting the printer (DTR, Density, etc)

If you need other printer functions you have to modify the library according to your printer Commands manual.

costelano
 
Posts: 1
Joined: Mon Aug 13, 2018 11:03 am

Re: thermal printer feed does not work properly, neither bit

by adafruit2 on Sun Aug 19, 2018 2:28 pm

did this get resolved? all the printers have slight variations - for raspberry pi please use the 'printer driver' technique, that works best we've found

adafruit2
Site Admin
 
Posts: 17768
Joined: Fri Mar 11, 2005 7:36 pm

Re: thermal printer feed does not work properly, neither bit

by lcorrea on Thu Oct 25, 2018 10:57 am

Hi, to solve this try to remove the following lines from Adafruit_Thermal.cpp

in void Adafruit_Thermal::begin(uint8_t heatTime) {
.
.
.

writeBytes(11, heatTime, 40); // Heating dots, heat time, heat interval

and

writeBytes(ASCII_DC2, '#', (printBreakTime << 5) | printDensity);

Put a comment in front of theses lines

// writeBytes(11, heatTime, 40); // Heating dots, heat time, heat interval

and

//writeBytes(ASCII_DC2, '#', (printBreakTime << 5) | printDensity);

With theses changes it would be fine.

lcorrea
 
Posts: 1
Joined: Thu Oct 25, 2018 10:54 am

Please be positive and constructive with your questions and comments.