REM REM Datenlogger Rev 1.8 (c) Avisaro AG, 14.10.2009 REM für u-blox REM DIM A(100) 'if no battery if time < 10000 then exec "time 2010 01 01 00 00 01" end if exec "fsync 1000" exec "sched 0 fix" sleep 1 ' 2. Serielle Schnittstelle auxopen -4, 9600, asc("N"), 1, 8, asc("N") inmode -3 outmode -2 print "Avisaro Logger Rev 1.8 (c) 2009 Avisaro AG" print "logger für ublox" BEGIN: setleds 34 REM Tasten entprellen if (KEYS & 1) = 1 then goto BEGIN end if if lof(0) = 0 then sleep 100 goto BEGIN end if open "AB", 1, "log-1.ubx" if LASTERR <> 0 then open "WB", 1, "log-1.ubx" if LASTERR <> 0 then close 1 goto BEGIN end if end if open "AB", 2, "log-2.ubx" if LASTERR <> 0 then open "WB", 2, "log-2.ubx" if LASTERR <> 0 then close 2 goto BEGIN 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 ' Zeitfenster, damit alle Daten auch gelesen werden let t = time + 1 end if get -4, A if BYTESREAD > 0 then setleds 34 put 2, A, BYTESREAD 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 ' Sleep-modus für 26 Sekunden exec "sleep 26" 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 < 500) or ((KEYS & 1) = 1) then goto BEGIN else goto FINISH end if goto BEGIN REM +++