REM REM Datenlogger Rev 1.2 (c) Avisaro AG, 21.01.2008 REM mit Zeitstempel - Endeerkennung REM inmode -3 outmode -2 DIM A(1) DIM B(50) let E = 0 let D = 0 let z = time print "Avisaro Timestamp Logger MR2, Rev 1.2 (c) 2008 Avisaro AG" BEGIN: setleds 34 REM Tasten entprellen if (KEYS & 1) = 1 then goto BEGIN end if open "A", 1, "logdata.txt" if LASTERR <> 0 then open "W", 1, "logdata.txt" if LASTERR <> 0 then ' Fifo leer lesen so lange keine Karte INPUT A goto BEGIN end if end if setleds 115 do REM Daten von RS232 lesen und auf Karte schreiben INPUT A if BYTESREAD > 0 then let z = time + 5 setleds 34 let B(D) = A(0) let D = D + 1 if D > 47 then LET D = 50 LET B(48) = 13 LET B(49) = 10 end if if (( B( D - 1 ) = 10 ) then let T$ = date$ + " " + time$ + " " put 1, T$ put 1 , B, D LET D = 0 close 1 open "A", 1, "logdata.txt" if LASTERR <> 0 then close 1 let e = 1 goto FINISH end if end if setleds 51 end if ' timeout ? if ((z = time) and (D > 0)) then setleds 34 let T$ = date$ + " " + time$ + " " put 1, T$ put 1 , B, D put 1 , #13 put 1 , #10 LET D = 0 close 1 open "A", 1, "logdata.txt" if LASTERR <> 0 then close 1 let e = 1 goto FINISH end if setleds 51 end if let x = loc (0) REM Beenden ? if (x < 100000) or ((KEYS & 1)= 1) then close 1 goto FIN_KEY end if loop FIN_KEY: REM Warten bis Taste nicht gedrückt if (KEYS & 1) = 1 then goto FIN_KEY end if FINISH: setleds 34 REM Warten bis Karte entnommen oder Taste gedrückt let x = loc (0) if (x < 50000) or ((KEYS & 1) = 1) then goto BEGIN else goto FINISH end if REM +++