''RadioManager.spin '' This is the top object for the Propeller Radio Controller interface. '' It is meant to run over a USB port, getting its instructions from the Apple Mac Pro '' CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 VAR BYTE myStr byte LF byte RF byte MICR byte KEYR byte STRT byte stay1 OBJ Debu : "LED_DEMO_Extended_FDSerial" PUB LedTEST DIRA[00..29]~~ OUTA[00..29] := 0 Debu.start(31, 30, 0, 19200) waitcnt(clkfreq*2 + cnt) Debu.rxflush repeat Debu.rxflush Debu.str(string("Start Data Acquisition",10,13)) repeat until STRT == 49 Debu.str(string("Enter STRT",10,13)) STRT := Debu.rx ' OUTA[23] := 1 Debu.tx(STRT) Debu.str(string(" equals STRT",10,13,10,13)) if STRT == 49 ' OUTA[23] := 1 else Debu.str(string("Wrong initialization constant",10,13,10,13)) STRT := 0 Debu.str(string("Enter LF",10,13)) OUTA[00..06] := 0 repeat LF := Debu.rx while LF <49 or LF >55 if LF == 49 OUTA[00] := 1 ' OUTA[23] := 1 elseif LF ==50 OUTA[01] := 1 elseif LF ==51 OUTA[02] := 1 elseif LF ==52 OUTA[03] := 1 elseif LF ==53 OUTA[04] := 1 elseif LF ==54 OUTA[05] := 1 elseif LF ==55 OUTA[06] := 1 Debu.tx(LF) Debu.str(string(" equals LF ",10,13,10,13)) elseif LF == 255 Debu.str(string(" No data received for LF ",10,13,10,13)) Debu.tx(LF) Debu.str(string(" equals LF ",10,13,10,13)) ' OUTA[23] := 0 Debu.str(string("Enter RF",10,13)) ' RF := Debu.rxDecTime(2000) repeat RF := Debu.rx while RF < 49 or RF > 55 OUTA[07..13] := 0 if RF == 49 OUTA[07] := 1 ' OUTA[23] := 1 elseif RF ==50 OUTA[08] := 1 elseif RF ==51 OUTA[09] := 1 elseif RF ==52 OUTA[10] := 1 elseif RF ==53 OUTA[11] := 1 elseif RF ==54 OUTA[12] := 1 elseif RF ==55 OUTA[13] := 1 Debu.dec(RF) Debu.str(string(" equals RF ",10,13,10,13)) elseif RF == 255 Debu.str(string(" No data received for RF ",10,13,10,13)) Debu.tx(RF) Debu.str(string(" equals RF ",10,13,10,13)) ' OUTA[23] := 0 Debu.str(string("Enter MICR",10,13)) ' MICR := Debu.rxDecTime(2000) repeat MICR := Debu.rx while MICR < 49 or MICR > 55 OUTA[14..20] := 0 if MICR == 49 OUTA[14] := 1 elseif MICR ==50 OUTA[15] := 1 elseif MICR ==51 OUTA[16] := 1 elseif MICR ==52 OUTA[17] := 1 elseif MICR ==53 OUTA[18] := 1 elseif MICR ==54 OUTA[19] := 1 elseif MICR ==55 OUTA[20] := 1 elseif MICR == 255 Debu.str(string(" No data received for MICR ",10,13,10,13)) Debu.tx(MICR) Debu.str(string(" equals MICR ",10,13,10,13)) ' OUTA[23] := 0 Debu.str(string("Enter KEYR",10,13)) ' KEYR := Debu.rxDecTime(2000) repeat KEYR := Debu.rx while KEYR < 49 or KEYR > 55 OUTA[21..27] := 0 if KEYR == 49 OUTA[21] := 1 ' OUTA[23] := 1 elseif KEYR ==50 OUTA[22] := 1 elseif KEYR ==51 OUTA[23] := 1 elseif KEYR ==52 OUTA[24] := 1 elseif KEYR ==53 OUTA[25] := 1 elseif KEYR ==54 OUTA[26] := 1 elseif KEYR ==55 OUTA[27] := 1 Debu.dec(KEYR) Debu.str(string(" equals KEYR ",10,13,10,13)) elseif KEYR == 255 Debu.str(string(" No data received for KEYR ",10,13,10,13)) Debu.tx(KEYR) Debu.str(string(" equals KEYR ",10,13,10,13)) Debu.str(string("End Data Acquisition",10,13,10,13)) Debu.rxflush ' OUTA[23] := 0