Exemple #1
0
// set pixel number +led+ along a +strand+ to +color+ at +intensity+
void xmas_set_color(int strand, uint8_t led, uint8_t intensity, xmas_color_t color) {
  uint8_t i;
  int strand_pin = strand_pins[strand];
  xmas_begin(strand_pin);
  for(i = 6; i; i--, (led <<= 1))
    if(led & (1 << 5))
      xmas_one(strand_pin);
    else
      xmas_zero(strand_pin);
  for(i = 8; i; i--, (intensity <<= 1))
    if(intensity & ( 1 << 7))
      xmas_one(strand_pin);
    else
      xmas_zero(strand_pin);
  for(i = 12; i; i--, (color <<= 1))
    if(color & (1 << 11))
      xmas_one(strand_pin);
    else
      xmas_zero(strand_pin);
  xmas_end(strand_pin);
}
void
xmas_set_color(uint8_t led,uint8_t intensity,xmas_color_t color) {
    uint8_t i;
    xmas_begin();
    for(i=6;i;i--,(led<<=1))
        if(led&(1<<5))
            xmas_one();
        else
            xmas_zero();
    for(i=8;i;i--,(intensity<<=1))
        if(intensity&(1<<7))
            xmas_one();
        else
            xmas_zero();
    for(i=12;i;i--,(color<<=1))
        if(color&(1<<11))
            xmas_one();
        else
            xmas_zero();
    xmas_end();
}