Test program running on MAX32625MBED. Control through USB Serial commands using a terminal emulator such as teraterm or putty.
Dependencies: MaximTinyTester CmdLine MAX541 USBDevice
Diff: Test_Menu_MAX11410.cpp
- Revision:
- 31:8068c5394e0d
- Parent:
- 30:9eb6eff512e7
- Child:
- 32:ad00de965151
--- a/Test_Menu_MAX11410.cpp Fri Jul 26 01:34:10 2019 -0700 +++ b/Test_Menu_MAX11410.cpp Fri Jul 26 03:16:19 2019 -0700 @@ -196,13 +196,44 @@ case 'r': case 'R': { // cmdLine.serial().printf("\r\n R reg=? -- (future) read register"); - #warning "Not Implemented Yet: MAX11410 menu R read register" + #warning "Not Tested Yet: MAX11410 menu R read register" + uint8_t regAddress; // = g_MAX11410_device.reg; ?? + if (cmdLine.parse_byte_dec("reg", regAddress)) + { + } + if (regAddress <= MAX11410::CMD_r001_0000_xxxx_xxxx_WAIT_START) + { + // regAddress range 0x00 .. 0x10 are 8-bit registers + uint8_t regData; + g_MAX11410_device.Read_8bit((MAX11410::MAX11410_CMD_enum_t)regAddress, ®Data); + cmdLine.serial().printf("regData=0x%2.2x\r\n", + regData); + } + else if (regAddress <= MAX11410::CMD_r011_1001_dddd_dddd_dddd_dddd_dxxd_dddd_STATUS_IE) + { + // regAddress range 0x11 .. 0x39 are 24-bit registers + uint32_t regData; + g_MAX11410_device.Read_24bit((MAX11410::MAX11410_CMD_enum_t)regAddress, ®Data); + cmdLine.serial().printf("regData=0x%6.6lx\r\n", + regData); + } + else + { + // regAddress range 0x3a .. 0x6f are 16-bit registers + uint16_t regData; + g_MAX11410_device.Read_16bit((MAX11410::MAX11410_CMD_enum_t)regAddress, ®Data); + cmdLine.serial().printf("regData=0x%4.4x\r\n", + regData); + } } break; case 's': case 'S': { // cmdLine.serial().printf("\r\n S -- (future) read status register"); - #warning "Not Implemented Yet: MAX11410 menu S read status register" + #warning "Not Tested Yet: MAX11410 menu S read status register" + g_MAX11410_device.Read_24bit(MAX11410::CMD_r011_1000_dddd_dddd_dddd_dddd_dxxx_dddd_STATUS, &g_MAX11410_device.status); + cmdLine.serial().printf("status=0x%6.6lx\r\n", + g_MAX11410_device.status); } break; // case 't': case 'T': @@ -211,7 +242,50 @@ case 'w': case 'W': { // cmdLine.serial().printf("\r\n W reg=? data=? -- (future) write register"); - #warning "Not Implemented Yet: MAX11410 menu W write register" + #warning "Not Tested Yet: MAX11410 menu W write register" + uint8_t regAddress; // = g_MAX11410_device.reg; ?? + if (cmdLine.parse_byte_dec("reg", regAddress)) + { + } + if (regAddress <= MAX11410::CMD_r001_0000_xxxx_xxxx_WAIT_START) + { + // regAddress range 0x00 .. 0x10 are 8-bit registers + uint8_t regData; + if (cmdLine.parse_byte_dec("data", regData)) + { + } + g_MAX11410_device.Write_8bit((MAX11410::MAX11410_CMD_enum_t)regAddress, regData); + cmdLine.serial().printf("regData=0x%2.2x\r\n", + regData); + } + else if (regAddress <= MAX11410::CMD_r011_1001_dddd_dddd_dddd_dddd_dxxd_dddd_STATUS_IE) + { + // regAddress range 0x11 .. 0x39 are 24-bit registers +#warning "CmdLine needs to define parse_uint32_dec()" + //uint32_t regData; + //if (cmdLine.parse_uint32_dec("data", regData)) + uint16_t regData; + if (cmdLine.parse_uint16_dec("data", regData)) + { + } + g_MAX11410_device.Write_24bit((MAX11410::MAX11410_CMD_enum_t)regAddress, regData); + cmdLine.serial().printf("regData=0x%6.6lx\r\n", + regData); + } + else + { + // regAddress range 0x3a .. 0x6f are 16-bit registers + uint16_t regData; + if (cmdLine.parse_uint16_dec("data", regData)) + { + } + g_MAX11410_device.Write_16bit((MAX11410::MAX11410_CMD_enum_t)regAddress, regData); + cmdLine.serial().printf("regData=0x%4.4x\r\n", + regData); + } + // g_MAX11410_device.Write_8bit(MAX11410_CMD_enum_t regAddress, uint8_t regData) + // g_MAX11410_device.Write_16bit(MAX11410_CMD_enum_t regAddress, uint16_t regData); + // g_MAX11410_device.Write_24bit(MAX11410_CMD_enum_t regAddress, uint32_t regData); } break; case 'x': case 'X': @@ -276,13 +350,13 @@ // dtostrf width and precision: 2.5V / 2^24 LSB = ______ volts per LSB // // shadow of register CMD_r011_1000_dddd_dddd_dddd_dddd_dxxx_dddd_STATUS - cmdLine.serial().printf("status=0x%6.6x\r\n", + cmdLine.serial().printf("status=0x%6.6lx\r\n", g_MAX11410_device.status); // // shadow of register CMD_r011_0000_dddd_dddd_dddd_dddd_dddd_dddd_DATA0 double voltage_of_data0; voltage_of_data0 = g_MAX11410_device.VoltageOfCode(g_MAX11410_device.data0); - cmdLine.serial().printf("data0=0x%6.6x=%u=%d=%5.6fV\r\n", + cmdLine.serial().printf("data0=0x%6.6lx=%lu=%ld=%5.6fV\r\n", g_MAX11410_device.data0, g_MAX11410_device.data0, g_MAX11410_device.data0,