spacepaste

  1.  
  2. #include <util/delay.h>
  3. #include <avr/io.h>
  4. #include <avr/interrupt.h>
  5. #include "light_ws2812.h"
  6. //const uint8_t NUM_LEDS = 24; // Anzahl Leds
  7. #define NUM_LEDS 60
  8. struct cRGB leds[NUM_LEDS];
  9. void ledOff(int number) {
  10. leds[number].r = 0;
  11. leds[number].g = 0;
  12. leds[number].b = 0;
  13. ws2812_setleds(leds, NUM_LEDS);
  14. }
  15. void ledOn(int number) {
  16. leds[number].r = 255;
  17. leds[number].g = 150;
  18. leds[number].b = 30;
  19. ws2812_setleds(leds, NUM_LEDS);
  20. }
  21. const int delaytime = 400;
  22. void real_delay(int delaytime) {
  23. _delay_ms(delaytime);
  24. }
  25. int main(void)
  26. {
  27. while(1)
  28. {
  29. ledOn(0);
  30. real_delay(delaytime);
  31. ledOn(1);
  32. real_delay(delaytime);
  33. ledOn(2);
  34. real_delay(delaytime);
  35. for(uint8_t step = 3; step < NUM_LEDS; step++) {
  36. // last led off
  37. ledOff(step-3);
  38. // next led on
  39. ledOn(step);
  40. }
  41. }
  42. }
  43.