displaying on SSD1306, 128x64 pixels OLED
main.cpp@4:19da6ea94042, 2020-02-18 (annotated)
- 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?
User | Revision | Line number | New 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 | } |