#PICAXE 08M2
' ******************** Inputs **********************************
symbol Speedsense_in = C.3 'speed sense signal in IC pin 4
' Serial data in = C.5
' ******************** Outputs **********************************
symbol sense_out = C.4 ' speed sense relay pin3
symbol Serial_Line = C.2 ' Serial Line relay pin 5
symbol Serial_Sting = C.0 ' Hserout pin 7
' ******************** Variables *********************************
symbol Activated = b0 ' Serial in varialbe
symbol No_Serial_Flag = b7 ' Serial in varialbe
' ******************** Init ************************************ :
let Activated = 1
Low Serial_line ' Close serial line relay
Low sense_out ' Close sense_out Relay
setfreq M16
hsersetup 207,%00000 'from picaxe calculator
pause 500
disconnect
pause 500
Main:
serrxd [500,No_Serial_Data],($10) ' wait for hex 10
If Activated = 0 then ' if 0 equipment not runnunig
pause 12000 ' so send start commands
High sense_out ' Open sense relay
pause 4000
gosub Start
Activated = 1
endif
goto Main
No_Serial_Data: ' No serial data receive
Activated = 0
goto Main
endif
Start:
gosub Enter ' Enter command routine
gosub Display ' Display command routine
Low Serial_line ' Close serial line relay
Low sense_out ' Close sense Relay
return
Enter:
high Serial_line ' Open serial line relay
pause 500 ' pause .25 sec.
' Send Enter command sting
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$FF,$FF,$FF,$CC,$10,$10,$36,$12,$1B,$F1,$F5,$F5,$80,$E8)
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$02,$FF,$FF,$CC,$30,$75,$12,$1B,$F1,$F5,$F5,$80,$88)
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$03,$FF,$FF,$CC,$82,$72,$12,$1B,$F1,$F5,$F5,$80,$38) ' Pause for .25 seconds
hserout Serial_Sting, ($10,$03,$10,$8A,$0D,$0A,$04,$FF,$FF,$CC,$19,$1B,$F9,$12,$1B,$F1,$F5,$F5,$80,$18)
hserout Serial_Sting, ($10,$03,$10,$8A,$0D,$0A,$1B,$FF,$FF,$CC,$15,$22,$26,$12,$1B,$F1,$F5,$F5,$80,$D1)
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$FF,$FF,$FF,$CC,$10,$10,$36,$12,$1B,$F1,$F5,$F5,$80,$E8)
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$02,$FF,$FF,$CC,$30,$75,$12,$1B,$F1,$F5,$F5,$80,$88)
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$03,$FF,$FF,$CC,$82,$72,$12,$1B,$F1,$F5,$F5,$80,$38)
hserout Serial_Sting, ($10,$03,$10,$8A,$0D,$0A,$04,$FF,$FF,$CC,$19,$1B,$F9,$12,$1B,$F1,$F5,$F5,$80,$18)
hserout Serial_Sting, ($10,$03,$10,$8A,$0D,$0A,$1B,$1B,$FF,$CC,$15,$22,$26,$12,$1B,$F1,$F5,$F5,$80,$D2)
pause 500 ' pause .25 sec.
low Serial_line ' Close serial line relay
return
Display:
high Serial_line ' Open serial line relay
pause 1000
' Send Display command sting
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$FF,$1B,$03,$CC,$14,$26,$12,$1B,$F1,$F5,$F5,$80,$F3)
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$02,$1B,$03,$CC,$34,$64,$12,$1B,$F1,$F5,$F5,$80,$94)
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$03,$1B,$03,$CC,$83,$04,$12,$1B,$F1,$F5,$F5,$80,$A4)
hserout Serial_Sting, ($10,$03,$10,$8A,$0D,$04,$1B,$03,$CC,$1B,$1B,$F9,$12,$1B,$F1,$F5,$F5,$80,$30)
hserout Serial_Sting, ($10,$03,$10,$8A,$0D,$1B,$1B,$03,$CC,$15,$22,$65,$12,$1B,$F1,$F5,$F5,$80,$91)
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$FF,$1B,$03,$CC,$14,$26,$12,$1B,$F1,$F5,$F5,$80,$F3)
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$02,$1B,$03,$CC,$34,$64,$12,$1B,$F1,$F5,$F5,$80,$94)
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$03,$1B,$03,$CC,$83,$04,$12,$1B,$F1,$F5,$F5,$80,$A4)
hserout Serial_Sting, ($10,$03,$10,$8A,$0D,$04,$1B,$FF,$CC,$1B,$1B,$F9,$12,$1B,$F1,$F5,$F5,$80,$32)
hserout Serial_Sting, ($10,$03,$10,$8A,$0D,$1B,$1B,$FF,$CC,$15,$22,$65,$12,$1B,$F1,$F5,$F5,$80,$93)
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$FF,$1B,$FF,$CC,$14,$26,$12,$1B,$F1,$F5,$F5,$80,$F5)
hserout Serial_Sting, ($10,$03,$10,$8A,$0C,$02,$1B,$FF,$CC,$34,$64,$12,$1B,$F1,$F5,$F5,$80,$96)
hserout Serial_Sting, ($10,$03,$10,$8A,$0c,$03,$1B,$FF,$CC,$83,$04,$12,$1B,$F1,$F5,$F5,$80,$A6)
hserout Serial_Sting, ($10,$03,$10,$8A,$0D,$04,$1B,$FF,$CC,$1B,$1B,$F9,$12,$1B,$F1,$F5,$F5,$80,$32)
pause 500 ' pause .25 sec.
low Serial_line ' Close serial line relay