Test with EzSbc2 LPC1347 board and Adafruit OLED 0,96" display, connected to i2c renamed from initial test 'mbed_blinky'

Dependencies:   Adafruit_GFX mbed

Committer:
JojoS
Date:
Tue Jul 25 09:16:28 2017 +0000
Revision:
8:39ab4809058a
Parent:
7:f3f848a6bfee
updated mbed to Rev 147

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JojoS 0:e1e154fcc87e 1 #include "mbed.h"
JojoS 0:e1e154fcc87e 2 #include "Adafruit_SSD1306.h"
JojoS 0:e1e154fcc87e 3
JojoS 3:671cc904fce6 4 // Pindefinitions for ezSBC2 or LPCXpresso
JojoS 0:e1e154fcc87e 5
JojoS 0:e1e154fcc87e 6 // an SPI sub-class that provides a constructed default
JojoS 0:e1e154fcc87e 7 class SPI2 : public SPI
JojoS 0:e1e154fcc87e 8 {
JojoS 0:e1e154fcc87e 9 public:
JojoS 4:be8f6c39c104 10 SPI2(PinName mosi, PinName miso, PinName clk) : SPI(mosi, miso, clk) {
JojoS 4:be8f6c39c104 11 format(8, 3);
JojoS 4:be8f6c39c104 12 frequency(2000000);
JojoS 4:be8f6c39c104 13 };
JojoS 0:e1e154fcc87e 14 };
JojoS 3:671cc904fce6 15
JojoS 0:e1e154fcc87e 16 // an I2C sub-class that provides a constructed default
JojoS 0:e1e154fcc87e 17 class I2C2 : public I2C
JojoS 0:e1e154fcc87e 18 {
JojoS 0:e1e154fcc87e 19 public:
JojoS 4:be8f6c39c104 20 I2C2(PinName sda, PinName scl) : I2C(sda, scl) {
JojoS 4:be8f6c39c104 21 frequency(400000);
JojoS 4:be8f6c39c104 22 start();
JojoS 4:be8f6c39c104 23 };
JojoS 0:e1e154fcc87e 24 };
JojoS 3:671cc904fce6 25
JojoS 3:671cc904fce6 26 #ifdef LPC1347
JojoS 3:671cc904fce6 27 // ezSBC2
JojoS 3:671cc904fce6 28 DigitalOut ledRed(P1_16);
JojoS 3:671cc904fce6 29 DigitalOut ledGreen(P1_15);
JojoS 0:e1e154fcc87e 30
JojoS 0:e1e154fcc87e 31 I2C2 gI2C(P0_5, P0_4);
JojoS 4:be8f6c39c104 32 Adafruit_SSD1306_I2c gOled2(gI2C, NC, 0x78, 64, 128);
JojoS 4:be8f6c39c104 33 #elif defined(TARGET_LPC824)
JojoS 4:be8f6c39c104 34 DigitalOut ledRed(LED1);
JojoS 4:be8f6c39c104 35 DigitalOut ledGreen(LED2);
JojoS 4:be8f6c39c104 36
JojoS 6:48879bf9b5b2 37 I2C2 gI2C(SDA, SCL);
JojoS 4:be8f6c39c104 38 Adafruit_SSD1306_I2c gOled2(gI2C, NC, 0x78, 64, 128);
JojoS 4:be8f6c39c104 39 #elif defined(LPC1549)
JojoS 3:671cc904fce6 40 // LPCXpresso1549
JojoS 3:671cc904fce6 41 DigitalOut ledRed(LED1);
JojoS 3:671cc904fce6 42 DigitalOut ledGreen(LED2);
JojoS 3:671cc904fce6 43
JojoS 6:48879bf9b5b2 44 I2C2 gI2C(SDA, SCL);
JojoS 4:be8f6c39c104 45 Adafruit_SSD1306_I2c gOled2(gI2C, NC, 0x78, 64, 128);
JojoS 7:f3f848a6bfee 46 #elif defined (TARGET_LPC4088)
JojoS 7:f3f848a6bfee 47 DigitalOut ledRed(LED1);
JojoS 7:f3f848a6bfee 48 DigitalOut ledGreen(LED2);
JojoS 7:f3f848a6bfee 49
JojoS 7:f3f848a6bfee 50 I2C2 gI2C(MBED_I2C0);
JojoS 7:f3f848a6bfee 51 Adafruit_SSD1306_I2c gOled2(gI2C, NC, 0x78, 64, 128);
JojoS 4:be8f6c39c104 52 #else
JojoS 4:be8f6c39c104 53 #error "no target defined"
JojoS 3:671cc904fce6 54 #endif
JojoS 3:671cc904fce6 55
JojoS 0:e1e154fcc87e 56 int main()
JojoS 3:671cc904fce6 57 {
JojoS 4:be8f6c39c104 58 uint16_t x = 0;
JojoS 0:e1e154fcc87e 59
JojoS 4:be8f6c39c104 60 //while(1)
JojoS 4:be8f6c39c104 61 {
JojoS 4:be8f6c39c104 62 ledRed = 1;
JojoS 4:be8f6c39c104 63 ledGreen = 0;
JojoS 4:be8f6c39c104 64 wait(0.5);
JojoS 3:671cc904fce6 65
JojoS 4:be8f6c39c104 66 ledRed = 0;
JojoS 4:be8f6c39c104 67 ledGreen = 1;
JojoS 4:be8f6c39c104 68 wait(0.5);
JojoS 4:be8f6c39c104 69 }
JojoS 3:671cc904fce6 70
JojoS 4:be8f6c39c104 71 gOled2.clearDisplay();
JojoS 4:be8f6c39c104 72 gOled2.display();
JojoS 0:e1e154fcc87e 73
JojoS 4:be8f6c39c104 74 //gOled2.setTextCursor(1, 0);
JojoS 4:be8f6c39c104 75 gOled2.printf("%ux%u OLED Display\r\n", gOled2.width(), gOled2.height());
JojoS 4:be8f6c39c104 76
JojoS 4:be8f6c39c104 77 while (1) {
JojoS 4:be8f6c39c104 78 ledRed = !ledRed;
JojoS 3:671cc904fce6 79
JojoS 4:be8f6c39c104 80 gOled2.setTextCursor(0, 10);
JojoS 4:be8f6c39c104 81 gOled2.printf("%u\r", x);
JojoS 4:be8f6c39c104 82 gOled2.display();
JojoS 0:e1e154fcc87e 83
JojoS 4:be8f6c39c104 84 x++;
JojoS 4:be8f6c39c104 85 wait(1.0);
JojoS 4:be8f6c39c104 86 }
JojoS 0:e1e154fcc87e 87 }