displaying on SSD1306, 128x64 pixels OLED

Dependencies:   microbit

Committer:
bvirk
Date:
Tue Feb 18 15:18:59 2020 +0000
Revision:
4:19da6ea94042
Parent:
3:f36427797fd7
Child:
6:c69f08f464b5
as requestet

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bvirk 0:950ea6fc2190 1 #include "MicroBit.h"
bvirk 1:ad7869e467a8 2 #include "MicroBitI2C.h"
bvirk 4:19da6ea94042 3 #include "MicroBitPin.h"
bvirk 2:2a1c370a638f 4
bvirk 1:ad7869e467a8 5
bvirk 4:19da6ea94042 6 #include "OLED.h"
bvirk 4:19da6ea94042 7 #include "mathExt.h"
bvirk 4:19da6ea94042 8 #include <math.h>
bvirk 2:2a1c370a638f 9
bvirk 2:2a1c370a638f 10
bvirk 0:950ea6fc2190 11 MicroBit uBit;
bvirk 1:ad7869e467a8 12 OLED oled;
bvirk 4:19da6ea94042 13 /**
bvirk 4:19da6ea94042 14 * writing to OLED display
bvirk 4:19da6ea94042 15 */
bvirk 0:950ea6fc2190 16 int main()
bvirk 0:950ea6fc2190 17 {
bvirk 0:950ea6fc2190 18 uBit.init();
bvirk 4:19da6ea94042 19 oled.init();
bvirk 4:19da6ea94042 20 //icroBitPin P0(MICROBIT_ID_IO_P0, MICROBIT_PIN_P0, 2);
bvirk 4:19da6ea94042 21
bvirk 1:ad7869e467a8 22
bvirk 4:19da6ea94042 23 uint16 xy(253,34);
bvirk 4:19da6ea94042 24 oled.writeln("that16: " + to_string(xy.that16)); //+", msb="+string(v.msb));
bvirk 4:19da6ea94042 25 oled.writeln("x=" + to_string(xy.x)+", y="+to_string(xy.y));
bvirk 4:19da6ea94042 26 oled.writeln("Seriel id "+uBit.getSerial());
bvirk 4:19da6ea94042 27 oled.writeln("name "+uBit.getName());
bvirk 4:19da6ea94042 28 uBit.display.print(to_string(xy.x & 7));
bvirk 4:19da6ea94042 29 char spin[] = "|/-\\";
bvirk 4:19da6ea94042 30 uint8_t si=0;
bvirk 4:19da6ea94042 31 float oldVoltage=0;
bvirk 4:19da6ea94042 32 while(true) {
bvirk 4:19da6ea94042 33 float voltage = 3.3*uBit.io.P0.getAnalogValue()/1023;
bvirk 4:19da6ea94042 34 int8_t dir = voltage - oldVoltage > 0.01
bvirk 4:19da6ea94042 35 ? 1
bvirk 4:19da6ea94042 36 : voltage - oldVoltage < -0.01
bvirk 4:19da6ea94042 37 ? -1
bvirk 4:19da6ea94042 38 : 0;
bvirk 4:19da6ea94042 39 if (dir) {
bvirk 4:19da6ea94042 40 si = (si+dir) & 3;
bvirk 4:19da6ea94042 41 oldVoltage=voltage;
bvirk 4:19da6ea94042 42 }
bvirk 4:19da6ea94042 43 oled.crwrite(string(spin[si])+" "+ftos(voltage)+" volt ");
bvirk 4:19da6ea94042 44 //uBit.sleep(200);
bvirk 4:19da6ea94042 45 }
bvirk 1:ad7869e467a8 46 // release_fiber();
bvirk 1:ad7869e467a8 47 }