Table of Contents

~~DISCUSSION:off~~

JSON-API

Übersicht über unterstützte Befehle:

Designziele

Comment by svesch: Ist ok, 16 Bit ([a-p] + [x] als Joker) werden im Alphabet reserviert. Bei zukünftigen Implementierungen kann die Belegung ggf. dynamisch geändert werden oder auf - wie in Deinem Vorschlag - Doppelkombinationen erweitert werden.

Vorschläge

Partition (erster Buchstabe) Untergruppe
s Serial Server
q Prozesszugriff
r IP-Einstellungen
t Event trigger Einstellungen

Zwischenstand:

Command Name Type Description
q submenu Access to Process
qi submenu Flags and values of all process input registers
qiv submenu Values of all process input registers
qivX WORD Value of single process input register
qif submenu Flags of all process input registers
qifX BOOL Flag of single process input register
qs WORD indicates if the process is running; setting to 1 starts the process; setting to 0 stops the process; 2 indicates an error and is no valid value to be written
qm ENUM:”../Firmware/process.h”:ValidationResult_t state of the currently loaded process image
qo submenu Flags and values of all process output registers
qov submenu Values of all process output registers
qovX WORD Value of single process output register
qof submenu Flags of all process output registers
qofX BOOL Flag of single process output register
y submenu pins; development only!
yX submenu automatically generated knot number 0
yXX WORD value of singel pin; development only!
s submenu Serial
su submenu UART-Config
sup ENUM:”../Firmware/IO/serial.h”:UARTParityModes_t UART-Parity
sub ENUM UART-Bitrate
u submenu GPIO server
ue submenu Edge counter configuration of all GPIO ports (even so only port 0 to 2 support edge counter)
uev submenu Values of edge counters of every pin
uevX WORD Value of single edge counter
ut submenu Types of all GPIO ports
utX ENUM:”../Firmware/IO/gpio.h”:PortType_t Type of single GPIO port
uv submenu Values of all GPIO ports
uvX WORD Value of single GPIO port

Event trigger Einstellungen (Gruppe t)

Für die aktuelle Session werden die Event trigger eingestellt.

Diese Kommandogruppe hat für JSON-Zugriff keine Bedeutung, da diese Kommunikation nur durch den Client initiiert werden kann.

Die Kommandos aktivieren oder deaktivieren Events (d.h. Flanken).

Für digitale Eingänge wird 't' mit einer der IO-Kürzel zusammengesetzt.

Ggf. kann das Prinzip auf digitale Ausgänge erweitert werden, wenn lokale Änderungen mitgeschnitten werden sollen.

Dem kann einer der folgenden Werte zugewiesen werden:

Wert Bedeutung
0 Kein Event
1 Steigende Flanken
2 Fallende Flanken
3 Alle Flanken

Events generieren Zustandstelegramme der Form 'a=1'.

Für analoge Eingänge oder PWM-Ausgänge hat diese Einstellung keinen Effekt.

Trigger für den Prozesspeicher können mittels tq=value erfolgen.

value ist eine der 16 Adressen, die aboniert werden sollen.