API Light-LAN
Light-LAN IP Interface
Verwendet wird UDP Port 11081. Er kann per uIP-Programmer geändert werden.
Port 11080 ist für Programmierbefehle fest reserviert und nicht dokumentiert.
Es wird im Halb-Duplex? Mode gearbeitet. Bis zum nächsten Befehl muss eine Antwort abgewartet werden.
Bis zu vier Verbindungen sind gleichzeitig möglich.
Als Antworten werden 2 Byte Datagramme mit '!' (Ack) oder '?' ( Nack) gesendet.
Einige wenige OpCodes? initiieren ein Antwort Datagramm.
Zur Verbindungskontrolle werden ICMP Anfragen (Ping) beantwortet.
Checksummen sind unnötig, da bereits in Layer2 vorhanden
Kursiv geschriebene Kommandos sind noch nicht implementiert.
Nicht beschriebene OpCodes? sind zur internen Nutzung oder für andere Controllertypen reserviert!
Das DMX Interface verwendet nur die Kanäle 1 bis 127.
Antworten auf Befehle
Es wird immer eine Antwort mit mindestens 2 Byte gegeben.Soweit nicht anders angegeben, werden diese Antworten gesendet
In Op wird der zuvor gesendete OpCode? zurückgegeben
Befehl ausgeführt | |||||||||||
Ack | Op | ||||||||||
0x21 |
Antwort auf Befehl mit angehängten Nutzdaten | |||||||||||
Ack | Op | Byte1 | Byte2 | ByteN | |||||||
0x21 |
Befehl unbekannt | |||||||||||
Nack | Padding | ||||||||||
0x3F | 0x00 |
Die Befehle:
Clear | |||||||||||
Alle Lichtpunkte aus | |||||||||||
Op | |||||||||||
0x00 |
Shift normal | |||||||||||
Setzt das Schieberegister mit neuen Werten Schieberegister wird von hinten nach vorne gesendet. Zuerst wird das höchstwertige Byte am Ende des Schieberegisters gesendet | |||||||||||
Op | NrGrp | ByteN | ... | Byte3 | Byte2 | Byte1 | |||||
0x01 | |||||||||||
NrGrp=Anzahl der folgenden Bytes bzw. Länge des Schieberegisters a8bit |
Set On Nicht implementiert | |||||||||||
Schaltet einen einzelnen Lichtpunkt ein | |||||||||||
Op | Addr Hi | Addr Lo | |||||||||
0x02 | |||||||||||
Address=Position des Lichtpunktes im Schieberegister |
Set Off Nicht implementiert | |||||||||||
Schaltet einen einzelnen Lichtpunkt aus | |||||||||||
Op | Addr Hi | Addr Lo | |||||||||
0x03 | |||||||||||
Address= Position des Lichtpunktes im Schieberegister |
SetInit | |||||||||||
Programmiert dauerhaft Startwerte für alle Ausgänge des S- oder Q-Bus?, die beim Einschalten des Interface sofort aktiv werden. S-Bus: Jedes Datenbyte entspricht einem 8bit Port. Max NrPorts? ist 50. Q-Bus: Jedes Datenbyte entspricht einem Ausgang. Max NrPorts? ist 80. Ist NrPorts? = 0, dann werden alle Werte gelöscht | |||||||||||
Op | Typ | NrPorts | Port 1 | Port 2 | Port 3 | ... | Port n | ||||
0x04 | |||||||||||
Typ: 0=S-Bus 1=Q-Bus Typ=3 ist setzen des Q-Busmodes?. Dann ist NrPorts? 80=80 Ports mit 32 Stufen 8=8 Ports mit 255 Stufen. Rest wird ignoriert. |
Status | |||||||||||
Abfrage von Statusinformationen. | |||||||||||
Op | |||||||||||
0x0F |
Antwort:
Ack | Op | Typ | MajorVer | MinorVer | Tasten | DMX1 | DMX2 | DMX3 | DMX4 | ... | DMX12 |
0x21 | 0x0F | 1 | 1 | 5 | |||||||
Typ=1 für Light@Night, MajorVer-MinorVer=Softwareversion, DMX1 bis 12 aktuelle DMX Werte Bit0=Taste1 .. Bit7=Taste8 |
Shift Q-Bus Nicht implementiert | |||||||||||
Setzt Werte im HQ-Bus. Aktiviert ihn, falls er noch steht. Schieberegister wird von vorne gesendet. | |||||||||||
Op | Nr Ports | Port1Val | Port2Val | Port3Val | PortNVal | ||||||
0x11 | 000X XXXX | 000X XXXX | 000X XXXX | 000X XXXX | |||||||
Nr Ports=1 bis 80 PortVal= 0 bis 32 |
Set Q-Bus Nicht implementiert | |||||||||||
Setzt Wert eines einzelnen Ausgangs | |||||||||||
Op | PortPos | Value | |||||||||
0x12 | 000X XXXX | ||||||||||
PortPos=1 bis 80 Value= 0 bis 32 |
SetType Nicht implementiert | |||||||||||
Op | PortPos | Type | |||||||||
0x13 |
SetDMX | |||||||||||
Setzt den Wert der Kanäle 1 bis 127 des DMX Bus für Raumlichtsteuerung und andere Effekte. Mindestens 3 Kanäle müssen gesendet werden. Maximum ist 127 Kanäle. Auf niedrige Kanäle beschränken, weil DMX sonst langsam wird. | |||||||||||
Op | NrKanal | DMX1 | DMX2 | DMX3 | DMX4 | DMX5 | DMX6 | DMX7 | DMXn | ||
0x21 | |||||||||||
NrKanal= Anzahl der Kanäle (Min3, Max127) DMX= 0 bis 255 |
SetDMXInit | |||||||||||
Programmiert dauerhaft Startwerte für die ersten 12 Kanäle, die beim Einschalten des Interface sofort gesendet werden. | |||||||||||
Op | DMX1 | DMX2 | DMX3 | DMX4 | DMX5 | .. | DMX12 | ||||
0x22 |
GetInput | |||||||||||
Werte der 8 Eingangstaster. Nach der ersten Anfrage wird die IP-Adresse gespeichert. Danach wird jede Änderung einer Taste als Event gesendet. Max. Speicher für 4 IP-Adressen (parallele Session). | |||||||||||
Op | |||||||||||
0x3F |
Antwort:
Ack | Op | Value | |||||||||
0x21 | 0x3F | ||||||||||
Value= Status aller 8 Eingänge Bit0=Taste1 .. Bit7=Taste8 |
Kategorie: API
Zu dieser Seite haben beigesteuert: Railware Team
.
Page last modified on Mittwoch 02 Juni, 2010 17:48CEST by Railware Team .
Der Inhalt dieser Seite unterliegt folgenden Lizenzbestimmungen: Copyright.