I want to have two times randomized, space and pulse, but they seem to be the same (=short) all the time.
What have I done wrong?



'Define ADCIN parameters
ANSEL = %00001101 'GP4 = AN3
CMCON0 = %00000111 'Deactivate the comparator
DEFINE ADC_BITS 8 'Set number of bits in result
DEFINE ADC_CLOCK 5 'Set clock source
DEFINE ADC_SAMPLEUS 50 'Set sampling time in us

OSCCON = %01110101 'Sets internal osc to 8 Mhz and stable
DEFINE OSC 8 'Clock = 8 MHz

TRISIO = %11111111 'Defining PORT (all inputs)

orange var byte 'Value for base colour
colour var byte 'Value for colour
space var byte 'Value for time between pulses
spacet var byte 'Counter for space time
spacet1 var word 'Value for random space time
pulse var byte 'Value for pulse time
pulset var byte 'Counter for pulse time
pulset1 var word 'Value for random pulse time

orange = 45
space = 100
pulse = 16
colour = orange


loop4:
'spacet = space
'pulset = pulse

loop1: Pause 10 'Wait 10 ms
colour = colour + 1 'Increase colour by 1
pulset = pulset - 1 'Decrease pulse time by 1
hpwm 1, colour, 22000 'channel 1, duty cycle, freq
if pulset = 0 then goto loop2 'Go to loop2
goto loop1

loop2: Pause 10 'Wait 10 ms
colour = colour - 1 'Decrease colour by 1
hpwm 1, colour, 22000 'channel 1, duty cycle, freq
if colour = orange then: random spacet1'Randomize value in spacet1
spacet = spacet1 / 655
spacet = spacet + 10
goto loop3 'Go to loop3
goto loop2

loop3: Pause 10 'Wait 10 ms
colour = orange
spacet = spacet - 1 'Decrease space time by 1
hpwm 1, colour, 22000 'channel 1, duty cycle, freq
if spacet = 0 then: random pulset1'Randomize value in pulset1
pulset = pulset1 / 4096
goto loop4 'Go to loop4
goto loop3
end


PS. There are some unused code from an older application using ADC, but that should not interfere.