Hi Chris

Beg your pudin, its been driving me mad for weeks, (I got in a right mess, thus the reason for the post on here)
I did cut and paste (several times) I have about 9 versions of the code here.
The mix up is I had cut pasted the original code from here for my 1st message,
I had changed it around to match my circuit, both did work ok.
(maybe I should had given up and gone down the pub)


With a clear head I have re programed the pic,
I have tried in my circuit and also bread boarded it.
Here's what I get when powered up,

GP0.0 high no change
GP0.1 low no change
GP0.2 high no change
GPO.3 high no change
GPO.4 high no change
GPO.5 high/low trigger (i/p toggle)

Your coding is re pasted below so you can check nothing was corrupted in the copy/past process.

Cheers..

'************************************************* ***************
'* Name : UNTITLED.BAS *
'* Author : Chris Barron *
'* Notice : Copyright (c) 2009 Chris Barron *
'* : All Rights Reserved *
'* Date : 01/04/2009 *
'* Version : 1.0 *
'* Notes : *
'* : *
'************************************************* ***************
'************************************************* * *************

'G7JIQ MICRO LINK REPEATER
'PIC 12F675
'Internal RC clock
'
' PIC Defines
' -----------
@ DEVICE pic12F675, INTRC_OSC_NOCLKOUT
' System Clock Options (Internal)
@ DEVICE pic12F675, WDT_ON
' Watchdog Timer
@ DEVICE pic12F675, PWRT_ON
' Power-On Timer
@ DEVICE pic12F675, MCLR_OFF
' Master Clear Options (Internal)
@ DEVICE pic12F675, BOD_ON
' Brown-Out Detect
@ DEVICE pic12F675, CPD_OFF
' Data Memory Code Protect
@ DEVICE pic12F675, PROTECT_OFF
' Program Code Protection

'
' Define Hardware
' ---------------
InputTrigger var GPIO.5 ' Input normally HIGH, goes LOW to Trigger
InputReset var GPIO.2 ' Input normally HIGH, goes LOW to RESET
OutputLine var GPIO.0 ' Normally HIGH, goes LOW when triggered
Led var GPIO.1

'
' Define Variables
' ----------------
DelayTick var Byte ' 100mS Tick Counter
myflags var byte
'
' Initialise PIC
' --------------
Reset:
TRISIO=%00100100 ' Preset I/O
CMCON=%00000111 ' Disable Comparators
ANSEL=%00000000 ' Disable ADC
DelayTick=100 ' Reset Counter
myflags = 0
high OutputLine ' Everything RESET



' Main Program Loop
' -----------------
Loop:
'
' Test for RESET
' --------------
While InputReset=0 ' Just wait here if RESET
high OutputLine ' Reset Output
myflags = 0
DelayTick = 100
Wend

' We're using the lower 2 bits of the 'myflags' register to store the state of
' the input pin over the last two program loop iterations
' myflags.0 stores the current pin state and myflags.1 stores the previous
'state.
myflags.1 = myflags.0 ' Move the last 'current state' into the 'last state' bit
myflags.0 = InputTrigger ' Store the current state

' By storing the two states we can detect the transition from high to low
' A high to low transition = 00000010 = decimal 2
' A low to high transition = 00000001 = decimal 1

if myflags = 2 then
DelayTick = 100 ' A high to low transition, reset the delay
else
if delaytick > 0 then delaytick = delaytick - 1
endif

pause 10 ' adjust to get the resolution required (10 x DelayTick = total hang time)

if inputtrigger = 0 then low OutputLine; if input is active set output active

if ((inputtrigger = 1) and (Delaytick = 0)) then high outputline

goto loop: