displaying on SSD1306, 128x64 pixels OLED
example_flag.cpp
- Committer:
- bvirk
- Date:
- 2020-02-25
- Revision:
- 12:b4d5e007640e
- Parent:
- 8:5972683a7190
File content as of revision 12:b4d5e007640e:
#include "MicroBit.h" #include "Display.h" #include "common.h" int8_t pixels[] = {4,8,10,12,16,0,4,9,14,19,24,2,7,8,25,0,6,7,8,9,10,12,14,18,-1}; int8_t yield() { static int8_t column=0; int8_t retval = pixels[column++]; if (retval == -1) { column=0; return -1; } return retval-1; } void flag1(int8_t(*yieldF)()) { for (int8_t i=0; i < 5; i++) { display.setFlag(6*i); display.setFlag(4+4*i); } } void flag2(int8_t(*yieldF)()) { int8_t p; while ((p = (yieldF)())!=-1) { display.setFlag(p); } } void (*flg[])(int8_t(*yieldF)()) = {flag1,flag2}; void example_flag() { int8_t i=0; while (true) { display.clear(); (flg[i>0 ? 1 : 0])(yield); i=(i+1) & 3; uBit.sleep(2000); } }