Hi, I've been pulling my hair out with this one. I'm using the code from WestAust55. Well a chopped down version of it. This only gives a transition RGB then an input of RGB and displays it on the terminal in the PE.
It seems only to work on the 18M2. I have tried the same code adjusting the Picaxe chip to 14M2,20X2,and 40X2 but it refuses to do the same thing.
It all seems fine in each on the simulator. It just hangs waiting for the colorPal to input. Weird!
Any ideas?
Kando.
It seems only to work on the 18M2. I have tried the same code adjusting the Picaxe chip to 14M2,20X2,and 40X2 but it refuses to do the same thing.
It all seems fine in each on the simulator. It just hangs waiting for the colorPal to input. Weird!
Any ideas?
Kando.
Code:
[color=Navy]#picaxe [/color][color=Black]18M2[/color][color=Green];14M2;20X2;40X2[/color]
[color=Navy]#no_data[/color]
[color=Green];#no_table[/color]
[color=Navy]#terminal 4800[/color][color=Green];9600;for 20 and 40[/color]
[color=Blue]SYMBOL [/color][color=Black]sio [/color][color=DarkCyan]= [/color][color=Blue]C.0 [/color][color=Green]; Pin used for Serial I/O com with the ColorPAL.[/color]
[color=Blue]SYMBOL [/color][color=Black]sinp [/color][color=DarkCyan]= [/color][color=Purple]pinC.0 [/color][color=Green]; Same pin but definition as an input for tests.[/color]
[color=Blue]SYMBOL [/color][color=Black]red [/color][color=DarkCyan]= [/color][color=Purple]w1 [/color][color=Green]; Reconstructed RGB values received from ColorPAL.[/color]
[color=Blue]SYMBOL [/color][color=Black]grn [/color][color=DarkCyan]= [/color][color=Purple]w2[/color]
[color=Blue]SYMBOL [/color][color=Black]blu [/color][color=DarkCyan]= [/color][color=Purple]w3[/color]
[color=Blue]SYMBOL [/color][color=Black]rd1 [/color][color=DarkCyan]= [/color][color=Purple]b8 [/color][color=Green]; Each of the raw three colour bytes for RGB as received[/color]
[color=Blue]SYMBOL [/color][color=Black]rd2 [/color][color=DarkCyan]= [/color][color=Purple]b9[/color]
[color=Blue]SYMBOL [/color][color=Black]rd3 [/color][color=DarkCyan]= [/color][color=Purple]b10[/color]
[color=Blue]SYMBOL [/color][color=Black]gn1 [/color][color=DarkCyan]= [/color][color=Purple]b11[/color]
[color=Blue]SYMBOL [/color][color=Black]gn2 [/color][color=DarkCyan]= [/color][color=Purple]b12[/color]
[color=Blue]SYMBOL [/color][color=Black]gn3 [/color][color=DarkCyan]= [/color][color=Purple]b13[/color]
[color=Blue]SYMBOL [/color][color=Black]bl1 [/color][color=DarkCyan]= [/color][color=Purple]b14[/color]
[color=Blue]SYMBOL [/color][color=Black]bl2 [/color][color=DarkCyan]= [/color][color=Purple]b15[/color]
[color=Blue]SYMBOL [/color][color=Black]bl3 [/color][color=DarkCyan]= [/color][color=Purple]b16[/color]
[color=Blue]SYMBOL [/color][color=Black]baud [/color][color=DarkCyan]= [/color][color=Blue]T4800_8 [/color][color=Green]; set baud rate[/color]
[color=Black]Init:[/color]
[color=Blue]PAUSE [/color][color=Navy]10000 [/color][color=Green]; give you time to clear chip if problems and open the PE terminal window[/color]
[color=Black]go1:[/color]
[color=Blue]SERTXD ([/color][color=Red]"enter a 'x' to start"[/color][color=Black],[/color][color=Blue]cr[/color][color=Black],[/color][color=Blue]lf)
SERRXD [/color][color=Purple]b26[/color]
[color=Blue]IF [/color][color=Purple]b26 [/color][color=DarkCyan]<> [/color][color=Red]"x" [/color][color=Blue]THEN [/color][color=Black]go1 [/color][color=Green]; loop and wait until command received[/color]
[color=Blue]GOSUB [/color][color=Black]CP_Reset [/color][color=Green]; reset the ColorPAL and enter direct command mode.[/color]
[color=Blue]SEROUT [/color][color=Black]sio, baud, [/color][color=Blue]([/color][color=Red]"= R t12 G t12 B !"[/color][color=Blue]) [/color][color=Green];transition from red to green to blue on LEDs[/color]
[color=Blue]pause [/color][color=Navy]6000[/color]
[color=Black]go3:[/color]
[color=Blue]SERTXD ([/color][color=Red]"enter a 'z' to start"[/color][color=Black],[/color][color=Blue]cr[/color][color=Black],[/color][color=Blue]lf)
SERRXD [/color][color=Purple]b26[/color]
[color=Blue]IF [/color][color=Purple]b26 [/color][color=DarkCyan]<> [/color][color=Red]"z" [/color][color=Blue]THEN [/color][color=Black]go3 [/color][color=Green]; loop and wait until command received[/color]
[color=Blue]SEROUT [/color][color=Black]sio, baud, [/color][color=Blue]([/color][color=Red]"= (01 $ m) !"[/color][color=Blue]) [/color][color=Green]; perform a single multi-colour scan[/color]
[color=Blue]SERIN [/color][color=Black]sio, baud, rd1, rd2, rd3, gn1, gn2, gn3, bl1, bl2, bl3[/color]
[color=Blue]SERTXD ([/color][color=Red]"RGB = "[/color][color=Black], rd1,[/color][color=Red]" "[/color][color=Black], rd2,[/color][color=Red]" "[/color][color=Black], rd3,[/color][color=Red]" "[/color][color=Black], gn1,[/color][color=Red]" "[/color][color=Black], gn2,[/color][color=Red]" "[/color][color=Black], gn3,[/color][color=Red]" "[/color][color=Black], bl1,[/color][color=Red]" "[/color][color=Black], bl2,[/color][color=Red]" "[/color][color=Black], bl3, [/color][color=Blue]cr[/color][color=Black], [/color][color=Blue]lf[/color][color=Black], [/color][color=Blue]cr[/color][color=Black], [/color][color=Blue]lf)
end[/color]
[color=Black]CP_Reset:[/color]
[color=Blue]LOW [/color][color=Black]sio [/color][color=Green];Pull sio low to eliminate any residual charge.[/color]
[color=Blue]INPUT [/color][color=Black]sio [/color][color=Green];Return pin to input.[/color]
[color=Blue]DO UNTIL [/color][color=Black]sinp [/color][color=DarkCyan]= [/color][color=Navy]1 [/color][color=Black]: [/color][color=Blue]LOOP [/color][color=Green];Wait for pin to be pulled high by ColorPAL.[/color]
[color=Blue]LOW [/color][color=Black]sio [/color][color=Green];Pull pin low.[/color]
[color=Blue]PAUSE [/color][color=Navy]80 [/color][color=Green];Keep low for 80ms to enter Direct mode.[/color]
[color=Blue]INPUT [/color][color=Black]sio [/color][color=Green];Return pin to input.[/color]
[color=Blue]PAUSE [/color][color=Navy]10 [/color][color=Green];Pause another 10ms[/color]
[color=Blue]RETURN[/color]
Last edited by a moderator: