[COLOR=Green]; *******************************
; ***** GPS NEO6M *****
; *******************************[/COLOR]
[COLOR=Navy]#Picaxe [/COLOR][COLOR=Black]14M2[/COLOR]
[COLOR=Navy]#Terminal [B]9600[/B][/COLOR]
[COLOR=Blue]symbol baud_out [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Blue]T4800_8
symbol baud_in [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Blue]T4800_8
symbol UART_in [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Blue]C.0 [/COLOR][COLOR=Green]' vers Tx NEO6[/COLOR]
[COLOR=Blue]symbol UART_out [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Blue]B.4 [/COLOR][COLOR=Green]' vers Rx NEO avec diviseur de tension 5V > 3V[/COLOR]
[COLOR=Blue]setfreq m8
setint [/COLOR][COLOR=Navy][B]%00000000[/B][/COLOR][COLOR=Black],[/COLOR][COLOR=Navy][B]%00000001 [/B][/COLOR][COLOR=Green]'interruption sur C.0
'===================================================================[/COLOR]
[COLOR=Black]main:[/COLOR]
[COLOR=Blue]do
if [/COLOR][COLOR=Purple]bit0 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy][B]1 [/B][/COLOR][COLOR=Blue]then gosub [/COLOR][COLOR=Black]traitement [/COLOR][COLOR=Green]' si trame recue en interruption[/COLOR]
[COLOR=Blue]loop[/COLOR]
[COLOR=Green]'---------------------------------------------------------------------[/COLOR]
[COLOR=Black]traitement:
[/COLOR][COLOR=Blue]gosub [/COLOR][COLOR=Black]debug_aff [/COLOR][COLOR=Green]'option
[/COLOR][COLOR=Purple]bptr[/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy][B]17
[/B][/COLOR]
[COLOR=Blue]if [/COLOR][COLOR=Purple]@bptr [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Red]"A" [/COLOR][COLOR=Blue]then [/COLOR][COLOR=Green]'si signal correct
[/COLOR][COLOR=Purple]bptr[/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy][B]44 [/B][/COLOR][COLOR=Green]'debut de trame vitesse
[/COLOR][COLOR=Blue]if [/COLOR][COLOR=Purple]@bptr [/COLOR][COLOR=DarkCyan]<> [/COLOR][COLOR=Red]"," [/COLOR][COLOR=Blue]then
[/COLOR][COLOR=Green]'bptr= 44
[/COLOR][COLOR=Purple]w0 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Purple]@bptrinc [/COLOR][COLOR=DarkCyan]- [/COLOR][COLOR=Navy][B]48 [/B][/COLOR][COLOR=DarkCyan]* [/COLOR][COLOR=Navy][B]100
[/B][/COLOR][COLOR=Purple]w0 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Purple]@bptrinc [/COLOR][COLOR=DarkCyan]- [/COLOR][COLOR=Navy][B]48 [/B][/COLOR][COLOR=DarkCyan]* [/COLOR][COLOR=Navy][B]10 [/B][/COLOR][COLOR=DarkCyan]+ [/COLOR][COLOR=Purple]w0
w0 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Purple]@bptrinc [/COLOR][COLOR=DarkCyan]- [/COLOR][COLOR=Navy][B]48 [/B][/COLOR][COLOR=DarkCyan]+ [/COLOR][COLOR=Purple]w0 [/COLOR][COLOR=DarkCyan]* [/COLOR][COLOR=Navy][B]1852 [/B][/COLOR][COLOR=Green]'calcul des noeuds en m/h
[/COLOR][COLOR=Blue]peek [/COLOR][COLOR=Navy][B]48[/B][/COLOR][COLOR=Black], [/COLOR][COLOR=Purple]w1
w1[/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Purple]w1 [/COLOR][COLOR=DarkCyan]- [/COLOR][COLOR=Navy][B]48 [/B][/COLOR][COLOR=DarkCyan]* [/COLOR][COLOR=Navy][B]185 [/B][/COLOR][COLOR=Green]'calcul des 1/10 noeuds en m/h
[/COLOR][COLOR=Purple]w0[/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Purple]w1[/COLOR][COLOR=DarkCyan]+[/COLOR][COLOR=Purple]w0
[/COLOR][COLOR=Blue]sertxd([/COLOR][COLOR=Red]" Vitesse en m/h: "[/COLOR][COLOR=Black],#[/COLOR][COLOR=Purple]w0 [/COLOR][COLOR=Black], [/COLOR][COLOR=Blue]cr[/COLOR][COLOR=Black], [/COLOR][COLOR=Blue]lf)
else
sertxd([/COLOR][COLOR=Red]" Vitesse nulle" [/COLOR][COLOR=Black], [/COLOR][COLOR=Blue]cr[/COLOR][COLOR=Black], [/COLOR][COLOR=Blue]lf)
endif
else
sertxd([/COLOR][COLOR=Red]" pas de signal correct!" [/COLOR][COLOR=Black],[/COLOR][COLOR=Blue]cr[/COLOR][COLOR=Black],[/COLOR][COLOR=Blue]lf)
endif
setint [/COLOR][COLOR=Navy][B]%00000000[/B][/COLOR][COLOR=Black],[/COLOR][COLOR=Navy][B]%00000001 [/B][/COLOR][COLOR=Green]'rearmement interruption[/COLOR]
[COLOR=Blue]return[/COLOR]
[COLOR=Green]'----------------------------------------------------------------------[/COLOR]
[COLOR=Black]debug_aff:
[/COLOR][COLOR=Purple]bptr[/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy][B]10 [/B][/COLOR][COLOR=Green]' debut de trame RMC
[/COLOR][COLOR=Blue]sertxd([/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Blue]cr[/COLOR][COLOR=Black],[/COLOR][COLOR=Blue]lf )
return
[B][U]interrupt:
[/U][/B][/COLOR][COLOR=Purple]bptr[/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy][B]10
[/B][/COLOR][COLOR=Blue]serin UART_in[/COLOR][COLOR=Black], [/COLOR][COLOR=Blue]baud_in[/COLOR][COLOR=Black], [/COLOR][COLOR=Blue]( [/COLOR][COLOR=Red]"RMC," [/COLOR][COLOR=Blue])[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]@bptrinc
bit0 [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Navy][B]1[/B][/COLOR]
[COLOR=Blue]return[/COLOR]