Myself and others new to mbed having trouble understanding the various arcane requirements. Adding a mbed_app.json file to enable a library feature instead of using a #define is one of them. Sharing this to help others.

Dependencies:   max32630fthr USBDevice

Revision:
2:57500e991166
Parent:
1:6923b075c8d7
Child:
3:601c11238ccb
--- a/main.cpp	Sat Nov 12 00:34:35 2016 +0000
+++ b/main.cpp	Thu Dec 08 00:06:59 2016 +0000
@@ -1,38 +1,40 @@
 #include "mbed.h"
+#include "max32630fthr.h"
 #include "USBSerial.h"
 
-#define MAX14690_I2C_ADDR    0x50
+MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3);
 
 // Hardware serial port over DAPLink
-Serial pc(USBTX, USBRX);
+Serial daplink(P2_1, P2_0);
 
-DigitalOut led1(LED1);
-I2C i2cm2(P5_7, P6_0);
+DigitalOut rLED(LED1);
+DigitalOut gLED(LED2);
+DigitalOut bLED(LED3);
 
 // main() runs in its own thread in the OS
 // (note the calls to Thread::wait below for delays)
 int main()
 {
-    char data[5];
     int c;
-    data[0] = 0x14; // I2C address for first register (LDO2 CFG)
-    data[1] = 0x00; // Dissable LDO2
-    data[2] = 0x19; // Set voltage to 3.3V
-    data[3] = 0x00; // Dissable LDO3
-    data[4] = 0x19; // Set voltage to 3.3V
-    i2cm2.write(MAX14690_I2C_ADDR, data, 5);
-    data[1] = 0x02; // Enable LDO2
-    data[3] = 0x02; // Enable LDO3
-    i2cm2.write(MAX14690_I2C_ADDR, data, 5);
+
+    daplink.printf("daplink serial port\r\n");
+    rLED = LED_ON;
+    gLED = LED_ON;
+    bLED = LED_OFF;
+    pegasus.init();
 
     // Virtual serial port over USB
-    USBSerial serial;
+    USBSerial microUSB;
+    microUSB.printf("micro USB serial port\r\n");
+    
+
+    rLED = LED_OFF;
 
     while(1) {
-        c = serial.getc();
-        serial.putc(c);
-        pc.putc(c);
-        led1 = c & 1;
+        c = microUSB.getc();
+        microUSB.putc(c);
+        daplink.putc(c);
+        bLED = c & 1;
     }
 }