INCLUDE "modedefs.bas"
Throttle Var PortA.0
ClutchIn var PortA.1
LineLockIn var PortA.2
'MCLR var PortA.3
'DEBUG var PortA.4
Arming var PortA.5
ClutchOut var PortC.0 'Good pinout
LineLockOut var PortC.1 'Good pinout
Aux1Out var PortC.3 'Good pinout
Aux2Out var PortC.2 'Good pinout
Jumper1 var PortC.4
Jumper2 var PortC.5
Marker var bit
Counter var byte
Timer var byte
define OSC 8
DEFINE DEBUG_REG PortA
DEFINE DEBUG_BIT 4
DEFINE DEBUG_BAUD 9600
DEFINE DEBUG_MODE 1
Option_Reg.7=0 'Pull-Ups Enabled
TRISA=%100111
TRISC=%110000
ANSEL=%00000000
Counter = 0
INTCON.7=1 'Enables global interrupts
INTCON.3=1 'Enables IOC
IOCA.5 = 0
IOCA.4 = 0
IOCA.3 = 0
IOCA.2 = 0
IOCA.1 = 0
IOCA.0 = 1 'Throttle Interrupt On
intcon.0=0
On Interrupt goto Starting_Line
GOsub Flasher
Loop:
debug "No Interrupt",dec Throttle, cr
If LineLockIn = 0 then
High LineLockOut
else
Low LineLockOut
endif
If LineLockIn = 0 then
High LineLockOut
else
Low LineLockOut
endif
If ClutchIn = 0 then
High ClutchOut
else
Low ClutchOut
endif
Goto Loop
Flasher:
Counter = 0
Repeat
Counter = Counter + 1
High ClutchOut
High LineLockOut
High Aux1Out
High Aux2Out
pause 100
Low ClutchOut
Low LineLockOut
Low Aux1Out
Low Aux2Out
pause 100
until Counter = 10
Counter = 0
Return
Starting_Line:
disable
If Throttle = 0 then
debug "Throttle On", DEC Throttle, cr
'Gosub Activate
pause 2000
'Marker = 1
endif
If Throttle = 1 then
debug "Throttle Off", DEC Throttle, cr
Low ClutchOut
Low LineLockOut
Low Aux1Out
Low Aux2Out
'Pause 3500
'pause 3500
pause 2000
'Marker = 0
endif
intcon.0=0
resume
enable
Activate:
High ClutchOut
High LineLockOut
High Aux1Out
High Aux2Out
return
Deactivate:
Low ClutchOut
Low LineLockOut
Low Aux1Out
Low Aux2Out
return
Bookmarks