a

Dependencies:   BraccialeSlave FTHR_OLED

Committer:
switches
Date:
Tue Feb 07 23:17:38 2017 +0000
Revision:
8:1d48f139567d
Parent:
6:684c51f32c1d
Child:
9:ecdad18f61c2
Initial commit for review

Who changed what in which revision?

UserRevisionLine numberNew contents of line
switches 0:60a522ae2e35 1 #include "mbed.h"
switches 2:57500e991166 2 #include "max32630fthr.h"
switches 8:1d48f139567d 3 #include "Adafruit_SSD1306.h"
switches 1:6923b075c8d7 4 #include "USBSerial.h"
switches 0:60a522ae2e35 5
switches 6:684c51f32c1d 6 MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3);
switches 0:60a522ae2e35 7
switches 8:1d48f139567d 8 I2C i2c(P3_4, P3_5); // SDA, SCL
switches 8:1d48f139567d 9
switches 8:1d48f139567d 10 Adafruit_SSD1306_I2c featherOLED(i2c, P2_7); //I2C, RST
switches 8:1d48f139567d 11
switches 1:6923b075c8d7 12 // Hardware serial port over DAPLink
switches 2:57500e991166 13 Serial daplink(P2_1, P2_0);
switches 1:6923b075c8d7 14
switches 3:601c11238ccb 15 // Virtual serial port over USB
switches 3:601c11238ccb 16 USBSerial microUSB;
switches 3:601c11238ccb 17
switches 2:57500e991166 18 DigitalOut rLED(LED1);
switches 2:57500e991166 19 DigitalOut gLED(LED2);
switches 2:57500e991166 20 DigitalOut bLED(LED3);
switches 0:60a522ae2e35 21
switches 8:1d48f139567d 22 AnalogIn ain0(AIN_4);
switches 8:1d48f139567d 23 AnalogIn ain1(AIN_5);
switches 8:1d48f139567d 24 AnalogIn ain2(AIN_2);
switches 8:1d48f139567d 25 AnalogIn ain3(AIN_3);
switches 8:1d48f139567d 26
switches 8:1d48f139567d 27
switches 0:60a522ae2e35 28 // main() runs in its own thread in the OS
switches 0:60a522ae2e35 29 // (note the calls to Thread::wait below for delays)
switches 0:60a522ae2e35 30 int main()
switches 0:60a522ae2e35 31 {
switches 1:6923b075c8d7 32 int c;
switches 8:1d48f139567d 33 c = ' ';
switches 2:57500e991166 34
switches 2:57500e991166 35 daplink.printf("daplink serial port\r\n");
switches 3:601c11238ccb 36 microUSB.printf("micro USB serial port\r\n");
switches 2:57500e991166 37 rLED = LED_ON;
switches 2:57500e991166 38 gLED = LED_ON;
switches 2:57500e991166 39 bLED = LED_OFF;
switches 0:60a522ae2e35 40
switches 8:1d48f139567d 41 featherOLED.printf("%ux%u OLED Display\r\n", featherOLED.width(), featherOLED.height());
switches 8:1d48f139567d 42 featherOLED.printf("HelloWorld \r");
switches 8:1d48f139567d 43 featherOLED.display();
switches 8:1d48f139567d 44
switches 2:57500e991166 45 rLED = LED_OFF;
switches 1:6923b075c8d7 46
switches 1:6923b075c8d7 47 while(1) {
switches 8:1d48f139567d 48 Thread::wait(250);
switches 8:1d48f139567d 49 if (microUSB.readable()) {
switches 8:1d48f139567d 50 c = microUSB.getc();
switches 8:1d48f139567d 51 microUSB.putc(c);
switches 8:1d48f139567d 52 daplink.putc(c);
switches 8:1d48f139567d 53 }
switches 8:1d48f139567d 54 if (daplink.readable()) {
switches 8:1d48f139567d 55 c = daplink.getc();
switches 8:1d48f139567d 56 microUSB.putc(c);
switches 8:1d48f139567d 57 daplink.putc(c);
switches 8:1d48f139567d 58 }
switches 2:57500e991166 59 bLED = c & 1;
switches 8:1d48f139567d 60 featherOLED.clearDisplay();
switches 8:1d48f139567d 61 featherOLED.setTextCursor(0,0);
switches 8:1d48f139567d 62 featherOLED.printf("MAX32630FTHR OLED\n");
switches 8:1d48f139567d 63 featherOLED.printf("AIN0/1: %1.3f, %1.3f\n", (6.0f * ain0), (6.0f * ain1) ); // analog inputs 0,1
switches 8:1d48f139567d 64 featherOLED.printf("AIN2/3: %1.3f, %1.3f\n", (1.2f * ain2), (1.2f * ain3) ); // analog inputs 2,3
switches 8:1d48f139567d 65 featherOLED.printf("CHAR: %c\n", c); // character recieved
switches 8:1d48f139567d 66 featherOLED.display();
switches 8:1d48f139567d 67
switches 0:60a522ae2e35 68 }
switches 0:60a522ae2e35 69 }
switches 0:60a522ae2e35 70