This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LP5569: Can't run the same program on all 3 engines

Part Number: LP5569

Hi,

I wrote this program to pilot led1, led2, led3 and a group of led (namely kbd). I modify control flow by writing local variables (ra, 42h to 44h) for each engine and global variables (rd, 3eh)

Instruction on all 3 engines are almost identical but only engine 1 seems to work. All three engines are configured to run in mode 'free run' and my startup configuration works very well with other programs that use all  three engines but this particular program don't.

Maybe I'm missing something?

Thanks for your support,

Best regards,

Daniel

_____________________________

led1:          	dw             	0000000000000001b   	 
led2:          	dw             	0000000000000010b   	 
led3:          	dw             	0000000000000100b   	 
kbd:           	dw             	0000000111111000b   	 
all:           	dw             	0000000111111111b   	 
               	               	                    	 
.segment       	program1       	                    	; LED 1 and KBD Program              	 
               	map_addr       	all                 	 
               	set_pwm        	0                   	 
               	               	                    	 
m1:            	               	                    	 
               	map_addr       	kbd                 	 
               	set_pwm        	rd                  	 
               	map_addr       	led1                	 
               	ld             	rb, 0               	 
               	je             	rb, ra, l1off       	 
               	ld             	rb, 1               	 
               	je             	rb, ra, l1pulse     	 
               	ld             	rb, 2               	 
               	je             	rb, ra, l1flash     	 
               	ld             	rb, 3               	 
               	je             	rb, ra, l1on        	 
l1off:         	               	                    	 
               	set_pwm        	0                   	 
               	branch         	0, m1               	 
l1pulse:       	               	                    	 
               	ramp           	0.5, 255            	 
               	ramp           	0.5, -255           	 
               	branch         	0, m1               	 
l1flash:       	               	                    	 
               	set_pwm        	255                 	 
               	wait           	0.3                 	 
               	set_pwm        	0                   	 
               	wait           	0.3                 	 
               	branch         	0, m1               	 
l1on:          	               	                    	 
               	set_pwm        	255                 	 
               	branch         	0, m1               	 
               	end            	                    	 
               	               	                    	 
.segment       	program2       	                    	; LED 2 Program
               	               	                    	 
m2:            	               	                    	 
               	map_addr       	led2                	 
               	ld             	rb, 0               	 
               	je             	rb, ra, l2off       	 
               	ld             	rb, 1               	 
               	je             	rb, ra, l2pulse     	 
               	ld             	rb, 2               	 
               	je             	rb, ra, l2flash     	 
               	ld             	rb, 3               	 
               	je             	rb, ra, l2on        	 
l2off:         	               	                    	 
               	set_pwm        	0                   	 
               	branch         	0, m2               	 
l2pulse:       	               	                    	 
               	ramp           	0.5, 255            	 
               	ramp           	0.5, -255           	 
               	branch         	0, m2               	 
l2flash:       	               	                    	 
               	set_pwm        	255                 	 
               	wait           	0.3                 	 
               	set_pwm        	0                   	 
               	wait           	0.3                 	 
               	branch         	0, m2               	 
l2on:          	               	                    	 
               	set_pwm        	255                 	 
               	branch         	0, m2               	 
               	end            	                    	 
               	               	                    	 
.segment       	program3       	                    	; LED 3 Program
               	               	                    	 
m3:            	               	                    	 
               	map_addr       	led3                	 
               	ld             	rb, 0               	 
               	je             	rb, ra, l3off       	 
               	ld             	rb, 1               	 
               	je             	rb, ra, l3pulse     	 
               	ld             	rb, 2               	 
               	je             	rb, ra, l3flash     	 
               	ld             	rb, 3               	 
               	je             	rb, ra, l3on        	 
l3off:         	               	                    	 
               	set_pwm        	0                   	 
               	branch         	0, m3               	 
l3pulse:       	               	                    	 
               	ramp           	0.5, 255            	 
               	ramp           	0.5, -255           	 
               	branch         	0, m3               	 
l3flash:       	               	                    	 
               	set_pwm        	255                 	 
               	wait           	0.3                 	 
               	set_pwm        	0                   	 
               	wait           	0.3                 	 
               	branch         	0, m3               	 
l3on:          	               	                    	 
               	set_pwm        	255                 	 
               	branch         	0, m3               	 
               	end