---
# System prepended metadata

title: Komunikace se stolem Milana Marka pro GFM04 MSV Studénka

---


# Komunikace se stolem Milana Marka pro GFM04 MSV Studénka

příkazy: Oddělovač CRLF. Na libovolný povel může stůl vrátit `ERR text chyby`.

## `IDN` - Ident


### Request

```
IDN
```

### Response

```
TYP GFM04 FW verze
```

## `SET` - Pohyb stolu

X (natočení), Y (naklopení) hodnota ve stupních a zlomcích stupně (nikoliv minutách), respektuje interní offset (viz povel `S00`). Smysl mají dvě desetinná místa. 

Rozsah +-190 pro X, +- 45 pro Y **ve fyzických souřadnicích** (nerespektuje `S00`), při špatném rozsahu stůl vrátí `ERR Out of bound`.

Otáčení je kladné při směru proti pohybu hodinových ručiček.

Naklápění je kladné, když průmět světla u spektrometru klesá, záporné když stoupá.

### Request

```
SET X Y
```

příklad:

```
SET 123.45 -32.111
```

### Response

Odpověd dorazí až když je stůl ve vyžádané poloze

```
OK
```

## `GET` - Zjištění polohy stolu

Zjištění polohy stolu v rel. souřadnicích (respektuje povel `S00`)

### Request

```
GET
```

### Response

```
VAL X Y
```

příklad


```
VAL 123.45 -32.123
```

## `S00` - Nastavení relativních souřadnic stolu

Vyslání tohoto povelu způsobí, že aktuální fyzická poloha stolu bude mít souřadnice vyslané v tomto povelu.

Typicky se bude používat s hodnotami `X = 0`, `Y = 0`, čímž se řekne, že aktuálně nastavená poloha stolu je nulová.

Stůl si musí interně spočítat offset mezi skutečnou polohou a požadovanou. Veškerá interakce poté probíhá v relativních souřadnicích, ve kterých se tento offset uplatňuje, tedy

 - v komunikaci s SW po RS232, tedy povely `SET`, `GET`
 - v komunikaci s uživatelem pomocí panelu, tedy vypisování souřadnic na displej a vstup pomocí klávesnice

Offset se vynuluje po referování stolu (povel `REF`)

### Request

```
S00 X Y
```

příklad (nulování):

```
S00 0 0
```

příklad:

```
S00 123.45 -32.111
```

### Response

```
OK
```

## `REF` - Reference stolu

Poznámka: Uživatelé ve Studénce si referenci interně nazývají "Kalibrace".

Referování funguje takto: Po spuštění stolu není možné se stolem pohybovat - ani ručně, ani vzdáleně - dokud není zreferován. 
Reference se ovšem nespouští automaticky po spuštění stolu (z bezpečnostních důvodů), ale až po explicitní akci - stisku tlačítka, nebo povelu `REF`. 
Pokud se stolu vyšle povel pro nastavení nebo zjištění polohy, a stůl přitom není zreferován, vrátí chybu `Not referenced`.

Po referenci stolu se vynuluje interní offset stolu (viz povel `S00`)

### Request

```
REF
```

### Response

```
OK
```

## `TXT` - Zobrazení textu na displeji ovládacího panelu

Stůl zobrazí ASCII text na volném řádku panelu pro ovládání stolu. Prázdný text řádek smaže. Užitečné např. pro zobrazování aktuální hodnoty svítivosti na panelu.


### Request

```
TXT
```

### Response

```
OK
```

### Příklad

```
TXT Luxmetr 12345,6 cd
```


## Typické chyby:

 - Too long (povel příliš dlouhý)
 - Unknown command
 - Out of bound
 - Unknown parameter
 - No value
 - NoRef
