123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- function lstinf$(a$,b$,c$)
- adra=1:adrb=1:blngt=len(b$):d$=""
- while adrb<=blngt
- if mid$ (a$,adra,1)=mid$ (b$,adrb,1) then:adrb+=1:end if
- adra=adra+1
- end while
- while mid$(a$,adra,1)<>left$(c$,1)
- d$=d$+mid$(a$,adra,1):adra=adra+1
- end while
- lstinf$=d$
- end function
- function vldc(a$)
- t0$="!"+a$+".0.0.0."
- t1$=lstinf$(t0$,"!",".")
- t2$=lstinf$(t0$,".",".")
- t3=10^(len(t2$))
- vldc=val(t1$)+(val(t2$)/t3)
- end function
- dim chfq[16],chvl[16]
- finp$="_.csv"
- if argc>2 then:finp$=argv(2):end if
- print"56676D20 FFFFFF00 610100000000000000000000E00D0000F8F502000000"
- print"0000000000003C0000000000000000000000000000008C00000000000000"
- print"000000000000000000000000000000000000000000000000000000000000"
- print"0000000000000000000000000000000000000000000000000000 00000000" '4C4F1B00
- print"000200000000000000000000000000000000000000000000000000000000"
- print"000000000000 4C4F1B40 0000000000000000000000000000000000000000"
- print"00000000 00000000 00000000"
- print"D20100D4 D201029E D2010478"
- print"D2010502 D2010679 D2010702"
- print"D2020008 D2020108 D202020B D202030A"
- print"D203000F D2030000"
- print"D2000000 D2000119 D2000231 D2000347"
- print"D200045A D200056A D2000675 D200077D"
- print"D200087F D200097D D2000A75 D2000B6A"
- print"D2000C5A D2000D47 D2000E31 D2000F19"
- print"D2001080 D2001190 D20012A0 D20013B0"
- print"D20014C0 D20015D0 D20016E0 D20017F0"
- print"D2001800 D2001910 D2001A20 D2001B30"
- print"D2001C40 D2001D50 D2001E60 D2001F70"
- print"D203000F D2030000"
- print"D2002000 D2002119 D2002231 D2002347"
- print"D200245A D200256A D2002675 D200277D"
- print"D200287F D200297D D2002A75 D2002B6A"
- print"D2002C5A D2002D47 D2002E31 D2002F19"
- print"D2003080 D2003190 D20032A0 D20033B0"
- print"D20034C0 D20035D0 D20036E0 D20037F0"
- print"D2003800 D2003910 D2003A20 D2003B30"
- print"D2003C40 D2003D50 D2003E60 D2003F70"
- print"D203000F D2030000"
- print"D2004000 D2004100 D2004200 D2004380"
- print"D2004400 D2004570 D2004670 D2004770"
- print"D2004800 D2004900 D2004A00 D2004B80"
- print"D2004C00 D2004D00 D2004E00 D2004F80"
- print"D2005080 D2005180 D2005280 D2005300"
- print"D2005480 D2005500 D2005600 D2005700"
- print"D2005800 D2005980 D2005A80 D2005B80"
- print"D2005C00 D2005D80 D2005E80 D2005F80"
- print"D203000F D2030000"
- print"D2006000 D2006100 D2006200 D2006380"
- print"D2006400 D2006570 D2006670 D2006770"
- print"D2006800 D2006900 D2006A00 D2006B80"
- print"D2006C00 D2006D00 D2006E00 D2006F80"
- print"D2007080 D2007180 D2007280 D2007300"
- print"D2007480 D2007500 D2007600 D2007700"
- print"D2007800 D2007980 D2007A80 D2007B80"
- print"D2007C00 D2007D80 D2007E80 D2007F80"
- print"D203000F"
- print"D28100D4 D281029E D2810478"
- print"D2810502 D2810679 D2810702"
- print"D2820008 D2820108 D282020B D282030A"
- print"D283000F D2830000"
- print"D2800000 D2800119 D2800231 D2800347"
- print"D280045A D280056A D2800675 D280077D"
- print"D280087F D280097D D2800A75 D2800B6A"
- print"D2800C5A D2800D47 D2800E31 D2800F19"
- print"D2801080 D2801190 D28012A0 D28013B0"
- print"D28014C0 D28015D0 D28016E0 D28017F0"
- print"D2801800 D2801910 D2801A20 D2801B30"
- print"D2801C40 D2801D50 D2801E60 D2801F70"
- print"D283000F D2830000"
- print"D2802000 D2802119 D2802231 D2802347"
- print"D280245A D280256A D2802675 D280277D"
- print"D280287F D280297D D2802A75 D2802B6A"
- print"D2802C5A D2802D47 D2802E31 D2802F19"
- print"D2803080 D2803190 D28032A0 D28033B0"
- print"D28034C0 D28035D0 D28036E0 D28037F0"
- print"D2803800 D2803910 D2803A20 D2803B30"
- print"D2803C40 D2803D50 D2803E60 D2803F70"
- print"D283000F D2830000"
- print"D2804000 D2804100 D2804200 D2804380"
- print"D2804400 D2804570 D2804670 D2804770"
- print"D2804800 D2804900 D2804A00 D2804B80"
- print"D2804C00 D2804D00 D2804E00 D2804F80"
- print"D2805080 D2805180 D2805280 D2805300"
- print"D2805480 D2805500 D2805600 D2805700"
- print"D2805800 D2805980 D2805A80 D2805B80"
- print"D2805C00 D2805D80 D2805E80 D2805F80"
- print"D283000F D2830000"
- print"D2806000 D2806100 D2806200 D2806380"
- print"D2806400 D2806570 D2806670 D2806770"
- print"D2806800 D2806900 D2806A00 D2806B80"
- print"D2806C00 D2806D00 D2806E00 D2806F80"
- print"D2807080 D2807180 D2807280 D2807300"
- print"D2807480 D2807500 D2807600 D2807700"
- print"D2807800 D2807980 D2807A80 D2807B80"
- print"D2807C00 D2807D80 D2807E80 D2807F80"
- print"D283000F"
- lct=0
- open finp$ for input as #1
- while eof(1)=0
- file input #1,txrd$
- setcaption("b:"+str$(lct)):lct+=1
- if mid$(txrd$,1,1)="[" then:
- if mid$(txrd$,2,1)="f" then:
- chid=val(mid$(txrd$,3,2))
- chid=chid mod 10 'k051649x2 has 10 channels
- chfqv=vldc(lstinf$(txrd$,":","]"))
- chfqv2=int(26.6984611843*2^(8-chfqv))
- if chfqv2>2047 then:chfqv2=2047:end if
- if chfqv2<0 then:chfqv2=0:end if
- chchrfq$=right$("000"+hex$(chfqv2),3)
- if int(chid/5)=0 then
- txrgo$="D201"+right$("00"+hex$(1+2*(chid mod 5)),2)+"0"+mid$(chchrfq$,1,1)
- txrgo$+=" D201"+right$("00"+hex$(0+2*(chid mod 5)),2)+mid$(chchrfq$,2,2)
- else
- txrgo$="D281"+right$("00"+hex$(1+2*(chid mod 5)),2)+"0"+mid$(chchrfq$,1,1)
- txrgo$+=" D281"+right$("00"+hex$(0+2*(chid mod 5)),2)+mid$(chchrfq$,2,2)
- end if
- print ucase$(txrgo$)
- end if
- if mid$(txrd$,2,1)="v" then:
- chid=val(mid$(txrd$,3,2))
- chid=chid mod 10 'k051649x2 has 10 channels
- chvlv=vldc(lstinf$(txrd$,":","]"))*0x10
- chchrvl$=right$("00"+hex$(chvlv),2)
- if int(chid/5)=0 then
- txrgo$="D202"+right$("00"+hex$(chid mod 5),2)+chchrvl$
- else
- txrgo$="D282"+right$("00"+hex$(chid mod 5),2)+chchrvl$
- end if
- print ucase$(txrgo$)
- end if
- if mid$(txrd$,2,3)="wvb" then:
- wvblv=vldc(lstinf$(txrd$,":","]"))
- wvblv2=wvblv*44100
- wvblv3a=wvblv2 mod 65536
- wvblv3b=int(wvblv2/65536)
- wvblv3as$=ucase$(right$("0000"+hex$(wvblv3a),4))
- for ii=1 to wvblv3b:print"61FFFF":next
- print "61"+mid$(wvblv3as$,3,2)+mid$(wvblv3as$,1,2)
- end if
- end if
- wend
- print:print "66":print
- close #1
|