blink.c 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #include "flipper_v2.h"
  2. void rgb_set(bool r, bool g, bool b, GpioPin* led_r, GpioPin* led_g, GpioPin* led_b) {
  3. gpio_write(led_r, !r);
  4. gpio_write(led_g, !g);
  5. gpio_write(led_b, !b);
  6. }
  7. void application_blink(void* p) {
  8. // create pin
  9. GpioPin led_r = led_gpio[0];
  10. GpioPin led_g = led_gpio[1];
  11. GpioPin led_b = led_gpio[2];
  12. // TODO open record
  13. GpioPin* led_r_record = &led_r;
  14. GpioPin* led_g_record = &led_g;
  15. GpioPin* led_b_record = &led_b;
  16. // configure pin
  17. gpio_init(led_r_record, GpioModeOutputOpenDrain);
  18. gpio_init(led_g_record, GpioModeOutputOpenDrain);
  19. gpio_init(led_b_record, GpioModeOutputOpenDrain);
  20. while(1) {
  21. rgb_set(1, 0, 0, led_r_record, led_g_record, led_b_record);
  22. delay(500);
  23. rgb_set(0, 1, 0, led_r_record, led_g_record, led_b_record);
  24. delay(500);
  25. rgb_set(1, 1, 0, led_r_record, led_g_record, led_b_record);
  26. delay(500);
  27. rgb_set(0, 0, 1, led_r_record, led_g_record, led_b_record);
  28. delay(500);
  29. rgb_set(1, 0, 1, led_r_record, led_g_record, led_b_record);
  30. delay(500);
  31. rgb_set(0, 1, 1, led_r_record, led_g_record, led_b_record);
  32. delay(500);
  33. rgb_set(1, 1, 1, led_r_record, led_g_record, led_b_record);
  34. delay(500);
  35. rgb_set(0, 0, 0, led_r_record, led_g_record, led_b_record);
  36. delay(500);
  37. }
  38. }