Pomocné funkce pro práci s LiC hodnotami, souborovým systémem a stavovými řetězci
Modul my_tools.py automaticky přepíná cesty souborů podle toho, jestli běží na Linuxu nebo Windows. Všechny signální soubory (S, U, H, R, Q, Sreq) se ukládají v RAMdisku.
# Linux cesty
"/home/host/FTP/ramdisk/S"
# Windows cesty
"C:\\home\\host\\FTP\\ramdisk\\S"
Funkce vytvoří signální soubor (S, U, R, H, Q). Postup:
create_file_to_send("S")
Čte napětí LiC1…LiC7 a ukládá je do historyU. Detekuje hodnoty pomocí regulárního výrazu a ukládá je v pořadí:
Lic7, Lic6, ..., Lic1 # (nejnovější na indexu 0)
Na konci Uresp.txt smaže.
Čte řádky typu:
*1032101#
Výsledkem je pole:
[1,0,3,2,1,0,1]
Přenese stav 0/1/2/3 → do radiobuttonů.
Vytváří soubor R = spuštění RUN cyklu.
Převádí radiobuttony na řetězec:
*1032101#
A ukládá jej do souboru Sreq.
Ukládá stav do out_array.txt ve formátu:
ROW;TIME;LiC7..LiC1;Sta7..Sta1
Načte zpět CSV a obnoví historyU.
Příklad:
{
"LiC4": 3.6501,
"LiC5": 3.6522,
"LiC6": 3.6488,
"LiC7": 3.6499
}
Vrací např.:
{
"min": 3.6488,
"max": 3.6522,
"avg": 3.6502,
"over_limit_dolni": 0,
"over_limit_horni": 3,
"LiC_min": 6,
"LiC_max": 5
}
Generuje řetězec typu:
*1032101#
Převede řetězec na seznam čísel:
[1,0,3,2,1,0,1]
[4,1,2,3,1,4,1] → [1,0,3,2,1,0,0]
Vrací True/False podle shody.