Rainbowduino I2C Singledot

Dear Community,

i think it is a little bit hard to understand the function of the rainbowduino.
But Seedstudio says that rainbowduino sells like hot cake.

So there must be a lot of people which make use of rainbowduino.

I searched nearly the whole internet for informationgathering, but
it looks a little bit less.

In the Documentation there are some (5 Commands) as Host Sample API.

Is somebody here who has expanded the abilities of Rainbowduino I2C ?

What I want to do ist something like "SetPixel (x,y,r,g,b);".

I thought asking is the first step... i will do my best to get it work, but if you already have such a function... then please post it here....

Thank you!
ChrisS

Dear Community,

i’ve found an example for controlling RGB Strips instead of Led-Matrix.

Looks simple.

#include "Rainbow.h"
unsigned char NumTab[10]=
{
  0x77,0x06,0x5b,0x1f,0x2e,0x3d,0x7d,0x17,0x7f,0x3f
};
void setup()
{
  _init();
  close_all_line
  open_all_line
}
void loop()
{
  int i;
  for(i=0;i<10;i++)
  {
    shift_24_bit(NumTab[i],0,0);
    delay(500);
  }
}

void _init(void)    // define the pin mode
{
  DDRD=0xff;
  DDRC=0xff;
  DDRB=0xff;
  PORTD=0;
  PORTB=0;
}

void shift_1_bit(unsigned char LS)
{
  if(LS) shift_data_1;
  else  shift_data_0;
  clk_rising;
}

void shift_24_bit(int Red,int Green,int Blue)  
{
  unsigned char i;
  le_high;
  for (i=0;i<8;i++)
  {
    if ((Green<<i)&0x80)   shift_1_bit(1);
    else                 shift_1_bit(0);

  }
  for (i=0;i<8;i++)
  {
    if ((Red<<i)&0x80) shift_1_bit(1);
    else          shift_1_bit(0);
  }
  for (i=0;i<8;i++)
  {
    if ((Blue<<i)&0x80)  shift_1_bit(1);
    else             shift_1_bit(0);
  }
  le_low;
}

The sketch controls 7 Strips like a 7-Segment Display.
Digits 0 - 9 where displayed.

On Top of the Sketch there is an array of 10 hex codes… i think that are the codes of displaying the digits.

But I don’t understand that Hex-Values.

Would it be please possible to explain me what happening there.

Thank you und Greetings
ChrisS