
Interfaçage NeoPixel Ring 12, LPRO MECSE, Arnaud A.
Dependencies: lcd neoPixelRing12 view2 BSP_DISCO_F746NG view1 button
main.cpp
- Committer:
- Rhamao
- Date:
- 2020-06-15
- Revision:
- 9:89d39fc98b17
- Parent:
- 8:aa1e315bf408
- Child:
- 13:0708365334c4
File content as of revision 9:89d39fc98b17:
#include "mbed.h" #include "Thread.h" #include "rtos_idle.h" #include "mbed_critical.h" #include "NeoPixelRing12.h" #include "view.h" #include "stm32746g_discovery_lcd.h" #include "stm32746g_discovery_ts.h" #include <list> #define SCREENWIDTH 480 #define SCREENHEIGHT 272 #define USE_CRITICAL_SECTION_LOCK 1 // Set 0 to see race condition uint8_t text[30]; InterruptIn button(USER_BUTTON); DigitalOut myled(D8); DigitalOut led1(LED1); NeoPixelRing12 npr(D8); char blank[7] = "000000"; char r[7] = "ff0000"; char g[7] = "00ff00"; char b[7] = "0000ff"; void bit0(){ myled = 1; wait_ns(190); myled = 0; wait_ns(740); } void bit1(){ myled = 1; wait_ns(600); myled = 0; wait_ns(600); } void press(){ led1=1; } void releas(){ npr.setLights(1, "000000"); npr.rst(); npr.setLights(12, "000000"); led1=true; } int main() { View v; while(1){ v.updateLCD(); } //************************************************* int i=0; button.rise(&press); button.fall(&releas); //CriticalSectionLock lock; //bit0(); //CriticalSectionLock unlock; //Une led à 0 avant d'envoyer la trame pour éviter //le bug de trame npr.setLights(1, "ff0000"); npr.rst(); //la trame npr.setLights(5, r); npr.setLights(2, g); npr.setLights(4, b); npr.rst(); wait(100.0); }