Home Page Printers

Our

New products

Event

Contact us

Map

MEGATRON
Z.I. de Noyer
B.P. n° 1
74200 Allinges
France

Français


MEGATRON

Joystick en RS232 (émulation Souris ou Joystick)


Émulation Souris

Les souris RS232 sont connectées directement au port série et utilisent un des protocoles RS232C.
La souris obtient son alimentation par les pattes TXD, DTR et RTS du port et consomme moins de 15 mA.

Nom
Broche
Usage
RXD
2
Emission de Données
TXD
3
-12V et
Réception de Données
DTR
4
+12V
GND
5
Masse
RTS
7
+12V

Les joysticks qui émulent une souris utilisent un des ces protocoles, ils sont percus comme des souris par le PC.

Le pilote peut s'assurer de la présence d'une souris en abaissant la tension sur la broche RTS et en la remontant.
Environ 14 ms plus tard, la souris enverra l'octet $4D (`M') sur la ligne RXD.
Encore 63 ms plus tard, les souris compatible Microsoft enverront $33 (`3') sur RXD

Le déplacement relatif de la souris est transmis en tant que dx (positif vers la droite) et dy (positif vers le bas).

Diverses souris peuvent travailler avec des vitesses différentes. Pour sélectionner la vitesse, il faut parcourir le cycle 9600, 4800, 2400 et 1200 baud, en envoyant chaque fois les deux caractères de la table ci-dessous, et attendre 0,1 seconde.

bit/sec
Message
9600
*q
4800
*p
2400
*o
1200
*n

 

Pour chaque trame, le premier octet peut être utilisé pour se synchroniser.

Protocole Microsoft

Le protocole Microsoft utilise une liaison série:
1200 Baud, 1 bit de Start, 7 bits de données, sans parité, 1 bit de Stop.
Les données sont transmises sur la ligne RXD par paquets de 3 octets.

bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
Octet 1
1
L
R
Y7
Y6
X7
X6
Octet 2
0
X5
X4
X3
X2
X1
X0
Octet 3
0
Y5
Y4
Y3
Y2
Y1
Y0

 

 

 

  • L = Left (Bouton Gauche 1:appuyé; 0:Relaché)
  • R = Right (Bouton Droit (1:appuyé; 0:Relaché)
  • X0..X7 = dx déplacement X sur 8 bits complémenté à deux, soit une valeur entre -128 et +127
  • Y0..Y7 = dy déplacement Y sur 8 bits complémenté à deux, soit une valeur entre -128 et +127
Protocole Logitech Les souris série Logitech à trois boutons peuvent utiliser plusieurs extensions du protocole Microsoft : lorsque le bouton central est en haut, le paquet de 3 octets décrit ci-dessus est envoyé. Lorsque le bouton est en bas, un paquet de 4 octets est envoyé, dont le quatrième octet a la valeur $20 (ou au moins le bit $20 à 1). En clair, une pression sur le bouton central seul est indiquée par $0, $0, $0, $20.
Protocole Mouse Systems Corp.

Le protocole Mousesystems utilise 1200 Baud, 1 bit de Start, 8 bits de données, sans parité et 2 bits de Stop.
Les données sont envoyées sur RXD par trames de 5 octets.

bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
Octet 1
1
0
0
0
0
L
M
R
Octet 2
0
dx6
dx5
dx4
dx3
dx2
dx1
dx0
Octet 3
0
dy6
dy5
dy4
dy3
dy2
dy1
dy0
Octet 4
0
dx6
dx5
dx4
dx3
dx2
dx1
dx0
Octet 5
0
dy6
dy5
dy4
dy3
dy2
dy1
dy0

 

 

 

 

  • L(Left), M (Middle) et R (Right) sont mis à zéro quand respectivement les boutons Gauche, Central et Droit sont pressés.
  • dx transmis sur l'octet 2 est émis comme la somme des deux valeurs en complément à 2.
  • dy transmis sur l'octet 3 est émis comme inverse de la somme des deux valeurs en complément à 2.
  • Les octets 4 et 5 indiquent les changements qui se sont produits depuis le début d'émission des octets 2 et 3.

 


JOYSTICKS

Protocole CTI RS232

This data is provided to the customer to be used as a guide in writing a software driver routine to interface CTI joystick products that transmit in the absolute position mode. This is not required for CTI’s Industrial Mouse® joysticks which emulate directly the mouse drivers provide with Windows® operating systems.

bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
info
Byte 1
0
0
1
S5
S4
S3
S2
S1
Switch data, 1 = on, 0 = off
Byte 2
0
1
0
0
X7
X6
Y7
Y6
MSB’s X & Ydata
Byte 3
1
1
X5
X4
X3
X2
X1
X0
LSB’s X data
Byte 4
1
0
Y5
Y4
Y3
Y2
Y1
Y0
LSB’s Y data

 

  • Binary Data: Joystick position data is absolute binary format in 2’s complement. The data is spread over three data bytes as shown. Each transmission is always a complete data packet.
  • Switch Data: Left, middle and right switches are encoded as S3, S2 and S1 respectfully. Optional push-button switch on the knob is S4.
    If the device has an additional switch that would be encoded as S5.
  • Baud Rate: 9600 , one start bit, 8 data bits, no parity, one stop bit. CTS echoes RTS, not used otherwise.
  • Mode: Default to stream mode, switch-able to polled-mode by customer software, see sheet 2.
  • Repetition rate: Variable when in stream mode, up to a maximum of 30 per second. In polled mode the repetition rate is controlled by the customers software.
Command From Host (Hex)
Action by joystick interface
11
Clear polled mode, enable stream mode, interface transmits a complete data packet anytime there is a change in data, up to a maximum repetition rate of 30 times per second. This is the default mode after power on.
13
Set polled mode, interface will only respond when polled.
EE
Prompt command, interface will send a complete data packet. Also, will set prompt mode if not already set.

Absolute position example typical X axis:

X7
X6
X5
X4
X3
X2
X1
X0
Value
0
1
1
1
1
1
1
1
+127
maximum positive deflection
.
.
.
.
.
.
.
.
 
 
0
0
0
0
0
0
0
1
+1
 
0
0
0
0
0
0
0
0
0
Center
1
1
1
1
1
1
1
1
-1
 
1
1
1
1
1
1
1
0
-2
 
.
.
.
.
.
.
.
.
 
 
1
0
0
0
0
0
0
1
-128
maximum negative deflection