Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
private:keyboard_switch [2012/06/14 18:19] Patrick Wacker |
private:keyboard_switch [2012/06/14 18:57] (aktuell) Patrick Wacker angefangen register zu beschreiben |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Erste Überlegungen zu einen Keyboard/Mouse-Switch ====== | ====== Erste Überlegungen zu einen Keyboard/Mouse-Switch ====== | ||
- | === Anforderungen === | + | ==== Anforderungen ==== |
* 2 ((evt. 3 oder erweiterbar)) Tastaturen (KB) und 2 ((evt. 3 oder erweiterbar)) Mäuse (MS) anschließbar (beides PS/2-Schnittstelle) | * 2 ((evt. 3 oder erweiterbar)) Tastaturen (KB) und 2 ((evt. 3 oder erweiterbar)) Mäuse (MS) anschließbar (beides PS/2-Schnittstelle) | ||
Zeile 17: | Zeile 17: | ||
* | * | ||
- | === Umsetzung === | + | ==== Umsetzung ==== |
* Ein µController zur Verwaltung der Eingaben (2x KB/MS) | * Ein µController zur Verwaltung der Eingaben (2x KB/MS) | ||
Zeile 26: | Zeile 26: | ||
- | === Aufbau === | + | ==== Aufbau ==== |
<graphviz dot left> | <graphviz dot left> | ||
Zeile 36: | Zeile 36: | ||
subgraph cluster0 { | subgraph cluster0 { | ||
style="plaintext"; | style="plaintext"; | ||
+ | color="invis"; | ||
kb1 [ label="Keyboard 1", shape="ellipse", style=filled, fillcolor=gray ]; | kb1 [ label="Keyboard 1", shape="ellipse", style=filled, fillcolor=gray ]; | ||
ms1 [ label="Mouse 1", shape="ellipse", style=filled, fillcolor=gray ]; | ms1 [ label="Mouse 1", shape="ellipse", style=filled, fillcolor=gray ]; | ||
Zeile 42: | Zeile 43: | ||
| | ||
subgraph cluster1 { | subgraph cluster1 { | ||
- | style="dotted"; | + | style="plaintext"; |
+ | color="invis"; | ||
kb2 [ label="Keyboard 2", shape="ellipse", style=filled, fillcolor=lightgray ]; | kb2 [ label="Keyboard 2", shape="ellipse", style=filled, fillcolor=lightgray ]; | ||
ms2 [ label="Mouse 2", shape="ellipse", style=filled, fillcolor=lightgray ]; | ms2 [ label="Mouse 2", shape="ellipse", style=filled, fillcolor=lightgray ]; | ||
Zeile 104: | Zeile 106: | ||
} | } | ||
- | MC1 [ label="\rMain Controller", width="1.70", height="1.00", style="filled", fillcolor="yellow" ]; | + | MC1 [ label="\rMain Controller", fontsize="14", width="1.70", height="1.00", style="filled", fillcolor="yellow" ]; |
{ rank="same"; "MC1"; "usbhub"; } | { rank="same"; "MC1"; "usbhub"; } | ||
Zeile 123: | Zeile 125: | ||
} | } | ||
</graphviz> | </graphviz> | ||
+ | |||
+ | |||
+ | ==== Mögliche SPI Telegramme ==== | ||
+ | |||
+ | Die hier dokumentierten Telegramme dienen erstmal einer ersten Übersicht und keineswegs der fertigen Implementierung! Änderungen können jederzeit stattfinden! | ||
+ | |||
+ | |||
+ | <register> | ||
+ | register = general control | ||
+ | long desc = general control telegram from the master | ||
+ | #short desc = | ||
+ | perms = W | ||
+ | #addr = 0x0 | ||
+ | #reset = 0x0 | ||
+ | length = 24 | ||
+ | bit range = 7 7 | ||
+ | bit name = GC | ||
+ | bit desc = 0 - No general control command\n1 - GC Command (see CMD) | ||
+ | #bit flags = W1C | ||
+ | bit range = 6 0 | ||
+ | bit name = CMD | ||
+ | bit desc = 000 0001 (0x01) - GET_KB_LED_STATUS\n000 0010 (0x02) - GET_KB_NUMLOCK_STATUS\n000 0011 (0x03) - GET_KB_ROLL_STATUS\n000 0100 (0x05) - GET_KB_CAPSLOCK_STATUS | ||
+ | </register> | ||
+ |