displaying on SSD1306, 128x64 pixels OLED

Dependencies:   microbit

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?

UserRevisionLine numberNew 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(); }