Hey everyone!
I am currently struggling to find some sort of documentation that can teach me how to print upside-down text with Adafruit's Mini Thermal Receipt Printer (Mini Thermal Receipt Printer : ID 597 : $49.95 : Adafruit Industries, Unique & fun DIY electronics and kits). Does anybody have any kind of suggestion that could remedy my problem? I am desperate so any kind of assistance is appreciated.
Thank you so much!
--Ben
http://www.adafruit.com/datasheets/CSN-A2%20User%20Manual.pdf
The link above is the user manual for the specific printer I own. It says something about "upside-down mode" but I don't know how it translates to my code.
bennyscot27:
http://www.adafruit.com/datasheets/CSN-A2%20User%20Manual.pdf
The link above is the user manual for the specific printer I own. It says something about "upside-down mode" but I don't know how it translates to my code.
Would you care to tell us where upside-down printing is mentioned in the manual, or do we have to search the 70 pages for it ourselves?
And just to add to the fun, I see it's written in pigeon English. 
Edit: OK, so I found the relevant section of the manual and had a very quick read. I don't understand what the problem is. It's very clear how to turn upside-down printing on and off.
To turn it on, you send (ASCII):- ESC { 1
To turn it off, you send " :- ESC { 0
or, in hex, it's:-
Turn it on: 0x1B 0x7B 0x01
Turn it off: 0x1B 0x7B 0x00
See atached image.
You did not struggle much.
char upsideOn[] = { 27, 123, 1, 0};
char upsideOff[] = { 27, 123, 0, 0};
This command is enabled only when processed at the beginning of a line in standard mode.
Whandall:
You did not struggle much.
char upsideOn[] = { 27, 123, 1, 0};
char upsideOff[] = { 27, 123, 0, 0};
This command is enabled only when processed at the beginning of a line in standard mode.
I forgot the '\0'. 
Thank you! Also, I am having ridiculous issues with bitmap printing. Below is my code and an attached photo of the receipt printer output. I am in desperate need. Thanks.
#include "Adafruit_Thermal.h"
#include "Shit.h"
#include "SoftwareSerial.h"
#define TX_PIN 6 // Arduino transmit YELLOW WIRE labeled RX on printer
#define RX_PIN 5 // Arduino receive GREEN WIRE labeled TX on printer
SoftwareSerial mySerial(RX_PIN, TX_PIN); // Declare SoftwareSerial obj first
Adafruit_Thermal Thermal(&mySerial); // Pass addr to printer constructor
// -----------------------------------------------------------------------
void setup() {
mySerial.begin(19200); // Initialize SoftwareSerial
Thermal.begin(); // Init printer (same regardless of serial type)
Thermal.write(27);
Thermal.write(42);
Thermal.write(33);
Thermal.write(50);
Thermal.write(1);
Thermal.write(50);
Thermal.write(27);
Thermal.write(69);
Thermal.write(1);
Thermal.printBitmap(Shit_width, Shit_height, Shit_data);
}
void loop() {
}
Are you waiting long enough for the printer to initialise?
What is "shit"?
Have you tried any of the example code?
Yes I am waiting long enough. Sorry "shit" is an image converted into bitmap information for the arduino. I attached the "shit" file and the processing sketch I used to convert the image into the bitmap information.
BitMapConverter.pde (2.39 KB)
Shit.h (20.4 KB)