Um die Parameter einzustellen, kann der Benutzer die in diesem Kapitel beschriebene Nachricht senden. Es ist möglich, eine Reihe von Parametern zu aktualisieren. Jeder Fehler, der auftreten kann, versetzt die Kamera jedoch in den ursprünglichen Zustand zurück, ohne dass Änderungen vorgenommen werden.
Enumerationsparametertypen können auch mithilfe des lesbaren Werts definiert werden. Legen Sie z. B. das Pixelformat mit dem Wert Mono8 fest, trotz des ganzzahligen Enumerationswerts.
Für die Parameter String und Integer erwartet der Konnektor eine genaue Übereinstimmung mit dem festgelegten Wert. Bei Gleitkommaparametern ist aufgrund des Gleitkommavergleichs eine Differenz von nicht mehr als 1 % zulässig. Wenn der angegebene Wert außerhalb des erwarteten Bereichs liegt, gibt der Einstellungsaufruf einen Fehler zurück.
Bei der Verwendung von Command-Parametern muss die Angabe von Werten zu einer Fehlermeldung führen.
Die Liste der eingestellten Werte wird in der Antwortnachricht zurückgegeben.
Nachrichtenumschlag für ZMQ-Nachricht
Rahmen | Feld | Beschreibung | Typ |
---|---|---|---|
1 | payload | Nutzlast der Methode | Binärer String (UTF-8) |
Nutzlast
Feld | Optional | Typ | Beschreibung |
---|---|---|---|
Transaktions-ID | Ja | String | Identifizierung von Transaktionen. |
Aktion | Nr. | String | Methode aufgerufen. Fester Wert SetParameters |
Geräte-ID | Nr. | String | Geräte-Identifikation. |
ParameterListe | Nr. | Parameter-Objekt-Array | Objekt, um die zu aktualisierenden Parameter zu kapseln. |
Parameter-Objekt
Feld | Optional | Typ | Beschreibung |
---|---|---|---|
Name | Nr. | String | Eindeutiger Parametername2 |
Wert1 | Nein / Ja (nur für Befehlsparameter) | Zeichenfolge/Int/Float/Bool | Neuer Wert (das Feld Wert darf nicht für Befehlsparameter verwendet werden, sondern muss für alle anderen Parametertypen verwendet werden) |
1 Bei Aufzählungen kann es sich um den ganzzahligen Wert oder auch um den symbolischen Namen handeln, siehe IntValue Retrieving Parameter List. 2 Es wird zwar empfohlen, den eindeutigen Parameternamen zu verwenden, der in der Parameterliste abgerufen wird, aber Anwendungen können abgekürzte Parameternamen als Tastenkombinationen implementieren, um die Parametereinstellungen zu vereinfachen, oder Tastenkombinationen für den Zugriff auf mehrere Knotenzuordnungen. Diese Tastenkombinationen sollten in der Connectordokumentation dokumentiert werden.
{
"TransactionID": "123567",
"Action": "SetParameters",
"DeviceID": "548451887",
"ParameterList":[
{"Name": "Width", "Value": 800},
{"Name": "Height", "Value": 600},
{"Name": "PixelFormat", "Value": "Mono8"} //Setting using the human-readable string. This could be also the correspondent enum integer.
]
}
Antwort
Rahmen | Feld | Beschreibung | Typ |
---|---|---|---|
1 | payload | Response-Objekt | Binärer String (UTF-8) |
Response-Objekt
Feld | Optional | Typ | Beschreibung |
---|---|---|---|
Transaktions-ID | Ja | String | Identifizierung von Transaktionen. |
Rückgabe-Code | Nr. | Integer | Meldungscode, der auf Meldungscodes](#message-codes) folgt [. |
Meldung | Ja | String | Antwort-Nachricht |
ParameterListe | Nr. | Parameter-Objekt-Array | Objekt, um die zu aktualisierenden Parameter zu kapseln. |
Parameter-Objekt
Feld | Optional | Typ | Beschreibung |
---|---|---|---|
Name | Nr. | String | Eindeutiger Parametername2 |
Wert | Nr. | Zeichenfolge/Int/Float/Bool | Neuer Wert |
{
"TransactionID": "123567",
"ReturnCode": 0,
"Message": "Parameters updated.",
"ParameterList":[
{"Name": "Width", "Value": 800},
{"Name": "Height", "Value": 600},
{"Name": "PixelFormat", "Value": "Mono8"}
]
}