ratbox/FMain.class
2012-09-15 14:12:45 +02:00

1758 lines
70 KiB
Text

' Gambas class file
PUBLIC konfigurace_timeout_status AS Boolean
PUBLIC konfigurace_timeout AS Integer
PUBLIC konfigurace_pocet_cyklu AS Integer
PUBLIC konfigurace_prelearning_cas_piti AS Integer
PUBLIC konfigurace_prelearning_cas_dalsi_ciklus AS Integer
PUBLIC konfigurace_prelearning_neopakovat AS Boolean
PUBLIC konfigurace_prelearning_pauza AS Boolean
PUBLIC konfigurace_experiment_cas_zobrazeni_stimulu AS Integer
PUBLIC konfigurace_experiment_cas_zhasnuteho_stimulu AS Integer
PUBLIC konfigurace_experiment_cas_piti AS Integer
PUBLIC konfigurace_experiment_cas_dalsi_ciklus AS Integer
PUBLIC konfigurace_experiment_nahoda AS Boolean
PUBLIC konfigurace_experiment_neopakovat AS Boolean
PUBLIC konfigurace_experiment_vypni_stimul AS Boolean
PUBLIC konfigurace_experiment_vypni_stimul_pauza_enable AS Boolean
PUBLIC konfigurace_experiment_casovani AS Boolean
PUBLIC konfigurace_experiment_vypni_stimul_prereset AS Boolean
PUBLIC konfigurace_experiment_vypni_stimul_poakci AS Boolean
PUBLIC konfigurace_experiment_slot_enable_1 AS Boolean
PUBLIC konfigurace_experiment_slot_enable_2 AS Boolean
PUBLIC konfigurace_experiment_slot_enable_3 AS Boolean
PUBLIC konfigurace_experiment_slot_enable_4 AS Boolean
PUBLIC konfigurace_experiment_slot_enable_5 AS Boolean
PUBLIC konfigurace_experiment_slot_enable_6 AS Boolean
PUBLIC konfigurace_experiment_casovani_s1 AS Integer
PUBLIC konfigurace_experiment_casovani_s2 AS Integer
PUBLIC konfigurace_experiment_casovani_s3 AS Integer
PUBLIC konfigurace_experiment_casovani_s4 AS Integer
PUBLIC konfigurace_experiment_casovani_s5 AS Integer
PUBLIC konfigurace_experiment_casovani_s6 AS Integer
PUBLIC pre_stat_ciklus AS Integer
PUBLIC pre_stat_ciklus_real AS Integer
PUBLIC pre_stat_timeout AS Integer
PUBLIC pre_stat_opakovani AS NEW Integer[7]
PUBLIC pre_stat_zakazano AS NEW Integer[7]
PUBLIC pre_stat_aktivita AS NEW Integer[7]
PUBLIC exp_stat_ciklus AS Integer
PUBLIC exp_stat_ciklus_real AS Integer
PUBLIC exp_stat_timeout AS Integer
PUBLIC exp_stat_opakovani AS NEW Integer[7]
PUBLIC exp_stat_zakazano AS NEW Integer[7]
PUBLIC exp_stat_aktivita AS NEW Integer[7]
PUBLIC exp_stat_souhrn AS NEW Integer[7, 7]
PUBLIC stav_sloty AS Integer
PUBLIC simulace_zacenichani AS Boolean
PUBLIC mod_idx AS Integer
PUBLIC buffer_casovac AS Integer
PUBLIC status_casovac AS Boolean
PUBLIC buffer_casovac_milis AS Integer
PUBLIC status_casovac_milis AS Boolean
PUBLIC buffer_timeout AS Integer
PUBLIC buffer_sloty_aktual_state AS Integer
PUBLIC buffer_sloty_last_state AS Integer
PUBLIC InputBuffer_TMP AS Integer
PUBLIC InputBlock AS Boolean
PUBLIC STOP_State AS Boolean
PUBLIC tmp_cyklus AS Integer
PUBLIC tmp_stimul_idx AS Integer
PUBLIC tmp_stimul_last AS Integer
PUBLIC tmp_mils AS Long
PUBLIC ExpLogName AS String
PUBLIC PreLogName AS String
PUBLIC TimeoutOpakReset AS Boolean
PUBLIC SUB PreStatInit()
DIM i AS Integer
pre_stat_ciklus = 0
pre_stat_ciklus_real = 0
pre_stat_timeout = 0
FOR i = 0 TO 6
pre_stat_opakovani[i] = 0
pre_stat_zakazano[i] = 0
pre_stat_aktivita[i] = 0
NEXT
END
PUBLIC SUB ExpStatInit()
DIM i, x AS Integer
pre_stat_ciklus = 0
pre_stat_ciklus_real = 0
pre_stat_timeout = 0
FOR i = 0 TO 6
pre_stat_opakovani[i] = 0
pre_stat_zakazano[i] = 0
pre_stat_aktivita[i] = 0
NEXT
FOR i = 0 TO 6
FOR x = 0 TO 6
exp_stat_souhrn[x, i] = 0
NEXT
NEXT
END
PUBLIC SUB Form_Open()
IF Exist("/ratbox/system/logo.png") = TRUE THEN
PictureLogo1.Picture = Picture.Load("/ratbox/system/logo.png")
ENDIF
FMain.Visible = TRUE
FMain.FullScreen = TRUE
SysLogWrite("Startuji_System.........")
SysLogWrite("NAHRANI_PARAMETRU")
DefKonfLoad()
SysLogWrite("UPLATNENI_PARAMETRU")
UplatniParametry()
VypisParametry()
SysLogWrite("System_nastartovan")
CfgList()
END
PUBLIC SUB BtnKonec_Click()
SysLogWrite("Dotaz_Ukonceni_Aplikace")
IF Message.Warning("Opravdu chcete ukoncit aplikaci ?", "NE", "ANO") = 2 THEN
SysLogWrite("Ukoncovani_Behu_Aplikace")
TimerSystime.Enabled = FALSE
Form1.Close
FINALLY
IF SerialPort1.Status <> 0 THEN SerialPort1.Close
SysLogWrite("Konec_Systemu")
Form1.Close
FMain.Close
ELSE
SysLogWrite("Navrat_Do_Aplikace")
ENDIF
END
PUBLIC SUB TimerSystime_Timer()
WAIT
PosliInfo()
TxtInfoCyklus.Text = Str(tmp_cyklus)
TxtSysTime.Text = Format$(Now, "dd.mm.yy") & " " & Format$(Now, "hh:nn:ss")
WAIT
IF SerialPort1.Status = 0 THEN TxtCommPort.BackColor = Color.Red
WAIT
IF SerialPort1.Status = 1 THEN TxtCommPort.BackColor = Color.Green
WAIT
VypisStavSlotu()
IF TxtWDT.BackColor = Color.Red THEN
TxtWDT.BackColor = Color.Green
ELSE
TxtWDT.BackColor = Color.Red
ENDIF
FINALLY
IF ERROR THEN
ErrLogWrite("NESYNCHRONI_UKONCENI_TimerSystime_Timer() - " & Error.Text)
ENDIF
END
PUBLIC SUB SysLogWrite(Udalost AS String)
DIM SysLogFile AS File
SysLogFile = OPEN "/ratbox/log/system.log" FOR APPEND
TxtSysLog.Text = Format$(Now, "yyyy_mm_dd") & "_" & Format$(Now, "hh:nn:ss") & "_" & udalost & Chr(13) & TxtSysLog.Text
WAIT
PRINT #SysLogFile, Format$(Now, "yyyy_mm_dd") & "_" & Format$(Now, "hh:nn:ss") & "_" & udalost
WAIT
SysLogFile.Close
END
PUBLIC SUB ErrLogWrite(Udalost AS String)
DIM SysLogFile AS File
SysLogFile = OPEN "/ratbox/log/err.log" FOR APPEND
PRINT #SysLogFile, Format$(Now, "yyyy_mm_dd") & "_" & Format$(Now, "hh:nn:ss") & "_" & udalost
SysLogFile.Close
END
PUBLIC SUB ExpLogWrite(Udalost AS String)
DIM SysLogFile AS File
IF Exist("/ratbox/log/" & ExpLogName) = TRUE THEN
SysLogFile = OPEN "/ratbox/log/" & ExpLogName FOR APPEND
PRINT #SysLogFile, Str(tmp_mils * 10) & ";" & udalost
Form1.loginfo(Format$(Now, "yyyy_mm_dd") & "_" & Format$(Now, "hh:nn:ss") & "_" & udalost)
SysLogFile.Close
ENDIF
END
PUBLIC SUB PreLogWrite(Udalost AS String)
DIM SysLogFile AS File
IF Exist("/ratbox/log/" & PreLogName) = TRUE THEN
SysLogFile = OPEN "/ratbox/log/" & PreLogName FOR APPEND
PRINT #SysLogFile, Str(tmp_mils * 10) & ";" & udalost
Form1.loginfo(Format$(Now, "yyyy_mm_dd") & "_" & Format$(Now, "hh:nn:ss") & "_" & udalost)
SysLogFile.Close
ENDIF
END
PUBLIC SUB PreStatWrite()
DIM zakazane AS Integer
DIM opakovani AS Integer
DIM aktivity AS Integer
DIM i AS Integer
DIM SysLogFile AS File
IF Exist("/ratbox/log/" & PreLogName) = TRUE THEN
Form1.loginfo(Format$(Now, "yyyy_mm_dd") & "_" & Format$(Now, "hh:nn:ss") & "_" & "GENERUJI_ZAPISUJI_STATISTIKU")
SysLogFile = OPEN "/ratbox/log/" & PreLogName FOR APPEND
PRINT #SysLogFile, "----------------------------------------------------------------------------"
PRINT #SysLogFile, "CELKOVY_POCET_CYKLU: " & pre_stat_ciklus
PRINT #SysLogFile, "CELKOVY_POCET_USPESNYCH_CYKLU (PITI): " & pre_stat_ciklus_real
PRINT #SysLogFile, "CELKOVY_POCET_TIMEOUTU: " & pre_stat_timeout
FOR i = 1 TO 6
aktivity = aktivity + pre_stat_aktivita[i]
NEXT
FOR i = 1 TO 6
opakovani = opakovani + pre_stat_opakovani[i]
NEXT
FOR i = 1 TO 6
zakazane = zakazane + pre_stat_zakazano[i]
NEXT
PRINT #SysLogFile, "CELKOVY_POCET_AKTIVIT: " & aktivity
PRINT #SysLogFile, "CELKOVY_POCET_OPAKOVANI: " & opakovani
PRINT #SysLogFile, "CELKOVY_POCET_ZAKAZANI: " & zakazane
PRINT #SysLogFile, "CELKOVY_POCET_AKTIVIT_PODROBNE: " & pre_stat_aktivita[1] & ";" & pre_stat_aktivita[2] & ";" & pre_stat_aktivita[3] & ";" & pre_stat_aktivita[4] & ";" & pre_stat_aktivita[5] & ";" & pre_stat_aktivita[6]
PRINT #SysLogFile, "CELKOVY_POCET_OPAKOVANI_PODROBNE: " & pre_stat_opakovani[1] & ";" & pre_stat_opakovani[2] & ";" & pre_stat_opakovani[3] & ";" & pre_stat_opakovani[4] & ";" & pre_stat_opakovani[5] & ";" & pre_stat_opakovani[6]
PRINT #SysLogFile, "CELKOVY_POCET_ZAKAZANI_PODROBNE: " & pre_stat_zakazano[1] & ";" & pre_stat_zakazano[2] & ";" & pre_stat_zakazano[3] & ";" & pre_stat_zakazano[4] & ";" & pre_stat_zakazano[5] & ";" & pre_stat_zakazano[6]
SysLogFile.Close
PreStatInit()
ENDIF
END
PUBLIC SUB ExpStatWrite()
DIM zakazane AS Integer
DIM opakovani AS Integer
DIM aktivity AS Integer
DIM i, x AS Integer
DIM SysLogFile AS File
IF Exist("/ratbox/log/" & ExpLogName) = TRUE THEN
Form1.loginfo(Format$(Now, "yyyy_mm_dd") & "_" & Format$(Now, "hh:nn:ss") & "_" & "GENERUJI_ZAPISUJI_STATISTIKU")
SysLogFile = OPEN "/ratbox/log/" & ExpLogName FOR APPEND
PRINT #SysLogFile, "----------------------------------------------------------------------------"
PRINT #SysLogFile, "CELKOVY_POCET_CYKLU: " & exp_stat_ciklus
PRINT #SysLogFile, "CELKOVY_POCET_USPESNYCH_CYKLU (PITI): " & exp_stat_ciklus_real
PRINT #SysLogFile, "CELKOVY_POCET_TIMEOUTU: " & exp_stat_timeout
FOR i = 1 TO 6
aktivity = aktivity + exp_stat_aktivita[i]
NEXT
FOR i = 1 TO 6
opakovani = opakovani + exp_stat_opakovani[i]
NEXT
FOR i = 1 TO 6
zakazane = zakazane + exp_stat_zakazano[i]
NEXT
PRINT #SysLogFile, "CELKOVY_POCET_AKTIVIT: " & aktivity
PRINT #SysLogFile, "CELKOVY_POCET_OPAKOVANI: " & opakovani
PRINT #SysLogFile, "CELKOVY_POCET_ZAKAZANI: " & zakazane
PRINT #SysLogFile, "CELKOVY_POCET_AKTIVIT_PODROBNE: " & exp_stat_aktivita[1] & ";" & exp_stat_aktivita[2] & ";" & exp_stat_aktivita[3] & ";" & exp_stat_aktivita[4] & ";" & exp_stat_aktivita[5] & ";" & exp_stat_aktivita[6]
PRINT #SysLogFile, "CELKOVY_POCET_OPAKOVANI_PODROBNE: " & exp_stat_opakovani[1] & ";" & exp_stat_opakovani[2] & ";" & exp_stat_opakovani[3] & ";" & exp_stat_opakovani[4] & ";" & exp_stat_opakovani[5] & ";" & exp_stat_opakovani[6]
PRINT #SysLogFile, "CELKOVY_POCET_ZAKAZANI_PODROBNE: " & exp_stat_zakazano[1] & ";" & exp_stat_zakazano[2] & ";" & exp_stat_zakazano[3] & ";" & exp_stat_zakazano[4] & ";" & exp_stat_zakazano[5] & ";" & exp_stat_zakazano[6]
PRINT #SysLogFile, "---------------------------------------------------------------"
PRINT #SysLogFile, ""
PRINT #SysLogFile, "Souhrnna tabulka odpovedi:"
PRINT #SysLogFile, ""
PRINT #SysLogFile, "STIMUL: 1;2;3;4;5;6"
PRINT #SysLogFile, "SLOT1: " & exp_stat_souhrn[1, 1] & ";" & exp_stat_souhrn[2, 1] & ";" & exp_stat_souhrn[3, 1] & ";" & exp_stat_souhrn[4, 1] & ";" & exp_stat_souhrn[5, 1] & ";" & exp_stat_souhrn[6, 1]
PRINT #SysLogFile, "SLOT2: " & exp_stat_souhrn[1, 2] & ";" & exp_stat_souhrn[2, 2] & ";" & exp_stat_souhrn[3, 2] & ";" & exp_stat_souhrn[4, 2] & ";" & exp_stat_souhrn[5, 2] & ";" & exp_stat_souhrn[6, 2]
PRINT #SysLogFile, "SLOT3: " & exp_stat_souhrn[1, 3] & ";" & exp_stat_souhrn[2, 3] & ";" & exp_stat_souhrn[3, 3] & ";" & exp_stat_souhrn[4, 3] & ";" & exp_stat_souhrn[5, 3] & ";" & exp_stat_souhrn[6, 3]
PRINT #SysLogFile, "SLOT4: " & exp_stat_souhrn[1, 4] & ";" & exp_stat_souhrn[2, 4] & ";" & exp_stat_souhrn[3, 4] & ";" & exp_stat_souhrn[4, 4] & ";" & exp_stat_souhrn[5, 4] & ";" & exp_stat_souhrn[6, 4]
PRINT #SysLogFile, "SLOT5: " & exp_stat_souhrn[1, 5] & ";" & exp_stat_souhrn[2, 5] & ";" & exp_stat_souhrn[3, 5] & ";" & exp_stat_souhrn[4, 5] & ";" & exp_stat_souhrn[5, 5] & ";" & exp_stat_souhrn[6, 5]
PRINT #SysLogFile, "SLOT6: " & exp_stat_souhrn[1, 6] & ";" & exp_stat_souhrn[2, 6] & ";" & exp_stat_souhrn[3, 6] & ";" & exp_stat_souhrn[4, 6] & ";" & exp_stat_souhrn[5, 6] & ";" & exp_stat_souhrn[6, 6]
' ExpStatInit()
SysLogFile.Close
ExpStatReset()
ENDIF
END
PUBLIC SUB ExpStatReset()
DIM i, x AS Integer
exp_stat_ciklus = 0
exp_stat_ciklus_real = 0
exp_stat_timeout = 0
FOR i = 1 TO 6
exp_stat_aktivita[i] = 0
NEXT
FOR i = 1 TO 6
exp_stat_opakovani[i] = 0
NEXT
FOR i = 1 TO 6
exp_stat_zakazano[i] = 0
NEXT
FOR x = 1 TO 6
FOR i = 1 TO 6
exp_stat_souhrn[x, i] = 0
NEXT
NEXT
END
PUBLIC SUB ExpLogInit()
DIM StatTMP AS String
DIM SysLogFile AS File
ExpLogName = Format$(Now, "yyyy_mm_dd") & "_" & Format$(Now, "hh_nn_ss") & "E" & TxtExperimentID.Text & "S" & TxtSessionID.Text & "O" & TxtOjectID.Text & ".log"
SysLogWrite("GENERUJI_LOG_EXPERIMENTU")
IF Exist("/ratbox/log/" & ExpLogName) = TRUE THEN
SHELL ("mv /ratbox/log/" & ExpLogName & " /ratbox/log/last_experiment.log.backup")
SHELL ("touch /ratbox/log/" & ExpLogName)
ELSE
SHELL ("touch /ratbox/log/" & ExpLogName)
ENDIF
SysLogWrite("ZAPISUJI_HLAVICKU_LOGU_EXPERIMENTU")
SysLogFile = OPEN "/ratbox/log/" & ExpLogName FOR APPEND
PRINT #SysLogFile, "ZACATEK_DAT;28"
PRINT #SysLogFile, "<EXPERIMENT INFO>"
PRINT #SysLogFile, "DATUM_EXPERIMENTU" & ";" & Format$(Now, "yyyy_mm_dd") & ";" & "CAS_EXPERIMENTU" & ";" & Format$(Now, "hh:nn:ss")
PRINT #SysLogFile, "EXPERIMENT_ID" & ";" & TxtExperimentID.Text & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "SESSION_ID" & ";" & TxtSessionID.Text & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "OBJECT_ID" & ";" & TxtOjectID.Text & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "<KONFIGURACE>"
PRINT #SysLogFile, "NASTAVENI_POCET_CYKLU" & ";" & konfigurace_pocet_cyklu & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "NASTAVENI_TIMEOUT_REAKCE" & ";" & konfigurace_timeout & ";" & "NULL" & ";" & "NULL"
IF konfigurace_timeout_status = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_TIMEOUT_REAKCE_ENABLED" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
IF konfigurace_experiment_nahoda = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_NAHODA_ENABLED" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
IF konfigurace_experiment_neopakovat = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_NEOPAKOVAT_REAKCE_ENABLED" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "NASTAVENI_CAS_ZOBRAZENI_STIMULU" & ";" & konfigurace_experiment_cas_zobrazeni_stimulu & ";" & "NULL" & ";" & "NULL"
IF konfigurace_experiment_vypni_stimul = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_VYPNI_STIMUL_ENABLED" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "NASTAVENI_CAS_BEZ_STIMULU" & ";" & konfigurace_experiment_cas_zhasnuteho_stimulu & ";" & "NULL" & ";" & "NULL"
IF konfigurace_experiment_vypni_stimul_pauza_enable = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_CAS_BEZ_STIMULU_ENABLED" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
IF konfigurace_experiment_vypni_stimul_prereset = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_VYPNI_STIMUL_PRERESET" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
IF konfigurace_experiment_vypni_stimul_poakci = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_VYPNI_STIMUL_POAKCI" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "NASTAVENI_CAS_PITI" & ";" & konfigurace_experiment_cas_piti & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "NASTAVENI_PAUZA_MEZI_ZOBRAZENIMI" & ";" & konfigurace_experiment_cas_dalsi_ciklus & ";" & "NULL" & ";" & "NULL"
IF konfigurace_experiment_casovani = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_SEPARATANI_CASOVANI_ENABLED" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
IF konfigurace_experiment_slot_enable_1 = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_CASOVANI_S1" & ";" & konfigurace_experiment_casovani_s1 & ";" & "SLOT_1_ENABLED" & ";" & StatTMP
IF konfigurace_experiment_slot_enable_2 = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_CASOVANI_S2" & ";" & konfigurace_experiment_casovani_s2 & ";" & "SLOT_2_ENABLED" & ";" & StatTMP
IF konfigurace_experiment_slot_enable_3 = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_CASOVANI_S3" & ";" & konfigurace_experiment_casovani_s3 & ";" & "SLOT_3_ENABLED" & ";" & StatTMP
IF konfigurace_experiment_slot_enable_4 = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_CASOVANI_S4" & ";" & konfigurace_experiment_casovani_s4 & ";" & "SLOT_4_ENABLED" & ";" & StatTMP
IF konfigurace_experiment_slot_enable_5 = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_CASOVANI_S5" & ";" & konfigurace_experiment_casovani_s5 & ";" & "SLOT_5_ENABLED" & ";" & StatTMP
IF konfigurace_experiment_slot_enable_6 = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_CASOVANI_S6" & ";" & konfigurace_experiment_casovani_s6 & ";" & "SLOT_6_ENABLED" & ";" & StatTMP
PRINT #SysLogFile, "<FORMAT DAT>"
PRINT #SysLogFile, "casova_osa(ms);parametr1;HODNOTA;parametr2;HODNOTA"
PRINT #SysLogFile, "<DATA>"
SysLogFile.Close
END
PUBLIC SUB PreLogInit()
DIM StatTMP AS String
DIM SysLogFile AS File
PreLogName = Format$(Now, "yyyy_mm_dd") & "_" & Format$(Now, "hh_nn_ss") & "_PreLearning_" & "E" & TxtExperimentID.Text & "S" & TxtSessionID.Text & "O" & TxtOjectID.Text & ".log"
SysLogWrite("GENERUJI_LOG_PreLearningu")
IF Exist("/ratbox/log/" & PreLogName) = TRUE THEN
SHELL ("mv /ratbox/log/" & PreLogName & " /ratbox/log/last_prelearning.log.backup")
SHELL ("touch /ratbox/log/" & PreLogName)
ELSE
SHELL ("touch /ratbox/log/" & PreLogName)
ENDIF
SysLogWrite("ZAPISUJI_HLAVICKU_LOGU_PreLearningu")
SysLogFile = OPEN "/ratbox/log/" & PreLogName FOR APPEND
PRINT #SysLogFile, "ZACATEK_DAT;28"
PRINT #SysLogFile, "<EXPERIMENT INFO>"
PRINT #SysLogFile, "DATUM_PreLearningu" & ";" & Format$(Now, "yyyy_mm_dd") & ";" & "CAS_PreLearningu" & ";" & Format$(Now, "hh:nn:ss")
PRINT #SysLogFile, "PreLearning_ID" & ";" & TxtExperimentID.Text & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "SESSION_ID" & ";" & TxtSessionID.Text & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "OBJECT_ID" & ";" & TxtOjectID.Text & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "<KONFIGURACE>"
PRINT #SysLogFile, "NASTAVENI_POCET_CYKLU" & ";" & konfigurace_pocet_cyklu & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "NASTAVENI_TIMEOUT_REAKCE" & ";" & konfigurace_timeout & ";" & "NULL" & ";" & "NULL"
IF konfigurace_timeout = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_TIMEOUT_REAKCE_ENABLED" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
IF konfigurace_prelearning_neopakovat = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "NASTAVENI_NEOPAKOVAT_REAKCE_ENABLED" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "NASTAVENI_CAS_DALSI_CYKLUS" & ";" & konfigurace_prelearning_cas_dalsi_ciklus & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "NASTAVENI_CAS_PITI" & ";" & konfigurace_prelearning_cas_piti & ";" & "NULL" & ";" & "NULL"
IF konfigurace_experiment_slot_enable_1 = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "SLOT_1_ENABLED" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
IF konfigurace_experiment_slot_enable_2 = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "SLOT_2_ENABLED" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
IF konfigurace_experiment_slot_enable_3 = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "SLOT_3_ENABLED" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
IF konfigurace_experiment_slot_enable_4 = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "SLOT_4_ENABLED" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
IF konfigurace_experiment_slot_enable_5 = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "SLOT_5_ENABLED" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
IF konfigurace_experiment_slot_enable_6 = TRUE THEN
StatTMP = "TRUE"
ELSE
StatTMP = "FALSE"
ENDIF
PRINT #SysLogFile, "SLOT_6_ENABLED" & ";" & StatTMP & ";" & "NULL" & ";" & "NULL"
PRINT #SysLogFile, "<FORMAT DAT>"
PRINT #SysLogFile, "casova_osa(ms);parametr1;HODNOTA;parametr2;HODNOTA"
PRINT #SysLogFile, "<DATA>"
SysLogFile.Close
END
PUBLIC SUB BtnPripoj_Click()
SysLogWrite("PRIPOJOVANI_BOXU_PORT: " & TxtCommPort.Text)
IF SerialPort1.status = 0 THEN
SerialPort1.PortName = TxtCommPort.Text
SerialPort1.Speed = 9600
SerialPort1.DataBits = 8
SerialPort1.StopBits = 1
SerialPort1.FlowControl = FALSE
SerialPort1.Open
FINALLY
IF ERROR THEN
ErrLogWrite("PRIPOJOVANI_CHYBA_PORTU_" & TxtCommPort.Text & " - " & Error.Text)
SysLogWrite("CHYBA_PORTU/BOXU")
Message("CHYBA BOXU / PORTU")
ENDIF
ELSE
SerialPort1.Close
ENDIF
END
PUBLIC SUB SerialPort1_Read()
DIM InByte AS Byte
READ #SerialPort1, InByte
WAIT
IF (simulace_zacenichani = FALSE) AND (InputBlock = FALSE) THEN
IF InByte > 0 THEN
IF InByte = 1 THEN stav_sloty = 1
IF InByte = 2 THEN stav_sloty = 2
IF InByte = 4 THEN stav_sloty = 3
IF InByte = 8 THEN stav_sloty = 4
IF InByte = 16 THEN stav_sloty = 5
IF InByte = 32 THEN stav_sloty = 6
IF InByte = 0 THEN stav_sloty = 0
InputBlock = TRUE
ENDIF
ELSE
InputBuffer_TMP = InByte
ENDIF
WAIT
END
PUBLIC SUB Pauza(cas AS Integer)
IF status_casovac = FALSE THEN
status_casovac = TRUE
buffer_casovac = 0
TmrCasovac.Enabled = TRUE
WHILE cas > buffer_casovac
WAIT
WEND
buffer_casovac = 0
TmrCasovac.Enabled = FALSE
TxtInfoCasovac.text = Str(buffer_casovac)
status_casovac = FALSE
ENDIF
FINALLY
IF ERROR THEN
ErrLogWrite("NESYNCHRONI_UKONCENI - Pauza() - " & Error.Text)
ENDIF
END
PUBLIC SUB PauzaMilis(cas AS Integer)
IF status_casovac_milis = FALSE THEN
status_casovac_milis = TRUE
buffer_casovac_milis = 0
TimerMilis.Enabled = TRUE
WHILE (cas / 10) > buffer_casovac_milis
WAIT
WEND
buffer_casovac_milis = 0
TimerMilis.Enabled = FALSE
TxtInfoCasovacMilis.text = Str(buffer_casovac) * 10
status_casovac_milis = FALSE
ENDIF
FINALLY
IF ERROR THEN
ErrLogWrite("NESYNCHRONI_UKONCENI - PauzaMilis() - " & Error.Text)
ENDIF
END
PUBLIC SUB AparaturaNastavPitko(n AS Integer)
SysLogWrite("APARATURA_NASTAVENI_PITKA: " & Str(n))
IF SerialPort1.status = 1 THEN
IF n = 1 THEN WRITE #SerialPort1, "s1"
IF n = 1 THEN WRITE #SerialPort1, "S0"
IF n = 2 THEN WRITE #SerialPort1, "s2"
IF n = 2 THEN WRITE #SerialPort1, "S0"
IF n = 3 THEN WRITE #SerialPort1, "s3"
IF n = 3 THEN WRITE #SerialPort1, "S0"
IF n = 4 THEN WRITE #SerialPort1, "S1"
IF n = 4 THEN WRITE #SerialPort1, "s0"
IF n = 5 THEN WRITE #SerialPort1, "S2"
IF n = 5 THEN WRITE #SerialPort1, "s0"
IF n = 6 THEN WRITE #SerialPort1, "S3"
IF n = 6 THEN WRITE #SerialPort1, "s0"
IF n = 0 THEN WRITE #SerialPort1, "s0"
IF n = 0 THEN WRITE #SerialPort1, "S0"
SysLogWrite("APARATURA_NASTAVENI_PITKA_OK")
ELSE
SysLogWrite("APARATURA_NASTAVENI_PITKA_CHYBA")
ENDIF
END
PUBLIC SUB AparaturaReset()
SysLogWrite("APARATURA_RESET")
IF SerialPort1.status = 1 THEN
WRITE #SerialPort1, "S0"
WRITE #SerialPort1, "s0"
WRITE #SerialPort1, "d"
SysLogWrite("APARATURA_RESET_OK")
ELSE
SysLogWrite("APARATURA_RESET_CHYBA")
ENDIF
END
PUBLIC SUB AparaturaOtevriDvere()
SysLogWrite("APARATURA_OTEVRENI_DVERI")
IF SerialPort1.status = 1 THEN
WRITE #SerialPort1, "D"
SysLogWrite("APARATURA_OTEVRENI_DVERI_OK")
ELSE
SysLogWrite("APARATURA_OTEVRENI_DVERI_CHYBA")
ENDIF
END
PUBLIC SUB AparaturaZavriDvere()
SysLogWrite("APARATURA_ZAVRENI_DVERI")
IF SerialPort1.status = 1 THEN
WRITE #SerialPort1, "d"
SysLogWrite("APARATURA_ZAVRENI_DVERI_OK")
ELSE
SysLogWrite("APARATURA_ZAVRENI_DVERI_CHYBA")
ENDIF
END
PUBLIC SUB VypisStavSlotu()
IF stav_sloty = 0 THEN
CheckBox2.BackColor = Color.Red
CheckBox3.BackColor = Color.Red
CheckBox4.BackColor = Color.Red
CheckBox5.BackColor = Color.Red
CheckBox6.BackColor = Color.Red
CheckBox7.BackColor = Color.Red
ENDIF
WAIT
IF stav_sloty = 1 THEN CheckBox2.BackColor = Color.Green
IF stav_sloty = 2 THEN CheckBox3.BackColor = Color.Green
IF stav_sloty = 3 THEN CheckBox4.BackColor = Color.Green
IF stav_sloty = 4 THEN CheckBox5.BackColor = Color.Green
IF stav_sloty = 5 THEN CheckBox6.BackColor = Color.Green
IF stav_sloty = 6 THEN CheckBox7.BackColor = Color.Green
WAIT
END
PUBLIC SUB BtnSZ1_MouseDown()
SysLogWrite("SIMULACE_ZACENICHANI_1")
simulace_zacenichani = TRUE
stav_sloty = 1
END
PUBLIC SUB BtnSZ1_MouseUp()
simulace_zacenichani = FALSE
stav_sloty = 0
END
PUBLIC SUB BtnSZ2_MouseDown()
SysLogWrite("SIMULACE_ZACENICHANI_2")
simulace_zacenichani = TRUE
stav_sloty = 2
END
PUBLIC SUB BtnSZ2_MouseUp()
simulace_zacenichani = FALSE
stav_sloty = 0
END
PUBLIC SUB BtnSZ3_MouseDown()
SysLogWrite("SIMULACE_ZACENICHANI_3")
simulace_zacenichani = TRUE
stav_sloty = 3
END
PUBLIC SUB BtnSZ3_MouseUp()
simulace_zacenichani = FALSE
stav_sloty = 0
END
PUBLIC SUB BtnSZ4_MouseDown()
SysLogWrite("SIMULACE_ZACENICHANI_4")
simulace_zacenichani = TRUE
stav_sloty = 4
END
PUBLIC SUB BtnSZ4_MouseUp()
simulace_zacenichani = FALSE
stav_sloty = 0
END
PUBLIC SUB BtnSZ5_MouseDown()
SysLogWrite("SIMULACE_ZACENICHANI_5")
simulace_zacenichani = TRUE
stav_sloty = 5
END
PUBLIC SUB BtnSZ5_MouseUp()
simulace_zacenichani = FALSE
stav_sloty = 0
END
PUBLIC SUB BtnSZ6_MouseDown()
SysLogWrite("SIMULACE_ZACENICHANI_6")
simulace_zacenichani = TRUE
stav_sloty = 6
END
PUBLIC SUB BtnSZ6_MouseUp()
simulace_zacenichani = FALSE
stav_sloty = 0
END
PUBLIC SUB BtnMod_Click()
mod_idx = mod_idx + 1
IF mod_idx > 1 THEN mod_idx = 0
IF mod_idx = 1 THEN BtnMod.Text = "Experiment"
IF mod_idx = 0 THEN BtnMod.Text = "PreLearning"
IF mod_idx = 1 THEN SysLogWrite("PREPNUTI_MODU: Experiment")
IF mod_idx = 0 THEN SysLogWrite("PREPNUTI_MODU: PreLearning")
END
PUBLIC SUB BtnReset_Click()
AparaturaReset()
END
PUBLIC SUB BtnOpenDor_Click()
AparaturaOtevriDvere()
END
PUBLIC SUB BtnCloseDor_Click()
AparaturaZavriDvere()
END
PUBLIC SUB BtnPitS_Click()
AparaturaNastavPitko(1)
END
PUBLIC SUB BtnPitS2_Click()
AparaturaNastavPitko(2)
END
PUBLIC SUB BtnPitS3_Click()
AparaturaNastavPitko(3)
END
PUBLIC SUB BtnPitS4_Click()
AparaturaNastavPitko(4)
END
PUBLIC SUB BtnPitS5_Click()
AparaturaNastavPitko(5)
END
PUBLIC SUB BtnPitS6_Click()
AparaturaNastavPitko(6)
END
PUBLIC SUB ChkTimeout_Click()
konfigurace_timeout_status = ChkTimeout.Value
IF konfigurace_timeout_status = TRUE THEN SysLogWrite("KONFIGURACE_TIMEOUT: ZAPNUTO")
IF konfigurace_timeout_status = FALSE THEN SysLogWrite("KONFIGURACE_TIMEOUT: VYPNUTO")
END
PUBLIC SUB ChkPreNeopakovat_Click()
konfigurace_prelearning_neopakovat = ChkPreNeopakovat.Value
IF konfigurace_prelearning_neopakovat = TRUE THEN SysLogWrite("KONFIGURACE_PreLearning_NEOPAKOVAT: ZAPNUTO")
IF konfigurace_prelearning_neopakovat = FALSE THEN SysLogWrite("KONFIGURACE_Prelearning_NEOPAKOVAT: VYPNUTO")
END
PUBLIC SUB ChkPrePauza_Click()
konfigurace_prelearning_pauza = ChkPrePauza.Value
IF konfigurace_prelearning_pauza = TRUE THEN SysLogWrite("KONFIGURACE_PreLearning_PAUZA: ZAPNUTO")
IF konfigurace_prelearning_pauza = FALSE THEN SysLogWrite("KONFIGURACE_Prelearning_PAUZA: VYPNUTO")
END
PUBLIC SUB BtnNastav_Click()
SysLogWrite("UPLATNUJI_PARAMETRY")
IF TestNastaveniExpCasu() = TRUE THEN
UplatniParametry()
VypisParametry()
SysLogWrite("PARAMETRY_UPLATNENY")
SysLogWrite("UKLADAM_ZAKLADNI_KONFIGURACI")
UlozDefoult()
SysLogWrite("ZAKLADNI_KONFIGURACE_ULOZENA")
ELSE
Message("! CHYBA ZADANEHO CASU: v rozliseni (ms) je minimalni hodnota 10")
ENDIF
END
PUBLIC SUB VypisParametry()
IF mod_idx = 0 THEN SysLogWrite("MOD_PRELEARNING")
IF mod_idx = 1 THEN SysLogWrite("MOD_EXPERIMENT")
IF konfigurace_timeout_status = TRUE THEN SysLogWrite("KONFIGURACE_TIMEOUT: ZAPNUTO")
IF konfigurace_timeout_status = FALSE THEN SysLogWrite("KONFIGURACE_TIMEOUT: VYPNUTO")
IF konfigurace_prelearning_neopakovat = TRUE THEN SysLogWrite("KONFIGURACE_PRELEARNING_NEOPAKOVAT: ZAPNUTO")
IF konfigurace_prelearning_neopakovat = FALSE THEN SysLogWrite("KONFIGURACE_PRELEARNING_NEOPAKOVAT: VYPNUTO")
IF konfigurace_prelearning_pauza = TRUE THEN SysLogWrite("KONFIGURACE_PRELEARNING_PAUZA: ZAPNUTO")
IF konfigurace_prelearning_pauza = FALSE THEN SysLogWrite("KONFIGURACE_PRELEARNING_PAUZA: VYPNUTO")
SysLogWrite("KONFIGURACE_PRELEARNING_PAUZA: " & konfigurace_prelearning_cas_dalsi_ciklus)
SysLogWrite("KONFIGURACE_PRELEARNING_CAS_PITI: " & konfigurace_prelearning_cas_piti)
SysLogWrite("KONFIGURACE_POCET_CYKLU: " & konfigurace_pocet_cyklu)
SysLogWrite("KONFIGURACE_CAS_NA_REAKCI: " & konfigurace_timeout)
IF konfigurace_experiment_casovani = TRUE THEN SysLogWrite("KONFIGURACE_CASOVANI: ZAPNUTO")
IF konfigurace_experiment_casovani = FALSE THEN SysLogWrite("KONFIGURACE_CASOVANI: VYPNUTO")
IF konfigurace_experiment_nahoda = TRUE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_NAHODA: ZAPNUTO")
IF konfigurace_experiment_nahoda = FALSE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_NAHODA: VYPNUTO")
IF konfigurace_experiment_neopakovat = TRUE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_NEOPAKOVAT: ZAPNUTO")
IF konfigurace_experiment_neopakovat = FALSE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_NEOPAKOVAT: VYPNUTO")
IF konfigurace_experiment_vypni_stimul = TRUE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_ZHASNUTI_STIMULU: ZAPNUTO")
IF konfigurace_experiment_vypni_stimul = FALSE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_ZHASNUTI_STIMULU: VYPNUTO")
IF konfigurace_experiment_vypni_stimul_pauza_enable = TRUE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_PAUZA_ZHASLY_STIMUL: ZAPNUTO")
IF konfigurace_experiment_vypni_stimul_pauza_enable = FALSE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_PAUZA_ZHASLY_STIMUL: VYPNUTO")
IF konfigurace_experiment_vypni_stimul_prereset = TRUE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_VYPNI_STIMUL_PRERESET: ZAPNUTO")
IF konfigurace_experiment_vypni_stimul_prereset = FALSE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_VYPNI_STIMUL_PRERESET: VYPNUTO")
IF konfigurace_experiment_vypni_stimul_poakci = TRUE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_VYPNI_STIMUL_POAKCI: ZAPNUTO")
IF konfigurace_experiment_vypni_stimul_poakci = FALSE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_VYPNI_STIMUL_POAKCI: VYPNUTO")
SysLogWrite("KONFIGURACE_EXPERIMENT_CAS_ZOBRAZENI_STIMULU: " & konfigurace_experiment_cas_zobrazeni_stimulu)
SysLogWrite("KONFIGURACE_EXPERIMENT_CAS_PITI " & konfigurace_experiment_cas_piti)
SysLogWrite("KONFIGURACE_EXPERIMENT_CAS_ZHASLY_STIMUL: " & konfigurace_experiment_cas_zhasnuteho_stimulu)
SysLogWrite("KONFIGURACE_EXPERIMENT_CAS_CYKLUS: " & konfigurace_experiment_cas_dalsi_ciklus)
IF konfigurace_experiment_slot_enable_1 = TRUE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_SLOT_1: ZAPNUTO")
IF konfigurace_experiment_slot_enable_1 = FALSE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_SLOT_1: VYPNUTO")
IF konfigurace_experiment_slot_enable_2 = TRUE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_SLOT_2: ZAPNUTO")
IF konfigurace_experiment_slot_enable_2 = FALSE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_SLOT_2: VYPNUTO")
IF konfigurace_experiment_slot_enable_3 = TRUE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_SLOT_3: ZAPNUTO")
IF konfigurace_experiment_slot_enable_3 = FALSE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_SLOT_3: VYPNUTO")
IF konfigurace_experiment_slot_enable_4 = TRUE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_SLOT_4: ZAPNUTO")
IF konfigurace_experiment_slot_enable_4 = FALSE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_SLOT_4: VYPNUTO")
IF konfigurace_experiment_slot_enable_5 = TRUE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_SLOT_5: ZAPNUTO")
IF konfigurace_experiment_slot_enable_5 = FALSE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_SLOT_5: VYPNUTO")
IF konfigurace_experiment_slot_enable_6 = TRUE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_SLOT_6: ZAPNUTO")
IF konfigurace_experiment_slot_enable_6 = FALSE THEN SysLogWrite("KONFIGURACE_EXPERIMENT_SLOT_6: VYPNUTO")
SysLogWrite("KONFIGURACE_EXPERIMENT_CASOVANI_SLOT_1: " & Str(konfigurace_experiment_casovani_s1))
SysLogWrite("KONFIGURACE_EXPERIMENT_CASOVANI_SLOT_2: " & Str(konfigurace_experiment_casovani_s2))
SysLogWrite("KONFIGURACE_EXPERIMENT_CASOVANI_SLOT_3: " & Str(konfigurace_experiment_casovani_s3))
SysLogWrite("KONFIGURACE_EXPERIMENT_CASOVANI_SLOT_4: " & Str(konfigurace_experiment_casovani_s4))
SysLogWrite("KONFIGURACE_EXPERIMENT_CASOVANI_SLOT_5: " & Str(konfigurace_experiment_casovani_s5))
SysLogWrite("KONFIGURACE_EXPERIMENT_CASOVANI_SLOT_6: " & Str(konfigurace_experiment_casovani_s6))
END
PUBLIC SUB UplatniParametry()
IF TestNastaveniExpCasu() = TRUE THEN
konfigurace_pocet_cyklu = Val(TxtPocetCiklu.Text)
konfigurace_timeout = Val(TxtTimeout.Text)
konfigurace_timeout_status = ChkTimeout.Value
konfigurace_prelearning_cas_piti = Val(TxtPreCasPiti.Text)
konfigurace_prelearning_cas_dalsi_ciklus = Val(TxtPrePauza.Text)
konfigurace_prelearning_pauza = ChkPrePauza.Value
konfigurace_prelearning_neopakovat = ChkPreNeopakovat.Value
konfigurace_experiment_nahoda = ChkExpNahoda.Value
konfigurace_experiment_neopakovat = ChkExpNeopakovat.Value
konfigurace_experiment_cas_zobrazeni_stimulu = Val(ExperimentTxtTime0.Text)
konfigurace_experiment_cas_piti = Val(ExperimentTxtTime3.Text)
konfigurace_experiment_cas_zhasnuteho_stimulu = Val(ExperimentTxtTime1.Text)
konfigurace_experiment_cas_dalsi_ciklus = Val(ExperimentTxtTime2.Text)
konfigurace_experiment_vypni_stimul = ChkZhasniStimul.Value
konfigurace_experiment_vypni_stimul_prereset = ChkZhasniStimulPreReset.Value
konfigurace_experiment_vypni_stimul_poakci = ChkZhasniStimulPoAkci.Value
konfigurace_experiment_vypni_stimul_pauza_enable = ChkVypStimulPauza.Value
konfigurace_experiment_casovani = ExpChkEnableTiming.Value
konfigurace_experiment_slot_enable_1 = ExpChkSTime.Value
konfigurace_experiment_slot_enable_2 = ExpChkSTime2.Value
konfigurace_experiment_slot_enable_3 = ExpChkSTime3.Value
konfigurace_experiment_slot_enable_4 = ExpChkSTime4.Value
konfigurace_experiment_slot_enable_5 = ExpChkSTime5.Value
konfigurace_experiment_slot_enable_6 = ExpChkSTime6.Value
konfigurace_experiment_casovani_s1 = Val(ExpTxtS1Time.Text)
konfigurace_experiment_casovani_s2 = Val(ExpTxtS2Time.Text)
konfigurace_experiment_casovani_s3 = Val(ExpTxtS3Time.Text)
konfigurace_experiment_casovani_s4 = Val(ExpTxtS4Time.Text)
konfigurace_experiment_casovani_s5 = Val(ExpTxtS5Time.Text)
konfigurace_experiment_casovani_s6 = Val(ExpTxtS6Time.Text)
TimeoutOpakReset = ChkTimeoutOpakReset.Value
ELSE
Message("! CHYBA ZADANEHO CASU: v rozliseni (ms) je minimalni hodnota 10")
ENDIF
END
SUB UlozDefoult()
DIM DefKonfFile AS File
DefKonfFile = OPEN "/ratbox/system/defconf.rbconf" FOR WRITE
WAIT
PRINT #DefKonfFile, Format$(Now, "yyyy_mm_dd") & "_" & Format$(Now, "hh:nn:ss")
PRINT #DefKonfFile, TxtCommPort.Text
PRINT #DefKonfFile, Str(konfigurace_pocet_cyklu)
PRINT #DefKonfFile, Str(konfigurace_timeout)
PRINT #DefKonfFile, konfigurace_timeout_status
PRINT #DefKonfFile, Str(konfigurace_prelearning_cas_piti)
PRINT #DefKonfFile, Str(konfigurace_prelearning_cas_dalsi_ciklus)
PRINT #DefKonfFile, konfigurace_prelearning_pauza
PRINT #DefKonfFile, konfigurace_prelearning_neopakovat
PRINT #DefKonfFile, konfigurace_experiment_nahoda
PRINT #DefKonfFile, konfigurace_experiment_neopakovat
PRINT #DefKonfFile, Str(konfigurace_experiment_cas_zobrazeni_stimulu)
PRINT #DefKonfFile, Str(konfigurace_experiment_cas_piti)
PRINT #DefKonfFile, Str(konfigurace_experiment_cas_zhasnuteho_stimulu)
PRINT #DefKonfFile, Str(konfigurace_experiment_cas_dalsi_ciklus)
PRINT #DefKonfFile, konfigurace_experiment_vypni_stimul
PRINT #DefKonfFile, konfigurace_experiment_vypni_stimul_pauza_enable
PRINT #DefKonfFile, konfigurace_experiment_casovani
PRINT #DefKonfFile, konfigurace_experiment_slot_enable_1
PRINT #DefKonfFile, konfigurace_experiment_slot_enable_2
PRINT #DefKonfFile, konfigurace_experiment_slot_enable_3
PRINT #DefKonfFile, konfigurace_experiment_slot_enable_4
PRINT #DefKonfFile, konfigurace_experiment_slot_enable_5
PRINT #DefKonfFile, konfigurace_experiment_slot_enable_6
PRINT #DefKonfFile, Str(konfigurace_experiment_casovani_s1)
PRINT #DefKonfFile, Str(konfigurace_experiment_casovani_s2)
PRINT #DefKonfFile, Str(konfigurace_experiment_casovani_s3)
PRINT #DefKonfFile, Str(konfigurace_experiment_casovani_s4)
PRINT #DefKonfFile, Str(konfigurace_experiment_casovani_s5)
PRINT #DefKonfFile, Str(konfigurace_experiment_casovani_s6)
PRINT #DefKonfFile, Str(mod_idx)
PRINT #DefKonfFile, TimeoutOpakReset
PRINT #DefKonfFile, konfigurace_experiment_vypni_stimul_prereset
PRINT #DefKonfFile, konfigurace_experiment_vypni_stimul_poakci
WAIT
DefKonfFile.Close
END
SUB UlozUserCfg(CfgName AS String)
DIM DefKonfFile AS File
UplatniParametry()
IF Exist("/ratbox/konfigurace/" & CfgName & ".rbconf") = FALSE THEN
Message("Profil: " & CfgName & " neexistuje a bude vytvoren......")
SHELL ("touch /ratbox/konfigurace/" & CfgName & ".rbconf")
Message("Profil: " & CfgName & " Vytvoren....")
CfgList()
ELSE
IF Message.Warning("Profil: " & CfgName & " jiz existuje, chcete ho prepsat ?", "NE", "ANO") = 2 THEN
GOTO cfgwrite
ELSE
GOTO cfgwritekonec
ENDIF
ENDIF
cfgwrite:
DefKonfFile = OPEN "/ratbox/konfigurace/" & CfgName & ".rbconf" FOR WRITE
FINALLY
IF ERROR THEN
ErrLogWrite("CHYBA_PRI_ZAPISU_KONFIGURACE: " & Error.Text)
Message("CHYBA_PRI_ZAPISU_KONFIGURACE")
ENDIF
WAIT
PRINT #DefKonfFile, Format$(Now, "yyyy_mm_dd") & "_" & Format$(Now, "hh:nn:ss")
PRINT #DefKonfFile, TxtCommPort.Text
PRINT #DefKonfFile, Str(konfigurace_pocet_cyklu)
PRINT #DefKonfFile, Str(konfigurace_timeout)
PRINT #DefKonfFile, konfigurace_timeout_status
PRINT #DefKonfFile, Str(konfigurace_prelearning_cas_piti)
PRINT #DefKonfFile, Str(konfigurace_prelearning_cas_dalsi_ciklus)
PRINT #DefKonfFile, konfigurace_prelearning_pauza
PRINT #DefKonfFile, konfigurace_prelearning_neopakovat
PRINT #DefKonfFile, konfigurace_experiment_nahoda
PRINT #DefKonfFile, konfigurace_experiment_neopakovat
PRINT #DefKonfFile, Str(konfigurace_experiment_cas_zobrazeni_stimulu)
PRINT #DefKonfFile, Str(konfigurace_experiment_cas_piti)
PRINT #DefKonfFile, Str(konfigurace_experiment_cas_zhasnuteho_stimulu)
PRINT #DefKonfFile, Str(konfigurace_experiment_cas_dalsi_ciklus)
PRINT #DefKonfFile, konfigurace_experiment_vypni_stimul
PRINT #DefKonfFile, konfigurace_experiment_vypni_stimul_pauza_enable
PRINT #DefKonfFile, konfigurace_experiment_casovani
PRINT #DefKonfFile, konfigurace_experiment_slot_enable_1
PRINT #DefKonfFile, konfigurace_experiment_slot_enable_2
PRINT #DefKonfFile, konfigurace_experiment_slot_enable_3
PRINT #DefKonfFile, konfigurace_experiment_slot_enable_4
PRINT #DefKonfFile, konfigurace_experiment_slot_enable_5
PRINT #DefKonfFile, konfigurace_experiment_slot_enable_6
PRINT #DefKonfFile, Str(konfigurace_experiment_casovani_s1)
PRINT #DefKonfFile, Str(konfigurace_experiment_casovani_s2)
PRINT #DefKonfFile, Str(konfigurace_experiment_casovani_s3)
PRINT #DefKonfFile, Str(konfigurace_experiment_casovani_s4)
PRINT #DefKonfFile, Str(konfigurace_experiment_casovani_s5)
PRINT #DefKonfFile, Str(konfigurace_experiment_casovani_s6)
PRINT #DefKonfFile, Str(mod_idx)
PRINT #DefKonfFile, TimeoutOpakReset
PRINT #DefKonfFile, konfigurace_experiment_vypni_stimul_prereset
PRINT #DefKonfFile, konfigurace_experiment_vypni_stimul_poakci
WAIT
DefKonfFile.Close
cfgwritekonec:
END
SUB DefKonfLoad()
DIM linc AS Integer
DIM lin AS String
DIM arr_strings AS String[]
SysLogWrite("OBNOVENI_PARAMETRU")
arr_strings = Split(File.LOAD("/ratbox/system/defconf.rbconf"), "\n")
FOR EACH lin IN arr_strings
lin = arr_strings[linc]
IF linc = 1 THEN TxtCommPort.text = lin
IF linc = 2 THEN TxtPocetCiklu.Text = lin
IF linc = 3 THEN TxtTimeout.Text = lin
IF (linc = 4) AND (lin = "True") THEN ChkTimeout.Value = TRUE
IF (linc = 4) AND (lin = "False") THEN ChkTimeout.Value = FALSE
IF linc = 5 THEN TxtPreCasPiti.Text = lin
IF linc = 6 THEN TxtPrePauza.Text = lin
IF (linc = 7) AND (lin = "True") THEN ChkPrePauza.Value = TRUE
IF (linc = 7) AND (lin = "False") THEN ChkPrePauza.Value = FALSE
IF (linc = 8) AND (lin = "True") THEN ChkPreNeopakovat.Value = TRUE
IF (linc = 8) AND (lin = "False") THEN ChkPreNeopakovat.Value = FALSE
IF (linc = 9) AND (lin = "True") THEN ChkExpNahoda.Value = TRUE
IF (linc = 9) AND (lin = "False") THEN ChkExpNahoda.Value = FALSE
IF (linc = 10) AND (lin = "True") THEN ChkExpNeopakovat.Value = TRUE
IF (linc = 10) AND (lin = "False") THEN ChkExpNeopakovat.Value = FALSE
IF linc = 11 THEN ExperimentTxtTime0.Text = lin
IF linc = 12 THEN ExperimentTxtTime3.Text = lin
IF linc = 13 THEN ExperimentTxtTime1.Text = lin
IF linc = 14 THEN ExperimentTxtTime2.Text = lin
IF (linc = 15) AND (lin = "True") THEN ChkZhasniStimul.Value = TRUE
IF (linc = 15) AND (lin = "False") THEN ChkZhasniStimul.Value = FALSE
IF (linc = 16) AND (lin = "True") THEN ChkVypStimulPauza.Value = TRUE
IF (linc = 16) AND (lin = "False") THEN ChkVypStimulPauza.Value = FALSE
IF (linc = 17) AND (lin = "True") THEN ExpChkEnableTiming.Value = TRUE
IF (linc = 17) AND (lin = "False") THEN ExpChkEnableTiming.Value = FALSE
IF (linc = 18) AND (lin = "True") THEN ExpChkSTime.Value = TRUE
IF (linc = 18) AND (lin = "False") THEN ExpChkSTime.Value = FALSE
IF (linc = 19) AND (lin = "True") THEN ExpChkSTime2.Value = TRUE
IF (linc = 19) AND (lin = "False") THEN ExpChkSTime2.Value = FALSE
IF (linc = 20) AND (lin = "True") THEN ExpChkSTime3.Value = TRUE
IF (linc = 20) AND (lin = "False") THEN ExpChkSTime3.Value = FALSE
IF (linc = 21) AND (lin = "True") THEN ExpChkSTime4.Value = TRUE
IF (linc = 21) AND (lin = "False") THEN ExpChkSTime4.Value = FALSE
IF (linc = 22) AND (lin = "True") THEN ExpChkSTime5.Value = TRUE
IF (linc = 22) AND (lin = "False") THEN ExpChkSTime5.Value = FALSE
IF (linc = 23) AND (lin = "True") THEN ExpChkSTime6.Value = TRUE
IF (linc = 23) AND (lin = "False") THEN ExpChkSTime6.Value = FALSE
IF linc = 24 THEN ExpTxtS1Time.Text = lin
IF linc = 25 THEN ExpTxtS2Time.Text = lin
IF linc = 26 THEN ExpTxtS3Time.Text = lin
IF linc = 27 THEN ExpTxtS4Time.Text = lin
IF linc = 28 THEN ExpTxtS5Time.Text = lin
IF linc = 29 THEN ExpTxtS6Time.Text = lin
IF linc = 30 THEN mod_idx = Val(lin)
IF (linc = 30) AND (lin = "0") THEN BtnMod.Text = "PreLearning"
IF (linc = 30) AND (lin = "1") THEN BtnMod.Text = "Experiment"
IF (linc = 31) AND (lin = "True") THEN ChkTimeoutOpakReset.Value = TRUE
IF (linc = 31) AND (lin = "False") THEN ChkTimeoutOpakReset.Value = FALSE
IF (linc = 32) AND (lin = "True") THEN ChkZhasniStimulPreReset.Value = TRUE
IF (linc = 32) AND (lin = "False") THEN ChkZhasniStimulPreReset.Value = FALSE
IF (linc = 33) AND (lin = "True") THEN ChkZhasniStimulPoAkci.Value = TRUE
IF (linc = 33) AND (lin = "False") THEN ChkZhasniStimulPoAkci.Value = FALSE
linc = linc + 1
NEXT
SysLogWrite("PARAMETRY_OBNOVENY")
END
PUBLIC SUB TmrCasovac_Timer()
buffer_casovac = buffer_casovac + 1
TxtInfoCasovac.text = Str(buffer_casovac)
PosliInfo()
WAIT
END
PUBLIC SUB BtnPreStart_Click()
DIM exp_souhrn_stimul AS Integer
DIM exp_souhrn_odpoved AS Integer
SysLogWrite("UPLATNUJI_PARAMETRY")
UplatniParametry()
VypisParametry()
SysLogWrite("PARAMETRY_UPLATNENY")
STOP_State = FALSE
tmp_cyklus = 0
Pauza(5)
IF mod_idx = 0 THEN
PreLogInit()
TimerExperimentMils.Enabled = TRUE
PreStatInit()
SysLogWrite("PRELEARNING_START")
PreLogWrite("START" & ";" & "NaN" & ";" & "NULL" & ";" & "NaN")
WHILE (tmp_cyklus < konfigurace_pocet_cyklu) AND (STOP_State = FALSE)
PreLogWrite("CYKLUS" & ";" & tmp_cyklus & ";" & "NULL" & ";" & "NaN")
' PRELEARNING - KROK 1 - OTEVRENI DVERI START
PreLogWrite("OTEVRENI_DVERI" & ";" & "NaN" & ";" & "NULL" & ";" & "NaN")
LabelPre.BackColor = Color.Green
AparaturaOtevriDvere()
Pauza(3)
LabelPre.BackColor = Color.Background
PreLogWrite("DVERE_OTEVRENY" & ";" & "NaN" & ";" & "NULL" & ";" & "NaN")
' PRELEARNING - KROK 1 - OTEVRENI DVERI STOP
WAIT
' PRELEARNING - KROK 2 - CEKANI, ANALYZA POTKANI AKCE START
cekani_potkan_akce:
TimeoutCountingStart()
LabelPre2.BackColor = Color.Green
stav_sloty = 0
InputBlock = FALSE
WHILE (stav_sloty = 0) AND (konfigurace_timeout > buffer_timeout)
WAIT
WEND
TimeoutCountingStop()
LabelPre2.BackColor = Color.Background
buffer_sloty_aktual_state = stav_sloty
stav_sloty = 0
SysLogWrite("PRELEARNING_POTKAN_AKTIVITA_" & Str(buffer_sloty_aktual_state))
pre_stat_aktivita[buffer_sloty_aktual_state] = pre_stat_aktivita[buffer_sloty_aktual_state] + 1
IF buffer_sloty_aktual_state = 0 THEN
SysLogWrite("PRELEARNING_TIMEOUT")
PreLogWrite("TIMEOUT" & ";" & "NaN" & ";" & "NULL" & ";" & "NaN")
IF TimeoutOpakReset = TRUE THEN buffer_sloty_last_state = 0
pre_stat_timeout = pre_stat_timeout + 1
GOTO prelearning_reset
ENDIF
IF (buffer_sloty_last_state = buffer_sloty_aktual_state) AND (konfigurace_prelearning_neopakovat = TRUE) THEN
SysLogWrite("PRELEARNING_POTKAN_OPAKOVANI")
PreLogWrite("OPAKOVANI" & ";" & Str(buffer_sloty_aktual_state) & ";" & "NULL" & ";" & "NaN")
pre_stat_opakovani[buffer_sloty_last_state] = pre_stat_opakovani[buffer_sloty_last_state] + 1
LabelPre2.BackColor = Color.Red
Pauza(1)
LabelPre2.BackColor = Color.Background
buffer_sloty_aktual_state = 0
GOTO cekani_potkan_akce
ELSE
PreLogWrite("AKTIVITA" & ";" & Str(buffer_sloty_aktual_state) & ";" & "NULL" & ";" & "NaN")
ENDIF
IF (buffer_sloty_aktual_state = 1) AND (konfigurace_experiment_slot_enable_1 = FALSE) THEN
SysLogWrite("PRELEARNING_NEPOVOLENY_SLOT_" & Str(buffer_sloty_aktual_state))
PreLogWrite("NEPOVOLENY_SLOT" & ";" & Str(buffer_sloty_aktual_state) & ";" & "NULL" & ";" & "NaN")
pre_stat_zakazano[1] = pre_stat_zakazano[1] + 1
GOTO cekani_potkan_akce
ENDIF
IF (buffer_sloty_aktual_state = 2) AND (konfigurace_experiment_slot_enable_2 = FALSE) THEN
SysLogWrite("PRELEARNING_NEPOVOLENY_SLOT_" & Str(buffer_sloty_aktual_state))
PreLogWrite("NEPOVOLENY_SLOT" & ";" & Str(buffer_sloty_aktual_state) & ";" & "NULL" & ";" & "NaN")
pre_stat_zakazano[2] = pre_stat_zakazano[2] + 1
GOTO cekani_potkan_akce
ENDIF
IF (buffer_sloty_aktual_state = 3) AND (konfigurace_experiment_slot_enable_3 = FALSE) THEN
SysLogWrite("PRELEARNING_NEPOVOLENY_SLOT_" & Str(buffer_sloty_aktual_state))
PreLogWrite("NEPOVOLENY_SLOT" & ";" & Str(buffer_sloty_aktual_state) & ";" & "NULL" & ";" & "NaN")
pre_stat_zakazano[3] = pre_stat_zakazano[3] + 1
GOTO cekani_potkan_akce
ENDIF
IF (buffer_sloty_aktual_state = 4) AND (konfigurace_experiment_slot_enable_4 = FALSE) THEN
SysLogWrite("PRELEARNING_NEPOVOLENY_SLOT_" & Str(buffer_sloty_aktual_state))
PreLogWrite("NEPOVOLENY_SLOT" & ";" & Str(buffer_sloty_aktual_state) & ";" & "NULL" & ";" & "NaN")
pre_stat_zakazano[4] = pre_stat_zakazano[4] + 1
GOTO cekani_potkan_akce
ENDIF
IF (buffer_sloty_aktual_state = 5) AND (konfigurace_experiment_slot_enable_5 = FALSE) THEN
SysLogWrite("PRELEARNING_NEPOVOLENY_SLOT_" & Str(buffer_sloty_aktual_state))
PreLogWrite("NEPOVOLENY_SLOT" & ";" & Str(buffer_sloty_aktual_state) & ";" & "NULL" & ";" & "NaN")
pre_stat_zakazano[5] = pre_stat_zakazano[5] + 1
GOTO cekani_potkan_akce
ENDIF
IF (buffer_sloty_aktual_state = 6) AND (konfigurace_experiment_slot_enable_6 = FALSE) THEN
SysLogWrite("PRELEARNING_NEPOVOLENY_SLOT_" & Str(buffer_sloty_aktual_state))
PreLogWrite("NEPOVOLENY_SLOT" & ";" & Str(buffer_sloty_aktual_state) & ";" & "NULL" & ";" & "NaN")
pre_stat_zakazano[6] = pre_stat_zakazano[6] + 1
GOTO cekani_potkan_akce
ENDIF
buffer_sloty_last_state = buffer_sloty_aktual_state
LabelPre2.BackColor = Color.Background
' PRELEARNING - KROK 2 - CEKANI, ANALYZA POTKANI AKCE STOP
LabelPre3.BackColor = Color.Green
AparaturaNastavPitko(buffer_sloty_aktual_state)
Pauza(3)
LabelPre3.BackColor = Color.Background
PreLogWrite("NASTAVUJI_PITKO" & ";" & Str(buffer_sloty_aktual_state) & ";" & "NULL" & ";" & "NaN")
Label1.BackColor = Color.Green
Pauza(konfigurace_prelearning_cas_piti)
pre_stat_ciklus_real = pre_stat_ciklus_real + 1
Label1.BackColor = Color.Background
prelearning_reset:
LabelPre5.BackColor = Color.Green
AparaturaReset()
Pauza(3)
LabelPre5.BackColor = Color.Background
IF konfigurace_prelearning_pauza = TRUE THEN
ChkPrePauza.BackColor = Color.Green
Pauza(konfigurace_prelearning_cas_dalsi_ciklus)
ChkPrePauza.BackColor = Color.Background
ENDIF
tmp_cyklus = tmp_cyklus + 1
pre_stat_ciklus = pre_stat_ciklus + 1
WEND
tmp_cyklus = 0
stav_sloty = 0
PreLogWrite("KONEC" & ";" & "NaN" & ";" & "NULL" & ";" & "NaN")
PreStatWrite()
SysLogWrite("PRELEARNING_KONEC")
TimerExperimentMils.Enabled = FALSE
ELSE IF mod_idx = 1 THEN
tmp_cyklus = 0
stav_sloty = 0
tmp_stimul_idx = 0
STOP_State = FALSE
tmp_mils = 0
ExpLogInit()
Pauza(5)
ExpStatInit()
ExpLogWrite("START" & ";" & "NaN" & ";" & "NULL" & ";" & "NaN")
SysLogWrite("EXPERIMENT_START")
WHILE (tmp_cyklus < konfigurace_pocet_cyklu) AND (STOP_State = FALSE)
TimerExperimentMils.Enabled = TRUE
exp_genstim:
ExpLogWrite("CYKLUS" & ";" & tmp_cyklus & ";" & "NULL" & ";" & "NaN")
IF konfigurace_experiment_nahoda = TRUE THEN
tmp_stimul_idx = Rnd(1, 7)
'ExpLogWrite("NAHODNY_STIMUL" & ";" & tmp_stimul_idx & ";" & "NULL" & ";" & "NaN")
ELSE
IF tmp_stimul_idx = 6 THEN tmp_stimul_idx = 0
tmp_stimul_idx = tmp_stimul_idx + 1
ExpLogWrite("LINEARNI_STIMUL" & ";" & tmp_stimul_idx & ";" & "NULL" & ";" & "NaN")
ENDIF
IF (tmp_stimul_last = tmp_stimul_idx) AND (konfigurace_experiment_neopakovat = TRUE) THEN
' ExpLogWrite("EXPERIMENT_OPAKOVANI_STIMULU: " & tmp_stimul_idx & " GENERUJI_NOVY")
GOTO exp_genstim
ENDIF
tmp_stimul_last = tmp_stimul_idx
IF (konfigurace_experiment_slot_enable_1 = FALSE) AND (tmp_stimul_idx = 1) THEN
' ExpLogWrite("EXPERIMENT_STIMUL: " & tmp_stimul_idx & " ZAKAZAN, GENERUJI_NOVY")
GOTO exp_genstim
ENDIF
IF (konfigurace_experiment_slot_enable_2 = FALSE) AND (tmp_stimul_idx = 2) THEN
' ExpLogWrite("EXPERIMENT_STIMUL: " & tmp_stimul_idx & " ZAKAZAN, GENERUJI_NOVY")
GOTO exp_genstim
ENDIF
IF (konfigurace_experiment_slot_enable_3 = FALSE) AND (tmp_stimul_idx = 3) THEN
' ExpLogWrite("EXPERIMENT_STIMUL: " & tmp_stimul_idx & " ZAKAZAN, GENERUJI_NOVY")
GOTO exp_genstim
ENDIF
IF (konfigurace_experiment_slot_enable_4 = FALSE) AND (tmp_stimul_idx = 4) THEN
' ExpLogWrite("EXPERIMENT_STIMUL: " & tmp_stimul_idx & " ZAKAZAN, GENERUJI_NOVY")
GOTO exp_genstim
ENDIF
IF (konfigurace_experiment_slot_enable_5 = FALSE) AND (tmp_stimul_idx = 5) THEN
' ExpLogWrite("EXPERIMENT_STIMUL: " & tmp_stimul_idx & " ZAKAZAN, GENERUJI_NOVY")
GOTO exp_genstim
ENDIF
IF (konfigurace_experiment_slot_enable_6 = FALSE) AND (tmp_stimul_idx = 6) THEN
' ExpLogWrite("EXPERIMENT_STIMUL: " & tmp_stimul_idx & " ZAKAZAN, GENERUJI_NOVY")
GOTO exp_genstim
ENDIF
Label23.Text = tmp_stimul_idx
exp_souhrn_stimul = tmp_stimul_idx
ExpLogWrite("ZOBRAZENI_STIMULU" & ";" & tmp_stimul_idx & ";" & "NULL" & ";" & "NaN")
ExperimentPicture.Picture = Picture.Load("/ratbox/stimuls/" & tmp_stimul_idx & ".bmp")
Form1.stimul("/ratbox/stimuls/" & tmp_stimul_idx & ".bmp")
WAIT
IF konfigurace_experiment_casovani = TRUE THEN
IF tmp_stimul_idx = 1 THEN
ExpLogWrite("CAS_ZOBRAZENI_STIMULU" & ";" & (konfigurace_experiment_casovani_s1) & ";" & "NULL" & ";" & "NaN")
Label26.BackColor = Color.Green
PauzaMilis(konfigurace_experiment_casovani_s1)
Label26.BackColor = Color.Background
ENDIF
IF tmp_stimul_idx = 2 THEN
ExpLogWrite("CAS_ZOBRAZENI_STIMULU" & ";" & (konfigurace_experiment_casovani_s2) & ";" & "NULL" & ";" & "NaN")
Label27.BackColor = Color.Green
PauzaMilis(konfigurace_experiment_casovani_s2)
Label27.BackColor = Color.Background
ENDIF
IF tmp_stimul_idx = 3 THEN
ExpLogWrite("CAS_ZOBRAZENI_STIMULU" & ";" & (konfigurace_experiment_casovani_s3) & ";" & "NULL" & ";" & "NaN")
Label28.BackColor = Color.Green
PauzaMilis(konfigurace_experiment_casovani_s3)
Label28.BackColor = Color.Background
ENDIF
IF tmp_stimul_idx = 4 THEN
ExpLogWrite("CAS_ZOBRAZENI_STIMULU" & ";" & (konfigurace_experiment_casovani_s4) & ";" & "NULL" & ";" & "NaN")
Label29.BackColor = Color.Green
PauzaMilis(konfigurace_experiment_casovani_s4)
Label29.BackColor = Color.Background
ENDIF
IF tmp_stimul_idx = 5 THEN
ExpLogWrite("CAS_ZOBRAZENI_STIMULU" & ";" & (konfigurace_experiment_casovani_s5) & ";" & "NULL" & ";" & "NaN")
Label30.BackColor = Color.Green
PauzaMilis(konfigurace_experiment_casovani_s5)
Label30.BackColor = Color.Background
ENDIF
IF tmp_stimul_idx = 6 THEN
ExpLogWrite("CAS_ZOBRAZENI_STIMULU" & ";" & (konfigurace_experiment_casovani_s6) & ";" & "NULL" & ";" & "NaN")
Label31.BackColor = Color.Green
PauzaMilis(konfigurace_experiment_casovani_s6)
Label31.BackColor = Color.Background
ENDIF
ELSE
Label12.BackColor = Color.Green
ExpLogWrite("CAS_ZOBRAZENI_STIMULU" & ";" & (konfigurace_experiment_cas_zobrazeni_stimulu) & ";" & "NULL" & ";" & "NaN")
PauzaMilis(konfigurace_experiment_cas_zobrazeni_stimulu)
Label12.BackColor = Color.Background
ENDIF
IF konfigurace_experiment_vypni_stimul = TRUE THEN
ChkZhasniStimul.BackColor = Color.Green
ExpLogWrite("ZHASNUTI_STIMULU" & ";" & "NaN" & ";" & "NULL" & ";" & "NaN")
Form1.stimul("/ratbox/stimuls/clear.bmp")
ExperimentPicture.Picture = Picture.Load("/ratbox/stimuls/clear.bmp")
ChkZhasniStimul.BackColor = Color.Background
ENDIF
IF konfigurace_experiment_vypni_stimul_pauza_enable = TRUE THEN
Label13.BackColor = Color.Green
ExpLogWrite("CAS_ZHASLEHO_STIMULU" & ";" & (konfigurace_experiment_cas_zhasnuteho_stimulu) & ";" & "NULL" & ";" & "NaN")
PauzaMilis(konfigurace_experiment_cas_zhasnuteho_stimulu)
Label13.BackColor = Color.Background
ENDIF
ExpLogWrite("OTEVRENI_DVERI" & ";" & "NaN" & ";" & "NULL" & ";" & "NaN")
LabelPre6.BackColor = Color.Green
AparaturaOtevriDvere()
Pauza(3)
ExpLogWrite("DVERE_OTEVRENY" & ";" & "NaN" & ";" & "NULL" & ";" & "NaN")
LabelPre6.BackColor = Color.Background
LabelPre7.BackColor = Color.Green
stav_sloty = 0
InputBlock = FALSE
ExpLogWrite("CEKANI_REAKCE" & ";" & "NaN" & ";" & "TIMEOUT" & ";" & (konfigurace_timeout * 1000))
TimeoutCountingStart()
WHILE (stav_sloty = 0) AND (konfigurace_timeout > buffer_timeout)
WAIT
WEND
TimeoutCountingStop()
LabelPre7.BackColor = Color.Background
buffer_sloty_aktual_state = stav_sloty
stav_sloty = 0
IF konfigurace_experiment_vypni_stimul_poakci = TRUE THEN
ChkZhasniStimulPoAkci.BackColor = Color.Green
ExpLogWrite("ZHASNUTI_STIMULU" & ";" & "NaN" & ";" & "NULL" & ";" & "NaN")
Form1.stimul("/ratbox/stimuls/clear.bmp")
ExperimentPicture.Picture = Picture.Load("/ratbox/stimuls/clear.bmp")
ChkZhasniStimulPoAkci.BackColor = Color.Background
ENDIF
IF buffer_sloty_aktual_state > 0 THEN
exp_souhrn_odpoved = buffer_sloty_aktual_state
exp_stat_souhrn[exp_souhrn_stimul, exp_souhrn_odpoved] = exp_stat_souhrn[exp_souhrn_stimul, exp_souhrn_odpoved] + 1
exp_stat_aktivita[buffer_sloty_aktual_state] = exp_stat_aktivita[buffer_sloty_aktual_state] + 1
ENDIF
IF buffer_sloty_aktual_state = 0 THEN
ExpLogWrite("TIMEOUT" & ";" & "NaN" & ";" & "NULL" & ";" & "NaN")
exp_stat_timeout = exp_stat_timeout + 1
GOTO exp_reset
ENDIF
ExpLogWrite("REAKCE" & ";" & buffer_sloty_aktual_state & ";" & "OCEKAVANO" & ";" & tmp_stimul_idx)
'exp_stat_aktivita[buffer_sloty_aktual_state] = exp_stat_aktivita[buffer_sloty_aktual_state] + 1
IF buffer_sloty_aktual_state <> tmp_stimul_idx THEN
' ExpLogWrite("EXPERIMENT_POKTKAN_SPATNA_VOLBA: " & buffer_sloty_aktual_state & " ,OCEKAVANO: " & tmp_stimul_idx)
GOTO exp_reset
ENDIF
IF buffer_sloty_aktual_state = tmp_stimul_idx THEN
' ExpLogWrite("EXPERIMENT_POTKAN_SPRAVNA_VOLBA: " & buffer_sloty_aktual_state)
ExpLogWrite("PITKO" & ";" & tmp_stimul_idx & ";" & "NULL" & ";" & "NaN")
exp_stat_ciklus_real = exp_stat_ciklus_real + 1
LabelPre8.BackColor = Color.Green
AparaturaNastavPitko(tmp_stimul_idx)
Pauza(3)
LabelPre8.BackColor = Color.Background
ExpLogWrite("CAS_PITI" & ";" & (konfigurace_experiment_cas_piti) & ";" & "NULL" & ";" & "NaN")
Label36.BackColor = Color.Green
PauzaMilis(konfigurace_experiment_cas_piti)
Label36.BackColor = Color.Background
ENDIF
exp_reset:
ExpLogWrite("RESET" & ";" & "NaN" & ";" & "NULL" & ";" & "NaN")
Label20.BackColor = Color.Green
IF konfigurace_experiment_vypni_stimul_prereset = TRUE THEN
ChkZhasniStimulPreReset.BackColor = Color.Green
ExpLogWrite("ZHASNUTI_STIMULU" & ";" & "NaN" & ";" & "NULL" & ";" & "NaN")
Form1.stimul("/ratbox/stimuls/clear.bmp")
ExperimentPicture.Picture = Picture.Load("/ratbox/stimuls/clear.bmp")
ChkZhasniStimulPreReset.BackColor = Color.Background
ENDIF
' RESET APARATURY
AparaturaReset()
Pauza(3)
Label20.BackColor = Color.Background
IF konfigurace_experiment_cas_dalsi_ciklus > 0 THEN
ExpLogWrite("CAS_DALSI_CYKLUS" & ";" & (konfigurace_experiment_cas_dalsi_ciklus) & ";" & "NULL" & ";" & "NaN")
Label25.BackColor = Color.Green
PauzaMilis(konfigurace_experiment_cas_dalsi_ciklus)
Label25.BackColor = Color.Background
ENDIF
' ExpLogWrite("EXPERIMENT_KONEC_CYKLU: " & tmp_cyklus)
exp_stat_ciklus = exp_stat_ciklus + 1
tmp_cyklus = tmp_cyklus + 1
WEND
Form1.stimul("/ratbox/stimuls/clear.bmp")
ExperimentPicture.Picture = Picture.Load("/ratbox/stimuls/clear.bmp")
ExpLogWrite("KONEC" & ";" & "NaN" & ";" & "NULL" & ";" & "NaN")
SysLogWrite("EXPERIMENT_KONEC")
ExpStatWrite()
TimerExperimentMils.Enabled = FALSE
ENDIF
END
PUBLIC SUB TimeoutCountingStop()
TmrTimeout.Enabled = FALSE
buffer_timeout = 0
END
PUBLIC SUB TimeoutCountingStart()
buffer_timeout = 0
TmrTimeout.Enabled = TRUE
END
PUBLIC SUB TmrTimeout_Timer()
IF (buffer_timeout + 1) > konfigurace_timeout THEN TmrTimeout.Enabled = FALSE
buffer_timeout = buffer_timeout + 1
TxtInfoTimeout.Text = Str(buffer_timeout)
PosliInfo()
WAIT
END
PUBLIC SUB BtnPreStop_Click()
STOP_State = TRUE
SysLogWrite("UZIVATELSKE_UKONCENI_CYKLU")
END
PUBLIC SUB BtnExpFull_Click()
IF mod_idx = 0 THEN BtnMod_Click()
FMain.Visible = FALSE
Form1.FullScreen = TRUE
Form1.Visible = TRUE
Form1.stimul("/ratbox/stimuls/clear.bmp")
END
PUBLIC SUB BtnKonfUloz_Click()
DIM i AS Integer
DIM kontrola AS Boolean
kontrola = FALSE
IF Len(TxtKonfigNazev.Text) = 0 THEN
ErrLogWrite("Ukladani_profilu_nulova_velikost_nazvu")
Message("Zadejte nazev profilu 1 - 16 znaku, pouze cisla a pismena....")
GOTO Konec
ENDIF
IF Len(TxtKonfigNazev.Text) > 16 THEN
ErrLogWrite("Ukladani_profilu_moc_dlouhy_nazev")
ErrLogWrite("Ukladani_profilu_nazev: " & TxtKonfigNazev.Text)
ErrLogWrite("Ukladani_profilu_nazev_delka: " & Str(Len(TxtKonfigNazev.Text)))
Message("Moc dlouhy nazev profilu. Pouze 1 - 16 znaku, pouze cisla a pismena....")
TxtKonfigNazev.text = ""
GOTO Konec
ENDIF
kontrola = TRUE
FOR i = 0 TO Len(TxtKonfigNazev.Text) - 1
IF ((Asc(Mid(TxtKonfigNazev.Text, i + 1, 1)) < 58) AND (Asc(Mid(TxtKonfigNazev.Text, i + 1, 1)) > 47)) OR ((Asc(Mid(TxtKonfigNazev.Text, i + 1, 1)) < 91) AND (Asc(Mid(TxtKonfigNazev.Text, i + 1, 1)) > 64)) OR ((Asc(Mid(TxtKonfigNazev.Text, i + 1, 1)) < 123) AND (Asc(Mid(TxtKonfigNazev.Text, i + 1, 1)) > 96)) THEN
ELSE
kontrola = FALSE
ENDIF
NEXT
IF kontrola = FALSE THEN
ErrLogWrite("Ukladani_profilu_nepovoleny_znak_nazev_: " & TxtKonfigNazev.Text)
FOR i = 0 TO Len(TxtKonfigNazev.Text) - 1
IF ((Asc(Mid(TxtKonfigNazev.Text, i + 1, 1)) < 58) AND (Asc(Mid(TxtKonfigNazev.Text, i + 1, 1)) > 47)) OR ((Asc(Mid(TxtKonfigNazev.Text, i + 1, 1)) < 91) AND (Asc(Mid(TxtKonfigNazev.Text, i + 1, 1)) > 64)) OR ((Asc(Mid(TxtKonfigNazev.Text, i + 1, 1)) < 123) AND (Asc(Mid(TxtKonfigNazev.Text, i + 1, 1)) > 96)) THEN
ELSE
ErrLogWrite("Znak-KO ASCII CODE: " & Mid(TxtKonfigNazev.Text, i + 1, 1) & " " & Asc(Mid(TxtKonfigNazev.Text, i + 1, 1)) & " POZICE: " & i + 1)
ENDIF
NEXT
Message("Nazev_profilu_obsahuje_nepovoleny_znak.Pouze 1 - 16 znaku, pouze cisla a pismena....")
GOTO Konec
ENDIF
SysLogWrite("Ukladani_uzivatelskeho_profilu: " & TxtKonfigNazev.Text)
UlozUserCfg(TxtKonfigNazev.Text)
CfgList()
Konec:
CfgList()
TxtKonfigNazev.Text = ""
END
SUB CfgList()
DIM File AS String
ListBox1.Clear
SysLogWrite("Obnoveni_seznamu_profilu...")
FOR EACH File IN Dir("/ratbox/konfigurace/", "*.rbconf")
ListBox1.Add(Mid(File, 1, Len(File) - 7))
NEXT
END
PUBLIC SUB Button1_Click()
CfgList()
END
PUBLIC SUB ListBox1_Select()
TxtKonfigNazev.Text = ListBox1.Text
END
PUBLIC SUB BtnSmazKonfiguraci_Click()
DIM CfgName AS String
CfgName = TxtKonfigNazev.Text
SysLogWrite("Smazani_uzivatelskeho_profilu: " & CfgName)
IF Exist("/ratbox/konfigurace/" & CfgName & ".rbconf") = FALSE THEN
Message("Profil: " & CfgName & " neexistuje a proto nemuze byt smazan....")
ErrLogWrite("SMAZANI_PROFILU: CHYBA - PROFIL NEEXISTUJE")
CfgList()
ELSE
IF Message.Warning("Profil: " & CfgName & " bude nenavratne smazan. Opravdu SMAZAT ?", "NE", "ANO") = 2 THEN
SHELL ("rm /ratbox/konfigurace/" & CfgName & ".rbconf")
FINALLY
IF ERROR THEN
ErrLogWrite("Chyba pri mazani profilu: " & "/ratbox/konfigurace/" & CfgName & ".rbconf " & Error.Text)
Message("Chyba pri mazani profilu: " & CfgName)
ENDIF
CfgList()
Message("Profil: " & CfgName & " byl uspesne smazan....")
SysLogWrite("Profil: " & CfgName & "smazan...")
ELSE
SysLogWrite("Smazani_profilu: " & CfgName & " stornovano..")
ENDIF
ENDIF
CfgList()
TxtKonfigNazev.text = ""
END
PUBLIC SUB BtnNahrajKonfiguraci_Click()
IF Len(TxtKonfigNazev.text) = 0 THEN
Message("Vyberte profil - klikem v seznamu vedle")
GOTO nahrajkonec
ENDIF
IF Exist("/ratbox/konfigurace/" & TxtKonfigNazev.Text & ".rbconf") = FALSE THEN
Message("Soubor profilu: " & TxtKonfigNazev.Text & " nenalezen")
TxtKonfigNazev.Text = ""
GOTO nahrajkonec
ELSE
UserCfgLoad(TxtKonfigNazev.Text)
ENDIF
nahrajkonec:
CfgList()
TxtKonfigNazev.Text = ""
END
SUB UserCfgLoad(CfgProfil AS String)
DIM linc AS Integer
DIM lin AS String
DIM arr_strings AS String[]
SysLogWrite("OBNOVENI_PARAMETRU_Z_PROFILU: " & CfgProfil)
IF Exist("/ratbox/konfigurace/" & CfgProfil & ".rbconf") = FALSE THEN
Message("Soubor profilu: " & "/ratbox/konfigurace/" & CfgProfil & ".rbconf" & " je neplatny !!")
ENDIF
arr_strings = Split(File.LOAD("/ratbox/konfigurace/" & CfgProfil & ".rbconf"), "\n")
FINALLY
IF ERROR THEN
ErrLogWrite("Chyba pri nahravani profilu: " & "/ratbox/konfigurace/" & CfgProfil & ".rbconf " & Error.Text)
Message("Chyba pri nahravani profilu: " & "/ratbox/konfigurace/" & CfgProfil & ".rbconf")
ENDIF
FOR EACH lin IN arr_strings
lin = arr_strings[linc]
IF linc = 1 THEN TxtCommPort.text = lin
IF linc = 2 THEN TxtPocetCiklu.Text = lin
IF linc = 3 THEN TxtTimeout.Text = lin
IF (linc = 4) AND (lin = "True") THEN ChkTimeout.Value = TRUE
IF (linc = 4) AND (lin = "False") THEN ChkTimeout.Value = FALSE
IF linc = 5 THEN TxtPreCasPiti.Text = lin
IF linc = 6 THEN TxtPrePauza.Text = lin
IF (linc = 7) AND (lin = "True") THEN ChkPrePauza.Value = TRUE
IF (linc = 7) AND (lin = "False") THEN ChkPrePauza.Value = FALSE
IF (linc = 8) AND (lin = "True") THEN ChkPreNeopakovat.Value = TRUE
IF (linc = 8) AND (lin = "False") THEN ChkPreNeopakovat.Value = FALSE
IF (linc = 9) AND (lin = "True") THEN ChkExpNahoda.Value = TRUE
IF (linc = 9) AND (lin = "False") THEN ChkExpNahoda.Value = FALSE
IF (linc = 10) AND (lin = "True") THEN ChkExpNeopakovat.Value = TRUE
IF (linc = 10) AND (lin = "False") THEN ChkExpNeopakovat.Value = FALSE
IF linc = 11 THEN ExperimentTxtTime0.Text = lin
IF linc = 12 THEN ExperimentTxtTime3.Text = lin
IF linc = 13 THEN ExperimentTxtTime1.Text = lin
IF linc = 14 THEN ExperimentTxtTime2.Text = lin
IF (linc = 15) AND (lin = "True") THEN ChkZhasniStimul.Value = TRUE
IF (linc = 15) AND (lin = "False") THEN ChkZhasniStimul.Value = FALSE
IF (linc = 16) AND (lin = "True") THEN ChkVypStimulPauza.Value = TRUE
IF (linc = 16) AND (lin = "False") THEN ChkVypStimulPauza.Value = FALSE
IF (linc = 17) AND (lin = "True") THEN ExpChkEnableTiming.Value = TRUE
IF (linc = 17) AND (lin = "False") THEN ExpChkEnableTiming.Value = FALSE
IF (linc = 18) AND (lin = "True") THEN ExpChkSTime.Value = TRUE
IF (linc = 18) AND (lin = "False") THEN ExpChkSTime.Value = FALSE
IF (linc = 19) AND (lin = "True") THEN ExpChkSTime2.Value = TRUE
IF (linc = 19) AND (lin = "False") THEN ExpChkSTime2.Value = FALSE
IF (linc = 20) AND (lin = "True") THEN ExpChkSTime3.Value = TRUE
IF (linc = 20) AND (lin = "False") THEN ExpChkSTime3.Value = FALSE
IF (linc = 21) AND (lin = "True") THEN ExpChkSTime4.Value = TRUE
IF (linc = 21) AND (lin = "False") THEN ExpChkSTime4.Value = FALSE
IF (linc = 22) AND (lin = "True") THEN ExpChkSTime5.Value = TRUE
IF (linc = 22) AND (lin = "False") THEN ExpChkSTime5.Value = FALSE
IF (linc = 23) AND (lin = "True") THEN ExpChkSTime6.Value = TRUE
IF (linc = 23) AND (lin = "False") THEN ExpChkSTime6.Value = FALSE
IF linc = 24 THEN ExpTxtS1Time.Text = lin
IF linc = 25 THEN ExpTxtS2Time.Text = lin
IF linc = 26 THEN ExpTxtS3Time.Text = lin
IF linc = 27 THEN ExpTxtS4Time.Text = lin
IF linc = 28 THEN ExpTxtS5Time.Text = lin
IF linc = 29 THEN ExpTxtS6Time.Text = lin
IF linc = 30 THEN mod_idx = Val(lin)
IF (linc = 30) AND (lin = "0") THEN BtnMod.Text = "PreLearning"
IF (linc = 30) AND (lin = "1") THEN BtnMod.Text = "Experiment"
IF (linc = 31) AND (lin = "True") THEN ChkTimeoutOpakReset.Value = TRUE
IF (linc = 31) AND (lin = "False") THEN ChkTimeoutOpakReset.Value = FALSE
IF (linc = 32) AND (lin = "True") THEN ChkZhasniStimulPreReset.Value = TRUE
IF (linc = 32) AND (lin = "False") THEN ChkZhasniStimulPreReset.Value = FALSE
IF (linc = 33) AND (lin = "True") THEN ChkZhasniStimulPoAkci.Value = TRUE
IF (linc = 33) AND (lin = "False") THEN ChkZhasniStimulPoAkci.Value = FALSE
linc = linc + 1
NEXT
SysLogWrite("PARAMETRY_PROFILU_NASTAVENY")
END
PUBLIC SUB PosliInfo()
Form1.cyklusinfo("Cyklus:" & Str(tmp_cyklus + 1) & "/" & Str(konfigurace_pocet_cyklu) & " PauzaTMR:" & Str(buffer_casovac) & " TimeoutTMR:" & Str(buffer_timeout))
END
PUBLIC SUB remstart()
BtnPreStart_Click()
END
PUBLIC SUB TimerExperimentMils_Timer()
tmp_mils = tmp_mils + 1
END
PUBLIC FUNCTION TestNastaveniExpCasu() AS Boolean
DIM test AS Boolean
test = TRUE
IF Val(ExpTxtS1Time.Text) < 10 THEN test = FALSE
IF Val(ExpTxtS2Time.Text) < 10 THEN test = FALSE
IF Val(ExpTxtS3Time.Text) < 10 THEN test = FALSE
IF Val(ExpTxtS4Time.Text) < 10 THEN test = FALSE
IF Val(ExpTxtS5Time.Text) < 10 THEN test = FALSE
IF Val(ExpTxtS6Time.Text) < 10 THEN test = FALSE
IF Val(ExperimentTxtTime0.Text) < 10 THEN test = FALSE
IF Val(ExperimentTxtTime1.Text) < 10 THEN test = FALSE
IF Val(ExperimentTxtTime2.Text) < 10 THEN test = FALSE
IF Val(ExperimentTxtTime3.Text) < 10 THEN test = FALSE
IF test = TRUE THEN
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
END
PUBLIC SUB ExperimentTxtTime2_KeyPress()
END
PUBLIC SUB TimerMilis_Timer()
buffer_casovac_milis = buffer_casovac_milis + 1
TxtInfoCasovacMilis.text = Str(buffer_casovac_milis) * 10
PosliInfo()
WAIT
END