Can I print to any serial printer?

Be clear with the topic titles to help members find the answers
Post Reply
okto
Posts: 61
Joined: Sun Apr 23, 2023 5:14 am

Can I print to any serial printer?

Post by okto »

I tried to print to my Oki ML320 via Comms Link (actually Dynasys DT LINK), but it didn’t work. I did use a null modem, I realize the Dynasys (and likely the Comms Link) is wired DCE.

Is it only possible to print to the Psion printer?
amenjet
Posts: 301
Joined: Tue Jan 03, 2023 7:54 pm

Re: Can I print to any serial printer?

Post by amenjet »

Did you use the comms link to send serial data?
Daren
Posts: 78
Joined: Tue Jan 03, 2023 10:03 pm

Re: Can I print to any serial printer?

Post by Daren »

I have not had any luck printing to a serial printer either, so I’d be interested to hear any success - I tried a null modem cable too as well as direct to comms link using a db25-db9 adapter, I set the Psion and printer comms settings the same but so far no luck. The printer is a Brother QL720NW label printer.
User avatar
Zenerdiode
Posts: 53
Joined: Wed Jan 04, 2023 12:45 am
Location: Newcastle, England

Re: Can I print to any serial printer?

Post by Zenerdiode »

Are you guys getting any kind of gobbledygook from the printer at all? Double-check your baud rates, 8N1 etc. and be prepared to swap TXD and RXD.

@okto already seems to have a handle on it, recognising the Psion and CL act as DCE, but the manual is a bit woolly as it also describes the cable as having a null-modem ‘built in’. You may have inadvertently introduced a double-double cross - if you know what I mean.
Christopher. - Check out my TRAP message, it’s not difficult to decode and is sometimes uttered under the breath when said message appears… :|
User avatar
Martin
Global Admin
Posts: 296
Joined: Mon Jan 02, 2023 5:18 pm

Can I print to any serial printer?

Post by Martin »

Hi..

We had a serial printer in the 80's but I'm afraid I don't remember the settings (and dip switch settings) but I think on the XP we had to reset the Comms Protocol Setting from PSION to NONE.

I know this doesn't answer your question but for others watching... In the days of the QL I remember a surveying student set up a serial 'comms' so we could save the field data to a Microdrive and with a bit of SuperBasic add some quotes and stuff to get it into Abacus the spreadsheet.

Later of course on the PC we used COPY COM1 LPT1 to pass the prints to a parallel printer. With the advent of Windows Boris Cornet was adding a print option to Psi2Win (Build 304) he didn’t quite get it finalised before he passed so if you use it you need to wait a few seconds for it to ‘time out'. Lostgallifreyan a member here put a File Relay option in ORG-Link_V2 which is excellent for getting text from the Organiser into a Windows Notepad and from there you can do what you want with it.

Sincerely
Martin
amenjet
Posts: 301
Joined: Tue Jan 03, 2023 7:54 pm

Re: Can I print to any serial printer?

Post by amenjet »

Martin wrote: Sun Oct 08, 2023 2:25 am Hi..

We had a serial printer in the 80's but I'm afraid I don't remember the settings (and dip switch settings) but I think on the XP we had to reset the Comms Protocol Setting from PSION to NONE.
You definitely want to set the protool to NONE, yes.

It should be possible, with some work, to create a 'Psion printer' replica using the printer software, an interface PCB and a printer mechanism. Then you'd have the features of the Psion printer but with new components and no need to find a Psion printer.

Andrew
Lostgallifreyan
Posts: 87
Joined: Thu Jan 12, 2023 8:25 pm
Contact:

Re: Can I print to any serial printer?

Post by Lostgallifreyan »

Martin wrote: Sun Oct 08, 2023 2:25 am Lostgallifreyan a member here put a File Relay option in ORG-Link_V2 which is excellent for getting text from the Organiser into a Windows Notepad and from there you can do what you want with it.
Thanks. Indeed, it looked like the only thing to do, given the bang per buck that results.

Protocol=NONE, as a few people said, is mandatory, but is it not possible to tell a printer to interpret each byte as a literal, including some of the control bytes? If so, then so long as the printer gets printable bytes, it will print them. As with the decision to add a file relay to ORG-Link, the simplest methods are often the best, because they are versatile, and it's harder to find things that can't do them.

If a printer MUST couch the printables in some kind of packet, then its documentation might give you the info needed to structure a serial packet to hold the stuff you want printed. The main reason to do this would be some kind of reliability check so a printer knows it's getting valid data, but there ought to be a minimal method, else the amount of data can be stupidly high for small payloads. There may even be a standard printer method, just as there was for sending serial data to modems.

EDIT: The old parallel ports only had 8 bits, so any formatting bytes had to go before or after raw printables. I doubt that using a serial port changed it much, except to handle things like software flow control bytes.
NotFitForPurpose
Posts: 17
Joined: Tue Sep 03, 2024 12:06 pm

Re: Can I print to any serial printer?

Post by NotFitForPurpose »

Perhaps the following might be of interest?

Is it possible to print to a serial printer, YES....

Is it easy to do, well maybe. Though it can really try your patience!

1) Best start is to make sure the Baud rates and Parity match
- Start low e.g. 300 baud is generally a good place.
Approximates to 30 CPS and typically does not outpace anything other than teletypes.
- Typically 300 baud, No Parity, 8 bit
There were no standards for how it was set, though DIP switches generally prevailed on printers
Remove printer power, set DIP switches, replace any covers, connect, then power on.
2) Sort out the connection i.e. connectors, cable and in particular the Rx / Tx lines
- Terminology was inconsistently applied to Rx & Tx and the pins
- Some meant Rx from the Terminal and some it was their Rx... or the other way round.... :D -)
- There must be at least two wires between the Terminal device (PC or PSION) and the Printer
Tx to Rx & Ground
I would go for three (Rx, Tx and ground) as you might want info from the printer later.
(Rx, Tx and Ground, typically pins 2, 3 both DB-25 (Ground 7) and DE-9 (Ground 5) connectors.
- Most annoyingly Male & Female connections were also not always consistently applied.
Gender adapters can be helpful to allow connection, though not adjust wiring.
- Don't break into an over molded connector, its generally not worth it, the wire gauge is often very small.
- Sorting out the RX & Tx is usually the most problematic area.
3) Initially turn off, connect out or remove any flow control in order to confirm points 1 & 2 above
- This may involve linking RTS & CTS and also linking DSR to DTR lines
- Removing / turning off XON / XOFF flow control
4) Try to print, preferably slowly by having pauses in-between characters
The Comms link has a terminal program so use it to send some characters
"The quick brown fox jumps over the lazy dog 0123456789" (Well its more fun than abc.....)
5) You can use PUTTY (free) or other PC serial terminal software to verify your equipment and baud rate config.
6) Go back and implement flow control as needed.
- XON / XOFF was / can be hit and miss
- Robust performance typically DTR from the printer to DSR on the Terminal (PSION)

If only 1 character prints following a printer power cycle, its often a flow control issue.

Printing other than text you enter into the exciting world of Escape Codes...
Each printer is different and the capabilities vary by manufacturer.
From a PSION Organiser II we would produce line graphs and bar charts using the graphics capabilities (not ASCII art).
Apologies I don't have access to the materials to show.


Finally - Apply significant patience, change one thing at a time and test it. Make notes of what you have tested.
Others may have far more insight than myself.



Links and info

PSION Manual - Connecting to a printer
https://www.jaapsch.net/psion/mancomms.htm#Chp2
Includes pin out, helpfully with signal sense):
Organiser DTE
FG 1 FG
SG 7 SG
RD 2 <- TD
TD 3 -> RD
CTS 4 <- RTS
RTS 5 -> CTS
DSR 20 <- DTR
DTR 6 -> DSR

Figure B.3 Comms Link cable pin assignments

FG and SG stand for Frame Ground (earth) and Signal Ground (common return) respectively.
TD and RD stand for Transmitted Data and Received Data and carry the data signals.
RTS and CTS stand for Request To Send and Clear To Send and are the control lines which support RTS/CTS handshaking.
DSR and DTR stand for Data Terminal Ready and Data Set Ready. Although the Organiser can read pin 20, it cannot drive pin 6. However, pin 6 is connected to pin 20 via the Organiser so that if the DTE drives pin 20, it will see an asserted pin 6.


Notes
You might like to try your P.C. and PUTTY (or similar) first to get confidence with the baud rates and connections.
Hint - Tie Rx and TX on the serial interface of the PC and watch the character be received.
If you have local echo set on the PC Terminal emulation you will get two characters on the screen.
RS232 uses ±15 volts. Don't confuse these levels with more modern TTL only RS232 devices that have only 5 volt levels!

Loads of information on the standard at the link below:
https://en.wikipedia.org/wiki/RS-232

It might be noticed use the nomenclature DE-9 not DB-9, see below:
https://en.wikipedia.org/wiki/Serial_port#Pinouts
Post Reply