comandi stampante

potete aiutarmi a capire i comandi per questa stampante tg02h della custom collegata in rs232(ho collegto solo i pin rx tx e massa) col mio arduino mega 2560

attualmente il mio codice mi fa uno spazio ( va a capo) ma non stampa nulla.
ecco il mio codice: (attualmente è semplice ma vorrei che mi stampasse un dato all’accadere di una situazione)

#include <SoftwareSerial.h>




#define rxPin 14
#define txPin 15

SoftwareSerial printer =  SoftwareSerial(rxPin, txPin);

const byte command = 0x0D;


void setup() {

  // serial
  pinMode(rxPin, INPUT);
  pinMode(txPin, OUTPUT);
  printer.begin(9600);
  //Serial.begin(9600);
  
  printer.println("test 01 yeeh!!");
  printer.println("");
  printer.println("");
  printer.println("");
  printer.write(command);

}

void loop() {
  


}

dove sbaglio? cosa potrei fare per migliorare ?

allego il manuale dei comandi:

manuale generale:
p://www.mediafire.com/file/ay1pceym23a2i3w/1569-761000000046_1.05.pdf

Intanto elimina quei pinMode() ... la SoftwareSerial decide lei come vuole i pin, NON tu con la pinMode() ...
... poi, hai preso il modello TTL di quella stampante ? Perché la sua interfaccia seriale esiste in varie configurazioni ... ::slight_smile:

Hai inoltre scaricato il "manuale dei comandi" ? Hai verificato se vuole i messaggi in un particolare fomato ? Alcune richiedono proprio un protocollo ... ::slight_smile:

Guglielmo

gpb01:
Intanto elimina quei pinMode() ... la SoftwareSerial decide lei come vuole i pin, NON tu con la pinMode() ...
... poi, hai preso il modello TTL di quella stampante ? Perché la sua interfaccia seriale esiste in varie configurazioni ... ::slight_smile:

Hai inoltre scaricato il "manuale dei comandi" ? Hai verificato se vuole i messaggi in un particolare fomato ? Alcune richiedono proprio un protocollo ... ::slight_smile:

Guglielmo

se la connessione mi regge cosa che dato il tempo è ardua sto cercando di upparlo. eliminero subito i pin mode, e si è il modelllo ttl rs232. sto cercando di capirci qualcosa nel suo manuale dei comandi ma sono ancora in alto mare, mi è sembrato iimportante il 0X0D che indica l'Ascii.
intanto grazie per le dritte!

Il 0x0D è semplicemente il carattere CR (ritorno carrello) che si usa normalmente ... se guarti il terminale seriale dell IDE di Arduno, anche lui ti fa scegliere se terminare la trasmissione con nulla, 0x0D (solo CR) o con 0x0D 0x0A (CR ed LF).

Devi vedere se però prima NON vuoglia qualche cosa per indicare l'inizio della stampa ...
... ad esempio, ci sono stampanti da scontrino che vogliono una precisa sequenza ... STX ... dati ... ETX ... BCC ... EOT.

Magari questa non vuole nulla, ma lo pui solo capire leggendo bene il manuale dei comandi :wink:

Guglielmo

gpb01:
Il 0x0D è semplicemente il carattere CR (ritorno carrello) che si usa normalmente ... se guarti il terminale seriale dell IDE di Arduno, anche lui ti fa scegliere se terminare la trasmissione con nulla, 0x0D (solo CR) o con 0x0D 0x0A (CR ed LF).

Devi vedere se però prima NON vuoglia qualche cosa per indicare l'inizio della stampa ...
... ad esempio, ci sono stampanti da scontrino che vogliono una precisa sequenza ... STX ... dati ... ETX ... BCC ... EOT.

Magari questa non vuole nulla, ma lo pui solo capire leggendo bene il manuale dei comandi :wink:

Guglielmo

è più complicato di quello che pensavo, ho allegato anche un altro manuale. mi metto sotto con le ricerche e vedo di capire. grazie davvero per il supporto almeno inizio a muovermi!

Non mi sembra abbia un protocollo, ha il set di comandi compatibile Epson, però …
… verifica bene che sia impostata per seriale TTL, che sia in modalità RTS e non XON/OFF, che la velocità sia quella giusta … guarda pag. 38 del manuale utente per stampare le impostazioni.

Guglielmo

tsukasa90:
... e si è il modelllo ttl rs232. ...

Allora é TTL o RS232. Non Puó essere TTL RS232.

Ciao Uwe

uwefed:
Allora é TTL o RS232. Non Puó essere TTL RS232.

Ciao Uwe

lo è, basta cambiare delle saldature mi cambia il protocollo. solo che con ttl non mi da segni di vita, rs232 si

gpb01:
Non mi sembra abbia un protocollo, ha il set di comandi compatibile Epson, però ...
... verifica bene che sia impostata per seriale TTL, che sia in modalità RTS e non XON/OFF, che la velocità sia quella giusta ... guarda pag. 38 del manuale utente per stampare le impostazioni.

Guglielmo

grazie, verificato e posso dire che (sto facendo il test con due stampanti in modo diverso)una ho cambiato le saldature e in automatico dovrebbe essere diventata CTS.

quel che non capisco che ogni comando
printer.println("test 01 yeeh!!"); mi fa un rigo a capo ma non scrive nulla. se serve allego un video

docsavage:
Quando usi la rs232 hai messo un adattatore ttl rs vero?

Ha detto che NON usa la RS232, ma setta la stampante per lavorare a livelli TTL (ci sono 4 appositi ponticelli da effettuare - Vd. pag. 29 manuale d'uso).

Quello che sarebbe da verificare è se prima di inviare i caratteri il segnale RTS è LOW, come descritto nel manuale (pag. 26 e 30), perché, in caso contrario, la stampante NON è pronta a ricevere dati.

Il segnale CTS NON è presente ... c'è solo RTS, RX, TX, GND.

Guglielmo

docsavage:
Io avevo capito che ne aveva due una ttl e una rs
Post numero 7

Aha ... m'era sfuggito ... spero bene NON abbia connesso i fili della configurazione RS232 ad Arduino ... :o

Guglielmo

docsavage:
Inoltre di default è 9600 n 8 1 xon xoff, non capisco perché lui parli di cts ...

Anche li spero che abbia cambiato l'impostazione ed abbia messo CTS ... altrimenti deve gestire appunto la ricezione dei vari XON ed XOFF da parte della stampante e comportarsi di conseguenza ... ::slight_smile:

docsavage:
Comunque se avanza la carta la stampante riceve...

Tra me e te, ci scommettiamo un caffè che la carta ha il lato termico dalla parte sbagliata?

... già, possibilissimo ... non c'avevo pensato ...

Guglielmo

gpb01:
Anche li spero che abbia cambiato l'impostazione ed abbia messo CTS ... altrimenti deve gestire appunto la ricezione dei vari XON ed XOFF da parte della stampante e comportarsi di conseguenza ... ::slight_smile:
... già, possibilissimo ... non c'avevo pensato ...

Guglielmo

avevo fatto male una saldatura e quindi non era completamente ttl XDD due domande ancora

-come si fanno i simboli tipo ! @ # ?
-avete qualche guida su gli interrupt buona ? ps grazie davvero!

tsukasa90:
avete qualche guida su gli interrupt buona ? ps grazie davvero!

:o :o :o ... per gestire una stampante ? ? ?

Guglielmo

se la mia stampante termica ha una memoria flash nella quale viene memorizzato un logo come potrei fare per stamparlo?
ho provato il codice
  printer.println("0XFA"); Ma stampa solo il numero 250 e non il logo. ho provato col programma lcdassistant (trovato nel sito di adafruit) a creare la mia immagine.h ma non ne vuol sapere