I built this for under $10.00 but would probably cost most people under $20.00
Read the programming information to see all this mod does.
Sorry I am not very good at explaining things but I will try to answer any questions.
the following pic shows the ckt. in the Nav case in the trunk.
Code
Code: Select all
' Nav Lock out Over Ride for Honda GL1800 2006
' Installed Yes Oct.11, 2012
' Verson 1.2
'
' Oct 11,2012
'
' added additional delay in the display command
' if the bike is moving.
'
' Verson 1.1
'
' Jun 02,2012
'
' fixed problem with RVS input
'
' Verison 1.0
'
' Sept. 29, 2011
'
' added map routine
' added Dislpay routine
'
'
' Nav lock out Over Ride for the Honda GL1800
' Note this program on startup waits
' approx. 12 secs. then sends the map and enter
' codes to the nav board to acknowlage
' the Nav nag screen.
'
' If the bike starts moving before 12sec.then
' the program opens the speed sense line
' over riding the lockout and acknowlaging
' the nag screen.
' If the bike is moving and the reverse (RVS) switch
' on the handlebar is pressed the speed sense
' line is opened allowing the nav system to be accessed
' If the Reverse circuit malfunctions and holds the
' Reverse_Switch pin low or the RVS is pressed
' for too long while moving the timer times out
' and the Lockout override will be stopped until
' the Reverse_Switch pin goes high and then low again
' output C.1 is pin 6 the speed sense relay
' output C.2 is pin 5 the speed sense relay
' Input C.3 is pin 4 is the input for the
' speed sense in line
' Input pin4 pin 3 is the RVS input
'#COM3
#PICAXE 08M2
' ******************** Inputs **********************************
symbol Speedsense_in = C.3 'speed sense signal in IC pin 4
symbol Reverse_Switch = pin4 'Digital in Reverse switch in IC pin 3
' ******************** Outputs **********************************
symbol speed_sense_out = C.1 ' speed sense relay pin6
symbol Serial_Line = C.2 ' Serial Line relay pin 5
symbol Serial_Sting = C.0 ' Hserout pin 7
' ******************** Variables *********************************
symbol Speed = b1 ' Speed variable
symbol timer = w5 ' Time for Reverse loop
symbol timelimit = w6 ' Time limit for Reverse loop
' ******************** Init ************************************ :
let timelimit = 250 ' preload time out for Reverse loop
let pins = %00000000 ' preset out puts to low
Low Serial_line ' Close serial line relay
Low speed_sense_out ' Close Speedsense Relay
' Speed_sense_out close
setfreq M16
hsersetup 208,%10010
Main: ' Run at startup
pause 45000 ' wait 12 sec.
gosub moving ' if moving open speed_sense relay
gosub Map ' Map command routine
gosub Enter ' Enter command routine
gosub Display ' Display command routine
Low Serial_line ' Close serial line relay
Low speed_sense_out ' Close Speedsense Relay
' The following loop allows access to the Nav while moving
' To activate this feature press the RVS button All the nav
' features will be availible until the RVS button is released
' or the bike stops moving or the timelimit is meet..
' While this feature is used the position on the map will not be
' updated.
Lockout_Override: ' Main loop
Do
If Reverse_Switch = 1 then ' RVS button pressed
timer = 0 ' reset time
else
Count Speedsense_in,1000, Speed ' Read Speed_sence_in C.4
If Speed > 2 then ' Moving
gosub RVS_Override ' Override routine
endif
endif
loop
End ' End of main program
RVS_Override:
Do until timer => timelimit
Count Speedsense_in,1000, Speed ' Read Speed_sence_in C.4
inc timer
pause 20 ' pause for timing
If Speed > 2 and Reverse_Switch = 0 then ' moving and Revese_Switch pressed
high speed_sense_out ' Open Speedsense Relay
else
timer = timelimit ' Infinite loop override
low speed_sense_out ' Close Speedsense Relay
gosub Display ' Display command routine
endif
loop
low speed_sense_out ' Close Speedsense Relay
return
Moving: ' if moving open speed_sense relay
Count Speedsense_in,1000, Speed ' Read Speed_sence_in C.4
If Speed > 2 then
High speed_sense_out ' Open Speed_sense relay
pause 3000
endif
return
' the following routines send button commands.
Map:
high Serial_line ' Open serial line relay send signal to Nav
pause 4000 ' pause 1 millisec.
hserout Serial_Sting,($10,$03,$10,$8A,$0C,$03,$00,$01,$CC,$82,$72,$12,$00,$F1,$F5,$F5)' Send Map command sting
hserout Serial_Sting,($80,$39,$10,$03,$10,$8A,$0D,$04,$00,$01,$CC,$00,$00,$F9,$12,$00)
hserout Serial_Sting,($F1,$F5,$F5,$80,$32,$10,$03,$10,$8A,$0D,$00,$00,$01,$CC,$15,$22)
hserout Serial_Sting,($92,$12,$00,$F1,$F5,$F5,$80,$66,$10,$03,$10,$8A,$0C,$01,$00,$21)
hserout Serial_Sting,($CC,$17,$01,$12,$00,$F1,$F5,$F5,$80,$F7,$10,$03,$10,$8A,$0C,$02)
hserout Serial_Sting,($00,$21,$CC,$37,$39,$12,$00,$F1,$F5,$F5,$80,$9E,$10,$03,$10,$8A)
hserout Serial_Sting,($0C,$03,$00,$21,$CC,$82,$72,$12,$00,$F1,$F5,$F5,$80,$19,$10,$03)
hserout Serial_Sting,($10,$8A,$0D,$04,$00,$21,$CC,$00,$00,$F9,$12,$00,$F1,$F5,$F5,$80)
hserout Serial_Sting,($12,$10,$03,$10,$8A,$0D,$00,$00,$21,$CC,$15,$22,$92,$12,$00,$F1)
hserout Serial_Sting,($F5,$F5,$80,$46,$10,$03,$10,$8A,$0C,$01,$00,$21,$CC,$17,$01,$12)
hserout Serial_Sting,($00,$F1,$F5,$F5,$80,$F7,$10,$03,$10,$8A,$0C,$02,$00,$21,$CC,$37)
hserout Serial_Sting,($39,$12,$00,$F1,$F5,$F5,$80,$9E,$10,$03,$10,$8A,$0C,$03,$00,$21)
hserout Serial_Sting,($CC,$82,$72,$12,$00,$F1,$F5,$F5,$80,$19,$10,$03,$10,$8A,$0D,$04)
hserout Serial_Sting,($00,$21,$CC,$00,$00,$F9,$12,$00,$F1,$F5,$F5,$80,$12,$10,$03,$10)
hserout Serial_Sting,($8A,$0D,$00,$00,$21,$CC,$15,$22,$92,$12,$00,$F1,$F5,$F5,$80,$46)
hserout Serial_Sting,($10,$03,$10,$8A,$0C,$01,$00,$21,$CC,$17,$01,$12,$00,$F1,$F5,$F5)
hserout Serial_Sting,($80,$F7,$10,$03,$10,$8A,$0C,$02,$00,$21,$CC,$37,$39,$12,$00,$F1)
hserout Serial_Sting,($F5,$F5,$80,$9E,$10,$03,$10,$8A,$0C,$03,$00,$01,$CC,$82,$72,$12)
hserout Serial_Sting,($00,$F1,$F5,$F5,$80,$39,$10,$03,$10,$8A,$0D,$04,$00,$01,$CC,$00)
hserout Serial_Sting,($00,$F9,$12,$00,$F1,$F5,$F5,$80,$32,$10,$03,$10,$8A,$0D,$00,$00)
hserout Serial_Sting,($01,$CC,$15,$22,$92,$12,$00,$F1,$F5,$F5,$80,$66,$10,$03,$10,$8A)
hserout Serial_Sting,($0C,$01,$00,$01,$CC,$17,$01,$12,$00,$F1,$F5,$F5,$80,$17,$10,$03)
hserout Serial_Sting,($10,$8A,$0C,$02,$00,$01,$CC,$37,$39,$12,$00,$F1,$F5,$F5,$80,$BE)
pause 500 ' pause 1 sec.
low Serial_line ' Close serial line relay
return
Enter:
high Serial_line ' Open serial line relay
pause 500 ' pause 1 sec.
hserout Serial_Sting, ($10,$8A,$0C,$01,$01,$01,$CC,$10,$10,$36,$12,$00,$F1,$F5) ' Send Enter command sting
hserout Serial_Sting, ($F5,$80,$E8,$10,$03,$10,$8A,$0C,$02,$01,$01,$CC,$30,$75,$12,$00)
hserout Serial_Sting, ($F1,$F5,$F5,$80,$88,$10,$03,$10,$8A,$0C,$03,$01,$01,$CC,$82,$72) ' Pause for .25 seconds
hserout Serial_Sting, ($12,$00,$F1,$F5,$F5,$80,$38,$10,$03,$10,$8A,$0D,$0A,$04,$01,$01)
hserout Serial_Sting, ($CC,$19,$00,$F9,$12,$00,$F1,$F5,$F5,$80,$18,$10,$03,$10,$8A,$0D)
hserout Serial_Sting, ($0A,$00,$01,$01,$CC,$15,$22,$26,$12,$00,$F1,$F5,$F5,$80,$D1,$10)
hserout Serial_Sting, ($03,$10,$8A,$0C,$01,$01,$01,$CC,$10,$10,$36,$12,$00,$F1,$F5,$F5)
hserout Serial_Sting, ($80,$E8,$10,$03,$10,$8A,$0C,$02,$01,$01,$CC,$30,$75,$12,$00,$F1)
hserout Serial_Sting, ($F5,$F5,$80,$88,$10,$03,$10,$8A,$0C,$03,$01,$01,$CC,$82,$72,$12)
hserout Serial_Sting, ($00,$F1,$F5,$F5,$80,$38,$10,$03,$10,$8A,$0D,$0A,$04,$01,$01,$CC)
hserout Serial_Sting, ($19,$00,$F9,$12,$00,$F1,$F5,$F5,$80,$18,$10,$03,$10,$8A,$0D,$0A)
hserout Serial_Sting, ($00,$00,$01,$CC,$15,$22,$26,$12,$00,$F1,$F5,$F5,$80,$D2,$10,$03)
pause 500 ' pause 1 sec.
low Serial_line ' Close serial line relay
return
Display:
high Serial_line ' Open serial line relay
If Speed > 2 then ' moving and Revese_Switch pressed
pause 7500 ' pause 4 sec.
else
pause 2500 ' pause 1 sec.
endif
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$01,$00,$03,$CC,$14,$26,$12,$00,$F1,$F5,$F5) ' Send Display command sting
hserout Serial_Sting, ($80,$F3,$10,$03,$10,$8A,$0C,$02,$00,$03,$CC,$34,$64,$12,$00,$F1)
hserout Serial_Sting, ($F5,$F5,$80,$94,$10,$03,$10,$8A,$0C,$03,$00,$03,$CC,$83,$04,$12)
hserout Serial_Sting, ($00,$F1,$F5,$F5,$80,$A4,$10,$03,$10,$8A,$0D,$04,$00,$03,$CC,$00)
hserout Serial_Sting, ($00,$F9,$12,$00,$F1,$F5,$F5,$80,$30,$10,$03,$10,$8A,$0D,$00,$00)
hserout Serial_Sting, ($03,$CC,$15,$22,$65,$12,$00,$F1,$F5,$F5,$80,$91,$10,$03,$10,$8A)
hserout Serial_Sting, ($0C,$01,$00,$03,$CC,$14,$26,$12,$00,$F1,$F5,$F5,$80,$F3,$10,$03)
hserout Serial_Sting, ($10,$8A,$0C,$02,$00,$03,$CC,$34,$64,$12,$00,$F1,$F5,$F5,$80,$94)
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$03,$00,$03,$CC,$83,$04,$12,$00,$F1,$F5,$F5)
hserout Serial_Sting, ($80,$A4,$10,$03,$10,$8A,$0D,$04,$00,$01,$CC,$00,$00,$F9,$12,$00)
hserout Serial_Sting, ($F1,$F5,$F5,$80,$32,$10,$03,$10,$8A,$0D,$00,$00,$01,$CC,$15,$22)
hserout Serial_Sting, ($65,$12,$00,$F1,$F5,$F5,$80,$93,$10,$03,$10,$8A,$0C,$01,$00,$01)
hserout Serial_Sting, ($CC,$14,$26,$12,$00,$F1,$F5,$F5,$80,$F5,$10,$03,$10,$8A,$0C,$02)
hserout Serial_Sting, ($00,$01,$CC,$34,$64,$12,$00,$F1,$F5,$F5,$80,$96,$10,$03,$10,$8A)
hserout Serial_Sting, ($0c,$03,$00,$01,$CC,$83,$04,$12,$00,$F1,$F5,$F5,$80,$A6,$10,$03)
hserout Serial_Sting, ($10,$8A,$0D,$04,$00,$01,$CC,$00,$00,$F9,$12,$00,$F1,$F5,$F5,$80)
hserout Serial_Sting, ($32)
'
pause 500 ' pause 1 sec.
low Serial_line ' Close serial line relay