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

Dependencies:   MaximTinyTester MAX11131 CmdLine MAX541 USBDevice

Files at this revision

API Documentation at this revision

Comitter:
whismanoid
Date:
Wed Jun 23 16:54:08 2021 -0700
Parent:
34:e28c083ce03d
Commit message:
SelfTest -- report names of enabled test groups

Changed in this revision

Test_Main_MAX11131.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/Test_Main_MAX11131.cpp	Sun Jun 06 03:48:05 2021 -0700
+++ b/Test_Main_MAX11131.cpp	Wed Jun 23 16:54:08 2021 -0700
@@ -1892,47 +1892,82 @@
 extern void fn_MAX11131_ReadAINcode(void);
 
 //--------------------------------------------------
+// SelfTestGroupEnable selects which of the included tests will run
+int SelfTestGroupEnable = 0
+//   | 0x0001 //  -- halt-on-first-failure configuration flag
+//   | 0x0002 //  -- repeat-until-failure configuration flag
+   | 0x0004 // SPI48_3MSps -- support 3MSps parts SCLK<=48MHz (enabled by default)
+   | 0x0008 // SPI16MHz_1MSps -- support 1MSps parts SCLK<=16MHz (enabled by default)
+   | 0x0010 // SPI8MHz_500kSps -- support 500kSps parts SCLK<=8MHz (enabled by default)
+   | 0x0020 // SPI12MHz_1MSps -- support 1MSps parts SCLK<=16MHz (enabled by default)
+   | 0x0040 // TEST10_SCAN_0100 -- Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS (enabled by default)
+   | 0x0080 // TEST4_SCAN_0100 -- 4 ch=15 pm=0 id=1 -- ScanStandardExternalCloc (enabled by default)
+   | 0x0100 // TEST11_SCAN_0011 -- 1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC (enabled by default)
+   ;
+
+//--------------------------------------------------
 // optional self-test groups for self test function SelfTest()
 // enable by changing the #define value from 0 to 1
 
 // SelfTest group SPI48_3MSps description:
 // support 3MSps parts SCLK<=48MHz (enabled by default)
+// SelfTestGroupEnable bitmask 0x0004
+// self test command:  
+// . run=0x0004
 #ifndef MAX11131_SELFTEST_SPI48_3MSps
 #define MAX11131_SELFTEST_SPI48_3MSps 1
 #endif
 
 // SelfTest group SPI16MHz_1MSps description:
 // support 1MSps parts SCLK<=16MHz (enabled by default)
+// SelfTestGroupEnable bitmask 0x0008
+// self test command:  
+// . run=0x0008
 #ifndef MAX11131_SELFTEST_SPI16MHz_1MSps
 #define MAX11131_SELFTEST_SPI16MHz_1MSps 1
 #endif
 
 // SelfTest group SPI8MHz_500kSps description:
 // support 500kSps parts SCLK<=8MHz (enabled by default)
+// SelfTestGroupEnable bitmask 0x0010
+// self test command:  
+// . run=0x0010
 #ifndef MAX11131_SELFTEST_SPI8MHz_500kSps
 #define MAX11131_SELFTEST_SPI8MHz_500kSps 1
 #endif
 
 // SelfTest group SPI12MHz_1MSps description:
 // support 1MSps parts SCLK<=16MHz (enabled by default)
+// SelfTestGroupEnable bitmask 0x0020
+// self test command:  
+// . run=0x0020
 #ifndef MAX11131_SELFTEST_SPI12MHz_1MSps
 #define MAX11131_SELFTEST_SPI12MHz_1MSps 1
 #endif
 
 // SelfTest group TEST10_SCAN_0100 description:
 // Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS (enabled by default)
+// SelfTestGroupEnable bitmask 0x0040
+// self test command:  
+// . run=0x0040
 #ifndef MAX11131_SELFTEST_TEST10_SCAN_0100
 #define MAX11131_SELFTEST_TEST10_SCAN_0100 1
 #endif
 
 // SelfTest group TEST4_SCAN_0100 description:
 // 4 ch=15 pm=0 id=1 -- ScanStandardExternalCloc (enabled by default)
+// SelfTestGroupEnable bitmask 0x0080
+// self test command:  
+// . run=0x0080
 #ifndef MAX11131_SELFTEST_TEST4_SCAN_0100
 #define MAX11131_SELFTEST_TEST4_SCAN_0100 1
 #endif
 
 // SelfTest group TEST11_SCAN_0011 description:
 // 1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC (enabled by default)
+// SelfTestGroupEnable bitmask 0x0100
+// self test command:  
+// . run=0x0100
 #ifndef MAX11131_SELFTEST_TEST11_SCAN_0011
 #define MAX11131_SELFTEST_TEST11_SCAN_0011 1
 #endif
@@ -1943,6 +1978,18 @@
 void onButton1FallingEdge(void)
 {
     void SelfTest(CmdLine & cmdLine);
+    // SelfTestGroupEnable selects which of the included tests will run
+    SelfTestGroupEnable = 0
+//        | 0x0001 //  -- halt-on-first-failure configuration flag
+//        | 0x0002 //  -- repeat-until-failure configuration flag
+        | 0x0004 // SPI48_3MSps -- support 3MSps parts SCLK<=48MHz (enabled by default)
+        | 0x0008 // SPI16MHz_1MSps -- support 1MSps parts SCLK<=16MHz (enabled by default)
+        | 0x0010 // SPI8MHz_500kSps -- support 500kSps parts SCLK<=8MHz (enabled by default)
+        | 0x0020 // SPI12MHz_1MSps -- support 1MSps parts SCLK<=16MHz (enabled by default)
+        | 0x0040 // TEST10_SCAN_0100 -- Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS (enabled by default)
+        | 0x0080 // TEST4_SCAN_0100 -- 4 ch=15 pm=0 id=1 -- ScanStandardExternalCloc (enabled by default)
+        | 0x0100 // TEST11_SCAN_0011 -- 1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC (enabled by default)
+    ;
     SelfTest(cmdLine_serial);
 }
 #endif // HAS_BUTTON1_DEMO_INTERRUPT
@@ -1953,8 +2000,21 @@
 void onButton2FallingEdge(void)
 {
     // TBD demo configuration
-    // TODO diagnostic LED
-    led1 = LED_OFF; led2 = LED_OFF; led3 = LED_ON;     // diagnostic rbg led BLUE
+// When user presses button BUTTON2, perform self test until failure
+    void SelfTest(CmdLine & cmdLine);
+    // SelfTestGroupEnable selects which of the included tests will run
+    SelfTestGroupEnable = 0
+        | 0x0001 //  -- halt-on-first-failure configuration flag
+        | 0x0002 //  -- repeat-until-failure configuration flag
+        | 0x0004 // SPI48_3MSps -- support 3MSps parts SCLK<=48MHz (enabled by default)
+        | 0x0008 // SPI16MHz_1MSps -- support 1MSps parts SCLK<=16MHz (enabled by default)
+        | 0x0010 // SPI8MHz_500kSps -- support 500kSps parts SCLK<=8MHz (enabled by default)
+        | 0x0020 // SPI12MHz_1MSps -- support 1MSps parts SCLK<=16MHz (enabled by default)
+        | 0x0040 // TEST10_SCAN_0100 -- Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS (enabled by default)
+        | 0x0080 // TEST4_SCAN_0100 -- 4 ch=15 pm=0 id=1 -- ScanStandardExternalCloc (enabled by default)
+        | 0x0100 // TEST11_SCAN_0011 -- 1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC (enabled by default)
+    ;
+    SelfTest(cmdLine_serial);
 }
 #endif // HAS_BUTTON2_DEMO_INTERRUPT
 
@@ -1984,6 +2044,23 @@
 #endif
     tinyTester.clear();
 
+    // repeat-until-failure logic
+    repeatUntilFailure:
+    cmdLine.serial().printf("\r\n. run=0x%4.4x", SelfTestGroupEnable);
+    if ((SelfTestGroupEnable & 0x0003) == 0x0000) { cmdLine.serial().printf("\r\n. runall=0x%4.4x", SelfTestGroupEnable &~ 0x0003); }
+    if ((SelfTestGroupEnable & 0x0003) == 0x0001) { cmdLine.serial().printf("\r\n. runfail=0x%4.4x", SelfTestGroupEnable &~ 0x0003); }
+    if ((SelfTestGroupEnable & 0x0003) == 0x0002) { cmdLine.serial().printf("\r\n. loopall=0x%4.4x", SelfTestGroupEnable &~ 0x0003); }
+    if ((SelfTestGroupEnable & 0x0003) == 0x0003) { cmdLine.serial().printf("\r\n. loopfail=0x%4.4x", SelfTestGroupEnable &~ 0x0003); }
+    cmdLine.serial().printf("\r\n   0x0004 %s SPI48_3MSps", (SelfTestGroupEnable & 0x0004) ? "run  " : " skip");
+    cmdLine.serial().printf("\r\n   0x0008 %s SPI16MHz_1MSps", (SelfTestGroupEnable & 0x0008) ? "run  " : " skip");
+    cmdLine.serial().printf("\r\n   0x0010 %s SPI8MHz_500kSps", (SelfTestGroupEnable & 0x0010) ? "run  " : " skip");
+    cmdLine.serial().printf("\r\n   0x0020 %s SPI12MHz_1MSps", (SelfTestGroupEnable & 0x0020) ? "run  " : " skip");
+    cmdLine.serial().printf("\r\n   0x0040 %s TEST10_SCAN_0100", (SelfTestGroupEnable & 0x0040) ? "run  " : " skip");
+    cmdLine.serial().printf("\r\n   0x0080 %s TEST4_SCAN_0100", (SelfTestGroupEnable & 0x0080) ? "run  " : " skip");
+    cmdLine.serial().printf("\r\n   0x0100 %s TEST11_SCAN_0011", (SelfTestGroupEnable & 0x0100) ? "run  " : " skip");
+    // Report number of pass and number of fail test results
+    tinyTester.Report_Summary();
+    //
     // @test group SPI48_3MSps // support 3MSps parts SCLK<=48MHz (enabled by default)
     // @test group SPI48_3MSps tinyTester.print("SPI 48MHz")
     // docTest_item['actionType'] = 'print-string'
@@ -1991,10 +2068,14 @@
     // docTest_item['action'] = 'tinyTester.print("SPI 48MHz")'
     // docTest_item['arglist'] = 'SPI 48MHz'
 #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps None 
+    if (SelfTestGroupEnable & 0x0004) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "SPI 48MHz"
     tinyTester.print("SPI 48MHz");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0004)
 #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps
 
     // @test group SPI48_3MSps SPIfrequency(48000000); // support 3MSps parts SCLK<=48MHz
@@ -2004,11 +2085,15 @@
     // docTest_item['funcName'] = 'SPIfrequency'
     // docTest_item['arglist'] = '48000000'
 #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps SPIfrequency 
+    if (SelfTestGroupEnable & 0x0004) {
     // call-function
     // selfTestFunctionClosures['SPIfrequency']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIfrequency((int)48000000), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIfrequency", fn_MAX11131_SPIfrequency, (int)48000000, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIfrequency((int)48000000); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0004)
 #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps
 
     // @test group SPI48_3MSps SPIgetFrequency() expect 48000000
@@ -2018,10 +2103,14 @@
     // docTest_item['funcName'] = 'SPIgetFrequency'
     // docTest_item['expect-value'] = '48000000'
 #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps SPIgetFrequency 
+    if (SelfTestGroupEnable & 0x0004) {
     // call-function
     // selfTestFunctionClosures['SPIgetFrequency']['returnType'] = 'int'
     // ASSERT_EQ(g_MAX11131_device.SPIgetFrequency(()), (int)48000000); // 
     tinyTester.FunctionCall_d_Expect("MAX11131.SPIgetFrequency", fn_MAX11131_SPIgetFrequency, /* empty docTest_argList */ /* expect: */ (int)48000000); // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0004)
 #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps
 
     // @test group SPI48_3MSps tinyTester.settle_time_msec = 250 // default 250
@@ -2032,10 +2121,14 @@
     // docTest_item['propName'] = 'tinyTester.settle_time_msec'
     // docTest_item['propValue'] = '250'
 #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps None default 250
+    if (SelfTestGroupEnable & 0x0004) {
     // assign-propname-value
     // tinyTesterPropName = "tinyTester.settle_time_msec"
     // tinyTesterPropValue = "250"
     tinyTester.settle_time_msec = 250;
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0004)
 #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps
 
     // @test group SPI48_3MSps tinyTester.Wait_Output_Settling()
@@ -2044,10 +2137,14 @@
     // docTest_item['action'] = 'tinyTester.Wait_Output_Settling()'
     // docTest_item['propName'] = 'Wait_Output_Settling'
 #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps None 
+    if (SelfTestGroupEnable & 0x0004) {
     // call-tinytester-function
     // tinyTesterFuncName = "tinyTester.Wait_Output_Settling"
     // docTest_argList = ""
     tinyTester.Wait_Output_Settling(); // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0004)
 #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps
 
     // @test group SPI48_3MSps SPIoutputCS(0)
@@ -2057,11 +2154,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0004) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0004)
 #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps
 
     // @test group SPI48_3MSps SPIread16bits()
@@ -2070,11 +2171,15 @@
     // docTest_item['action'] = 'SPIread16bits()'
     // docTest_item['funcName'] = 'SPIread16bits'
 #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps SPIread16bits 
+    if (SelfTestGroupEnable & 0x0004) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* empty expect: */ (int16_t)None); // 
     g_MAX11131_device.SPIread16bits(); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0004)
 #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps
 
     // @test group SPI48_3MSps SPIoutputCS(1)
@@ -2084,11 +2189,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0004) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0004)
 #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps
 
     // @test group SPI16MHz_1MSps // support 1MSps parts SCLK<=16MHz (enabled by default)
@@ -2098,10 +2207,14 @@
     // docTest_item['action'] = 'tinyTester.print("SPI 16MHz")'
     // docTest_item['arglist'] = 'SPI 16MHz'
 #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps None 
+    if (SelfTestGroupEnable & 0x0008) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "SPI 16MHz"
     tinyTester.print("SPI 16MHz");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0008)
 #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps
 
     // @test group SPI16MHz_1MSps SPIfrequency(16000000); // support 1MSps parts SCLK<=16MHz
@@ -2111,11 +2224,15 @@
     // docTest_item['funcName'] = 'SPIfrequency'
     // docTest_item['arglist'] = '16000000'
 #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps SPIfrequency 
+    if (SelfTestGroupEnable & 0x0008) {
     // call-function
     // selfTestFunctionClosures['SPIfrequency']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIfrequency((int)16000000), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIfrequency", fn_MAX11131_SPIfrequency, (int)16000000, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIfrequency((int)16000000); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0008)
 #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps
 
     // @test group SPI16MHz_1MSps SPIgetFrequency() expect 16000000
@@ -2125,10 +2242,14 @@
     // docTest_item['funcName'] = 'SPIgetFrequency'
     // docTest_item['expect-value'] = '16000000'
 #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps SPIgetFrequency 
+    if (SelfTestGroupEnable & 0x0008) {
     // call-function
     // selfTestFunctionClosures['SPIgetFrequency']['returnType'] = 'int'
     // ASSERT_EQ(g_MAX11131_device.SPIgetFrequency(()), (int)16000000); // 
     tinyTester.FunctionCall_d_Expect("MAX11131.SPIgetFrequency", fn_MAX11131_SPIgetFrequency, /* empty docTest_argList */ /* expect: */ (int)16000000); // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0008)
 #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps
 
     // @test group SPI16MHz_1MSps tinyTester.settle_time_msec = 250 // default 250
@@ -2139,10 +2260,14 @@
     // docTest_item['propName'] = 'tinyTester.settle_time_msec'
     // docTest_item['propValue'] = '250'
 #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps None default 250
+    if (SelfTestGroupEnable & 0x0008) {
     // assign-propname-value
     // tinyTesterPropName = "tinyTester.settle_time_msec"
     // tinyTesterPropValue = "250"
     tinyTester.settle_time_msec = 250;
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0008)
 #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps
 
     // @test group SPI16MHz_1MSps tinyTester.Wait_Output_Settling()
@@ -2151,10 +2276,14 @@
     // docTest_item['action'] = 'tinyTester.Wait_Output_Settling()'
     // docTest_item['propName'] = 'Wait_Output_Settling'
 #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps None 
+    if (SelfTestGroupEnable & 0x0008) {
     // call-tinytester-function
     // tinyTesterFuncName = "tinyTester.Wait_Output_Settling"
     // docTest_argList = ""
     tinyTester.Wait_Output_Settling(); // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0008)
 #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps
 
     // @test group SPI16MHz_1MSps SPIoutputCS(0)
@@ -2164,11 +2293,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0008) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0008)
 #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps
 
     // @test group SPI16MHz_1MSps SPIread16bits()
@@ -2177,11 +2310,15 @@
     // docTest_item['action'] = 'SPIread16bits()'
     // docTest_item['funcName'] = 'SPIread16bits'
 #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps SPIread16bits 
+    if (SelfTestGroupEnable & 0x0008) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* empty expect: */ (int16_t)None); // 
     g_MAX11131_device.SPIread16bits(); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0008)
 #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps
 
     // @test group SPI16MHz_1MSps SPIoutputCS(1)
@@ -2191,11 +2328,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0008) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0008)
 #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps
 
     // @test group SPI8MHz_500kSps // support 500kSps parts SCLK<=8MHz (enabled by default)
@@ -2205,10 +2346,14 @@
     // docTest_item['action'] = 'tinyTester.print("SPI 8MHz")'
     // docTest_item['arglist'] = 'SPI 8MHz'
 #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps None 
+    if (SelfTestGroupEnable & 0x0010) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "SPI 8MHz"
     tinyTester.print("SPI 8MHz");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0010)
 #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps
 
     // @test group SPI8MHz_500kSps SPIfrequency(8000000); // support 500kSps parts SCLK<=8MHz
@@ -2218,11 +2363,15 @@
     // docTest_item['funcName'] = 'SPIfrequency'
     // docTest_item['arglist'] = '8000000'
 #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps SPIfrequency 
+    if (SelfTestGroupEnable & 0x0010) {
     // call-function
     // selfTestFunctionClosures['SPIfrequency']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIfrequency((int)8000000), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIfrequency", fn_MAX11131_SPIfrequency, (int)8000000, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIfrequency((int)8000000); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0010)
 #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps
 
     // @test group SPI8MHz_500kSps SPIgetFrequency() expect 8000000
@@ -2232,10 +2381,14 @@
     // docTest_item['funcName'] = 'SPIgetFrequency'
     // docTest_item['expect-value'] = '8000000'
 #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps SPIgetFrequency 
+    if (SelfTestGroupEnable & 0x0010) {
     // call-function
     // selfTestFunctionClosures['SPIgetFrequency']['returnType'] = 'int'
     // ASSERT_EQ(g_MAX11131_device.SPIgetFrequency(()), (int)8000000); // 
     tinyTester.FunctionCall_d_Expect("MAX11131.SPIgetFrequency", fn_MAX11131_SPIgetFrequency, /* empty docTest_argList */ /* expect: */ (int)8000000); // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0010)
 #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps
 
     // @test group SPI8MHz_500kSps tinyTester.settle_time_msec = 250 // default 250
@@ -2246,10 +2399,14 @@
     // docTest_item['propName'] = 'tinyTester.settle_time_msec'
     // docTest_item['propValue'] = '250'
 #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps None default 250
+    if (SelfTestGroupEnable & 0x0010) {
     // assign-propname-value
     // tinyTesterPropName = "tinyTester.settle_time_msec"
     // tinyTesterPropValue = "250"
     tinyTester.settle_time_msec = 250;
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0010)
 #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps
 
     // @test group SPI8MHz_500kSps tinyTester.Wait_Output_Settling()
@@ -2258,10 +2415,14 @@
     // docTest_item['action'] = 'tinyTester.Wait_Output_Settling()'
     // docTest_item['propName'] = 'Wait_Output_Settling'
 #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps None 
+    if (SelfTestGroupEnable & 0x0010) {
     // call-tinytester-function
     // tinyTesterFuncName = "tinyTester.Wait_Output_Settling"
     // docTest_argList = ""
     tinyTester.Wait_Output_Settling(); // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0010)
 #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps
 
     // @test group SPI8MHz_500kSps SPIoutputCS(0)
@@ -2271,11 +2432,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0010) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0010)
 #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps
 
     // @test group SPI8MHz_500kSps SPIread16bits()
@@ -2284,11 +2449,15 @@
     // docTest_item['action'] = 'SPIread16bits()'
     // docTest_item['funcName'] = 'SPIread16bits'
 #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps SPIread16bits 
+    if (SelfTestGroupEnable & 0x0010) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* empty expect: */ (int16_t)None); // 
     g_MAX11131_device.SPIread16bits(); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0010)
 #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps
 
     // @test group SPI8MHz_500kSps SPIoutputCS(1)
@@ -2298,11 +2467,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0010) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0010)
 #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps
 
     // @test group SPI12MHz_1MSps // support 1MSps parts SCLK<=16MHz (enabled by default)
@@ -2312,10 +2485,14 @@
     // docTest_item['action'] = 'tinyTester.print("SPI 12MHz")'
     // docTest_item['arglist'] = 'SPI 12MHz'
 #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps None 
+    if (SelfTestGroupEnable & 0x0020) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "SPI 12MHz"
     tinyTester.print("SPI 12MHz");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0020)
 #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps
 
     // @test group SPI12MHz_1MSps SPIfrequency(12000000); // support 1MSps parts SCLK<=16MHz
@@ -2325,11 +2502,15 @@
     // docTest_item['funcName'] = 'SPIfrequency'
     // docTest_item['arglist'] = '12000000'
 #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps SPIfrequency 
+    if (SelfTestGroupEnable & 0x0020) {
     // call-function
     // selfTestFunctionClosures['SPIfrequency']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIfrequency((int)12000000), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIfrequency", fn_MAX11131_SPIfrequency, (int)12000000, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIfrequency((int)12000000); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0020)
 #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps
 
     // @test group SPI12MHz_1MSps SPIgetFrequency() expect 12000000
@@ -2339,10 +2520,14 @@
     // docTest_item['funcName'] = 'SPIgetFrequency'
     // docTest_item['expect-value'] = '12000000'
 #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps SPIgetFrequency 
+    if (SelfTestGroupEnable & 0x0020) {
     // call-function
     // selfTestFunctionClosures['SPIgetFrequency']['returnType'] = 'int'
     // ASSERT_EQ(g_MAX11131_device.SPIgetFrequency(()), (int)12000000); // 
     tinyTester.FunctionCall_d_Expect("MAX11131.SPIgetFrequency", fn_MAX11131_SPIgetFrequency, /* empty docTest_argList */ /* expect: */ (int)12000000); // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0020)
 #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps
 
     // @test group SPI12MHz_1MSps tinyTester.settle_time_msec = 250 // default 250
@@ -2353,10 +2538,14 @@
     // docTest_item['propName'] = 'tinyTester.settle_time_msec'
     // docTest_item['propValue'] = '250'
 #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps None default 250
+    if (SelfTestGroupEnable & 0x0020) {
     // assign-propname-value
     // tinyTesterPropName = "tinyTester.settle_time_msec"
     // tinyTesterPropValue = "250"
     tinyTester.settle_time_msec = 250;
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0020)
 #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps
 
     // @test group SPI12MHz_1MSps tinyTester.Wait_Output_Settling()
@@ -2365,10 +2554,14 @@
     // docTest_item['action'] = 'tinyTester.Wait_Output_Settling()'
     // docTest_item['propName'] = 'Wait_Output_Settling'
 #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps None 
+    if (SelfTestGroupEnable & 0x0020) {
     // call-tinytester-function
     // tinyTesterFuncName = "tinyTester.Wait_Output_Settling"
     // docTest_argList = ""
     tinyTester.Wait_Output_Settling(); // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0020)
 #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps
 
     // @test group SPI12MHz_1MSps SPIoutputCS(0)
@@ -2378,11 +2571,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0020) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0020)
 #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps
 
     // @test group SPI12MHz_1MSps SPIread16bits()
@@ -2391,11 +2588,15 @@
     // docTest_item['action'] = 'SPIread16bits()'
     // docTest_item['funcName'] = 'SPIread16bits'
 #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps SPIread16bits 
+    if (SelfTestGroupEnable & 0x0020) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* empty expect: */ (int16_t)None); // 
     g_MAX11131_device.SPIread16bits(); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0020)
 #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps
 
     // @test group SPI12MHz_1MSps SPIoutputCS(1)
@@ -2405,11 +2606,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0020) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0020)
 #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps
 
     // @test tinyTester.blink_time_msec = 75 // default 75 resume hardware self test
@@ -2458,10 +2663,14 @@
     // docTest_item['action'] = 'tinyTester.print("1.0: Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS")'
     // docTest_item['arglist'] = '1.0: Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "1.0: Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS"
     tinyTester.print("1.0: Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -2471,11 +2680,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("0000_0000_0100_0010  ADC_MODE_CONTROL SCAN_0000")
@@ -2484,10 +2697,14 @@
     // docTest_item['action'] = 'tinyTester.print("0000_0000_0100_0010  ADC_MODE_CONTROL SCAN_0000")'
     // docTest_item['arglist'] = '0000_0000_0100_0010  ADC_MODE_CONTROL SCAN_0000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "0000_0000_0100_0010  ADC_MODE_CONTROL SCAN_0000"
     tinyTester.print("0000_0000_0100_0010  ADC_MODE_CONTROL SCAN_0000");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("                                      CHSEL=0 RESET=2 CHANID=1")
@@ -2496,10 +2713,14 @@
     // docTest_item['action'] = 'tinyTester.print("                                      CHSEL=0 RESET=2 CHANID=1")'
     // docTest_item['arglist'] = '                                      CHSEL=0 RESET=2 CHANID=1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "                                      CHSEL=0 RESET=2 CHANID=1"
     tinyTester.print("                                      CHSEL=0 RESET=2 CHANID=1");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIwrite16bits(0x0040)
@@ -2509,11 +2730,15 @@
     // docTest_item['funcName'] = 'SPIwrite16bits'
     // docTest_item['arglist'] = '0x0040'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIwrite16bits 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIwrite16bits']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIwrite16bits((int16_t)0x0040), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIwrite16bits", fn_MAX11131_SPIwrite16bits, (int16_t)0x0040, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIwrite16bits((int16_t)0x0040); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -2523,11 +2748,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -2537,11 +2766,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits()
@@ -2550,11 +2783,15 @@
     // docTest_item['action'] = 'SPIread16bits()'
     // docTest_item['funcName'] = 'SPIread16bits'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* empty expect: */ (int16_t)None); // 
     g_MAX11131_device.SPIread16bits(); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -2564,11 +2801,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -2578,11 +2819,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits()
@@ -2591,11 +2836,15 @@
     // docTest_item['action'] = 'SPIread16bits()'
     // docTest_item['funcName'] = 'SPIread16bits'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* empty expect: */ (int16_t)None); // 
     g_MAX11131_device.SPIread16bits(); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -2605,11 +2854,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -2619,11 +2872,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits()
@@ -2632,11 +2889,15 @@
     // docTest_item['action'] = 'SPIread16bits()'
     // docTest_item['funcName'] = 'SPIread16bits'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* empty expect: */ (int16_t)None); // 
     g_MAX11131_device.SPIread16bits(); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -2646,11 +2907,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("1000_0000_0000_0000  ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0")
@@ -2659,10 +2924,14 @@
     // docTest_item['action'] = 'tinyTester.print("1000_0000_0000_0000  ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0")'
     // docTest_item['arglist'] = '1000_0000_0000_0000  ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "1000_0000_0000_0000  ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0"
     tinyTester.print("1000_0000_0000_0000  ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -2672,11 +2941,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIwrite16bits(0x8000)
@@ -2686,11 +2959,15 @@
     // docTest_item['funcName'] = 'SPIwrite16bits'
     // docTest_item['arglist'] = '0x8000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIwrite16bits 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIwrite16bits']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIwrite16bits((int16_t)0x8000), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIwrite16bits", fn_MAX11131_SPIwrite16bits, (int16_t)0x8000, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIwrite16bits((int16_t)0x8000); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -2700,11 +2977,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("0010_0111_1010_0100  ADC_MODE_CONTROL SCAN_0100_StandardExt")
@@ -2713,10 +2994,14 @@
     // docTest_item['action'] = 'tinyTester.print("0010_0111_1010_0100  ADC_MODE_CONTROL SCAN_0100_StandardExt")'
     // docTest_item['arglist'] = '0010_0111_1010_0100  ADC_MODE_CONTROL SCAN_0100_StandardExt'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "0010_0111_1010_0100  ADC_MODE_CONTROL SCAN_0100_StandardExt"
     tinyTester.print("0010_0111_1010_0100  ADC_MODE_CONTROL SCAN_0100_StandardExt");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("                                      CHSEL=15 RESET=1 CHANID=1")
@@ -2725,10 +3010,14 @@
     // docTest_item['action'] = 'tinyTester.print("                                      CHSEL=15 RESET=1 CHANID=1")'
     // docTest_item['arglist'] = '                                      CHSEL=15 RESET=1 CHANID=1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "                                      CHSEL=15 RESET=1 CHANID=1"
     tinyTester.print("                                      CHSEL=15 RESET=1 CHANID=1");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -2738,11 +3027,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIwrite16bits(0x27a4)
@@ -2752,11 +3045,15 @@
     // docTest_item['funcName'] = 'SPIwrite16bits'
     // docTest_item['arglist'] = '0x27a4'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIwrite16bits 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIwrite16bits']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIwrite16bits((int16_t)0x27a4), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIwrite16bits", fn_MAX11131_SPIwrite16bits, (int16_t)0x27a4, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIwrite16bits((int16_t)0x27a4); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -2766,11 +3063,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x0xxx (channel ID 0)")
@@ -2779,10 +3080,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x0xxx (channel ID 0)")'
     // docTest_item['arglist'] = 'MISO --> expect 0x0xxx (channel ID 0)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0x0xxx (channel ID 0)"
     tinyTester.print("MISO --> expect 0x0xxx (channel ID 0)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -2792,11 +3097,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x0000 mask 0xF000 // expect 0x0xxx (channel ID 0)
@@ -2808,11 +3117,15 @@
     // docTest_item['expect-value'] = '0x0000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x0xxx (channel ID 0)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x0000); // expect 0x0xxx (channel ID 0)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x0000); // expect 0x0xxx (channel ID 0)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -2822,11 +3135,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x1xxx (channel ID 1)")
@@ -2835,10 +3152,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x1xxx (channel ID 1)")'
     // docTest_item['arglist'] = 'MISO --> expect 0x1xxx (channel ID 1)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0x1xxx (channel ID 1)"
     tinyTester.print("MISO --> expect 0x1xxx (channel ID 1)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -2848,11 +3169,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x1000 mask 0xF000 // expect 0x1xxx (channel ID 1)
@@ -2864,11 +3189,15 @@
     // docTest_item['expect-value'] = '0x1000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x1xxx (channel ID 1)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x1000); // expect 0x1xxx (channel ID 1)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x1000); // expect 0x1xxx (channel ID 1)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -2878,11 +3207,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x2xxx (channel ID 2)")
@@ -2891,10 +3224,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x2xxx (channel ID 2)")'
     // docTest_item['arglist'] = 'MISO --> expect 0x2xxx (channel ID 2)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0x2xxx (channel ID 2)"
     tinyTester.print("MISO --> expect 0x2xxx (channel ID 2)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -2904,11 +3241,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x2000 mask 0xF000 // expect 0x2xxx (channel ID 2)
@@ -2920,11 +3261,15 @@
     // docTest_item['expect-value'] = '0x2000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x2xxx (channel ID 2)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x2000); // expect 0x2xxx (channel ID 2)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x2000); // expect 0x2xxx (channel ID 2)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -2934,11 +3279,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x3xxx (channel ID 3)")
@@ -2947,10 +3296,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x3xxx (channel ID 3)")'
     // docTest_item['arglist'] = 'MISO --> expect 0x3xxx (channel ID 3)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0x3xxx (channel ID 3)"
     tinyTester.print("MISO --> expect 0x3xxx (channel ID 3)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -2960,11 +3313,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x3000 mask 0xF000 // expect 0x3xxx (channel ID 3)
@@ -2976,11 +3333,15 @@
     // docTest_item['expect-value'] = '0x3000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x3xxx (channel ID 3)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x3000); // expect 0x3xxx (channel ID 3)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x3000); // expect 0x3xxx (channel ID 3)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -2990,11 +3351,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x4xxx (channel ID 4)")
@@ -3003,10 +3368,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x4xxx (channel ID 4)")'
     // docTest_item['arglist'] = 'MISO --> expect 0x4xxx (channel ID 4)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0x4xxx (channel ID 4)"
     tinyTester.print("MISO --> expect 0x4xxx (channel ID 4)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -3016,11 +3385,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x4000 mask 0xF000 // expect 0x4xxx (channel ID 4)
@@ -3032,11 +3405,15 @@
     // docTest_item['expect-value'] = '0x4000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x4xxx (channel ID 4)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x4000); // expect 0x4xxx (channel ID 4)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x4000); // expect 0x4xxx (channel ID 4)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -3046,11 +3423,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x5xxx (channel ID 5)")
@@ -3059,10 +3440,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x5xxx (channel ID 5)")'
     // docTest_item['arglist'] = 'MISO --> expect 0x5xxx (channel ID 5)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0x5xxx (channel ID 5)"
     tinyTester.print("MISO --> expect 0x5xxx (channel ID 5)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -3072,11 +3457,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x5000 mask 0xF000 // expect 0x5xxx (channel ID 5)
@@ -3088,11 +3477,15 @@
     // docTest_item['expect-value'] = '0x5000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x5xxx (channel ID 5)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x5000); // expect 0x5xxx (channel ID 5)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x5000); // expect 0x5xxx (channel ID 5)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -3102,11 +3495,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x6xxx (channel ID 6)")
@@ -3115,10 +3512,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x6xxx (channel ID 6)")'
     // docTest_item['arglist'] = 'MISO --> expect 0x6xxx (channel ID 6)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0x6xxx (channel ID 6)"
     tinyTester.print("MISO --> expect 0x6xxx (channel ID 6)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -3128,11 +3529,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x6000 mask 0xF000 // expect 0x6xxx (channel ID 6)
@@ -3144,11 +3549,15 @@
     // docTest_item['expect-value'] = '0x6000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x6xxx (channel ID 6)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x6000); // expect 0x6xxx (channel ID 6)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x6000); // expect 0x6xxx (channel ID 6)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -3158,11 +3567,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x7xxx (channel ID 7)")
@@ -3171,10 +3584,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x7xxx (channel ID 7)")'
     // docTest_item['arglist'] = 'MISO --> expect 0x7xxx (channel ID 7)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0x7xxx (channel ID 7)"
     tinyTester.print("MISO --> expect 0x7xxx (channel ID 7)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -3184,11 +3601,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x7000 mask 0xF000 // expect 0x7xxx (channel ID 7)
@@ -3200,11 +3621,15 @@
     // docTest_item['expect-value'] = '0x7000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x7xxx (channel ID 7)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x7000); // expect 0x7xxx (channel ID 7)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x7000); // expect 0x7xxx (channel ID 7)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -3214,11 +3639,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x8xxx (channel ID 8)")
@@ -3227,10 +3656,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x8xxx (channel ID 8)")'
     // docTest_item['arglist'] = 'MISO --> expect 0x8xxx (channel ID 8)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0x8xxx (channel ID 8)"
     tinyTester.print("MISO --> expect 0x8xxx (channel ID 8)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -3240,11 +3673,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x8000 mask 0xF000 // expect 0x8xxx (channel ID 8)
@@ -3256,11 +3693,15 @@
     // docTest_item['expect-value'] = '0x8000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x8xxx (channel ID 8)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x8000); // expect 0x8xxx (channel ID 8)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x8000); // expect 0x8xxx (channel ID 8)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -3270,11 +3711,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x9xxx (channel ID 9)")
@@ -3283,10 +3728,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x9xxx (channel ID 9)")'
     // docTest_item['arglist'] = 'MISO --> expect 0x9xxx (channel ID 9)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0x9xxx (channel ID 9)"
     tinyTester.print("MISO --> expect 0x9xxx (channel ID 9)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -3296,11 +3745,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x9000 mask 0xF000 // expect 0x9xxx (channel ID 9)
@@ -3312,11 +3765,15 @@
     // docTest_item['expect-value'] = '0x9000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x9xxx (channel ID 9)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x9000); // expect 0x9xxx (channel ID 9)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x9000); // expect 0x9xxx (channel ID 9)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -3326,11 +3783,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xaxxx (channel ID 10)")
@@ -3339,10 +3800,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0xaxxx (channel ID 10)")'
     // docTest_item['arglist'] = 'MISO --> expect 0xaxxx (channel ID 10)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0xaxxx (channel ID 10)"
     tinyTester.print("MISO --> expect 0xaxxx (channel ID 10)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -3352,11 +3817,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0xA000 mask 0xF000 // expect 0xaxxx (channel ID 10)
@@ -3368,11 +3837,15 @@
     // docTest_item['expect-value'] = '0xA000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0xaxxx (channel ID 10)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0xA000); // expect 0xaxxx (channel ID 10)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0xA000); // expect 0xaxxx (channel ID 10)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -3382,11 +3855,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xbxxx (channel ID 11)")
@@ -3395,10 +3872,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0xbxxx (channel ID 11)")'
     // docTest_item['arglist'] = 'MISO --> expect 0xbxxx (channel ID 11)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0xbxxx (channel ID 11)"
     tinyTester.print("MISO --> expect 0xbxxx (channel ID 11)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -3408,11 +3889,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0xB000 mask 0xF000 // expect 0xbxxx (channel ID 11)
@@ -3424,11 +3909,15 @@
     // docTest_item['expect-value'] = '0xB000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0xbxxx (channel ID 11)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0xB000); // expect 0xbxxx (channel ID 11)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0xB000); // expect 0xbxxx (channel ID 11)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -3438,11 +3927,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xcxxx (channel ID 12)")
@@ -3451,10 +3944,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0xcxxx (channel ID 12)")'
     // docTest_item['arglist'] = 'MISO --> expect 0xcxxx (channel ID 12)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0xcxxx (channel ID 12)"
     tinyTester.print("MISO --> expect 0xcxxx (channel ID 12)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -3464,11 +3961,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0xC000 mask 0xF000 // expect 0xcxxx (channel ID 12)
@@ -3480,11 +3981,15 @@
     // docTest_item['expect-value'] = '0xC000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0xcxxx (channel ID 12)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0xC000); // expect 0xcxxx (channel ID 12)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0xC000); // expect 0xcxxx (channel ID 12)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -3494,11 +3999,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xdxxx (channel ID 13)")
@@ -3507,10 +4016,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0xdxxx (channel ID 13)")'
     // docTest_item['arglist'] = 'MISO --> expect 0xdxxx (channel ID 13)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0xdxxx (channel ID 13)"
     tinyTester.print("MISO --> expect 0xdxxx (channel ID 13)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -3520,11 +4033,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0xD000 mask 0xF000 // expect 0xdxxx (channel ID 13)
@@ -3536,11 +4053,15 @@
     // docTest_item['expect-value'] = '0xD000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0xdxxx (channel ID 13)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0xD000); // expect 0xdxxx (channel ID 13)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0xD000); // expect 0xdxxx (channel ID 13)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -3550,11 +4071,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xexxx (channel ID 14)")
@@ -3563,10 +4088,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0xexxx (channel ID 14)")'
     // docTest_item['arglist'] = 'MISO --> expect 0xexxx (channel ID 14)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0xexxx (channel ID 14)"
     tinyTester.print("MISO --> expect 0xexxx (channel ID 14)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -3576,11 +4105,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0xE000 mask 0xF000 // expect 0xexxx (channel ID 14)
@@ -3592,11 +4125,15 @@
     // docTest_item['expect-value'] = '0xE000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0xexxx (channel ID 14)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0xE000); // expect 0xexxx (channel ID 14)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0xE000); // expect 0xexxx (channel ID 14)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -3606,11 +4143,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xfxxx (channel ID 15)")
@@ -3619,10 +4160,14 @@
     // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0xfxxx (channel ID 15)")'
     // docTest_item['arglist'] = 'MISO --> expect 0xfxxx (channel ID 15)'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0040) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "MISO --> expect 0xfxxx (channel ID 15)"
     tinyTester.print("MISO --> expect 0xfxxx (channel ID 15)");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(0)
@@ -3632,11 +4177,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIread16bits() expect 0xF000 mask 0xF000 // expect 0xfxxx (channel ID 15)
@@ -3648,11 +4197,15 @@
     // docTest_item['expect-value'] = '0xF000'
     // docTest_item['mask-value'] = '0xF000'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0xfxxx (channel ID 15)
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t'
     // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0xF000); // expect 0xfxxx (channel ID 15)
     tinyTester.mask = 0xF000; // mask 0xF000
     tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0xF000); // expect 0xfxxx (channel ID 15)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST10_SCAN_0100 SPIoutputCS(1)
@@ -3662,11 +4215,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0040) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0040)
 #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100
 
     // @test group TEST4_SCAN_0100 // 4 ch=15 pm=0 id=1 -- ScanStandardExternalCloc (enabled by default)
@@ -3676,10 +4233,14 @@
     // docTest_item['action'] = 'tinyTester.print("4 ch=15 pm=0 id=1 -- ScanStandardExternalClock")'
     // docTest_item['arglist'] = '4 ch=15 pm=0 id=1 -- ScanStandardExternalClock'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0080) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "4 ch=15 pm=0 id=1 -- ScanStandardExternalClock"
     tinyTester.print("4 ch=15 pm=0 id=1 -- ScanStandardExternalClock");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 tinyTester.print("channelNumber_0_15 = 15")
@@ -3688,10 +4249,14 @@
     // docTest_item['action'] = 'tinyTester.print("channelNumber_0_15 = 15")'
     // docTest_item['arglist'] = 'channelNumber_0_15 = 15'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0080) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "channelNumber_0_15 = 15"
     tinyTester.print("channelNumber_0_15 = 15");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 channelNumber_0_15 = 15
@@ -3701,10 +4266,14 @@
     // docTest_item['propName'] = 'channelNumber_0_15'
     // docTest_item['propValue'] = '15'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0080) {
     // assign-propname-value
     // tinyTesterPropName = "channelNumber_0_15"
     // tinyTesterPropValue = "15"
     g_MAX11131_device.channelNumber_0_15 = 15;
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 tinyTester.print("PowerManagement_0_2 = 0")
@@ -3713,10 +4282,14 @@
     // docTest_item['action'] = 'tinyTester.print("PowerManagement_0_2 = 0")'
     // docTest_item['arglist'] = 'PowerManagement_0_2 = 0'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0080) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "PowerManagement_0_2 = 0"
     tinyTester.print("PowerManagement_0_2 = 0");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 PowerManagement_0_2 = 0 // 0=Normal
@@ -3727,10 +4300,14 @@
     // docTest_item['propName'] = 'PowerManagement_0_2'
     // docTest_item['propValue'] = '0'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None 0=Normal
+    if (SelfTestGroupEnable & 0x0080) {
     // assign-propname-value
     // tinyTesterPropName = "PowerManagement_0_2"
     // tinyTesterPropValue = "0"
     g_MAX11131_device.PowerManagement_0_2 = 0;
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 tinyTester.print("chan_id_0_1 = 1")
@@ -3739,10 +4316,14 @@
     // docTest_item['action'] = 'tinyTester.print("chan_id_0_1 = 1")'
     // docTest_item['arglist'] = 'chan_id_0_1 = 1'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0080) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "chan_id_0_1 = 1"
     tinyTester.print("chan_id_0_1 = 1");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 chan_id_0_1 = 1 // misoData16 = CH[3:0] DATA[11:0]
@@ -3753,10 +4334,14 @@
     // docTest_item['propName'] = 'chan_id_0_1'
     // docTest_item['propValue'] = '1'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None misoData16 = CH[3:0] DATA[11:0]
+    if (SelfTestGroupEnable & 0x0080) {
     // assign-propname-value
     // tinyTesterPropName = "chan_id_0_1"
     // tinyTesterPropValue = "1"
     g_MAX11131_device.chan_id_0_1 = 1;
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 tinyTester.print("ScanStandardExternalClock() expect 16")
@@ -3765,10 +4350,14 @@
     // docTest_item['action'] = 'tinyTester.print("ScanStandardExternalClock() expect 16")'
     // docTest_item['arglist'] = 'ScanStandardExternalClock() expect 16'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0080) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "ScanStandardExternalClock() expect 16"
     tinyTester.print("ScanStandardExternalClock() expect 16");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 ScanStandardExternalClock() expect 16 // Scan_0100_StandardExt
@@ -3779,10 +4368,14 @@
     // docTest_item['funcName'] = 'ScanStandardExternalClock'
     // docTest_item['expect-value'] = '16'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 ScanStandardExternalClock Scan_0100_StandardExt
+    if (SelfTestGroupEnable & 0x0080) {
     // call-function
     // selfTestFunctionClosures['ScanStandardExternalClock']['returnType'] = 'int'
     // ASSERT_EQ(g_MAX11131_device.ScanStandardExternalClock(()), (int)16); // Scan_0100_StandardExt
     tinyTester.FunctionCall_d_Expect("MAX11131.ScanStandardExternalClock", fn_MAX11131_ScanStandardExternalClock, /* empty docTest_argList */ /* expect: */ (int)16); // Scan_0100_StandardExt
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 tinyTester.print("NumWords expect 16")
@@ -3791,10 +4384,14 @@
     // docTest_item['action'] = 'tinyTester.print("NumWords expect 16")'
     // docTest_item['arglist'] = 'NumWords expect 16'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0080) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "NumWords expect 16"
     tinyTester.print("NumWords expect 16");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 NumWords expect 16
@@ -3804,8 +4401,12 @@
     // docTest_item['expect-value'] = '16'
     // docTest_item['propName'] = 'NumWords'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     tinyTester.Expect("MAX11131.NumWords", g_MAX11131_device.NumWords, /* expect: */ 16); // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 ReadAINcode()
@@ -3814,11 +4415,15 @@
     // docTest_item['action'] = 'ReadAINcode()'
     // docTest_item['funcName'] = 'ReadAINcode'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 ReadAINcode 
+    if (SelfTestGroupEnable & 0x0080) {
     // call-function
     // selfTestFunctionClosures['ReadAINcode']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.ReadAINcode(()), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.ReadAINcode", fn_MAX11131_ReadAINcode, /* empty docTest_argList */ /* empty expect: */ (void)None); // 
     g_MAX11131_device.ReadAINcode(); // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 tinyTester.print("Verify RAW_misoData16[0..15]>>12&0x000F == 0..15 channelId")
@@ -3827,10 +4432,14 @@
     // docTest_item['action'] = 'tinyTester.print("Verify RAW_misoData16[0..15]>>12&0x000F == 0..15 channelId")'
     // docTest_item['arglist'] = 'Verify RAW_misoData16[0..15]>>12&0x000F == 0..15 channelId'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None 
+    if (SelfTestGroupEnable & 0x0080) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "Verify RAW_misoData16[0..15]>>12&0x000F == 0..15 channelId"
     tinyTester.print("Verify RAW_misoData16[0..15]>>12&0x000F == 0..15 channelId");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[0]  expect 0x0000 mask 0xF000 // expect 0x0xxx (channel ID 0)
@@ -3842,12 +4451,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[0]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x0xxx (channel ID 0)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[0]", (int16_t)((g_MAX11131_device.RAW_misoData16[0]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0x0000)); // expect 0x0xxx (channel ID 0)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[1]  expect 0x1000 mask 0xF000 // expect 0x1xxx (channel ID 1)
@@ -3859,12 +4472,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[1]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x1xxx (channel ID 1)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[1]", (int16_t)((g_MAX11131_device.RAW_misoData16[1]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0x1000)); // expect 0x1xxx (channel ID 1)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[2]  expect 0x2000 mask 0xF000 // expect 0x2xxx (channel ID 2)
@@ -3876,12 +4493,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[2]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x2xxx (channel ID 2)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[2]", (int16_t)((g_MAX11131_device.RAW_misoData16[2]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0x2000)); // expect 0x2xxx (channel ID 2)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[3]  expect 0x3000 mask 0xF000 // expect 0x3xxx (channel ID 3)
@@ -3893,12 +4514,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[3]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x3xxx (channel ID 3)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[3]", (int16_t)((g_MAX11131_device.RAW_misoData16[3]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0x3000)); // expect 0x3xxx (channel ID 3)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[4]  expect 0x4000 mask 0xF000 // expect 0x4xxx (channel ID 4)
@@ -3910,12 +4535,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[4]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x4xxx (channel ID 4)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[4]", (int16_t)((g_MAX11131_device.RAW_misoData16[4]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0x4000)); // expect 0x4xxx (channel ID 4)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[5]  expect 0x5000 mask 0xF000 // expect 0x5xxx (channel ID 5)
@@ -3927,12 +4556,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[5]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x5xxx (channel ID 5)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[5]", (int16_t)((g_MAX11131_device.RAW_misoData16[5]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0x5000)); // expect 0x5xxx (channel ID 5)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[6]  expect 0x6000 mask 0xF000 // expect 0x6xxx (channel ID 6)
@@ -3944,12 +4577,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[6]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x6xxx (channel ID 6)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[6]", (int16_t)((g_MAX11131_device.RAW_misoData16[6]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0x6000)); // expect 0x6xxx (channel ID 6)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[7]  expect 0x7000 mask 0xF000 // expect 0x7xxx (channel ID 7)
@@ -3961,12 +4598,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[7]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x7xxx (channel ID 7)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[7]", (int16_t)((g_MAX11131_device.RAW_misoData16[7]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0x7000)); // expect 0x7xxx (channel ID 7)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[8]  expect 0x8000 mask 0xF000 // expect 0x8xxx (channel ID 8)
@@ -3978,12 +4619,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[8]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x8xxx (channel ID 8)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[8]", (int16_t)((g_MAX11131_device.RAW_misoData16[8]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0x8000)); // expect 0x8xxx (channel ID 8)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[9]  expect 0x9000 mask 0xF000 // expect 0x9xxx (channel ID 9)
@@ -3995,12 +4640,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[9]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x9xxx (channel ID 9)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[9]", (int16_t)((g_MAX11131_device.RAW_misoData16[9]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0x9000)); // expect 0x9xxx (channel ID 9)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[10] expect 0xA000 mask 0xF000 // expect 0xaxxx (channel ID 10)
@@ -4012,12 +4661,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[10]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0xaxxx (channel ID 10)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[10]", (int16_t)((g_MAX11131_device.RAW_misoData16[10]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0xA000)); // expect 0xaxxx (channel ID 10)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[11] expect 0xB000 mask 0xF000 // expect 0xbxxx (channel ID 11)
@@ -4029,12 +4682,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[11]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0xbxxx (channel ID 11)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[11]", (int16_t)((g_MAX11131_device.RAW_misoData16[11]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0xB000)); // expect 0xbxxx (channel ID 11)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[12] expect 0xC000 mask 0xF000 // expect 0xcxxx (channel ID 12)
@@ -4046,12 +4703,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[12]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0xcxxx (channel ID 12)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[12]", (int16_t)((g_MAX11131_device.RAW_misoData16[12]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0xC000)); // expect 0xcxxx (channel ID 12)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[13] expect 0xD000 mask 0xF000 // expect 0xdxxx (channel ID 13)
@@ -4063,12 +4724,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[13]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0xdxxx (channel ID 13)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[13]", (int16_t)((g_MAX11131_device.RAW_misoData16[13]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0xD000)); // expect 0xdxxx (channel ID 13)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[14] expect 0xE000 mask 0xF000 // expect 0xexxx (channel ID 14)
@@ -4080,12 +4745,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[14]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0xexxx (channel ID 14)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[14]", (int16_t)((g_MAX11131_device.RAW_misoData16[14]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0xE000)); // expect 0xexxx (channel ID 14)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test group TEST4_SCAN_0100 RAW_misoData16[15] expect 0xF000 mask 0xF000 // expect 0xfxxx (channel ID 15)
@@ -4097,12 +4766,16 @@
     // docTest_item['mask-value'] = '0xF000'
     // docTest_item['propName'] = 'RAW_misoData16[15]'
 #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0xfxxx (channel ID 15)
+    if (SelfTestGroupEnable & 0x0080) {
     // test-propname-expect-value
     // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value
     // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value
     tinyTester.Expect("MAX11131.RAW_misoData16[15]", (int16_t)((g_MAX11131_device.RAW_misoData16[15]) & /* mask */ (0xF000)), /* expect: */ (int16_t)(0xF000)); // expect 0xfxxx (channel ID 15)
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0080)
 #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100
 
     // @test tinyTester.print("1000_0000_0000_0000  ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0")
@@ -4205,10 +4878,14 @@
     // docTest_item['action'] = 'tinyTester.print("1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC")'
     // docTest_item['arglist'] = '1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC'
 #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 None 
+    if (SelfTestGroupEnable & 0x0100) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC"
     tinyTester.print("1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0100)
 #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011
 
     // @test group TEST11_SCAN_0011 Init();
@@ -4217,11 +4894,15 @@
     // docTest_item['action'] = 'Init()'
     // docTest_item['funcName'] = 'Init'
 #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 Init 
+    if (SelfTestGroupEnable & 0x0100) {
     // call-function
     // selfTestFunctionClosures['Init']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.Init(()), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.Init", fn_MAX11131_Init, /* empty docTest_argList */ /* empty expect: */ (void)None); // 
     g_MAX11131_device.Init(); // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0100)
 #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011
 
     // @test group TEST11_SCAN_0011 SPIoutputCS(0); // drive CS low
@@ -4231,11 +4912,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0100) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0100)
 #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011
 
     // @test group TEST11_SCAN_0011 group TEST11_SCAN_0011 SPIoutputCS(1); // drive CS high
@@ -4245,10 +4930,14 @@
     // docTest_item['action'] = 'tinyTester.print("1000_0000_0000_0000  ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0")'
     // docTest_item['arglist'] = '1000_0000_0000_0000  ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0'
 #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 None 
+    if (SelfTestGroupEnable & 0x0100) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "1000_0000_0000_0000  ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0"
     tinyTester.print("1000_0000_0000_0000  ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0100)
 #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011
 
     // @test group TEST11_SCAN_0011 SPIoutputCS(0); // drive CS low
@@ -4258,11 +4947,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0100) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0100)
 #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011
 
     // @test group TEST11_SCAN_0011 SPIwrite16bits(0x8000);
@@ -4272,11 +4965,15 @@
     // docTest_item['funcName'] = 'SPIwrite16bits'
     // docTest_item['arglist'] = '0x8000'
 #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 SPIwrite16bits 
+    if (SelfTestGroupEnable & 0x0100) {
     // call-function
     // selfTestFunctionClosures['SPIwrite16bits']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIwrite16bits((int16_t)0x8000), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIwrite16bits", fn_MAX11131_SPIwrite16bits, (int16_t)0x8000, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIwrite16bits((int16_t)0x8000); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0100)
 #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011
 
     // @test group TEST11_SCAN_0011 SPIoutputCS(1); // drive CS high
@@ -4286,11 +4983,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0100) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0100)
 #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011
 
     // @test group TEST11_SCAN_0011 tinyTester.print("0001_1001_1010_0000  ADC_MODE_CONTROL Scan_0011_StandardInt")
@@ -4299,10 +5000,14 @@
     // docTest_item['action'] = 'tinyTester.print("0001_1001_1010_0000  ADC_MODE_CONTROL Scan_0011_StandardInt")'
     // docTest_item['arglist'] = '0001_1001_1010_0000  ADC_MODE_CONTROL Scan_0011_StandardInt'
 #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 None 
+    if (SelfTestGroupEnable & 0x0100) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "0001_1001_1010_0000  ADC_MODE_CONTROL Scan_0011_StandardInt"
     tinyTester.print("0001_1001_1010_0000  ADC_MODE_CONTROL Scan_0011_StandardInt");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0100)
 #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011
 
     // @test group TEST11_SCAN_0011 tinyTester.print("                                      CHSEL=3 RESET=1 SWCNV=0")
@@ -4311,10 +5016,14 @@
     // docTest_item['action'] = 'tinyTester.print("                                      CHSEL=3 RESET=1 SWCNV=0")'
     // docTest_item['arglist'] = '                                      CHSEL=3 RESET=1 SWCNV=0'
 #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 None 
+    if (SelfTestGroupEnable & 0x0100) {
     // print-string
     // tinyTesterFuncName = "tinyTester.print"
     // tinyTesterPrintStringLiteral = "                                      CHSEL=3 RESET=1 SWCNV=0"
     tinyTester.print("                                      CHSEL=3 RESET=1 SWCNV=0");
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0100)
 #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011
 
     // @test group TEST11_SCAN_0011 SPIoutputCS(0); // drive CS low
@@ -4324,11 +5033,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '0'
 #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0100) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0100)
 #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011
 
     // @test group TEST11_SCAN_0011 SPIwrite16bits(0x19a0);
@@ -4338,11 +5051,15 @@
     // docTest_item['funcName'] = 'SPIwrite16bits'
     // docTest_item['arglist'] = '0x19a0'
 #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 SPIwrite16bits 
+    if (SelfTestGroupEnable & 0x0100) {
     // call-function
     // selfTestFunctionClosures['SPIwrite16bits']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIwrite16bits((int16_t)0x19a0), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIwrite16bits", fn_MAX11131_SPIwrite16bits, (int16_t)0x19a0, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIwrite16bits((int16_t)0x19a0); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0100)
 #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011
 
     // @test group TEST11_SCAN_0011 SPIoutputCS(1); // drive CS high
@@ -4352,11 +5069,15 @@
     // docTest_item['funcName'] = 'SPIoutputCS'
     // docTest_item['arglist'] = '1'
 #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 SPIoutputCS 
+    if (SelfTestGroupEnable & 0x0100) {
     // call-function
     // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void'
     // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // 
     // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // 
     g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // 
+    // halt-on-first-failure logic
+    if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; }
+    } // if (SelfTestGroupEnable & 0x0100)
 #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011
 
     //
@@ -4366,6 +5087,14 @@
     cmdLine.serial().print(F("injecting one false failure for test reporting"));
 #endif
     //
+    // repeat-until-failure logic
+    // if (cmdLine.serial().readable()) { goto exitTesting; }
+    if (serial.readable()) { goto exitTesting; }
+    if ((SelfTestGroupEnable & 0x0002) && (tinyTester.nFail == 0)) { goto repeatUntilFailure; }
+    //
+    // halt-on-first-failure logic
+    exitTesting:
+    //
     // Report number of pass and number of fail test results
     tinyTester.Report_Summary();
 }
@@ -5041,7 +5770,7 @@
     //~ cmdLine.serial().print(F("\r\nMenu:"));
     cmdLine.serial().printf("\r\n # -- lines beginning with # are comments");
 
-    cmdLine.serial().printf("\r\n . -- SelfTest");
+    cmdLine.serial().printf("\r\n . runall=? runfail=? loopall=? loopfail=? -- SelfTest");
 
     //cmdLine.serial().print(F("\r\n ! -- Initial Configuration"));
     //
@@ -5207,6 +5936,34 @@
         {
             // . -- SelfTest
             cmdLine.serial().printf("SelfTest()");
+            // parse "run=0x0004" -- run selected tests
+            if (cmdLine.parse_int_dec("run", SelfTestGroupEnable))
+            {
+            }
+            // parse "runall=0x0004" -- run selected tests, continue even if tests fail
+            if (cmdLine.parse_int_dec("runall", SelfTestGroupEnable))
+            {
+                SelfTestGroupEnable &=~ 2; // xxxxxx0x: no repeat-until-failure
+                SelfTestGroupEnable &=~ 1; // xxxxxxx0: no halt-on-first-failure
+            }
+            // parse "runfail=0x0004" -- run selected tests, halt on first failure
+            if (cmdLine.parse_int_dec("runfail", SelfTestGroupEnable))
+            {
+                SelfTestGroupEnable &=~ 2; // xxxxxx0x: no repeat-until-failure
+                SelfTestGroupEnable |=  1; // xxxxxxx1: halt-on-first-failure
+            }
+            // parse "loopall=0x0004" -- run selected tests, repeat until keypress
+            if (cmdLine.parse_int_dec("loopall", SelfTestGroupEnable))
+            {
+                SelfTestGroupEnable |=  2; // xxxxxx1x: repeat-until-failure
+                SelfTestGroupEnable &=~ 1; // xxxxxx10
+            }
+            // parse "loopfail=0x0004" -- run selected tests, repeat until first failure
+            if (cmdLine.parse_int_dec("loopfail", SelfTestGroupEnable))
+            {
+                SelfTestGroupEnable |=  2; // xxxxxx1x: repeat-until-failure
+                SelfTestGroupEnable |=  1; // xxxxxxx1: halt-on-first-failure
+            }
             SelfTest(cmdLine);
         }
         break;