Paul Jeon / Mbed OS PICO_board_demo

Dependencies:   max32625pico SerialInterface USBDevice

Files at this revision

API Documentation at this revision

Comitter:
switches
Date:
Mon Mar 20 23:27:27 2017 +0000
Parent:
7:62efbc5411c8
Child:
9:674b1077b3ec
Commit message:
Updated to maxim-dev library with MAX32625PICO target support

Changed in this revision

SDFileSystem.lib Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
max32630fthr.lib Show diff for this revision Revisions of this file
maxim-dev.lib Show annotated file Show diff for this revision Revisions of this file
mbed-rtos.lib Show annotated file Show diff for this revision Revisions of this file
pegasus_dev.lib Show diff for this revision Revisions of this file
--- a/SDFileSystem.lib	Mon Dec 19 22:45:22 2016 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-https://developer.mbed.org/teams/mbed/code/SDFileSystem/#8db0d3b02cec
--- a/main.cpp	Mon Dec 19 22:45:22 2016 +0000
+++ b/main.cpp	Mon Mar 20 23:27:27 2017 +0000
@@ -1,59 +1,46 @@
 #include "mbed.h"
-#include "max32630fthr.h"
-#include "SDFileSystem.h"
+#include "rtos.h"
 #include "USBKeyboard.h"
 
-MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3);
-
 // Hardware serial port over DAPLink
 Serial daplink(P2_1, P2_0);
 
 DigitalOut rLED(LED1, LED_ON);
 DigitalOut gLED(LED2, LED_OFF);
 DigitalOut bLED(LED3, LED_OFF);
-DigitalIn button(SW1, PullUp);
-AnalogIn monIn(AIN_0);
+DigitalIn button(P0_7, PullUp);
+DigitalOut en3V3(P3_6, 0);
+DigitalOut enIOH(P2_2, 0);
+DigitalOut selSWD(P2_3, 0);
+AnalogIn dipIOH(AIN_4);
+AnalogIn swdIOH(AIN_5);
 AnalogIn vddbIn(AIN_6);
 AnalogIn vdd18In(AIN_7);
 AnalogIn vdd12In(AIN_8);
 AnalogIn vrtcIn(AIN_9);
 
-SDFileSystem sd(P0_5, P0_6, P0_4, P0_7, "sd");  // mosi, miso, sclk, cs
 USBKeyboard keyboard;
 
-#define BMI160_I2C_ADDR 0xD0
-
 // Function to report failure
 void testFailed()
 {
     daplink.printf("\r\n! Test Failed !\r\n");
-    rLED = LED_ON;
-    gLED = LED_OFF;
-    bLED = LED_OFF;
+//    rLED = LED_ON;
+//    gLED = LED_OFF;
+//    bLED = LED_OFF;
     while(1) {
         Thread::wait(500);
-        gLED = !gLED;
+        rLED = !rLED;
     }
 }
 
-// Function to read monitor port
-float readMon(MAX14690::monCfg_t monCfg)
-{
-    pegasus.max14690.monSet(monCfg, MAX14690::MON_DIV4);
-    Thread::wait(5);
-    return (4.8f * monIn);
-}
-
 // main() runs in its own thread in the OS
 // (note the calls to Thread::wait below for delays)
 int main()
 {
     float aIn;
-    char dataBuf[2];
     int ledCnt = 0;
-    
-    daplink.printf("Initializing MAX32630FTHR\r\n");
-//    pegasus.init(MAX32630FTHR::VIO_3V3);
+
     daplink.printf("Checking Supplies\r\n");
     aIn = 2.4f * vdd12In;
     daplink.printf("vdd12 = %f\r\n", aIn);
@@ -75,55 +62,57 @@
     if ((aIn < 1.6f) || (aIn > 2.0f)) {
         testFailed();
     }
-    aIn = readMon(MAX14690::MON_SYS);
-    daplink.printf("sys = %f\r\n", aIn);
-    if ((aIn < 3.0f) || (aIn > 5.0f)) {
+
+    en3V3 = 1;
+    bLED = LED_ON;
+    Thread::wait(100);
+
+    daplink.printf("Checking Switches\r\n");
+    aIn = 6.0f * dipIOH;
+    Thread::wait(100);
+    aIn = 6.0f * dipIOH;
+    daplink.printf("dipIOH(open) = %f\r\n", aIn);
+    if (aIn > 0.1f) {
         testFailed();
     }
-    aIn = readMon(MAX14690::MON_BUCK1);
-    daplink.printf("buck1 = %f\r\n", aIn);
-    if ((aIn < 1.0f) || (aIn > 1.4f)) {
+    aIn = 6.0f * swdIOH;
+    Thread::wait(100);
+    aIn = 6.0f * swdIOH;
+    daplink.printf("swdIOH(open) = %f\r\n", aIn);
+    if (aIn > 0.1f) {
         testFailed();
     }
-    aIn = readMon(MAX14690::MON_BUCK2);
-    daplink.printf("buck2 = %f\r\n", aIn);
-    if ((aIn < 1.6f) || (aIn > 2.0f)) {
-        testFailed();
+
+    enIOH = 1;
+    rLED = LED_OFF;
+    Thread::wait(100);
+
+    aIn = 6.0f * dipIOH;
+    Thread::wait(100);
+    aIn = 6.0f * dipIOH;
+    daplink.printf("dipIOH(closed) = %f\r\n", aIn);
+//    aIn = 6.0f * swdIOH;
+//    daplink.printf("swdIOH(closed) = %f\r\n", aIn);
+    if ((aIn < 3.0f) || (aIn > 3.6f)) {
+//        testFailed();
     }
-    aIn = readMon(MAX14690::MON_LDO1);
-    daplink.printf("ldo1 = %f\r\n", aIn);
-    if ((aIn < 1.6f) || (aIn > 2.0f)) {
-        testFailed();
-    }
-    aIn = readMon(MAX14690::MON_LDO2);
-    daplink.printf("ldo2 = %f\r\n", aIn);
+    
+    selSWD = 1;
+    gLED = LED_ON;
+    Thread::wait(100);
+
+    aIn = 6.0f * swdIOH;
+    Thread::wait(100);
+    aIn = 6.0f * swdIOH;
+    daplink.printf("swdIOH(closed) = %f\r\n", aIn);
+//    aIn = 6.0f * dipIOH;
+//    daplink.printf("dipIOH(closed) = %f\r\n", aIn);
     if ((aIn < 3.0f) || (aIn > 3.6f)) {
         testFailed();
     }
-    aIn = readMon(MAX14690::MON_LDO3);
-    daplink.printf("ldo3 = %f\r\n", aIn);
-    aIn = readMon(MAX14690::MON_LDO3);
 
-    bLED = LED_ON;
-
-    daplink.printf("Checking micro SD Card\r\n");
-    FILE *fp = fopen("/sd/myfile.txt", "r");
-    if(fp == NULL) {
-        daplink.printf("Unable to open 'myfile.txt'\r\n");
-        testFailed();
-    }
-    daplink.printf("micro SD Card present\r\n");
-    rLED = LED_OFF;
-
-    daplink.printf("Checking BMI160\r\n");
-    dataBuf[0] = 0x00;
-    if (pegasus.i2c.write(BMI160_I2C_ADDR, dataBuf, 1, 1) != 0) testFailed();
-    if (pegasus.i2c.read(BMI160_I2C_ADDR, dataBuf, 1) != 0) testFailed();
-    if (dataBuf[0] != 0xD1) testFailed();
-    daplink.printf("BMI160 present\r\n");
-    gLED = LED_ON;
-
-    
+    bLED = LED_OFF;
+    Thread::wait(250);
 
     daplink.printf("Self Test Passed\r\n");
     rLED = LED_ON;
@@ -134,9 +123,9 @@
         if (!button) {
             keyboard.mediaControl(KEY_MUTE);
             ledCnt++;
-            rLED = (ledCnt & 1);
-            gLED = (ledCnt & 2);
-            bLED = (ledCnt & 4);
+            gLED = (ledCnt & 1);
+            bLED = (ledCnt & 2);
+            rLED = gLED ^ bLED;
             Thread::wait(500);
         } else {
             Thread::wait(50);
--- a/max32630fthr.lib	Mon Dec 19 22:45:22 2016 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-https://developer.mbed.org/users/switches/code/max32630fthr/#8e424775234a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/maxim-dev.lib	Mon Mar 20 23:27:27 2017 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/users/switches/code/maxim-dev/#69f8b3de00ab
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rtos.lib	Mon Mar 20 23:27:27 2017 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-rtos/#58563e6cba1e
--- a/pegasus_dev.lib	Mon Dec 19 22:45:22 2016 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-https://developer.mbed.org/users/switches/code/pegasus_dev/#1198227e6421