a

Dependencies:   BraccialeSlave FTHR_OLED

main.cpp

Committer:
switches
Date:
2017-02-07
Revision:
8:1d48f139567d
Parent:
6:684c51f32c1d
Child:
9:ecdad18f61c2

File content as of revision 8:1d48f139567d:

#include "mbed.h"
#include "max32630fthr.h"
#include "Adafruit_SSD1306.h"
#include "USBSerial.h"

MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3);

I2C i2c(P3_4, P3_5); // SDA, SCL

Adafruit_SSD1306_I2c featherOLED(i2c, P2_7);  //I2C, RST

// Hardware serial port over DAPLink
Serial daplink(P2_1, P2_0);

// Virtual serial port over USB
USBSerial microUSB;

DigitalOut rLED(LED1);
DigitalOut gLED(LED2);
DigitalOut bLED(LED3);

AnalogIn ain0(AIN_4);
AnalogIn ain1(AIN_5);
AnalogIn ain2(AIN_2);
AnalogIn ain3(AIN_3);


// main() runs in its own thread in the OS
// (note the calls to Thread::wait below for delays)
int main()
{
    int c;
    c = ' ';

    daplink.printf("daplink serial port\r\n");
    microUSB.printf("micro USB serial port\r\n");
    rLED = LED_ON;
    gLED = LED_ON;
    bLED = LED_OFF;

    featherOLED.printf("%ux%u OLED Display\r\n", featherOLED.width(), featherOLED.height());
    featherOLED.printf("HelloWorld \r");
    featherOLED.display();

    rLED = LED_OFF;

    while(1) {
        Thread::wait(250);
        if (microUSB.readable()) {
            c = microUSB.getc();
            microUSB.putc(c);
            daplink.putc(c);
        }
        if (daplink.readable()) {
            c = daplink.getc();
            microUSB.putc(c);
            daplink.putc(c);
        }
        bLED = c & 1;
        featherOLED.clearDisplay();
        featherOLED.setTextCursor(0,0);
        featherOLED.printf("MAX32630FTHR OLED\n");
        featherOLED.printf("AIN0/1: %1.3f, %1.3f\n", (6.0f * ain0), (6.0f * ain1) );  // analog inputs 0,1
        featherOLED.printf("AIN2/3: %1.3f, %1.3f\n", (1.2f * ain2), (1.2f * ain3) );  // analog inputs 2,3
        featherOLED.printf("CHAR: %c\n", c);  // character recieved
        featherOLED.display();

    }
}