★注意:IchigoJamの最新ファームウェアを利用してください。 (古いファームウェアでは sakura.io と正常な通信ができません) プログラムは2つに分かれています。 LOAD 0 は、GNSSの基本設定です。u-blox社のGNSS用です。 LOAD 1 は、バスロケプログラムの本体です。 LOAD 0 を実行すると、自動的に LOAD 1 も実行されます。 このプログラムはフリーウェアです。無保証です。 改変も自由ですので、素敵なバスロケシステムに発展させてください。 Sujiya Systems. ■LOAD 0に保存しておきます。 10 @ARUN 20 'U-BLOX 30 LED1:?"IchigoLoca":WAIT180:BPS9600:CLS:CLV:UART3 40 FOR L=1 TO 5 50 ?"$PUBX,40,GSA,0,0,0,0,0,0*4E" 60 ?"$PUBX,40,GLL,0,0,0,0,0,0*5C" 70 ?"$PUBX,40,GGA,0,0,0,0,0,0*5A" 80 ?"$PUBX,40,GSV,0,0,0,0,0,0*59" 90 ?"$PUBX,40,VTG,0,0,0,0,0,0*5E" 100 ?"$PUBX,40,RMC,0,3,0,0,0,0*44":NEXT:UART0,1:CLS 110 OUT 4,-1:CLS:CLV:L=#700 120 IF(ANA(8)>5)PLAY"$T200O5E2R25)*(A<30)GOTO130 150 PLAY"":CLS:U=99:R=#780:W=#700 160 LRUN1 ■LOAD 1に保存しておきます。 10 ?"v1.4" 20 P=W:H=0 30 A=0:B=0:Q=R:OUT0 40 K=INKEY():IF(K!=36)CONT 50 K=INKEY():A=A+K:B=B+1 60 IF(B<5)GOTO50 70 IF(B=5)&(A!=377)&(A!=375)GOTO30 80 B=0:F=0:D=0:E=0:J=0:S=0:I=0:T=0:M=ANA(8)/4:IF(ABS(M-V)>9)H=1 90 FOR C=1 TO 46 100 K=INKEY():B=B+1:IF(K=44)F=F+1:G=0:I=0 110 IF(F=3)&(G>7)K=0 120 IF(K=46)|(I>0)I=I+1 130 IF(K=86)E=1 140 IF(K=65)J=1 150 IF(F=7)&(K>47)&(I<4)S=S*10+K-48 160 IF(F=1)&(G>5)|(K=78)GOTO100 170 IF(F=1)&(G>3)T=T*10+(K-48) 180 IF(K>47)D=D+1:G=G+1:IF(D<25)POKE Q,K:Q=Q+1 190 NEXT:OUT(M>127)+2*(M>63)*(M<192)+4*(M<64) 200 IF(E=1)|(J=0)?"V":GOTO 30 210 D=0:?HEX$((P-L)/12+1);".";:IF(S>99)H=1 220 FOR C=0 TO 23 230 E=PEEK(R+C):IF(E=65)E=58 240 D=D*16+E-48:IF(C%2=1)&(C<8)?HEX$(D,2); 250 IF(C%2=1)POKE P,D:D=0:P=P+1 260 NEXT:?"-";S;"-";M:G=0 270 IF(T%30>26)&((P-L)%24=0)Z=1:?"T"; 280 IF(Z=0)&(T%30>26)?"RT":GOTO20 290 IF(P<#778)&(Z=0)CLK:GOTO30 295 IF(M>5)BEEP 300 U=U+1:IF(U>9)H=1:?"*H"; 310 Z=0:IF(H=0)?"*SKIP":GOTO 20 320 POKE P,255,M:?"O>";HEX$(P-W+8) 330 IOT.OUT #700,P-W+8:U=0:V=M:GOTO20