... | ... | @@ -4,38 +4,41 @@ |
|
|
</details>
|
|
|
|
|
|
# Kommandos
|
|
|
Kommandos sind Nachrichten die an das verwendete Gerät geschickt werden, um Daten einzustellen oder auszulesen. Die jeweiligen Kommandos müssen aus dem Datenblatt des jeweiligen Gerätes entnommen werden.
|
|
|
|
|
|
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>
|
|
|
<details><summary>:memo: Ein Wert ohne Dezimalstellen senden</summary>
|
|
|
|
|
|
```python
|
|
|
"VOLT: {int(value)}"
|
|
|
```
|
|
|
</details>
|
|
|
|
|
|
<details><summary>:memo: Einen Wert als Hexadezimalzahl mit 2*4 Bit senden</summary>
|
|
|
<details><summary>:memo: Nur 2 Dezimalstellen eines Wertes senden</summary>
|
|
|
|
|
|
```python
|
|
|
"VOLT: {value:02x}"
|
|
|
"VOLT: {value:.2f}"
|
|
|
```
|
|
|
</details>
|
|
|
|
|
|
<details><summary>:memo: Einen Wert nur senden, wenn er unter einem Grenzwert liegt (Bsp.: unter 100)</summary>
|
|
|
<details><summary>:memo: Einen Wert als Hexadezimalzahl mit 2*4 Bit senden</summary>
|
|
|
|
|
|
```python
|
|
|
"VOLT: {value if value < 100 else 0}"
|
|
|
"VOLT: {value:02x}"
|
|
|
```
|
|
|
</details>
|
|
|
|
|
|
<details><summary>:memo: Nur 2 Dezimalstellen eines Wertes senden</summary>
|
|
|
<details><summary>:memo: Einen Wert nur senden, wenn er unter einem Grenzwert liegt (Bsp.: unter 100)</summary>
|
|
|
|
|
|
```python
|
|
|
"VOLT: {value:.2f}"
|
|
|
"VOLT: {value if value < 100 else 0}"
|
|
|
```
|
|
|
</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` + `#` = `'`)
|
... | ... | @@ -58,27 +61,40 @@ 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`)
|
|
|
|
|
|
### 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)
|
|
|
* **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.
|
|
|
## commands
|
|
|
Hier werden alle Kommandos aufgeführt unterteilt in mehrere Kategorien
|
|
|
|
|
|
### 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.
|
|
|
|
|
|
### measure
|
|
|
Kommandos die benutzt werden um Daten zu messen. Hier müssen mindestens die Kommandos für Spannung und Strom angegeben werden.
|
|
|
|
|
|
:information_source: weitere Kommandos können problemlos mit aufgelistet werden. Diese können unter dem vergebenem Namen in der [Schrittkonfiguration](Schritte) verwendet werden.
|
|
|
|
|
|
### set
|
|
|
Kommandos die benutzt werden um Werte das verwendete Gerät einzustellen und zu konfigurieren. Hier müssen mindestens die Kommandos für Spannung und Strom angegeben werden.
|
|
|
|
|
|
* :ballot_box_with_check: hier kann ein f-String verwendet werden. Der übergebene Wert `value` ist die Dezimalzahl, welche im aktuell ausgeführtem Schritt angegeben ist
|
|
|
|
|
|
:information_source: weitere Kommandos können problemlos mit aufgelistet werden. Diese können unter dem vergebenem Namen in der [Schrittkonfiguration](Schritte) unter dem Parameter `reference` verwendet werden.
|
|
|
|
|
|
# Beispielkonfigurationsdatei
|
|
|
```json
|
... | ... | @@ -107,7 +123,6 @@ der Lesetimeout in Sekunden (kann Dezimalzahl sein) |
|
|
"current": ":CURR {value}",
|
|
|
"power": ":POW {value}",
|
|
|
"resistance": ":RES {value}",
|
|
|
"cell_voltage": "???"
|
|
|
}
|
|
|
}
|
|
|
}
|
... | ... | |