displaying on SSD1306, 128x64 pixels OLED
example_BinaryRows.cpp@6:c69f08f464b5, 2020-02-23 (annotated)
- Committer:
- bvirk
- Date:
- Sun Feb 23 01:57:35 2020 +0000
- Revision:
- 6:c69f08f464b5
All examples in own files - demo of command pattern using functionpointer array to chose example
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bvirk | 6:c69f08f464b5 | 1 | #include "MicroBit.h" |
bvirk | 6:c69f08f464b5 | 2 | #include "MicroBitI2C.h" |
bvirk | 6:c69f08f464b5 | 3 | #include "MicroBitPin.h" |
bvirk | 6:c69f08f464b5 | 4 | #include "MicroBitDisplay.h" |
bvirk | 6:c69f08f464b5 | 5 | |
bvirk | 6:c69f08f464b5 | 6 | #include "OLED.h" |
bvirk | 6:c69f08f464b5 | 7 | #include "Display.h" |
bvirk | 6:c69f08f464b5 | 8 | #include "common.h" |
bvirk | 6:c69f08f464b5 | 9 | |
bvirk | 6:c69f08f464b5 | 10 | enum { |
bvirk | 6:c69f08f464b5 | 11 | FRED =4 |
bvirk | 6:c69f08f464b5 | 12 | ,FUBAR =3 |
bvirk | 6:c69f08f464b5 | 13 | ,BAZZ =2 |
bvirk | 6:c69f08f464b5 | 14 | ,BAR =1 |
bvirk | 6:c69f08f464b5 | 15 | ,FOO =0 /* row 0 - bottom row */ |
bvirk | 6:c69f08f464b5 | 16 | }; |
bvirk | 6:c69f08f464b5 | 17 | |
bvirk | 6:c69f08f464b5 | 18 | enum {START=1,STATE_A,STATE_B,STATE_C,STATE_D,STATE_E,STATE_F,RETURNED}; |
bvirk | 6:c69f08f464b5 | 19 | |
bvirk | 6:c69f08f464b5 | 20 | int barcounter=1; |
bvirk | 6:c69f08f464b5 | 21 | |
bvirk | 6:c69f08f464b5 | 22 | void fred(int state) { |
bvirk | 6:c69f08f464b5 | 23 | display.toRow(FRED,state); |
bvirk | 6:c69f08f464b5 | 24 | } |
bvirk | 6:c69f08f464b5 | 25 | |
bvirk | 6:c69f08f464b5 | 26 | void fubar(int state) { |
bvirk | 6:c69f08f464b5 | 27 | display.toRow(FUBAR,state); |
bvirk | 6:c69f08f464b5 | 28 | } |
bvirk | 6:c69f08f464b5 | 29 | |
bvirk | 6:c69f08f464b5 | 30 | void bazz(int state) { |
bvirk | 6:c69f08f464b5 | 31 | display.toRow(BAZZ,state); |
bvirk | 6:c69f08f464b5 | 32 | } |
bvirk | 6:c69f08f464b5 | 33 | |
bvirk | 6:c69f08f464b5 | 34 | void bar() { |
bvirk | 6:c69f08f464b5 | 35 | display.toRow(BAR,barcounter++); |
bvirk | 6:c69f08f464b5 | 36 | uBit.sleep(2000); |
bvirk | 6:c69f08f464b5 | 37 | } |
bvirk | 6:c69f08f464b5 | 38 | |
bvirk | 6:c69f08f464b5 | 39 | void foo() { |
bvirk | 6:c69f08f464b5 | 40 | display.toRow(FOO,START); |
bvirk | 6:c69f08f464b5 | 41 | bar(); |
bvirk | 6:c69f08f464b5 | 42 | // ... |
bvirk | 6:c69f08f464b5 | 43 | for (int i=0; i<3; i++) { |
bvirk | 6:c69f08f464b5 | 44 | bar(); |
bvirk | 6:c69f08f464b5 | 45 | fred(i | 4); |
bvirk | 6:c69f08f464b5 | 46 | fubar(i |8 ); |
bvirk | 6:c69f08f464b5 | 47 | bazz(STATE_F); |
bvirk | 6:c69f08f464b5 | 48 | } |
bvirk | 6:c69f08f464b5 | 49 | // ... |
bvirk | 6:c69f08f464b5 | 50 | display.toRow(FOO,STATE_D); |
bvirk | 6:c69f08f464b5 | 51 | uBit.sleep(2000); |
bvirk | 6:c69f08f464b5 | 52 | display.toRow(FOO,RETURNED); |
bvirk | 6:c69f08f464b5 | 53 | } |
bvirk | 6:c69f08f464b5 | 54 | |
bvirk | 6:c69f08f464b5 | 55 | void example_BinaryRows() { foo(); } |