displaying on SSD1306, 128x64 pixels OLED
example_OLED.cpp@12:b4d5e007640e, 2020-02-25 (annotated)
- Committer:
- bvirk
- Date:
- Tue Feb 25 20:59:35 2020 +0000
- Revision:
- 12:b4d5e007640e
- Parent:
- 6:c69f08f464b5
doc removed from cpp files
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 "MicroBitPin.h" |
bvirk | 6:c69f08f464b5 | 3 | |
bvirk | 6:c69f08f464b5 | 4 | #include "common.h" |
bvirk | 6:c69f08f464b5 | 5 | |
bvirk | 6:c69f08f464b5 | 6 | |
bvirk | 6:c69f08f464b5 | 7 | void example_OLED() { |
bvirk | 6:c69f08f464b5 | 8 | oled.init(); |
bvirk | 6:c69f08f464b5 | 9 | |
bvirk | 6:c69f08f464b5 | 10 | oled.puts("*** VOLTMETER ****\n\n"); |
bvirk | 6:c69f08f464b5 | 11 | char spin[] = "|/-\\"; |
bvirk | 6:c69f08f464b5 | 12 | uint8_t si=0; |
bvirk | 6:c69f08f464b5 | 13 | float oldVoltage=0; |
bvirk | 6:c69f08f464b5 | 14 | while(true) { |
bvirk | 6:c69f08f464b5 | 15 | uint16_t samples =uBit.io.P0.getAnalogValue(); |
bvirk | 6:c69f08f464b5 | 16 | |
bvirk | 6:c69f08f464b5 | 17 | float voltage = 3.3*samples/1023; |
bvirk | 6:c69f08f464b5 | 18 | int8_t dir = voltage - oldVoltage > 0.01 |
bvirk | 6:c69f08f464b5 | 19 | ? 1 |
bvirk | 6:c69f08f464b5 | 20 | : voltage - oldVoltage < -0.01 |
bvirk | 6:c69f08f464b5 | 21 | ? -1 |
bvirk | 6:c69f08f464b5 | 22 | : 0; |
bvirk | 6:c69f08f464b5 | 23 | if (dir) { |
bvirk | 6:c69f08f464b5 | 24 | si = (si+dir) & 3; |
bvirk | 6:c69f08f464b5 | 25 | oldVoltage=voltage; |
bvirk | 6:c69f08f464b5 | 26 | } |
bvirk | 6:c69f08f464b5 | 27 | oled.printf("\r%c %03.2f volt ",spin[si],voltage); |
bvirk | 6:c69f08f464b5 | 28 | |
bvirk | 6:c69f08f464b5 | 29 | } |
bvirk | 6:c69f08f464b5 | 30 | } |
bvirk | 6:c69f08f464b5 | 31 | |
bvirk | 6:c69f08f464b5 | 32 |