' ' Datenlogger Rev 1.11 (c) Avisaro AG, 24.06.2010 ' ' ------------------------------------------------ ' Every Day a new File (1= yes, 0 = no) ? let new_file = 1 ' ------------------------------------------------ ' One or two RS232 Ports (1, 2) ? let ports = 1 ' ------------------------------------------------ ' 2nd serial Port auxopen -4, 9600, asc("N"), 1, 8, asc("N") ' ------------------------------------------------ DIM A(100) 'if no battery if time < 10000 then exec "time 2009 01 01 00 00 01" end if sleep 1 let n$ = "" let f$ = "" inmode -3 outmode -2 print "Avisaro Logger Rev 1.10 (c) 2009 Avisaro AG ("; print date$;",";time$;")" BEGIN: setleds 34 ' RTS hold put -212, #1 REM Tasten entprellen if (KEYS & 1) = 1 then goto BEGIN end if if lof(0) = 0 then sleep 500 goto BEGIN end if let n$ = date$ if new_file = 1 then exec "mkdir logs" sleep 1 let f$ = "logs/" + mid$(n$, 3 , 2) + mid$(n$, 6 , 2) + mid$(n$, 9 , 2) + "-1.txt" else let f$ = "log-1.txt" end if open "AB", 1, f$ if LASTERR <> 0 then open "WB", 1, f$ if LASTERR <> 0 then close 1 goto BEGIN end if end if ' RTS frei put -212, #0 if new_file = 1 then let f$ = "logs/" + mid$(n$, 3 , 2) + mid$(n$, 6 , 2) + mid$(n$, 9 , 2) + "-2.txt" else let f$ = "log-2.txt" end if if ports = 2 then open "AB", 2, f$ if LASTERR <> 0 then open "WB", 2, f$ if LASTERR <> 0 then close 2 goto BEGIN end if end if end if setleds 115 let t = time do ' Daten von RS232 lesen und auf Karte schreiben INPUT A if BYTESREAD > 0 then setleds 34 put 1, A, BYTESREAD end if if ports = 2 then get -4, A if BYTESREAD > 0 then setleds 34 put 2, A, BYTESREAD end if end if if lof(0) = 0 or status(1) <> 2 then close 1 close 2 goto BEGIN end if REM Beenden ? if (KEYS & 1) = 1 then close 1 close 2 goto FIN_KEY end if if t < time then let t = time put -202, #1 end if REM New Day ? if n$ <> date$ then close 1 close 2 goto BEGIN 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 = lof(0) if (x = 0) or ((KEYS & 1) = 1) then goto BEGIN else goto FINISH end if goto BEGIN REM +++