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.