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

Dependencies:   MaximTinyTester MAX11410 CmdLine USBDevice

Revision:
22:3e03687b7e95
Parent:
21:498357e216b0
Child:
23:e0c36767f98b
--- a/MAX11410.cpp	Thu Jul 25 02:48:42 2019 -0700
+++ b/MAX11410.cpp	Thu Jul 25 03:24:47 2019 -0700
@@ -247,7 +247,7 @@
 //----------------------------------------
 // Write an 8-bit MAX11410 register
 //
-// CMD_1xxx_xxx_REGISTER_READ bit is cleared 0.
+// CMD_1aaa_aaaa_REGISTER_READ bit is cleared 0.
 //
 // SPI 16-bit transfer
 //
@@ -258,9 +258,12 @@
 // @return 1 on success; 0 on failure
 uint8_t MAX11410::Write_8bit(MAX11410_CMD_enum_t regAddress, uint8_t regData)
 {
+#warning "Not Implemented Yet: MAX11410::Write_8bit..."
+    
+    int16_t mosiData16 = ((int16_t)regAddress << 8) | ((int16_t)regData);
     
     //----------------------------------------
-    // SPI write 16-bit mosiData16
+    // SPI write 16-bit mosiData16 and read misoData16
     SPIoutputCS(0);
     SPIwrite16bits(mosiData16);
     SPIoutputCS(1);
@@ -273,7 +276,7 @@
 //----------------------------------------
 // Read an 8-bit MAX11410 register
 //
-// CMD_1xxx_xxx_REGISTER_READ bit is set 1.
+// CMD_1aaa_aaaa_REGISTER_READ bit is set 1.
 //
 // SPI 16-bit transfer
 //
@@ -284,13 +287,17 @@
 // @return 1 on success; 0 on failure
 uint8_t MAX11410::Read_8bit(MAX11410_CMD_enum_t regAddress, uint8_t* ptrRegData)
 {
+#warning "Not Implemented Yet: MAX11410::Read_8bit..."
+    
+    int16_t mosiData16 = ((CMD_1aaa_aaaa_REGISTER_READ | (int16_t)regAddress) << 8) | ((int16_t)0);
     
     //----------------------------------------
-    // SPI write 16-bit mosiData16
+    // SPI write 16-bit mosiData16 and read misoData16
     SPIoutputCS(0);
-    SPIwrite16bits(mosiData16);
+    int16_t misoData16 = SPIreadWrite16bits(mosiData16);
     SPIoutputCS(1);
     
+    (*ptrRegData) = (misoData16 & 0x00FF);
     //----------------------------------------
     // success
     return 1;
@@ -299,7 +306,7 @@
 //----------------------------------------
 // Write a 16-bit MAX11410 register
 //
-// CMD_1xxx_xxx_REGISTER_READ bit is cleared 0.
+// CMD_1aaa_aaaa_REGISTER_READ bit is cleared 0.
 //
 // SPI 24-bit transfer
 //
@@ -310,11 +317,15 @@
 // @return 1 on success; 0 on failure
 uint8_t MAX11410::Write_16bit(MAX11410_CMD_enum_t regAddress, uint16_t regData)
 {
+#warning "Not Implemented Yet: MAX11410::Write_16bit..."
+    
+    int32_t mosiData32 = ((int32_t)regAddress << 8) | ((int32_t)regData);
     
     //----------------------------------------
-    // SPI write 16-bit mosiData16
+    // SPI write 24-bit ____ and read ____
+    // SPI write 32-bit mosiData32 and read misoData32
     SPIoutputCS(0);
-    SPIwrite16bits(mosiData16);
+    int32_t misoData32 = SPIreadWrite32bits(mosiData32);
     SPIoutputCS(1);
     
     //----------------------------------------
@@ -325,7 +336,7 @@
 //----------------------------------------
 // Read a 16-bit MAX11410 register
 //
-// CMD_1xxx_xxx_REGISTER_READ bit is set 1.
+// CMD_1aaa_aaaa_REGISTER_READ bit is set 1.
 //
 // SPI 24-bit transfer
 //
@@ -336,13 +347,18 @@
 // @return 1 on success; 0 on failure
 uint8_t MAX11410::Read_16bit(MAX11410_CMD_enum_t regAddress, uint16_t* ptrRegData)
 {
+#warning "Not Implemented Yet: MAX11410::Read_16bit..."
+    
+    int32_t mosiData32 = ((CMD_1aaa_aaaa_REGISTER_READ | (int32_t)regAddress) << 16);
     
     //----------------------------------------
-    // SPI write 16-bit mosiData16
+    // SPI write 24-bit ____ and read ____
+    // SPI write 32-bit mosiData32 and read misoData32
     SPIoutputCS(0);
-    SPIwrite16bits(mosiData16);
+    int32_t misoData32 = SPIreadWrite32bits(mosiData32);
     SPIoutputCS(1);
     
+    (*ptrRegData) = (misoData32 & 0x00FFFF);
     //----------------------------------------
     // success
     return 1;
@@ -351,7 +367,7 @@
 //----------------------------------------
 // Write a 24-bit MAX11410 register
 //
-// CMD_1xxx_xxx_REGISTER_READ bit is cleared 0.
+// CMD_1aaa_aaaa_REGISTER_READ bit is cleared 0.
 //
 // SPI 32-bit transfer
 //
@@ -362,11 +378,14 @@
 // @return 1 on success; 0 on failure
 uint8_t MAX11410::Write_24bit(MAX11410_CMD_enum_t regAddress, uint32_t regData)
 {
+#warning "Not Implemented Yet: MAX11410::Write_24bit..."
+    
+    int32_t mosiData32 = ((int32_t)regAddress << 24) | ((int32_t)regData & 0x00FFFFFF);
     
     //----------------------------------------
-    // SPI write 16-bit mosiData16
+    // SPI write 32-bit mosiData32 and read misoData32
     SPIoutputCS(0);
-    SPIwrite16bits(mosiData16);
+    SPIreadWrite32bits(mosiData32);
     SPIoutputCS(1);
     
     //----------------------------------------
@@ -377,7 +396,7 @@
 //----------------------------------------
 // Read a 24-bit MAX11410 register
 //
-// CMD_1xxx_xxx_REGISTER_READ bit is set 1.
+// CMD_1aaa_aaaa_REGISTER_READ bit is set 1.
 //
 // SPI 32-bit transfer
 //
@@ -388,13 +407,17 @@
 // @return 1 on success; 0 on failure
 uint8_t MAX11410::Read_24bit(MAX11410_CMD_enum_t regAddress, uint32_t* ptrRegData)
 {
+#warning "Not Implemented Yet: MAX11410::Read_24bit..."
+    
+    int32_t mosiData32 = ((CMD_1aaa_aaaa_REGISTER_READ | (int32_t)regAddress) << 24);
     
     //----------------------------------------
-    // SPI write 16-bit mosiData16
+    // SPI write 32-bit mosiData32 and read misoData32
     SPIoutputCS(0);
-    SPIwrite16bits(mosiData16);
+    int32_t misoData32 = SPIreadWrite32bits(mosiData32);
     SPIoutputCS(1);
     
+    (*ptrRegData) = (misoData32 & 0x00FFFFFF);
     //----------------------------------------
     // success
     return 1;
@@ -422,6 +445,7 @@
 // @return 1 on success; 0 on failure
 uint8_t MAX11410::Configure_Voltage(MAX11410_AINP_SEL_enum_t channel_hi, MAX11410_AINN_SEL_enum_t channel_lo)
 {
+#warning "Not Tested Yet: MAX11410::Configure_Voltage..."
     
     //----------------------------------------
     // write8 0x00 PD = 0x03 (Reset Registers; enter Standby mode)
@@ -476,12 +500,15 @@
 // @return 1 on success; 0 on failure
 uint8_t MAX11410::Measure_Voltage(MAX11410_AINP_SEL_enum_t channel_hi, MAX11410_AINN_SEL_enum_t channel_lo)
 {
+#warning "Not Tested Yet: MAX11410::Measure_Voltage..."
     
     //----------------------------------------
-    // SPI write 16-bit mosiData16
-    SPIoutputCS(0);
-    SPIwrite16bits(mosiData16);
-    SPIoutputCS(1);
+    // read24 0x80|0x38 STATUS (%SW 0xB8 0 0 0)
+    Read_24bit(CMD_r011_1000_dddd_dddd_dddd_dddd_dxxx_dddd_STATUS, &status);
+    
+    //----------------------------------------
+    // read24 0x80|0x30 DATA0 (%SW 0xB0 0 0 0)
+    Read_24bit(CMD_r011_0000_dddd_dddd_dddd_dddd_dddd_dddd_DATA0, &data0);
     
     //----------------------------------------
     // success
@@ -500,12 +527,15 @@
 // @return 1 on success; 0 on failure
 uint8_t MAX11410::Configure_RTD(MAX11410_AINP_SEL_enum_t channel_RTD_Force, MAX11410_AINP_SEL_enum_t channel_RTD_Hi, MAX11410_AINN_SEL_enum_t channel_RTD_Lo)
 {
+#warning "Not Implemented Yet: MAX11410::Configure_RTD..."
     
     //----------------------------------------
-    // SPI write 16-bit mosiData16
-    SPIoutputCS(0);
-    SPIwrite16bits(mosiData16);
-    SPIoutputCS(1);
+    // read24 0x80|0x38 STATUS (%SW 0xB8 0 0 0)
+    Read_24bit(CMD_r011_1000_dddd_dddd_dddd_dddd_dxxx_dddd_STATUS, &status);
+    
+    //----------------------------------------
+    // read24 0x80|0x30 DATA0 (%SW 0xB0 0 0 0)
+    Read_24bit(CMD_r011_0000_dddd_dddd_dddd_dddd_dddd_dddd_DATA0, &data0);
     
     //----------------------------------------
     // success
@@ -525,12 +555,15 @@
 // @return 1 on success; 0 on failure
 uint8_t MAX11410::Measure_RTD(MAX11410_AINP_SEL_enum_t channel_RTD_Force, MAX11410_AINP_SEL_enum_t channel_RTD_Hi, MAX11410_AINN_SEL_enum_t channel_RTD_Lo)
 {
+#warning "Not Implemented Yet: MAX11410::Measure_RTD..."
     
     //----------------------------------------
-    // SPI write 16-bit mosiData16
-    SPIoutputCS(0);
-    SPIwrite16bits(mosiData16);
-    SPIoutputCS(1);
+    // read24 0x80|0x38 STATUS (%SW 0xB8 0 0 0)
+    Read_24bit(CMD_r011_1000_dddd_dddd_dddd_dddd_dxxx_dddd_STATUS, &status);
+    
+    //----------------------------------------
+    // read24 0x80|0x30 DATA0 (%SW 0xB0 0 0 0)
+    Read_24bit(CMD_r011_0000_dddd_dddd_dddd_dddd_dddd_dddd_DATA0, &data0);
     
     //----------------------------------------
     // success
@@ -550,12 +583,15 @@
 // @return 1 on success; 0 on failure
 uint8_t MAX11410::Configure_Thermocouple(MAX11410_AINP_SEL_enum_t channel_TC_Hi, MAX11410_AINN_SEL_enum_t channel_TC_Lo, MAX11410_AINP_SEL_enum_t channel_RTD_Hi, MAX11410_AINP_SEL_enum_t channel_RTD_Lo)
 {
+#warning "Not Implemented Yet: MAX11410::Configure_Thermocouple..."
     
     //----------------------------------------
-    // SPI write 16-bit mosiData16
-    SPIoutputCS(0);
-    SPIwrite16bits(mosiData16);
-    SPIoutputCS(1);
+    // read24 0x80|0x38 STATUS (%SW 0xB8 0 0 0)
+    Read_24bit(CMD_r011_1000_dddd_dddd_dddd_dddd_dxxx_dddd_STATUS, &status);
+    
+    //----------------------------------------
+    // read24 0x80|0x30 DATA0 (%SW 0xB0 0 0 0)
+    Read_24bit(CMD_r011_0000_dddd_dddd_dddd_dddd_dddd_dddd_DATA0, &data0);
     
     //----------------------------------------
     // success
@@ -576,12 +612,15 @@
 // @return 1 on success; 0 on failure
 uint8_t MAX11410::Measure_Thermocouple(MAX11410_AINP_SEL_enum_t channel_TC_Hi, MAX11410_AINN_SEL_enum_t channel_TC_Lo, MAX11410_AINP_SEL_enum_t channel_RTD_Hi, MAX11410_AINP_SEL_enum_t channel_RTD_Lo)
 {
+#warning "Not Implemented Yet: MAX11410::Measure_Thermocouple..."
     
     //----------------------------------------
-    // SPI write 16-bit mosiData16
-    SPIoutputCS(0);
-    SPIwrite16bits(mosiData16);
-    SPIoutputCS(1);
+    // read24 0x80|0x38 STATUS (%SW 0xB8 0 0 0)
+    Read_24bit(CMD_r011_1000_dddd_dddd_dddd_dddd_dxxx_dddd_STATUS, &status);
+    
+    //----------------------------------------
+    // read24 0x80|0x30 DATA0 (%SW 0xB0 0 0 0)
+    Read_24bit(CMD_r011_0000_dddd_dddd_dddd_dddd_dddd_dddd_DATA0, &data0);
     
     //----------------------------------------
     // success