Skip to content

SW_DevRPiTTY

Rolf Obrecht edited this page Jun 25, 2022 · 29 revisions

Device Module "RPiTTY"

Module Information

System

System Comments
RPi All boards with Raspian
PC Linux n/a
PC Windows n/a
Mac n/a

Dependencies

Python
Module
Install Anaconda
pigpio pip install pigpio conda install pigpio

Command Line Arguments

-G
--RPiTTY

Config File Parameter

Parameter Default Type/Range Description
mode "TW39" "TW39" / "V10" TW39 for all TTY‘s with high voltage current loop; V10 for machines with V.10 interface (mainly TeKaDe FS200 / FS220)
baudrate 50 38 ... 50 … 200 Baud rate
bytesize 5 5 … 8 # of databits
stopbits 1.5 1 / 1.5 / 2 # of stopbits
pin_txd 17 number GPIO# of TX-Data pin
inv_txd false false / true If true, use inverted signal on TX-Data pin, not possible with PIGPIO
pin_dir 0 number GPIO# of DIR pin. This pin is set to 1 on transmitting each byte for hardware loopback supression
pin_rxd 27 number GPIO# of RX-Data pin
inv_rxd false false / true If true, use inverted signal on RX-Data pin
pin_relay 22 number GPIO# of relay coil pin; in non-FSG mode used to switch the line power of the teletype; in FSG mode, relay is used to alter the polarity of the current loop when a connection is established; see corresponding hardware description
inv_relay false false / true If true, use inverted signal on pin
pin_power 0 number GPIO# of pin used to switch off current loop
inv_power false false / true If true, use inverted signal on pin
pin_number_switch 6 number GPIO# of pin connected to the number switch; typically wired to pin_rxd. Use -1 if pin_number_switch in module RPiCtrl is used
pin_fsg_ns 6 number GPIO# of pin connected to the number switch; typically wired to pin_rxd, deprecated
inv_number_switch false false / true If true, use inverted signal on pin
use_observe_line true false / true If true, monitor pin_observe_line for state changes of >0,5s
pin_observe_line [pin_rxd] number GPIO# of pin to observe
inv_observe_line [inv_rxd] false / true If true, use inverted signal on pin
coding 0 0,1,2,3 0:ITA2=CCITT2, 1:US, 2:MKT2, 3:ZUSE (see txCode.md)
loopback true false / true if true, sent characters are removed from receive buffer
timing_rxd false false / true ?
WB_pulse_length 40 number set length of WB pulse in milliseconds
double_WR false false / true if true, add an extra <CR> to give the old machines more time to move to the start of the line

Description

This module is used to control TW39/V10 machines connected via the corresponding TW39 or V.10 hardware to the GPIO-interface of a Raspberry Pi running Raspbian OS. It is not suitable for standard computers running Windows, MAC OS or Linux.

The RPi's built in UART cannot cope with 50 baud transmission speed. But, the correct timing can be formed jitter-free with the library “PiGPIO”. Receiving can be handled by asynchronous callbacks implemented in this library. This enables a Linux based computer like the RPi to handle precise and reliable timings.

Implementation

TODO

Clone this wiki locally