---
title: "v2.3.0 - noch nicht veröffentlicht"
product: "LumiScan Cam Driver"
component: "lumiscan-cam-driver-de"
version: "2.2.1"
display_version: "2.2.1.10"
latest_version: true
language: "de"
url: "https://docs.hdvisionsystems.com/de/lumiscan-cam-driver-de/2.2.1/release-notes/v2-3-0.html"
---

# v2.3.0 - noch nicht veröffentlicht – LumiScan Cam Driver

**Neu:**

- **Bild-Stream (experimentell).** Eine Kamera kann ihre Bilder jetzt streamen, statt ein Bild pro Capture-Request aufzunehmen. `<camera name>/control/publish/execute` wendet die Eingaben `control/publish/input/enable` und `keep-latest-output` an. Solange der Stream läuft, veröffentlicht der Cam Driver jedes Bild, das die Kamera liefert, auf `control/publish/output/stream/frame` für einen Abonnenten, zusammen mit seiner Größe, seinem Pixelformat und seiner Lineage: der Kamera, dem Start des Streams und der Nummer des Bildes darin. Der Cam Driver triggert die Kamera nicht von selbst: Ein Bild kommt bei einem Hardware-Trigger, bei `control/trigger/execute` oder kontinuierlich, solange der Trigger-Modus der Kamera aus ist. Mit fester Rate getriggert lieferte die von uns getestete Kamera jedes Bild mit bis zu 66 Bildern pro Sekunde, gegenüber etwa 34 mit `capture/execute`, mit ihrem `TriggerOverlap` in einer Feature-Datei auf `PreviousFrame` gesetzt. `keep-latest-output` legt jedes Bild zusätzlich auf `output/image` ab und zählt es auf `output/package-identifier`, um den Preis einer Kopie pro Bild. Zähler unter `control/publish/output/stream/statistics` zeigen Bilder und Verluste.

  Jedes Bild wird auf beiden Data Layern geliefert. `setting/settings-hash` identifiziert die Einstellungen, mit denen die Bilder aufgenommen werden, und jeder Frame trägt ihn. Jeder Frame trägt außerdem das Tag des Moduls - den Kameranamen oder das Tag, das `control/publish/input/tag` vorgibt und das in der Modulkonfigurationsdatei als `stream.tag` gespeichert wird - und die Anwendungen, die die Bilder verarbeiten, behalten es in der Lineage ihrer Ergebnisse. Der Hash sagt, dass sich die Einstellungen geändert haben, nicht, was sich geändert hat; und dass er einer Änderung eines Kamera-Features folgt, wurde noch nicht mit einer echten Kamera geprüft.

  Solange der Stream läuft, ist `capture` nicht verfügbar: `capture/ready` ist `false`, `capture/execute` antwortet mit `DL_INVALID_OPERATION_MODE`, und ein Capture-Request endet mit Status `-3`, ohne einen Fehler zu speichern. Das Stoppen des Streams verbindet die Kamera erneut, sodass `capture/ready` bei der von uns getesteten Kamera nach etwa zwei Sekunden zurückkehrt. Siehe [Bilder streamen (experimentell)](https://docs.hdvisionsystems.com/de/lumiscan-cam-driver-de/2.2.1/lumiscan-camdriver/streaming-images.html).

- **Software-Trigger.** `<camera name>/control/trigger/execute` sendet der Kamera einen Software- Trigger, solange sie im Software-Trigger-Modus ist - ihr Trigger-Modus eingeschaltet und ihre Trigger-Quelle Software, gelesen in der eigenen Schreibweise der Kamera - und tut in jedem anderen Modus nichts. Der Befehl ist der kameraeigene, `TriggerSoftware` oder `SoftwareTrigger`. Eine Kamera in diesem Modus ohne einen der beiden, oder die ihn ablehnt, meldet den neuen Status `-10012` (`softwareTriggerFailed`). Solange der Bild-Stream läuft, wird eine Kamera ohne Software- Trigger-Modus - eine simulierte Kamera oder eine Plugin-Kamera ohne `TriggerSoftware` - stattdessen durch ihren eigenen Trigger ausgelöst, ein Bild pro Aufruf. Siehe [Software-Trigger](https://docs.hdvisionsystems.com/de/lumiscan-cam-driver-de/2.2.1/lumiscan-camdriver/execute-a-method.html#software-trigger).

- **Feature-Mappings.** Eine Kamera, die ihren Software-Trigger-Befehl, ihren Trigger-Modus oder ihre Trigger-Quelle oder deren Werte anders benennt, erhält ihre eigenen Namen in der Anwendungs-Einstellungsdatei: einen Eintrag unter `featureMappings`, benannt über die `featureMappingId` der Kamera. Das Schema listet die Schlüssel auf. Ein gemappter Name, den die Kamera nicht hat, wird als Warnung protokolliert, und die eingebauten Namen werden verwendet. Siehe [Software-Trigger](https://docs.hdvisionsystems.com/de/lumiscan-cam-driver-de/2.2.1/lumiscan-camdriver/execute-a-method.html#software-trigger).

- **Ein Beispiel der Einstellungen, auf einem PC.** `-g, --generate-settings [folder]` schreibt die Anwendungs-Einstellungsdatei, eine Beispiel-Moduldatei und ihre Schemas in einen Ordner (standardmäßig den aktuellen), nennt den Ordner, aus dem der Cam Driver seine Einstellungen liest, und beendet sich. Vorhandene Dateien werden nie überschrieben. Siehe [Neue Kamera-Einstellungsdateien anlegen](https://docs.hdvisionsystems.com/de/lumiscan-cam-driver-de/2.2.1/lumiscan-camdriver/creating-new-camera-settings-files.html).

- **Einstellungen auf dem Data Layer.** `hdvisionsystems/lumiscan-cam-driver/system/settings` zeigt die Einstellungen, mit denen die Anwendung gestartet wurde: die Einstellungsdatei der Anwendung, jede Moduldatei eingebettet in ihre Liste `modules`, Passwörter als `***`. Ein Schreibvorgang darauf ändert die Dateien. Die Anwendung prüft die Änderung wie beim Start, speichert sie (die vorherige Datei als `.bak`) und verweigert dann jede Arbeit, bis sie neu gestartet wird: `restart-required`, Status `-5`. `hdvisionsystems/lumiscan-cam-driver/system/control/restart/execute` startet sie neu. Siehe [Einstellungen auf dem Data Layer](https://docs.hdvisionsystems.com/de/lumiscan-cam-driver-de/2.2.1/lumiscan-camdriver/settings-on-the-data-layer.html).

**Fehlerbehebung:**

- **Der Cam Driver startet wieder auf einer ctrlX CORE.** Seit dem Umstieg auf die neue Kommandozeile lehnte er das `-p 8080` ab, das sein Snap übergibt, und beendete sich sofort. Er akzeptiert und ignoriert `-p` jetzt, und das Snap übergibt es nicht mehr.
- **Ein Programm, das ein abgelehntes `execute` immer wieder aufruft, überflutet das Protokoll nicht mehr.** Jede Ablehnung wurde als eigene Zeile geschrieben, sodass ein Programm, das `capture/execute` wiederholte, während die Kamera belegt war, etwa 11 MB Protokoll pro Minute schrieb. Für jede Methode und jedes Ergebnis wird die erste Ablehnung protokolliert, danach höchstens eine Zeile alle zehn Sekunden, die angibt, wie viele nicht einzeln protokolliert wurden.
