Opcode: $DD
Parameter: $00 $69 $5A $96 $A5
Komplette Nachricht: $DD $00 $69 $5A $96 $A5
Jede Nachricht von und zur ISTEC wird dabei grundsätzlich
in Paketen zu je vier Byte zerlegt, wobei das erste Byte zur Paketidentifikation
dient und die restlichen drei Bytes Teil der Nachricht sind.
Eine Nachricht ist also immer in Pakete zu zerlegen und die von der
ISTEC kommenden Nachrichten müssen aus den ankommenden Paketen
entnommen werden.
Beispiel Diagnosemodus einschalten:
Serieller Datenstrom: $03 $DD $00 $69 $83 $5A $96 $A5
1. Paket 2. (und letztes) Paket
Ein Paket hat folgenden Aufbau:
Byte 1 Byte 2 Byte 3 Byte 4
+-----------+-----------+-----------+-----------+
| m000 00cc | xxxx xxxx | xxxx xxxx | xxxx xxxx |
+-+------++-+-+---------+-----------+---------+-+
| ++ +-------------------------------+
Endemarke | Nachrichtenbytes
Anzahl der (ungenutzte Nachrichtenbytes = $FF)
nutzbaren
Nachrichtenbytes
 |
Ein Paket besteht aus vier Byte, Pakete mit weniger als
vier Byte sind also fehlerhaft.
|
 |
Jedes Paket besteht aus einem Kopfbyte (Byte 1) und
drei Nachrichtenbytes (Byte 2-4), egal vieviele Nachrichtenbytes
tatsächlich in einem Paket verwendet werden. Nichtverwendete Nachrichtenbytes
setzt man einfach auf $FF.
|
 |
Nachrichten mit mehr als drei Nachrichtenbytes sind in mehrere Pakete
aufgeteilt.
|
 |
Das m-Bit (Endemarke, Bit 7) legt fest, ob das Paket das letzte zu diesem
Nachrichtentyp ist oder nicht:
 |
Ein gelöschtes m-Bit (0) bedeutet, daß
noch weitere Pakete folgen, die Nachrichtenbytes zu dieser Nachricht enthalten.
|  |
Ein gesetztes m-Bit (1) bedeutet, daß
das Paket das letzte für diese Nachricht ist.
|
|
 |
In den Bits cc (Bits 0 und 1) jedes Pakets steht die
Anzahl der tatsächlich verwendeten Nachrichtenbytes des Pakets (notwenig,
da ein Paket ja immer drei Nachrichtenbytes enthält, aber die wenigsten
Nachrichten aus exakt einem Vielfachen von drei Bytes bestehen).
|
 |
Daraus folgt:
 |
Der Kopf (Byte 1) eines Pakets kann nur die Werte
$03 , $81, $82 oder $83 annehmen.
|  |
Eine Nachricht besteht immer aus
(Anzahl Nachrichtenbytes - 1)
1 + -----------------------------
3
Paketen.
| |
Timing beim Senden:
Das Nichteinhalten dieser Zeiten führt zu einer Fehlermeldung von der ISTEC. Daher
auch die Empfehlung, eventuell vorhanden FIFOs der seriellen Schnittstelle abzuschalten,
da dieser das Timing vom Programm aus unkontrollierbar macht.
Beispiele für in Pakete aufgeteilte Nachrichten:
Bereitschaft prüfen:
Opcode: $02 Parameter: keine
Komplette Nachricht: $02
Serieller Datenstrom: $81 $02 $FF $FF
Bei Firmware 2.00:
Opcode: $02 Parameter: Major und Minor Versionsnummer der Host-Software
Komplette Nachricht: $02 $02 $00
Serieller Datenstrom: $83 $02 $02 $00
Antwort auf 'Bereitschaft prüfen':
Opcode: $12 Parameter: keine
Komplette Nachricht: $12
Serieller Datenstrom: $81 $12 $FF $FF
Diagnosemodus einschalten:
Opcode: $DD Parameter: $00 $69 $5A $96 $A5
Komplette Nachricht: $DD $00 $69 $5A $96 $A5
Serieller Datenstrom: $03 $DD $00 $69 $83 $5A $96 $A5
Nachrichtenbeschreibung und Datentabellen:
Letzte Änderung: 17.03.2025
© 1998-2025
mail@prog-link.norbert-richter.name