... | ... | @@ -6,20 +6,72 @@ |
|
|
# Kommandos
|
|
|
Um eine hohe Flexibilität zu erhalten, können in den `.json` Dateien bei den Kommandos [f-Strings](https://www.python.org/dev/peps/pep-0498/) verwendet werden. Somit kann man die zu sendenen Nachrichten sehr flexibel anpassen, formatieren oder sogar weitere Berechnungen anstellen.
|
|
|
|
|
|
### Beispiele
|
|
|
|
|
|
<details><summary>:memo: Eingehenden Wert in ohne Dezimalstellen senden</summary>
|
|
|
|
|
|
```python
|
|
|
"VOLT: {int(value)}"
|
|
|
```
|
|
|
</details>
|
|
|
|
|
|
<details><summary>:memo: Einen Wert als Hexadezimalzahl mit 2*4 Bit senden</summary>
|
|
|
|
|
|
```python
|
|
|
"VOLT: {value:02x}"
|
|
|
```
|
|
|
</details>
|
|
|
|
|
|
<details><summary>:memo: Einen Wert nur senden, wenn er unter einem Grenzwert liegt (Bsp.: unter 100)</summary>
|
|
|
|
|
|
```python
|
|
|
"VOLT: {value if value < 100 else 0}"
|
|
|
```
|
|
|
</details>
|
|
|
|
|
|
<details><summary>:memo: Nur 2 Dezimalstellen eines Wertes senden</summary>
|
|
|
|
|
|
```python
|
|
|
"VOLT: {value:.2f}"
|
|
|
```
|
|
|
</details>
|
|
|
|
|
|
[:memo: Beispielkonfiguration](https://gitlab.bht-berlin.de/lilpaeller/battlab2/-/wikis/Ger%C3%A4te#beispielkonfigurationsdatei)
|
|
|
|
|
|
:warning: Falls Strings innerhalb der Kommandos verwendet werden, müssen diese mit einzelnen Anführungszeichen angegeben werden (`SHIFT` + `#` = `'`)
|
|
|
|
|
|
# Aufbau
|
|
|
Eine Gerätekonfigurationsdatei ist wie folgt aufgebaut:
|
|
|
|
|
|
* **name**: der Name des Geräts (nicht essenziell zur ausführung)
|
|
|
* **desc**: eine Beschreibung des Geräts
|
|
|
* **port_config**: die Konfiguration der seriellen Schnittstelle. Werte sind analog zu den von der [pySerial Bibliothek](https://pyserial.readthedocs.io/en/latest/pyserial_api.html#serial.Serial)
|
|
|
* **baudrate**: die Baudrate als Zahl
|
|
|
* **bytesize**: die Anzahl der Bytes pro Nachrichtenblock (`FIVEBITS`, `SIXBITS`, `SEVENBITS`, `EIGHTBITS`)
|
|
|
## name
|
|
|
der Name des Geräts (nicht essenziell zur Ausführung)
|
|
|
|
|
|
## desc
|
|
|
eine Beschreibung des Geräts
|
|
|
|
|
|
|
|
|
## port_config
|
|
|
die Konfiguration der seriellen Schnittstelle. Werte sind analog zu den von der [pySerial Bibliothek](https://pyserial.readthedocs.io/en/latest/pyserial_api.html#serial.Serial)
|
|
|
|
|
|
### baudrate
|
|
|
die Baudrate als Zahl
|
|
|
|
|
|
### bytesize
|
|
|
die Anzahl der Bytes pro Nachrichtenblock (`FIVEBITS`, `SIXBITS`, `SEVENBITS`, `EIGHTBITS`)
|
|
|
* **parity**: die Parität (`PARITY_NONE`, `PARITY_EVEN`, `PARITY_ODD`, `PARITY_MARK`, `PARITY_SPACE`)
|
|
|
* **stopbits**: die Anzahl der Stopbits por Nachrichtenblock (`STOPBITS_ONE`, `STOPBITS_ONE_POINT_FIVE`, `STOPBITS_TWO`)
|
|
|
* **timeout**: der Lesetimeout in Sekunden (kann Dezimalzahl sein)
|
|
|
|
|
|
### stopbits
|
|
|
die Anzahl der Stopbits por Nachrichtenblock (`STOPBITS_ONE`, `STOPBITS_ONE_POINT_FIVE`, `STOPBITS_TWO`)
|
|
|
|
|
|
### timeout
|
|
|
der Lesetimeout in Sekunden (kann Dezimalzahl sein)
|
|
|
* **commands**:
|
|
|
* **general**: generelle Kommandos, wie z.B.: An- und Ausschalten
|
|
|
* **enable**: Kommando um das Messen zu aktivieren oder deaktivieren
|
|
|
* :ballot_box_with_check: hier kann ein f-String verwendet werden. Der übergebene Wert `value` kann `True` oder `False` sein
|
|
|
|
|
|
* **set_mode**: Kommando um den Modus des Geräts zu verstellen
|
|
|
* :ballot_box_with_check: hier kann ein f-String verwendet werden. Der übergebene Wert `value` kann je nach Schrittkonfiguration `voltage`, `current`, `resistance` oder `power` sein.
|
|
|
|
|
|
|
|
|
|
... | ... | |