Přeskočit na hlavní obsah

Přehled příkazů AT

Na této stránce najdete všechny příkazy AT, které firmware zařízení GLIDER implementuje. Zadávají se v konzoli USB-C.

tip

Odpovídající příkazy shellu Zephyr (pro J-Link nebo pro AT$SHELL="…" v konzoli AT) popisuje stránka Příkazy shellu.

Příkazy zpracovává parser ATCI (AT Command Interpreter) od HARDWARIO. Každý příkaz začíná předponou AT; některé z nich podporují čtyři různé operace popsané níže.

1. Syntaxe ATCI​

Parser ATCI rozlišuje u každého příkazu AT<CMD> čtyři operace:

TypTvarVýznam
AkceAT<CMD>Spustí akci bez parametrů.
NastaveníAT<CMD>=<value>Zápis / konfigurace.
ČteníAT<CMD>?Přečte aktuální hodnotu.
TestAT<CMD>=?Vrátí metadata: rozsah, typ, výchozí hodnotu, nápovědu.

Asynchronní zprávy​

Zařízení občas vysílá nevyžádané zprávy, například po startu:

ZprávaKdy
@BOOTOdešle se po dokončení app_init.
@LOG:<level>:<message>Řádky logu z firmwaru.

2. Katalog příkazů​

2.1 Systém / správa relace​

PříkazOperacePopis
AT+CLACakceVypíše všechny registrované příkazy AT.
AT$HELPakceTotéž jako AT+CLAC, ale s nápovědou.
AT$CRC=<0|1|2>nastaveníRežim CRC: 0 vypnuto, 1 striktní, 2 volitelné.
AT$CRC?čteníAktuální režim CRC.
AT$SHELL="<command>"nastaveníSpustí libovolný příkaz shellu Zephyr a jeho výstup průběžně vrací jako $SHELL: "<line>".
AT$REBOOTakceRestartuje zařízení (vyžaduje CONFIG_HIO_ATCI_CMD_REBOOT=y).

2.2 Informace o zařízení (hio_info)​

PříkazOperaceOdpověď / popis
ATIakce"<product-name>[-<hw-variant>]-<hw-revision>"
AT+CGMIakce+CGMI: "<vendor-name>"
AT+CGMMakce+CGMM: "<product-name>"
AT+CGMRakce+CGMR: "<hw-revision>"
AT+CGSNakce+CGSN: "<serial-number>"
AT$INFO?čteníVypíše všechny informační položky jako $INFO: "<key>","<value>".
AT$INFO="<key>"nastaveníPřečte jednu položku podle klíče.
AT$INFO=?testVypíše schéma informací (klíče, typy, popisy).

2.3 Konfigurace (hio_config)​

PříkazOperacePopis
AT$CONFIG?čteníVypíše všechny konfigurační položky ze všech modulů.
AT$CONFIG="<module>"nastaveníVypíše všechny položky daného modulu.
AT$CONFIG="<module>","<key>"nastaveníPřečte jednu položku.
AT$CONFIG="<module>","<key>",<value>nastaveníZapíše položku (řetězce musí být v uvozovkách).
AT$CONFIG=?testVypíše schéma konfigurace: modul, klíč, typ, rozsah, výchozí hodnotu, popis.
AT&WakceUloží konfiguraci do flash paměti a restartuje zařízení.
AT&FakceVrátí celou konfiguraci na tovární nastavení a restartuje zařízení.

Příklad – změna intervalu odesílání​

AT$CONFIG="app","interval-send",60
AT&W

2.4 Aktualizace firmwaru / DFU (hio_atci_cmd_fw)​

PříkazOperacePopis
AT$FW?čteníVypíše confirmed, version a swap type aktivního obrazu.
AT$FW="info"nastaveníPodrobný výpis primárního a sekundárního slotu (verze, magic, stav swapu, image-ok, …).
AT$FW="start",<size>nastaveníZahájí relaci DFU pro obraz o velikosti <size> bajtů.
AT$FW="chunk",<offset>,"<hex>"nastaveníZapíše blok hexadecimálně zakódovaných dat na daný offset (hex payload je v uvozovkách).
AT$FW="done"nastaveníDokončí přenos a naplánuje swap při dalším startu.
AT$FW="confirm"nastaveníPo úspěšném testovacím startu označí běžící obraz jako funkční.

Proud DFU obvykle nesestavujete ručně, ale pomocným nástrojem west bin-to-at:

west bin-to-at --output-file update.at

Bez parametru --input-file nástroj automaticky použije build/*/zephyr/zephyr.signed.bin. Výsledný soubor pošlete do konzole AT příkazem:

west serial-console --input update.at

Celý postup krok za krokem (včetně AT$FW="confirm" po restartu) najdete na stránce Aplikace přes AT (USB-C).

3. Chybové kódy​

KódVýznam
ERROR: "Invalid command"Příkaz nezačíná na AT (-ENOMSG).
ERROR: "Command not found"Neznámý příkaz AT (-ENOEXEC).
ERROR: "Command not supported"Příkaz nepodporuje požadovaný typ operace (-ENOTSUP).
ERROR: "Invalid argument"Chybný formát argumentu (-EINVAL).
ERROR: "Permission denied"Nedostatečné oprávnění (-EACCES).
ERROR: "Out of memory"-ENOMEM.
ERROR: "I/O error"-EIO.
ERROR: "Invalid CRC format"Přípona CRC má chybný formát.
ERROR: "CRC mismatch"CRC neodpovídá zprávě.

4. Spouštění příkazů shellu z AT​

AT$SHELL propojuje konzoli AT se shellem Zephyr. Cokoli, co můžete zadat do konzole RTT, spustíte i přes AT$SHELL:

AT$SHELL="therm state"
AT$SHELL="therm scan"
AT$SHELL="therm scan --save"
AT$SHELL="kernel reboot cold"
AT$SHELL="log disable"
AT$SHELL="log enable wrn"

Standardní výstup shellu se průběžně vrací jako řádky $SHELL: "<line>", za nimi následuje OK (nebo ERROR).

Všechny příkazy shellu popisuje stránka Příkazy shellu.