El HW original subministrat per programar una teixidora Mayer era una terminal tonta (Wyse WY-50) per poder donar comandes/verure l'estat i una unitat de cinta per poder guardar/carregar nous patrons de teixit.

Terminal Wyse WY-50


Quick Reference Guide (obtingut de vt100.net)

La conexió del port serie del terminal normalment està configurada a: Bauds:9600 Parity:Even DataBits:7 StopBits:1 Tot i que en algunes màquines més noves estan configurades a Bauds:9600 Parity:None DataBits:8 StopBits:1.

En cas que no s'encerti la configuració, el problema es detecta amb facilitat. Ja que l'efecte que produeix aquest error de configuració és que només es transmeten bé el +-50% dels caracters.

Per tan si veiem a la pantalla plena de caracters estranys però també es veuen algunes lletres corresponents al texte del menu, llavors tenim la conexió del terminal en la configuració equivocada i per sol·lucionar el problema hem de canviar a l'altre opció.

Unitat de Cinta

FACIT 4302
Pinout FACIT 4302
PIN Nom Dir Descripció
1 Shield -- Pantalla cable
2 Txd O Transmisió de dades
3 Rxd I Recepció de dades
4 RTS O Unitat preparada per enviar
5 CTS I Es poden enviar les dades
7 GND -- Referència 0V
11 Eject I Expulsar cinta
14 BufferSTout O
16 BufferSTin I
20 Operable O

Parametres de conexió: Bauds:9600 Parity:None DataBits:8 StopBits:1

Sembla que els de Mayer tenen la seva versió de unitat de cinta (MAYER 905) que es comporta de manera similar a la FACIT 4302 tot i que han canviat algunes linies de lloc en la unitat.

Internament les dues unitats són força semblants a nivell lògic (CPU MC6805 de Motorola, un port UART + un Baud Rate Generator fixe, un Versatile IO Adapter on s'hi conecten la major part d'IOs...)

La principal diferència és que l'unitat FACIT usa circuiteria de disseny propi per control·lar la cinta mentre que en la MAYER s'ha utilitzat una unitat de cinta amb controladora integrada (TEAC MT-2). Aquest fet combinat amb que els xips de la MAYER són versions més noves apunta a que la unitat de MAYER és una copia millorada de la FACIT...

Pinout MAYER 905
PIN Nom Dir Descripció
1 Shield -- Pantalla cable
2 Txd O Transmisió de dades
3 Rxd I Recepció de dades
4 RTS O Unitat preparada per enviar
5 CTS I Es poden enviar les dades
7 GND -- Referència 0V
13 Eject? I Possiblement el pin 11 de la FACIT
15 BufferSTout? O Possiblement el pin 14 de la FACIT
16 BufferSTin I
20 Operable O

Protocols

Protocol hardware

En la segënt taula es mostra a quin valor posa la MRSJ les linies de control durant les diferents operacions:

MRSJ MENU TEXTE MRSJ MENU WYSE WY-50 ESTAT
BuffSTin
pin 16
CTS
pin 5
Eject
pin 11
BuffSTin
pin 16
CTS
pin 5
Eject
pin 11
0 1 0 0 1 1 INIT
1 1 0 1 1 1 LA
0 1 0 0 1 1 RESET
0 1 0 1 1 1 Preparat per carregar
0 1 0 0 1 1 Mostra text (LA)
1 1 0 1 1 1 confirma text (LA)
? 1 0 1 1 1 Transmissió (LA)
0 1 0 0 1 1 Initial Status
1 1 1 0 1 0 SC
0 0 0 0 1 1 RESET
0 1 0 0 1 1 preparat per grabar
? ? 0 ? ? 1 Eject
0 1 0 0 1 1 Initial Status
Dades extretes del fitxer ldst.txt

Protocol software

S'ha trobat que es màquines Jacquardtronic, almenys les que es poden trovar a Encajes S.A. Colombia, no fan servir el mateix protocol "Mayer" per controlar les transferències de dades.

Descripció del protocol de transferencia alternatiu (Jacquardtronic)
----------------------------------------------------------------------

                                                     Adrià 16/05/2006

1. INTRODUCCIÓ
2. FUNCIONAMENT
   2.1 Inici d' operacions.
   2.2 Protocol de transferència.
   2.3 Operació format.
3. PROBLEMES
   3.1 Velocitat de Laden.
   3.2 Errors de transferencia.

1. INTRODUCCIÓ

   Hem trobat que les màquines Jacquardtronic, almenys les que es poden 
trovar a Encajes S.A. Colombia, no fan servir el mateix protocol "Mayer"
per controlar les transferències de dissenys. Es possible que aquest 
protocol no sigui únic de les màquines Jacquardtronic, o fins i tot que
hi hagin màquines Jacquardtronic que façin servir l' altre, aixi que
l' anomenarem protocol de transferencia alternatiu o per software.

   Mentres que la resta de màquines fan servir les senyals de hardware 
del RS-232 (RTS, CTS, etc...), aquestes màquines fan servir només els
pins Rx i Tx de la conexió CASSETTE, i envien unes sequencies d' escape
determinades per controlar les transferencies. Es veu que no cal un 
terminal Mayer especial per controlar aixó, sinó que qualsevol terminal
soporta els dos modes de funcionament sense cap tipus de configuració
per part de l' usuari. Aixó s' ha de confirmar ja que els terminals d'
Encajes S.A. son tots prou nous.


2. FUNCIONAMENT

2.1 Inici d' operacions.

   Al protocol hardware "de tota la vida", hi han dos operacions 
diferents, LA(laden) i SC(schreiben). Quan la màquina vol que li enviem
dades (LA) lo que fa es activar les senyals Eject, DSR i CTS del Facit
(Cassette). Quan es vol fer SC, lo que fa es enviar les dades per el 
Facit directament.

   Al nou protocol, es contemplen tres operacions: LA, SC i FO (format).
Per realitzar qualsevol de les tres, la màquina primer reseteja el 
canal de dades i despres l' activa un altre cop. Aixo es equivalent a
rebre les següents seqüencies per el facit:

(ESC es l' escape ASCII, 27 decimal, 1Bh hexadecimal o 033 octal.)

	Màquina -> ESC A (Abort transfer).

		No fem res.

	Màquina -> ESC C (Iniciar transfer).

A aquest darrer ESC C hem de respondre obligatoriament amb

		   ESC F (Facit ready).

amb aixo es dona el canal de dades per establert (La màquina li diu 
DATA CARRIER). Ara esperem a rebre una nova seqüencia per el facit,
de tres possibles:

	ESC D (Iniciem un LAden).
	ESC E (Iniciem un SCreiben).
	ESC X (Iniciem un FOrmat).

Cal destacar que quan es rep el primer ESC (ESC A), el programa s' 
adona de que es farà servir aquest nou protocol, i ha de desactivar el
flow control del port facit a la llibreria RS.


2.2 Protocol de transferencia.

   Les operacions LA i SC son transferencies de dades, nomes canvia el
sentit. En ambdos casos es fa servir el mateix protocol, nomes canvia
l' emisor i el receptor. Aixó es aplicable un cop s' ha rebut l' ESC E
o ESC D per seleccionar SC o LA respectivament.

L' emisor va enviant bytes tant ràpid com pot. Com que pot enviar 
seqüencies d' escape (ESC ?), ha d' escapar el byte ESC perque sigui
interpretat correctament. Llavors, si es vol enviar el byte 27(ESC),
s' ha de enviar doblat, 27 27. Igualment, el receptor, quan rebi aquest
ESC ESC, ho ha d' interpretar com que ha rebut un byte 27 del disseny.


Tant l' emisor com el receptor poden enviar un ESC A, per abortar la
transferencia.

El receptor, en qualsevol moment, pot enviar els següents bytes:

	PAUSE  (13h) 19 decimal.
	RESUME (11h) 17 decimal.

sense cap ESC, només un byte. L' emisor ha de pausar la transferencia
o continuarla, respectivament. Aquests codis son els que sustitueixen
el flow control hardware.

Aquests codis, al viatjar per el canal de dades, no tenen un efecte 
inmediat (com passava amb els CTS). Quan se li envia a la màquina un
PAUSE, es normal que ens envii uns quants bytes mes fins que fa cas.
Per tant es necessari enviarlo quan encara tenim puesto per almenys
uns 32 bytes per anar segurs.

De la mateixa manera, a nosaltres ens va be no fer cas inmediatament
d' aquest codi (PAUSE).  Ja que ens penalitza molt el rendiment el
mirar, cada cop que enviem un byte, si la màquina ens ha enviat un 
a nosaltres. Fent proves, s' ha trobat que les màquines Jacquardtronic
envien el PAUSE quan els hi queda espai per 29 bytes al buffer, de 
tal manera que podem comprobar si em rebut un PAUSE cada 29 bytes
enviats, com a minim dupliquem la velocitat fent aixó. De tota manera
no es segur ja que en d' altres màquines aquest buffer podria ser 
mes petit. Finalment s' ha triat de fer el check cada 10 bytes, lo 
qual continua donant un bon rendiment respecte a fer-ho cada byte.

   (Veure #define ALTERNATE_FLOW_INTERVAL a LDST.H)

Al finalitzar una transferencia SC, la màquina ens envia un ESC C,
i s' espera que responem, igual que avans, amb ESC F. Amb aixo tanquem
el canal de dades i vol dir que tot ha anat be. A l' hora de fer un LA
no es fa res per finalitzar, suposo que el cassette de la Mayer no 
enten de dissenys i de passades i no pot saber quan s' acaba el disseny
per lo tant es imposible que envii l' ESC C. Es la màquina la que sap
de passades i la que talla la transferencia.

2.3 Operació Format

   L' operació de formatejar un disc es diferent a tot aixo. Quan 
ens demanen un format amb ESC X, l' unic que fa la màquina es esperar
a que responem amb un altre ESC X per printar per pantalla que el 
format s' ha realitzat correctament. No hi ha cap transferencia de 
dades ni res.


3. PROBLEMES

3.1 Velocitat de Laden

   El cassette Mayer envia les pasades a la màquina molt més ràpid
que l' LDST. Amb el protocol hardware original, aixó es a l' inrevès.
Com que no hi ha massa diferencia en l' implementació dels dos 
protocols, no seria d' estranyar que hi hagues alguna seqüencia d' ESC
especial per canviar la velocitat del port o, en general, per iniciar
un mode de transferencia més ràpid (Compressio??). Aquesta opinió ve
reforçada per l' efecte que dona el terminal a l' hora d' enviar. Es
veu clarament com salten les pasades de 10 en 10, com si fos capaç
d' enviarles en blocs de 10. Aixo es raro perque cada disseny te una
longitud de pasada diferent, i com ja em dit abans, el cassette no
enten de pasades, sino de bytes i blocs de disc. Pero realment es veu
com, sigui com sigui el disseny, al terminal conta de 10 en 10.

3.2 Errors de transferència.

   Qualsevol error de transferencia (DATA CARRIER errors, segon la 
màquina), seria causat per alguna de les següents condicions:

   DATA CARRIER ERROR:

      Ho diu la màquina si no complim el protocol correctament.

   DATA CARRIER TIMEOUT:
      
      Ens ho diu si triguem massa (>3 segons) en començar a enviar
   els disseny despres de haver rebut el ESC D (LAden).

   DATA CARRIER ¿CHECKSUM? ERROR:

      Checksum error al mig de la transferencia. Lo normal es que 
   haguem fet overflow del buffer intern de la màquina. S' hauria de
   disminuir el valor de ALTERNATE_FLOW_INTERVAL a LDST.H.

      S' han fet moltes proves amb aquest valor i el limit es a 29,
   aixó es, amb 30 dona checksum errors. Potser en d' altres màquines
   es un valor mes petit.

Format de les dades

La especificació del format es pot trobar a Format_myr