DIM TestQRG AS INTEGER 'TT.INI Datei lesen 'da muss in der ersten Zeilen COM1 oder COM2 stehen sonst nix OPEN "tt.ini" FOR INPUT AS #1 LINE INPUT #1, Daten$ Schnittstelle$ = Daten$ + ":9600,N,8,1,CD,CS,DS" CLOSE #1 'atv.out Datei erstellen OPEN "tt.out" FOR OUTPUT AS #1 'Parser ' TX-Einstellen IF MID$(COMMAND$, 1, 3) = "TX " THEN IF LEN(COMMAND$) < 6 THEN PRINT #1, "Hmm ???" END END IF BUS$ = MID$(COMMAND$, 4, 1) IF VAL(BUS$) > 6 THEN PRINT #1, "Es gibt max. 6 TX bzw. RX !!!" END END IF test = VAL(MID$(COMMAND$, 6, LEN(COMMAND$) - 5)) TestQRG = (test / 125) IF TestQRG < 4000 OR TestQRG > 21200 THEN PRINT #1, "Falsche QRG-Angabe !" END END IF QRG$ = STR$(TestQRG) Sendestring$ = "T" + BUS$ + QRG$ + " " END IF ' RX-Einstellen IF MID$(COMMAND$, 1, 3) = "RX " THEN IF LEN(COMMAND$) < 6 THEN PRINT #1, "Hmm ???" END END IF BUS$ = MID$(COMMAND$, 4, 1) IF VAL(BUS$) > 6 THEN PRINT #1, "Es gibt max. 6 TX bzw. RX !!!" END END IF test = VAL(MID$(COMMAND$, 6, LEN(COMMAND$) - 5)) TestQRG = (test / 256) + 1856 IF TestQRG < 5368 OR TestQRG > 9881 THEN PRINT #1, "Falsche QRG-Angabe !" END END IF QRG$ = STR$(TestQRG) Sendestring$ = "R" + BUS$ + QRG$ + " " END IF ' TX-Auslesen IF MID$(COMMAND$, 1, 3) = "TXD" THEN IF LEN(COMMAND$) < 5 THEN PRINT #1, "Hmm ???" END END IF BUS$ = MID$(COMMAND$, 5, 1) IF VAL(BUS$) > 6 THEN PRINT #1, "Es gibt max. 6 TX bzw. RX !!!" END END IF Sendestring$ = "t" + BUS$ END IF ' RX-Auslesen IF MID$(COMMAND$, 1, 3) = "RXD" THEN IF LEN(COMMAND$) < 5 THEN PRINT #1, "Hmm ???" END END IF BUS$ = MID$(COMMAND$, 5, 1) IF VAL(BUS$) > 6 THEN PRINT #1, "Es gibt max. 6 TX bzw. RX !!!" END END IF Sendestring$ = "r" + BUS$ END IF ' OSD Auswertung IF MID$(COMMAND$, 1, 3) = "OSD" THEN 'IF LEN(COMMAND$) < 7 THEN ' PRINT #1, "Hmm ???" ' END 'END IF BUS$ = MID$(COMMAND$, 5, 1) IF VAL(BUS$) > 6 THEN PRINT #1, "Es gibt max. 6 TX bzw. RX !!!" END END IF Sendestring$ = "O" + BUS$ IF INSTR(COMMAND$, "#") <> 0 THEN Sendestring$ = Sendestring$ + MID$(COMMAND$, 7, LEN(COMMAND$) - 6) ELSE Sendestring$ = Sendestring$ + MID$(COMMAND$, 7, 1) END IF END IF ' Video Auswertung IF MID$(COMMAND$, 1, 5) = "VIDEO" THEN Sendestring$ = "V" + STR$(VAL(MID$(COMMAND$, 7, 2))) + STR$(VAL(RIGHT$(COMMAND$, 2))) + " " END IF IF MID$(COMMAND$, 1, 6) = "VIDEOR" THEN Sendestring$ = "v" + STR$(VAL(RIGHT$(COMMAND$, 2))) + " " END IF ' Audio Auswertung IF MID$(COMMAND$, 1, 5) = "AUDIO" THEN Sendestring$ = "A" + STR$(VAL(MID$(COMMAND$, 6, 2))) + STR$(VAL(MID$(COMMAND$, 9, LEN(COMMAND$) - 8))) END IF ' Hilfe ausgeben IF COMMAND$ = "-?" OR COMMAND$ = "/?" OR COMMAND$ = "?" OR COMMAND$ = "" THEN PRINT #1, "RS232-I2C-Konverter V0.1h DL1MFK 03/2007" PRINT #1, "? Hilfe" PRINT #1, "TX TX-Frequenz einstellen" PRINT #1, "RX RX-Frequenz einstellen" PRINT #1, "TXD TX-Frequenz anzeigen" PRINT #1, "RXD RX-Frequenz anzeigen" PRINT #1, "OSD [#]" PRINT #1, " Schalter: 0-9 und #" PRINT #1, "VIDEO " PRINT #1, "VIDEOR Quelle auf Ausgang anzeigen" 'PRINT #1, "AUDIO 0/1 Audio an/aus" END END IF 'PRINT #1, Sendestring$ Buffer$ = "" I = 0 OPEN Schnittstelle$ FOR RANDOM AS #3 PRINT #3, Sendestring$ DO 'Hauptschleife I = I + 1 IF LOC(1) THEN 'wenn Zeichen auf Schnittstelle eingegangen ... Buffer$ = Buffer$ + INPUT$(1, #1) 'dieses speichern END IF LOOP UNTIL (INSTR(Buffer$, "I2C-TX OK") <> 0) OR (I = 65000) CLOSE #3 'Schnittstelle schliessen 'COLOR 10, 0 'inverse Darstellung 'PRINT #1, Buffer$; 'Zeichen anzeigen 'COLOR 7, 0 'wieder normale Darstellung 'Ausgaben definieren IF MID$(COMMAND$, 1, 3) = "TXD" THEN IF INSTR(Buffer$, "I2C-TX OK") <> 0 AND INSTR(Buffer$, "ERR") = 0 THEN test = LEN(Buffer$) - INSTR(Buffer$, "I2C-TX OK") - 3 QRG$ = MID$(Buffer$, INSTR(Buffer$, "#") + 1, test) Frequenz$ = STR$(VAL(QRG$) * 125 / 1000) + "MHz" PRINT #1, "TX" + BUS$ + " " + Frequenz$ ELSE PRINT #1, "TXD Fehler!" END IF END IF IF MID$(COMMAND$, 1, 3) = "RXD" THEN IF INSTR(Buffer$, "I2C-TX OK") <> 0 AND INSTR(Buffer$, "ERR") = 0 THEN test = LEN(Buffer$) - INSTR(Buffer$, "I2C-TX OK") - 3 QRG$ = MID$(Buffer$, INSTR(Buffer$, "#") + 1, test) PRINT #1, QRG$ Frequenz$ = STR$((VAL(QRG$) - 1853) * 256 / 1000) + "MHz" PRINT #1, "RX" + BUS$ + " " + Frequenz$ ELSE PRINT #1, "RXD Fehler!" END IF END IF IF MID$(COMMAND$, 1, 3) = "OSD" THEN IF INSTR(Buffer$, "I2C-TX OK") <> 0 AND INSTR(Buffer$, "ERR") = 0 THEN PRINT #1, "OSD OK" ELSE PRINT #1, "OSD Fehler!" END IF END IF CLOSE #1 'Datei schliessen