Test program running on MAX32625MBED. Control through USB Serial commands using a terminal emulator such as teraterm or putty.

Dependencies:   MaximTinyTester CmdLine MAX541 MAX5715 USBDevice

Revision:
8:6bdfb1376fed
Parent:
7:bf501f8cb637
Child:
9:9b4232e20020
--- a/main.cpp	Thu Jun 20 22:48:43 2019 +0000
+++ b/main.cpp	Fri Jun 21 11:06:46 2019 +0000
@@ -2496,29 +2496,6 @@
 {
     void SelfTest(CmdLine & cmdLine);
 
-    // TODO1: BUTTON1 demo configuration LED blink
-    //~ rgb_led.red(); // diagnostic rbg led RED
-    //~ rgb_led.green(); // diagnostic rbg led GREEN
-    //~ rgb_led.blue(); // diagnostic rbg led BLUE
-    //~ rgb_led.white(); // diagnostic rbg led RED+GREEN+BLUE=WHITE
-    //~ rgb_led.cyan(); // diagnostic rbg led GREEN+BLUE=CYAN
-    //~ rgb_led.magenta(); // diagnostic rbg led RED+BLUE=MAGENTA
-    //~ rgb_led.yellow(); // diagnostic rbg led RED+GREEN=YELLOW
-    //~ rgb_led.black(); // diagnostic rbg led BLACK
-    //~ led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW
-    //~ rgb_led.yellow(); // diagnostic rbg led RED+GREEN=YELLOW
-    //~ ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250);
-    //~ led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN
-    //~ rgb_led.black(); // diagnostic rbg led BLACK
-    //~ ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250);
-    //~ led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW
-    //~ rgb_led.yellow(); // diagnostic rbg led RED+GREEN=YELLOW
-    //~ ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250);
-    //~ led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN
-    //~ rgb_led.black(); // diagnostic rbg led BLACK
-    //~ ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250);
-    //~ rgb_led.yellow(); // diagnostic rbg led RED+GREEN=YELLOW
-
     SelfTest(cmdLine_serial);
 
 #if 0 // APPLICATION_MAX5715 // onButton1FallingEdge BUTTON1 demo configuration MAX5715BOB
@@ -2539,18 +2516,6 @@
 void onButton2FallingEdge(void)
 {
     // TODO1: BUTTON2 demo configuration LED blink
-    //~ led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW
-    //~ rgb_led.yellow(); // diagnostic rbg led RED+GREEN=YELLOW
-    // ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250);
-    // led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN
-    //~ rgb_led.green(); // diagnostic rbg led GREEN
-    // ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250);
-    // led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW
-    //~ rgb_led.yellow(); // diagnostic rbg led RED+GREEN=YELLOW
-    // ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250);
-    // led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN
-    //~ rgb_led.green(); // diagnostic rbg led GREEN
-    // ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250);
 
 #if APPLICATION_MAX5715 // onButton2FallingEdge BUTTON2 demo configuration MAX5715BOB
     //~ cmdLine.serial().printf("MAX5715_REF(REF_AlwaysOn_2V048)");
@@ -2757,7 +2722,7 @@
                             max541.Get_Code(), max541.Get_Voltage());
 #if analogIn4_IS_HIGH_RANGE_OF_analogIn0
     // Platform board uses AIN4,AIN5,.. as high range of AIN0,AIN1,..
-    MaximTinyTester tinyTester(cmdLine, analogIn4, analogIn5, analogIn2, analogIn3, analogIn0, analogIn4);
+    MaximTinyTester tinyTester(cmdLine, analogIn4, analogIn5, analogIn2, analogIn3, analogIn0, analogIn4, led1, led2, led3);
     tinyTester.analogInPin_fullScaleVoltage[0] = analogInPin_fullScaleVoltage[4]; // board support
     tinyTester.analogInPin_fullScaleVoltage[1] = analogInPin_fullScaleVoltage[5]; // board support
     tinyTester.analogInPin_fullScaleVoltage[2] = analogInPin_fullScaleVoltage[2]; // board support
@@ -2767,7 +2732,7 @@
     // low range channels AIN0, AIN1, AIN2, AIN3
 #else // analogIn4_IS_HIGH_RANGE_OF_analogIn0
     // Platform board uses simple analog inputs
-    MaximTinyTester tinyTester(cmdLine, analogIn0, analogIn1, analogIn2, analogIn3, analogIn4, analogIn5);
+    MaximTinyTester tinyTester(cmdLine, analogIn0, analogIn1, analogIn2, analogIn3, analogIn4, analogIn5, led1, led2, led3);
     tinyTester.analogInPin_fullScaleVoltage[0] = analogInPin_fullScaleVoltage[0]; // board support
     tinyTester.analogInPin_fullScaleVoltage[1] = analogInPin_fullScaleVoltage[1]; // board support
     tinyTester.analogInPin_fullScaleVoltage[2] = analogInPin_fullScaleVoltage[2]; // board support
@@ -2786,8 +2751,7 @@
     //--------------------------------------------------
 #if analogIn4_IS_HIGH_RANGE_OF_analogIn0
     // Platform board uses AIN4,AIN5,.. as high range of AIN0,AIN1,..
-    // MaximTinyTester(Stream& AssociatedSerialPort, const char *Name);
-    MaximTinyTester tinyTester(cmdLine, analogIn4, analogIn5, analogIn2, analogIn3, analogIn0, analogIn4);
+    MaximTinyTester tinyTester(cmdLine, analogIn4, analogIn5, analogIn2, analogIn3, analogIn0, analogIn4, led1, led2, led3);
     tinyTester.analogInPin_fullScaleVoltage[0] = analogInPin_fullScaleVoltage[4]; // board support
     tinyTester.analogInPin_fullScaleVoltage[1] = analogInPin_fullScaleVoltage[5]; // board support
     tinyTester.analogInPin_fullScaleVoltage[2] = analogInPin_fullScaleVoltage[2]; // board support
@@ -2797,8 +2761,7 @@
     // low range channels AIN0, AIN1, AIN2, AIN3
 #else // analogIn4_IS_HIGH_RANGE_OF_analogIn0
     // Platform board uses simple analog inputs
-    // MaximTinyTester(Stream& AssociatedSerialPort, const char *Name);
-    MaximTinyTester tinyTester(cmdLine, analogIn0, analogIn1, analogIn2, analogIn3, analogIn4, analogIn5);
+    MaximTinyTester tinyTester(cmdLine, analogIn0, analogIn1, analogIn2, analogIn3, analogIn4, analogIn5, led1, led2, led3);
     tinyTester.analogInPin_fullScaleVoltage[0] = analogInPin_fullScaleVoltage[0]; // board support
     tinyTester.analogInPin_fullScaleVoltage[1] = analogInPin_fullScaleVoltage[1]; // board support
     tinyTester.analogInPin_fullScaleVoltage[2] = analogInPin_fullScaleVoltage[2]; // board support
@@ -2806,16 +2769,7 @@
     tinyTester.analogInPin_fullScaleVoltage[4] = analogInPin_fullScaleVoltage[4]; // board support
     tinyTester.analogInPin_fullScaleVoltage[5] = analogInPin_fullScaleVoltage[5]; // board support
 #endif
-#if USE_LEDS
-    //~ rgb_led.red(); // diagnostic rbg led RED
-    //~ rgb_led.green(); // diagnostic rbg led GREEN
-    //~ rgb_led.blue(); // diagnostic rbg led BLUE
-    //~ rgb_led.white(); // diagnostic rbg led RED+GREEN+BLUE=WHITE
-    //~ rgb_led.cyan(); // diagnostic rbg led GREEN+BLUE=CYAN
-    //~ rgb_led.magenta(); // diagnostic rbg led RED+BLUE=MAGENTA
-    rgb_led.yellow();     // diagnostic rbg led RED+GREEN=YELLOW
-    //~ rgb_led.black(); // diagnostic rbg led BLACK
-#endif // USE_LEDS
+    tinyTester.clear();
 #if APPLICATION_MAX5715 // SelfTest
     //
     // tinyTester.FunctionCall_Expect replaces SelfTest_DACCodeOfVoltage_Expect
@@ -3490,12 +3444,12 @@
     //uint8_t (*fn_MAX5171_CODE_LOAD)(uint16_t dacCodeLsbs) = [](uint16_t dacCodeLsbs){ return g_MAX5171_device.CODE_LOAD(dacCodeLsbs); };
     //
     //double one_LSB = (g_MAX5171_device.VRef / 16383); // 14-bit DAC FS
-    tinyTester.err_threshold = (g_MAX5171_device.VRef / 16383); // 14-bit DAC FS
     // tinyTester.Wait_Output_Settling replaces wait_ms
     tinyTester.settle_time_msec = 250;
 
     g_MAX5171_device.VRef = 2.500;     // MAX5171 14-bit LSB = 0.00015V
     SelfTest_print_Vref(cmdLine);
+    tinyTester.err_threshold = (g_MAX5171_device.VRef / 16383); // 14-bit DAC FS
     //
     // tinyTester.FunctionCall_Expect replaces SelfTest_DACCodeOfVoltage_Expect
     tinyTester.FunctionCall_Expect("MAX5171.DACCodeOfVoltage", fn_MAX5171_DACCodeOfVoltage, 2.499847412109375, 0x3FFF);
@@ -3597,7 +3551,7 @@
       // TODO: placeholder for self-test functions
 #endif // APPLICATION_MAX5715
        //
-#if 0
+#if INJECT_SELFTEST_FAIL
     // Test of the pass/fail report mechanism
     SelfTest_FAIL(cmdLine);
     cmdLine.serial().printf("injecting one false failure for test reporting");
@@ -3605,14 +3559,6 @@
     //
     // Report number of pass and number of fail test results
     tinyTester.Report_Summary();
-#if USE_LEDS
-    if (tinyTester.nFail == 0) {
-        rgb_led.green();     // diagnostic rbg led GREEN
-    }
-    else {
-        rgb_led.red(); // diagnostic rbg led RED
-    }
-#endif // USE_LEDS
 }