Following on Stewart's talk... Epson receipt printer

During Stewart's talk last night, someone mentioned that Epson receipt printer had too small buffer and had to time print jobs to avoid losing data. There are 2 ways to get printer BUSY status: 1. You can query the printer for "online/offline" status by sending DLE EOT 1 (0x10 0x04 0x01) and it will return 1 byte. If bit 3 (0x08) is - 1 -- it is "offline" - 0 -- it is "online" 2. You can turn on ASB (automatic status back), where printer will send 4 bytes status back to you whenever status changes, such as pressing FEED button, buffer full, paper out, etc. To turn on "online/offline" status reporting, send GS a 2 (0x1d 0x61 0x02). To turn off "online/offline" status reporting, send GS a 0 (0x1d 0x61 0x00). From the 4 bytes returned, if bit 3 (0x08) of first byte is - 1 -- it is "offline" - 0 -- it is "online" -- William

On 2017-07-12 11:42 AM, William Park via talk wrote:
During Stewart's talk last night, someone mentioned that Epson receipt printer had too small buffer and had to time print jobs to avoid losing data.
There are 2 ways to get printer BUSY status …
Thanks for that, but many of the cheap non-Epson clones use a weird subset of ESC-POS. The Xiamen DP Electronics DP-EH600 command set - which seems to be the standard most people stick to, most likely because it has a manual in English - only supports 'GS a' ASB codes. It's an interesting situations where lots of companies produce essentially the same printer by using the same no-brand (but quite nice: ARM Cortex-M0 based) controller. cheers, Stewart
participants (2)
-
Stewart C. Russell
-
William Park