I would like to do some testing on this. @Gordon, could you please take a look to attached code before I start testing ?
Usually 4 eyes see more than 2
Pins are the same as used in an working ESP32-only solution. This part should be correct.
I've some questions:
what is repeat in shiftOut.bind ?
why do you have enable pin twice in digitalWrite ?
we only have 4 address bytes, how would we control 32 rows ? Seems to be a non Espruino
questions, but may be you have some ideas
should we init enable to 1 ?
function LedMatrix(){
var me = this;
var gr,buf; //graphics object and buffer in graphics object
var sfnc,dfnc; //function calls to send data to LED Matrix
var Pr1,Pr2,Pb1,Pb2,Pg1,Pg2; //Color Pins
var Pa,Pb,Pc,Pd; //address pins
var Platch,Pclock,Penable; //control pins
me.init = function(R1,R2,B1,B2,G1,G2,A,B,C,D,Latch,Clock,Enable){
Pr1 = R1; Pr2 = R2; Pb1 = B1; Pb2 = B2; Pg1 = G1; Pg2 = G2;
Pa = A; Pb = B; Pc = C; Pd = D;
Platch = Latch; Pclock = Clock; Penable = Enable;
gr = Graphics.createArrayBuffer(64,32,8);
buf = gr.buffer;
return gr;
};
sfnc = shiftOut.bind(null,[Pr1,Pr2,Pb1,Pb2,Pg1,Pg2],{clk:Pclock,repeat : 8});
dfnc = digitalWrite.bind(null,[Penable,Platch,Pd,Pc,Pb,Pa,Penable]);
me.scan = function(){
enable.reset();
for (var y=0;y<16;y++) {
sfnc(new Uint8Array(u,y*64,64));
dfnc(33|y<<1);
}
enable.set();
};
}
var led = new LedMatrix();
function test(){
var ledGraphik = led.init(2,16,4,17,15,27,5,18,19,21,26,22,25);
ledGraphik.setBgColor(0);
ledGraphik.clear();
ledGraphik.SetColor(17);
ledGraphik.clear();
ledGraphik.fillRect(0,0,3,3);
led.scan();
}
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I would like to do some testing on this.
@Gordon, could you please take a look to attached code before I start testing ?
Usually 4 eyes see more than 2
Pins are the same as used in an working ESP32-only solution. This part should be correct.
I've some questions:
questions, but may be you have some ideas
should we init enable to 1 ?