Hola a todos, esta es la primera ves que escribo en el foro de Arduino normalmente leo para solucionar mis problemas pero en este caso encontré una solución parcial y ya no se como dar una mejor solución
Entrando al Tema
La librería adafruit thermal.h no tiene el comando de cortar papel, revisando la librería "GitHub - adafruit/Adafruit-Thermal-Printer-Library: Arduino Library for Small Thermal Printers" en especifico "Adafruit_Thermal.cpp" dentro veo que los comandos usados se relacionan a los códigos ascii que reconoce la impresora ejemplo la imagen que e subido,
Aquí vemos una parte del código que esta dentro de "Adafruit_Thermal.cpp"
void Adafruit_Thermal::justify(char value) {
uint8_t pos = 0;
switch (toupper(value)) {
case 'L':
pos = 0;
break;
case 'C':
pos = 1;
break;
case 'R':
pos = 2;
break;
}
writeBytes(ASCII_ESC, 'a', pos);
}
viendo el código de arriba modifique la letra del código ascii para agregar la función de cortar papel "a" por "i"
void Adafruit_Thermal::cortar(char value) {
uint8_t pos = 0;
switch (toupper(value)) {
case 'L':
pos = 0;
break;
}
writeBytes(ASCII_ESC, 'i', pos);
ahora corta el papel, lo cual seria una solución parcial, explico el por que.
Con esta librería la impresión es muy lenta a pesar de que la impresora trabaja de mejor forma.
Si la impresora la conecto directamente al serial o con la librería "SoftwareSerial.h" trabaja de forma correcta con una velocidad de impresión mejor, ejemplo 3 o 4 veces mas rápido que usando la librería.
Ahora lo que intento es agregar el código ascii a mi programación sin librería pero de todas las formas que e intentado me da error o no hace nada.
ejemplo:
writeBytes(ASCII_ESC, 'i');
mySerial.write(0x49);
y otras formas que no recuerdo
Como creen que seria la mejor forma de agregar el código ASCII o HEX o DEC.
Gracias por su tiempo intente explicarlo de la mejor forma posible