Hey Ytai and IOIO Community!
 
Hope all is well. Having a problem with my IOIO-OTG ( Hardware ID: SPRK0020 
Bootloader ID: IOIO0400 Firmware ID: IOIO0330) ... 

So I have a WS2801 LED strip and I am using SPI to creating a unique green 
animation lighting effect...

Essentially I played around with HolidayIOIO and was able to figure out how 
to control the LED strip ..

It works like a charm via bluetooth but the following functions are 
flickering when directly connected via ADB... Same set of code is working 
completely different on BT vs ADB... In bluetooth it works great no 
flickering.. with ADB its as if the clock / timing is off... I tried 
adjusting the SPI Rate and still no cigar... 
See below

Any help / suggestions is much appreciated!

-Dave

In setup:


* spi_ = ioio_.openSpiMaster(4, 4, 5, 6, SpiMaster.Rate.RATE_50K);*


> *public void greenAnimation() throws 
> ConnectionLostException,*InterruptedException 
> {
> new Thread(new Runnable() {
> public void run() {
> int i = 0;
> try {
> clear(0, 31);
>
> while (i < 25) {
>
> Thread.sleep(25);
>
>
>
>
> *if ( i >= 0 && i < 24) {green(0, i);}*
> Thread.sleep(25);
> i++;
> }
>
> Thread.sleep(20000);
> run();
> } catch (InterruptedException e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> } catch (ConnectionLostException e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> }
> }
> }).start();
> }

                                                                         

*private void setLed(int num, RGB rgb) {*

// Find the right buffer to write to (first or second half).

byte[] buffer;

if (num >= 16) {

buffer = buffer2_;

num -= 16;

} else {

buffer = buffer1_;

}

num *= 3;

if (rgb.r == 0 && rgb.g == 0 && rgb.b == 0) {

fadeOut(buffer, num++);

fadeOut(buffer, num++);

fadeOut(buffer, num++);

} else {

// Poor-man's white balanace :)

buffer[num++] = rgb.r;

buffer[num++] = rgb.g;

buffer[num++] = rgb.b;

}

}


*public void green(int start, int end)*

throws ConnectionLostException {

try {

for (int i = start; i < end; i++) {

color.clear();

color.r = (byte) 0;

color.g = (byte) 255;

color.b = (byte) 0;

setLed(i, color);

}

spi_.writeReadAsync(0, buffer1_, buffer1_.length,

buffer1_.length, null, 0);

spi_.writeRead(buffer2_, buffer2_.length, buffer2_.length,

null, 0);

Thread.sleep(50);

} catch (InterruptedException e1) {

}
}

       

-- 
You received this message because you are subscribed to the Google Groups 
"ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/ioio-users.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to