MAX11410 high speed 24-bit Delta-Sigma ADC

Dependents:   MAX11410BOB_24bit_ADC MAX11410BOB_Serial_Tester

Revision:
27:1cb6c42c6a93
Parent:
26:298726bd5a3f
Child:
28:441633d97018
--- a/MAX11410.cpp	Mon Apr 20 00:52:36 2020 +0000
+++ b/MAX11410.cpp	Tue Apr 21 00:44:59 2020 +0000
@@ -407,76 +407,69 @@
 // Menu item '!'
 // Initialize device
 //
-// TODO1: #169 MAX11410 Self Test for Test Fixture Firmware
 // @test Init() expect 1
 //
-// @future test xxxxxx // comment
-//
-// TODO1: #169 SelfTest support RegRead
 // @test group POR // verify initial register values (enabled by default)
-// @future test tinyTester.print("PART_ID value")
+// @test group PORverbose // verify initial register values
+// @test group PORverbose tinyTester.print("PART_ID value")
 // @test group POR RegRead(MAX11410::CMD_r001_0001_xxxx_xxxx_xxxx_xxxx_xxxx_xddd_PART_ID, buffer) expect 1 expect-buffer 0x000F02
 //
-// @future test tinyTester.print("POR value 0x04 CMD_r000_0100_dddd_xddd_GP0_CTRL")
+// @test group PORverbose tinyTester.print("POR value 0x04 CMD_r000_0100_dddd_xddd_GP0_CTRL")
 // @test group POR RegRead(MAX11410::CMD_r000_0100_dddd_xddd_GP0_CTRL, buffer) expect 1 expect-buffer 0x00
 //
-// @future test tinyTester.print("POR value 0x05 CMD_r000_0101_dddd_xddd_GP1_CTRL")
+// @test group PORverbose tinyTester.print("POR value 0x05 CMD_r000_0101_dddd_xddd_GP1_CTRL")
 // @test group POR RegRead(MAX11410::CMD_r000_0101_dddd_xddd_GP1_CTRL, buffer) expect 1 expect-buffer 0x00
 //
-// @future test tinyTester.print("POR value 0x07 CMD_r000_0111_xddd_dddd_GP_SEQ_ADDR")
+// @test group PORverbose tinyTester.print("POR value 0x07 CMD_r000_0111_xddd_dddd_GP_SEQ_ADDR")
 // @test group POR RegRead(MAX11410::CMD_r000_0111_xddd_dddd_GP_SEQ_ADDR, buffer) expect 1 expect-buffer 0x00003a
 //
-// TODO1: #169 SelfTest support RegWrite and custom enum types
-// @future test tinyTester.print("POR value 0x08 CMD_r000_1000_x0dd_dddd_FILTER")
+// @test group PORverbose tinyTester.print("POR value 0x08 CMD_r000_1000_x0dd_dddd_FILTER")
 // @test group POR RegRead(MAX11410::CMD_r000_1000_x0dd_dddd_FILTER, buffer) expect 1 expect-buffer 0x00
-// could also be stated as RegRead(0x08, buffer) expect 1 expect-buffer 0x00
 //
-// @future test tinyTester.print("POR value 0x09 CMD_r000_1001_dddd_dddd_CTRL")
+// @test group PORverbose tinyTester.print("POR value 0x09 CMD_r000_1001_dddd_dddd_CTRL")
 // @test group POR RegRead(MAX11410::CMD_r000_1001_dddd_dddd_CTRL, buffer) expect 1 expect-buffer 0x000001
 //
-// @future test tinyTester.print("POR value 0x0a CMD_r000_1010_dddd_dddd_SOURCE")
+// @test group PORverbose tinyTester.print("POR value 0x0a CMD_r000_1010_dddd_dddd_SOURCE")
 // @test group POR RegRead(MAX11410::CMD_r000_1010_dddd_dddd_SOURCE, buffer) expect 1 expect-buffer 0x00
 //
-// @future test tinyTester.print("POR value 0x0b CMD_r000_1011_dddd_dddd_MUX_CTRL0")
+// @test group PORverbose tinyTester.print("POR value 0x0b CMD_r000_1011_dddd_dddd_MUX_CTRL0")
 // @test group POR RegRead(MAX11410::CMD_r000_1011_dddd_dddd_MUX_CTRL0, buffer) expect 1 expect-buffer 0x0000ff
 //
-// @future test tinyTester.print("POR value 0x0c CMD_r000_1100_dddd_dddd_MUX_CTRL1")
+// @test group PORverbose tinyTester.print("POR value 0x0c CMD_r000_1100_dddd_dddd_MUX_CTRL1")
 // @test group POR RegRead(MAX11410::CMD_r000_1100_dddd_dddd_MUX_CTRL1, buffer) expect 1 expect-buffer 0x0000ff
 //
-// @future test tinyTester.print("POR value 0x0d CMD_r000_1101_dddd_dddd_MUX_CTRL2")
+// @test group PORverbose tinyTester.print("POR value 0x0d CMD_r000_1101_dddd_dddd_MUX_CTRL2")
 // @test group POR RegRead(MAX11410::CMD_r000_1101_dddd_dddd_MUX_CTRL2, buffer) expect 1 expect-buffer 0x00
 //
-// @future test tinyTester.print("POR value 0x0e CMD_r000_1110_00ss_0ggg_PGA")
+// @test group PORverbose tinyTester.print("POR value 0x0e CMD_r000_1110_00ss_0ggg_PGA")
 // @test group POR RegRead(MAX11410::CMD_r000_1110_00ss_0ggg_PGA, buffer) expect 1 expect-buffer 0x00
 //
 // @future test     CMD_r000_1111_dddd_dddd_WAIT_EXT = 0x0f, //!< 0b0001111
 // @future test     CMD_r001_0000_xxxx_xxxx_WAIT_START = 0x10, //!< 0b0010000
 //
-// @test group RES1KA0A1TOGND // measure a 1kohm resistor between (AIN0,AIN1) and AGND to verify ref2_v (disabled by default)
-// @test group RES1KA0A1TOGNDMORE // measure a 1kohm resistor between (AIN0,AIN1) and AGND to verify ref2_v in more detail
-// @test group RES1KA0A1TOGNDMORE tinyTester.print("measure a 1kohm resistor between (AIN0,AIN1) and AGND to verify ref2_v")
-// @test group RES1KA0A1TOGND tinyTester.settle_time_msec = 1000 // default 250
-// @test group RES1KA0A1TOGND RegWrite(0x0C, 0xF1) expect 1 // *mux_ctrl1=0xf1 drives current source from AIN1
+// @test group RES1KA2A3TOGND // measure a 1kohm resistor between (AIN2,AIN3) and AGND to verify ref2_v (disabled by default)
+// @test group RES1KA2A3TOGNDMORE // measure a 1kohm resistor between (AIN2,AIN3) and AGND to verify ref2_v in more detail
+// @test group RES1KA2A3TOGNDMORE tinyTester.print("measure a 1kohm resistor between (AIN2,AIN3) and AGND to verify ref2_v")
+// @test group RES1KA2A3TOGND tinyTester.settle_time_msec = 1000 // default 250
+// @test group RES1KA2A3TOGND RegWrite(0x0C, 0xF3) expect 1 // *mux_ctrl1=0xf3 drives current source from AIN3
 //
-// @test group RES1KA0A1TOGNDMORE RegWrite(0x0A, 0x03) expect 1 // *source=0x03 idac_mode=100uA, 1k resistor 0.1V
-// @test group RES1KA0A1TOGNDMORE tinyTester.print("idac_mode=100uA, 1k resistor 0.1V")
-// @test group RES1KA0A1TOGNDMORE tinyTester.Wait_Output_Settling()
-// @test group RES1KA0A1TOGNDMORE Measure_Voltage(0,10) expect 0.1
-// @test group RES1KA0A1TOGNDMORE AINcode[0] expect (uint32_t)337731 within 33773 // idac_mode=100uA, 1k resistor 0.1V
+// @test group RES1KA2A3TOGNDMORE RegWrite(0x0A, 0x03) expect 1 // *source=0x03 idac_mode=100uA, 1k resistor 0.1V
+// @test group RES1KA2A3TOGNDMORE tinyTester.print("idac_mode=100uA, 1k resistor 0.1V")
+// @test group RES1KA2A3TOGNDMORE tinyTester.Wait_Output_Settling()
+// @test group RES1KA2A3TOGNDMORE Measure_Voltage(2,10) expect 0.1
+// @test group RES1KA2A3TOGNDMORE AINcode[2] expect (uint32_t)337731 within 33773 // idac_mode=100uA, 1k resistor 0.1V
 //
-// @test group RES1KA0A1TOGNDMORE RegWrite(0x0A, 0x0D) expect 1 // *source=0x0d idac_mode=800uA, 1k resistor 0.8V
-// @test group RES1KA0A1TOGNDMORE tinyTester.print("idac_mode=800uA, 1k resistor 0.8V")
-// @test group RES1KA0A1TOGNDMORE tinyTester.Wait_Output_Settling()
-// @test group RES1KA0A1TOGNDMORE Measure_Voltage(0,10) expect 0.8
-// @test group RES1KA0A1TOGNDMORE AINcode[0] expect (uint32_t)2724467 within 33773 // idac_mode=800uA, 1k resistor 0.8V
+// @test group RES1KA2A3TOGNDMORE RegWrite(0x0A, 0x0D) expect 1 // *source=0x0d idac_mode=800uA, 1k resistor 0.8V
+// @test group RES1KA2A3TOGNDMORE tinyTester.print("idac_mode=800uA, 1k resistor 0.8V")
+// @test group RES1KA2A3TOGNDMORE tinyTester.Wait_Output_Settling()
+// @test group RES1KA2A3TOGNDMORE Measure_Voltage(2,10) expect 0.8
+// @test group RES1KA2A3TOGNDMORE AINcode[2] expect (uint32_t)2724467 within 33773 // idac_mode=800uA, 1k resistor 0.8V
 //
-// @test group RES1KA0A1TOGND RegWrite(0x0A, 0x0B) expect 1 // *source=0x0b idac_mode=400uA, 1k resistor 0.4V
-// @test group RES1KA0A1TOGNDMORE tinyTester.print("idac_mode=400uA, 1k resistor 0.4V")
-// @test group RES1KA0A1TOGND tinyTester.Wait_Output_Settling()
-// @test group RES1KA0A1TOGND Measure_Voltage(0,10) expect 0.4
-// @test group RES1KA0A1TOGNDMORE AINcode[0] expect (uint32_t)1343163 within 33773 // idac_mode=400uA, 1k resistor 0.4V
-//
-//
+// @test group RES1KA2A3TOGND RegWrite(0x0A, 0x0B) expect 1 // *source=0x0b idac_mode=400uA, 1k resistor 0.4V
+// @test group RES1KA2A3TOGNDMORE tinyTester.print("idac_mode=400uA, 1k resistor 0.4V")
+// @test group RES1KA2A3TOGND tinyTester.Wait_Output_Settling()
+// @test group RES1KA2A3TOGND Measure_Voltage(2,10) expect 0.4
+// @test group RES1KA2A3TOGNDMORE AINcode[2] expect (uint32_t)1343163 within 33773 // idac_mode=400uA, 1k resistor 0.4V
 //
 // @test tinyTester.print("check filter register is writeable")
 // @future test tinyTester.print("this is a real mess dealing with the custom types")
@@ -486,7 +479,6 @@
 // @future test RegWrite(CMD_enum_t::CMD_r000_1000_x0dd_dddd_FILTER, 0x34) expect 1
 // @future test RegWrite(MAX11410::CMD_enum_t::CMD_r000_1000_x0dd_dddd_FILTER, 0x34) expect 1
 //
-// TODO1: #169 SelfTest support RegRead
 // @test tinyTester.print("check filter register is readable")
 // @test RegRead(0x08, buffer) expect 1 expect-buffer 0x34
 // @future test RegRead(MAX11410::CMD_enum_t::CMD_r000_1000_x0dd_dddd_FILTER, &buffer) expect 1 expect-buffer 0x34
@@ -502,9 +494,6 @@
 //
 // @future test tinyTester.DigitalIn_Read_Expect_WarnOnly(DigitalIn& digitalInPin, const char* pinName, int expect_result, const char *expect_description)
 //
-// TODO1: #169 SelfTest support tinyTester.max541.Set_Code
-// @future test tinyTester.max541.Set_Code(0x8000)
-//
 // @return 1 on success; 0 on failure
 uint8_t MAX11410::Init(void)
 {