- code cleaned up in many points for a better readability - removed SPIPreinit and I2CPreinit classes - moved various method implementations from .h files to the corresponding .cpp ones - the splash() and clearDisplay() methods now directly update the display; no more need to call the display() method after them
Dependencies: Adafruit_GFX mbed
Fork of Adafruit_GFX by
main.cpp@18:7a3182a3fa21, 2015-09-04 (annotated)
- Committer:
- frada
- Date:
- Fri Sep 04 10:08:31 2015 +0000
- Revision:
- 18:7a3182a3fa21
- Parent:
- 17:396d9b7eb7d5
-
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
frada | 17:396d9b7eb7d5 | 1 | /* |
frada | 17:396d9b7eb7d5 | 2 | * Copyright (c) 2012 Neal Horman - http://www.wanlink.com |
frada | 17:396d9b7eb7d5 | 3 | * |
frada | 17:396d9b7eb7d5 | 4 | * License: MIT open source (http://opensource.org/licenses/MIT) |
frada | 17:396d9b7eb7d5 | 5 | * Summary; |
frada | 17:396d9b7eb7d5 | 6 | * Use / modify / distribute / publish it how you want and |
frada | 17:396d9b7eb7d5 | 7 | * if you use it, or don't, you can't hold me liable for how |
frada | 17:396d9b7eb7d5 | 8 | * it does or doesn't work. |
frada | 17:396d9b7eb7d5 | 9 | * If it doesn't work how you want, don't use it, or change |
frada | 17:396d9b7eb7d5 | 10 | * it so that it does work. |
frada | 18:7a3182a3fa21 | 11 | * |
frada | 18:7a3182a3fa21 | 12 | * Modified for use with FRDM-K64F and FRDM-KL25Z by Francesco Adamo |
frada | 17:396d9b7eb7d5 | 13 | */ |
frada | 17:396d9b7eb7d5 | 14 | |
frada | 17:396d9b7eb7d5 | 15 | #include "mbed.h" |
frada | 17:396d9b7eb7d5 | 16 | #include "Adafruit_SSD1306.h" |
frada | 17:396d9b7eb7d5 | 17 | |
frada | 17:396d9b7eb7d5 | 18 | |
frada | 17:396d9b7eb7d5 | 19 | #ifdef TARGET_K64F |
frada | 17:396d9b7eb7d5 | 20 | #define SPI_CLK PTD1 |
frada | 17:396d9b7eb7d5 | 21 | #define SPI_MOSI PTD2 |
frada | 17:396d9b7eb7d5 | 22 | #define SPI_MISO PTD3 |
frada | 17:396d9b7eb7d5 | 23 | #define SPI_CS PTD0 |
frada | 17:396d9b7eb7d5 | 24 | #define DC PTC4 |
frada | 17:396d9b7eb7d5 | 25 | #define RST PTC3 |
frada | 17:396d9b7eb7d5 | 26 | |
frada | 17:396d9b7eb7d5 | 27 | #define I2C_SDA PTE25 |
frada | 17:396d9b7eb7d5 | 28 | #define I2C_SCL PTE24 |
frada | 17:396d9b7eb7d5 | 29 | #elif defined(TARGET_KL25Z) |
frada | 17:396d9b7eb7d5 | 30 | #define SPI_CLK PTD1 |
frada | 17:396d9b7eb7d5 | 31 | #define SPI_MOSI PTD2 |
frada | 17:396d9b7eb7d5 | 32 | #define SPI_MISO PTD3 |
frada | 17:396d9b7eb7d5 | 33 | #define SPI_CS PTD0 |
frada | 17:396d9b7eb7d5 | 34 | #define DC PTD5 |
frada | 17:396d9b7eb7d5 | 35 | #define RST PTA13 |
frada | 17:396d9b7eb7d5 | 36 | |
frada | 17:396d9b7eb7d5 | 37 | #define I2C_SDA PTE0 |
frada | 17:396d9b7eb7d5 | 38 | #define I2C_SCL PTE1 |
frada | 17:396d9b7eb7d5 | 39 | #endif |
frada | 17:396d9b7eb7d5 | 40 | |
frada | 17:396d9b7eb7d5 | 41 | DigitalOut myled(LED_GREEN); |
frada | 17:396d9b7eb7d5 | 42 | Adafruit_SSD1306_SPI display(SPI_MOSI, SPI_CLK, SPI_CS, DC, RST, 64, 128); |
frada | 17:396d9b7eb7d5 | 43 | |
frada | 17:396d9b7eb7d5 | 44 | int main() { |
frada | 17:396d9b7eb7d5 | 45 | int k = 0; |
frada | 17:396d9b7eb7d5 | 46 | |
frada | 17:396d9b7eb7d5 | 47 | display.splash(); |
frada | 17:396d9b7eb7d5 | 48 | wait(2.0); |
frada | 17:396d9b7eb7d5 | 49 | display.clearDisplay(); |
frada | 17:396d9b7eb7d5 | 50 | |
frada | 17:396d9b7eb7d5 | 51 | display.printf("%ux%u OLED Display\r\n", display.width(), display.height()); |
frada | 17:396d9b7eb7d5 | 52 | while(1) |
frada | 17:396d9b7eb7d5 | 53 | { |
frada | 17:396d9b7eb7d5 | 54 | myled = !myled; |
frada | 17:396d9b7eb7d5 | 55 | display.printf("%u\r", k++); |
frada | 17:396d9b7eb7d5 | 56 | display.display(); |
frada | 17:396d9b7eb7d5 | 57 | wait(0.1); |
frada | 17:396d9b7eb7d5 | 58 | } |
frada | 17:396d9b7eb7d5 | 59 | } |