Modul thread_worker.py obsahuje logiku pro vlákna, která periodicky čtou hodnoty z GUI, analyzují data LiC a provádějí Time-dependent balancing (TDB). Slouží k automatizaci balancování článků a aktualizaci Entry polí v hlavním GUI.
_bezi: řídicí proměnná pro zastavení vláknaTimerMessage, WhyTimerMessage: čítače pro periodické zprávyhistoryU_ref: reference na historii LiC hodnotMessageRunn, CountRunCommands, DelayOfRunCommand: počítadla pro RUN cyklusStrStatus, ParsetStrStatus: stavové informace pro TDBTh_set_history(history): nastaví referenci historie LiC hodnotTh_work_start(queue_to_main, queue_from_main): spustí nekonečné vláknoTh_work_stop(): zastaví vláknoTh_set_queue(q): nastaví frontu pro komunikaci s hlavním threademTh_work_nekonecne_vlakno(q_to_main, q_from_main): hlavní kód běžící ve vlákně, včetně:
AvgAndAnalyse(): analyzuje poslední hodnoty LiC, aktualizuje Entry pole v GUI a připravuje stav pro TDBsend_message_to_main(queue, msg): posílá zprávy do hlavního GUI threaduTh_work_start() a běží dokud je _bezi = True.queue_to_main a queue_from_main.
Modul upravuje přímo Entry pole v ui_entries.py a používá funkce z:
ui_buttons, ui_radiobuttons, my_tools a globals.
Výsledky analýzy LiC jsou okamžitě zobrazeny a barvy Entry polí signalizují stav balancování.
Tento stavový diagram ukazuje kompletní logiku vlákna
Th_work_nekonecne_vlakno():
načítání radiobuttonů přes queue, logiku Time-Dependent Balancing (TDB),
stavový automat StateOfTDB 0 → 1 → 2 → 3 → stop,
ochranné podmínky (low/high voltage), opakované reset_and_send,
řízení RUN cyklu a tlačítka TDB.