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

Committer:
whismanoid
Date:
Tue Jun 01 19:56:56 2021 -0700
Revision:
32:3d22e3e23670
Parent:
30:9b4063876773
Child:
33:c8457aa26ed0
WIP restoring SelfTest Test_Main_MAX11131

Who changed what in which revision?

UserRevisionLine numberNew contents of line
whismanoid 11:38b95a59de02 1 // /*******************************************************************************
whismanoid 28:298907617848 2 // * Copyright (C) 2021 Maxim Integrated Products, Inc., All Rights Reserved.
whismanoid 11:38b95a59de02 3 // *
whismanoid 11:38b95a59de02 4 // * Permission is hereby granted, free of charge, to any person obtaining a
whismanoid 11:38b95a59de02 5 // * copy of this software and associated documentation files (the "Software"),
whismanoid 11:38b95a59de02 6 // * to deal in the Software without restriction, including without limitation
whismanoid 11:38b95a59de02 7 // * the rights to use, copy, modify, merge, publish, distribute, sublicense,
whismanoid 11:38b95a59de02 8 // * and/or sell copies of the Software, and to permit persons to whom the
whismanoid 11:38b95a59de02 9 // * Software is furnished to do so, subject to the following conditions:
whismanoid 11:38b95a59de02 10 // *
whismanoid 11:38b95a59de02 11 // * The above copyright notice and this permission notice shall be included
whismanoid 11:38b95a59de02 12 // * in all copies or substantial portions of the Software.
whismanoid 11:38b95a59de02 13 // *
whismanoid 11:38b95a59de02 14 // * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
whismanoid 11:38b95a59de02 15 // * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
whismanoid 11:38b95a59de02 16 // * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
whismanoid 11:38b95a59de02 17 // * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
whismanoid 11:38b95a59de02 18 // * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
whismanoid 11:38b95a59de02 19 // * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
whismanoid 11:38b95a59de02 20 // * OTHER DEALINGS IN THE SOFTWARE.
whismanoid 11:38b95a59de02 21 // *
whismanoid 11:38b95a59de02 22 // * Except as contained in this notice, the name of Maxim Integrated
whismanoid 11:38b95a59de02 23 // * Products, Inc. shall not be used except as stated in the Maxim Integrated
whismanoid 11:38b95a59de02 24 // * Products, Inc. Branding Policy.
whismanoid 11:38b95a59de02 25 // *
whismanoid 11:38b95a59de02 26 // * The mere transfer of this software does not imply any licenses
whismanoid 11:38b95a59de02 27 // * of trade secrets, proprietary technology, copyrights, patents,
whismanoid 11:38b95a59de02 28 // * trademarks, maskwork rights, or any other form of intellectual
whismanoid 11:38b95a59de02 29 // * property whatsoever. Maxim Integrated Products, Inc. retains all
whismanoid 11:38b95a59de02 30 // * ownership rights.
whismanoid 11:38b95a59de02 31 // *******************************************************************************
whismanoid 11:38b95a59de02 32 // */
whismanoid 28:298907617848 33 // example code includes
whismanoid 28:298907617848 34 // standard include for target platform -- Platform_Include_Boilerplate
whismanoid 11:38b95a59de02 35 #include "mbed.h"
whismanoid 28:298907617848 36 // Platforms:
whismanoid 28:298907617848 37 // - MAX32625MBED
whismanoid 28:298907617848 38 // - supports mbed-os-5.11, requires USBDevice library
whismanoid 28:298907617848 39 // - add https://developer.mbed.org/teams/MaximIntegrated/code/USBDevice/
whismanoid 28:298907617848 40 // - remove max32630fthr library (if present)
whismanoid 28:298907617848 41 // - remove MAX32620FTHR library (if present)
whismanoid 28:298907617848 42 // - MAX32600MBED
whismanoid 28:298907617848 43 // - Please note the last supported version is Mbed OS 6.3.
whismanoid 28:298907617848 44 // - remove max32630fthr library (if present)
whismanoid 28:298907617848 45 // - remove MAX32620FTHR library (if present)
whismanoid 28:298907617848 46 // - Windows 10 note: Don't connect HDK until you are ready to load new firmware into the board.
whismanoid 28:298907617848 47 // - NUCLEO_F446RE
whismanoid 28:298907617848 48 // - remove USBDevice library
whismanoid 28:298907617848 49 // - remove max32630fthr library (if present)
whismanoid 28:298907617848 50 // - remove MAX32620FTHR library (if present)
whismanoid 28:298907617848 51 // - NUCLEO_F401RE
whismanoid 28:298907617848 52 // - remove USBDevice library
whismanoid 28:298907617848 53 // - remove max32630fthr library (if present)
whismanoid 28:298907617848 54 // - remove MAX32620FTHR library (if present)
whismanoid 28:298907617848 55 // - MAX32630FTHR
whismanoid 28:298907617848 56 // - #include "max32630fthr.h"
whismanoid 28:298907617848 57 // - add http://developer.mbed.org/teams/MaximIntegrated/code/max32630fthr/
whismanoid 28:298907617848 58 // - remove MAX32620FTHR library (if present)
whismanoid 28:298907617848 59 // - MAX32620FTHR
whismanoid 28:298907617848 60 // - #include "MAX32620FTHR.h"
whismanoid 28:298907617848 61 // - remove max32630fthr library (if present)
whismanoid 28:298907617848 62 // - add https://os.mbed.com/teams/MaximIntegrated/code/MAX32620FTHR/
whismanoid 28:298907617848 63 // - not tested yet
whismanoid 28:298907617848 64 // - MAX32625PICO
whismanoid 28:298907617848 65 // - #include "max32625pico.h"
whismanoid 28:298907617848 66 // - add https://os.mbed.com/users/switches/code/max32625pico/
whismanoid 28:298907617848 67 // - remove max32630fthr library (if present)
whismanoid 28:298907617848 68 // - remove MAX32620FTHR library (if present)
whismanoid 28:298907617848 69 // - not tested yet
whismanoid 28:298907617848 70 // - see https://os.mbed.com/users/switches/code/max32625pico/
whismanoid 28:298907617848 71 // - see https://os.mbed.com/users/switches/code/PICO_board_demo/
whismanoid 28:298907617848 72 // - see https://os.mbed.com/users/switches/code/PICO_USB_I2C_SPI/
whismanoid 28:298907617848 73 // - see https://os.mbed.com/users/switches/code/SerialInterface/
whismanoid 28:298907617848 74 // - Note: To load the MAX32625PICO firmware, hold the button while
whismanoid 28:298907617848 75 // connecting the USB cable, then copy firmware bin file
whismanoid 28:298907617848 76 // to the MAINTENANCE drive.
whismanoid 28:298907617848 77 // - see https://os.mbed.com/platforms/MAX32625PICO/
whismanoid 28:298907617848 78 // - see https://os.mbed.com/teams/MaximIntegrated/wiki/MAX32625PICO-Firmware-Updates
whismanoid 28:298907617848 79 //
whismanoid 28:298907617848 80 // end Platform_Include_Boilerplate
whismanoid 11:38b95a59de02 81 #include "MAX11131.h"
whismanoid 11:38b95a59de02 82 #include "CmdLine.h"
whismanoid 28:298907617848 83 #include "MaximTinyTester.h"
whismanoid 11:38b95a59de02 84
whismanoid 28:298907617848 85 #include "MAX11131.h"
whismanoid 28:298907617848 86 extern MAX11131 g_MAX11131_device; // defined in main.cpp
whismanoid 28:298907617848 87
whismanoid 28:298907617848 88
whismanoid 28:298907617848 89
whismanoid 28:298907617848 90 // CODE GENERATOR: MAX11131 needs print_value(CmdLine& cmdLine, int16_t value_u12, int channelId)
whismanoid 28:298907617848 91 //----------------------------------------
whismanoid 28:298907617848 92 void print_value(CmdLine& cmdLine, int16_t value_u12, int channelId)
whismanoid 28:298907617848 93 {
whismanoid 28:298907617848 94 int channelPairIndex = channelId / 2;
whismanoid 28:298907617848 95 // format: 1 0 0 0 1 UCH0/1 UCH2/3 UCH4/5 UCH6/7 UCH8/9 UCH10/11 UCH12/13 UCH14/15 PDIFF_COM x x
whismanoid 28:298907617848 96 // unused variable: int UCHn = (g_MAX11131_device.UNIPOLAR >> (10 - channelPairIndex)) & 0x01;
whismanoid 28:298907617848 97 int BCHn = (g_MAX11131_device.BIPOLAR >> (10 - channelPairIndex)) & 0x01;
whismanoid 28:298907617848 98 // unused variable: int RANGEn = (g_MAX11131_device.RANGE >> (10 - channelPairIndex)) & 0x01;
whismanoid 28:298907617848 99 //
whismanoid 28:298907617848 100 cmdLine.serial().printf(" ch=");
whismanoid 28:298907617848 101 // TODO1: if CHANID=0 don't print ch=channelId
whismanoid 28:298907617848 102 if ((g_MAX11131_device.isExternalClock == 0) || (g_MAX11131_device.chan_id_0_1 == 1))
whismanoid 28:298907617848 103 {
whismanoid 28:298907617848 104 // Internal clock modes always use channel ID.
whismanoid 28:298907617848 105 // External clock modes use channel ID if ADC_MODE_CONTROL.CHAN_ID is 1.
whismanoid 28:298907617848 106 cmdLine.serial().printf("%d", channelId);
whismanoid 28:298907617848 107 } else {
whismanoid 28:298907617848 108 cmdLine.serial().printf("?");
whismanoid 28:298907617848 109 }
whismanoid 28:298907617848 110 if (BCHn)
whismanoid 28:298907617848 111 {
whismanoid 28:298907617848 112 cmdLine.serial().printf(" xb=");
whismanoid 28:298907617848 113 cmdLine.serial().printf("%d", g_MAX11131_device.TwosComplementValue(value_u12));
whismanoid 28:298907617848 114 }
whismanoid 28:298907617848 115 else
whismanoid 28:298907617848 116 {
whismanoid 28:298907617848 117 cmdLine.serial().printf(" xu=");
whismanoid 28:298907617848 118 cmdLine.serial().printf("%d", value_u12);
whismanoid 28:298907617848 119 }
whismanoid 28:298907617848 120 // dtostrf width and precision: 2.5v / 4096 LSB = 0.0006103515625 volts per LSB
whismanoid 28:298907617848 121 cmdLine.serial().printf(" = 0x%4.4x = %6.4fV", (value_u12 & 0xFFFF), g_MAX11131_device.VoltageOfCode(value_u12, channelId));
whismanoid 28:298907617848 122 }
whismanoid 28:298907617848 123
whismanoid 28:298907617848 124 // CODE GENERATOR: MAX11131 needs AINcode_print_value_chanID(CmdLine& cmdLine, int nWords)
whismanoid 28:298907617848 125 //----------------------------------------
whismanoid 28:298907617848 126 // read data words
whismanoid 28:298907617848 127 // @pre RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data
whismanoid 28:298907617848 128 // @pre AINcode[NUM_CHANNELS] contains the latest readings in LSBs
whismanoid 28:298907617848 129 // For internal clock modes, the data format always includes the channel address.
whismanoid 28:298907617848 130 // misoData16 = CH[3:0] DATA[11:0]
whismanoid 28:298907617848 131 void AINcode_print_value_chanID(CmdLine& cmdLine, int nWords)
whismanoid 28:298907617848 132 {
whismanoid 28:298907617848 133 cmdLine.serial().printf("\r\nScanRead_nWords_chanID nWords=");
whismanoid 28:298907617848 134 cmdLine.serial().printf("%d\r\n", nWords);
whismanoid 28:298907617848 135 for (int index = 0; index < nWords; index++) {
whismanoid 28:298907617848 136 //~ int16_t misoData16 = MAX11131_ScanRead();
whismanoid 28:298907617848 137 // For internal clock modes, the data format always includes the channel address.
whismanoid 28:298907617848 138 // misoData16 = CH[3:0] DATA[11:0]
whismanoid 28:298907617848 139 int16_t value_u12 = (g_MAX11131_device.RAW_misoData16[index] & 0x0FFF);
whismanoid 28:298907617848 140 int channelId = ((g_MAX11131_device.RAW_misoData16[index] >> 12) & 0x000F);
whismanoid 28:298907617848 141 // diagnostic: print raw MISO data
whismanoid 28:298907617848 142 cmdLine.serial().printf(" MAX11131.MISO[");
whismanoid 28:298907617848 143 cmdLine.serial().printf("%d", index);
whismanoid 28:298907617848 144 cmdLine.serial().printf("]=0x");
whismanoid 28:298907617848 145 cmdLine.serial().printf("%0x4.4x", (g_MAX11131_device.RAW_misoData16[index] & 0xFFFF));
whismanoid 28:298907617848 146 cmdLine.serial().printf(":");
whismanoid 28:298907617848 147 print_value(cmdLine, value_u12, channelId);
whismanoid 28:298907617848 148 cmdLine.serial().printf("\r\n");
whismanoid 28:298907617848 149 }
whismanoid 28:298907617848 150 }
whismanoid 11:38b95a59de02 151
whismanoid 28:298907617848 152 // CODE GENERATOR: MAX11131 needs AINcode_print_value_externalClock(CmdLine& cmdLine, int nWords)
whismanoid 28:298907617848 153 //----------------------------------------
whismanoid 28:298907617848 154 // read data words
whismanoid 28:298907617848 155 // @pre RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data
whismanoid 28:298907617848 156 // @pre AINcode[NUM_CHANNELS] contains the latest readings in LSBs
whismanoid 28:298907617848 157 // For external clock modes, the data format returned depends on the CHAN_ID bit.
whismanoid 28:298907617848 158 // when CHAN_ID = 0: misoData16 = 0 DATA[11:0] x x x
whismanoid 28:298907617848 159 // when CHAN_ID = 1: misoData16 = CH[3:0] DATA[11:0]
whismanoid 28:298907617848 160 void AINcode_print_value_externalClock(CmdLine& cmdLine, int nWords)
whismanoid 28:298907617848 161 {
whismanoid 28:298907617848 162 // For external clock modes, the data format returned depends on the CHAN_ID bit.
whismanoid 28:298907617848 163 // when CHAN_ID = 0: misoData16 = 0 DATA[11:0] x x x
whismanoid 28:298907617848 164 // when CHAN_ID = 1: misoData16 = CH[3:0] DATA[11:0]
whismanoid 28:298907617848 165 // For internal clock modes, the data format always includes the channel address.
whismanoid 28:298907617848 166 // misoData16 = CH[3:0] DATA[11:0]
whismanoid 28:298907617848 167 if (g_MAX11131_device.chan_id_0_1 != 0) {
whismanoid 28:298907617848 168 AINcode_print_value_chanID(cmdLine, nWords);
whismanoid 28:298907617848 169 return;
whismanoid 28:298907617848 170 }
whismanoid 28:298907617848 171 cmdLine.serial().printf("\r\nScanRead_nWords_externalClock nWords=");
whismanoid 28:298907617848 172 cmdLine.serial().printf("%d\r\n", nWords);
whismanoid 28:298907617848 173 for (int index = 0; index < nWords; index++) {
whismanoid 28:298907617848 174 // int16_t misoData16 = MAX11131_ScanRead();
whismanoid 28:298907617848 175 int16_t value_u12 = ((g_MAX11131_device.RAW_misoData16[index] >> 3) & 0x0FFF);
whismanoid 28:298907617848 176 int channelId = g_MAX11131_device.channelNumber_0_15;
whismanoid 28:298907617848 177 // diagnostic: print raw MISO data
whismanoid 28:298907617848 178 cmdLine.serial().printf(" MAX11131.MISO[");
whismanoid 28:298907617848 179 cmdLine.serial().printf("%d", index);
whismanoid 28:298907617848 180 cmdLine.serial().printf("]=0x");
whismanoid 28:298907617848 181 cmdLine.serial().printf("0x%4.4x", (g_MAX11131_device.RAW_misoData16[index] & 0xFFFF));
whismanoid 28:298907617848 182 cmdLine.serial().printf(":");
whismanoid 28:298907617848 183 print_value(cmdLine, value_u12, channelId);
whismanoid 28:298907617848 184 cmdLine.serial().printf("\r\n");
whismanoid 28:298907617848 185 }
whismanoid 28:298907617848 186 }
whismanoid 28:298907617848 187
whismanoid 28:298907617848 188 // CODE GENERATOR: MAX11131 needs AINcode_print_value_chanID_mean(CmdLine& cmdLine, int nWords)
whismanoid 28:298907617848 189 //----------------------------------------
whismanoid 28:298907617848 190 // read data words and calculate mean, stddev
whismanoid 28:298907617848 191 // @pre RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data
whismanoid 28:298907617848 192 // @pre AINcode[NUM_CHANNELS] contains the latest readings in LSBs
whismanoid 28:298907617848 193 void AINcode_print_value_chanID_mean(CmdLine& cmdLine, int nWords)
whismanoid 28:298907617848 194 {
whismanoid 28:298907617848 195 cmdLine.serial().printf("\r\nScanRead_nWords_chanID_mean nWords=");
whismanoid 28:298907617848 196 cmdLine.serial().printf("%d\r\n", nWords);
whismanoid 28:298907617848 197 double Sx = 0;
whismanoid 28:298907617848 198 double Sxx = 0;
whismanoid 28:298907617848 199 for (int index = 0; index < nWords; index++) {
whismanoid 28:298907617848 200 //~ int16_t misoData16 = MAX11131_ScanRead();
whismanoid 28:298907617848 201 // For internal clock modes, the data format always includes the channel address.
whismanoid 28:298907617848 202 // misoData16 = CH[3:0] DATA[11:0]
whismanoid 28:298907617848 203 int16_t value_u12 = (g_MAX11131_device.RAW_misoData16[index] & 0x0FFF);
whismanoid 28:298907617848 204 int channelId = ((g_MAX11131_device.RAW_misoData16[index] >> 12) & 0x000F);
whismanoid 28:298907617848 205 // TODO: sign-extend value_s12 from value_u12
whismanoid 28:298907617848 206 //
whismanoid 28:298907617848 207 cmdLine.serial().printf("n=");
whismanoid 28:298907617848 208 cmdLine.serial().printf("%d", index);
whismanoid 28:298907617848 209 print_value(cmdLine, value_u12, channelId);
whismanoid 28:298907617848 210 //
whismanoid 28:298907617848 211 Sx = Sx + value_u12;
whismanoid 28:298907617848 212 Sxx = Sxx + ((double)value_u12 * value_u12);
whismanoid 28:298907617848 213 cmdLine.serial().printf(" Sx=%f", Sx);
whismanoid 28:298907617848 214 cmdLine.serial().printf(" Sxx=%f", Sxx);
whismanoid 28:298907617848 215 cmdLine.serial().printf("\r\n");
whismanoid 28:298907617848 216 }
whismanoid 28:298907617848 217 double mean = Sx / nWords;
whismanoid 28:298907617848 218 cmdLine.serial().printf(" mean=%f", mean);
whismanoid 28:298907617848 219 cmdLine.serial().printf("=0x%4.4x", (int)mean);
whismanoid 28:298907617848 220 // calculate standard deviation from N, Sx, Sxx
whismanoid 28:298907617848 221 if (nWords >= 2)
whismanoid 28:298907617848 222 {
whismanoid 28:298907617848 223 double variance = (Sxx - ( Sx * Sx / nWords) ) / (nWords - 1);
whismanoid 28:298907617848 224 cmdLine.serial().printf(" variance=%f", variance);
whismanoid 28:298907617848 225 // stddev = square root of variance
whismanoid 28:298907617848 226 double stddev = sqrt(variance);
whismanoid 28:298907617848 227 cmdLine.serial().printf(" stddev=%f", stddev);
whismanoid 28:298907617848 228 }
whismanoid 28:298907617848 229 cmdLine.serial().printf("\r\n");
whismanoid 28:298907617848 230 }
whismanoid 28:298907617848 231
whismanoid 28:298907617848 232 void MAX11131_menu_help(CmdLine & cmdLine)
whismanoid 28:298907617848 233 {
whismanoid 28:298907617848 234 cmdLine.serial().printf("\r\n ! -- Init");
whismanoid 28:298907617848 235 cmdLine.serial().printf("\r\n 0 NumWords=? -- ReadAINcode");
whismanoid 28:298907617848 236 cmdLine.serial().printf("\r\n 1 ch=? pm=? id=? -- ScanManual");
whismanoid 28:298907617848 237 cmdLine.serial().printf("\r\n 2 ch=? av=? n=? swcnv=? pm=? -- ScanRepeat");
whismanoid 28:298907617848 238 cmdLine.serial().printf("\r\n 3 ch=? av=? pm=? swcnv=? -- ScanStandardInternalClock");
whismanoid 28:298907617848 239 cmdLine.serial().printf("\r\n 4 ch=? pm=? id=? -- ScanStandardExternalClock");
whismanoid 28:298907617848 240 cmdLine.serial().printf("\r\n 5 ch=? av=? pm=? swcnv=? -- ScanUpperInternalClock");
whismanoid 28:298907617848 241 cmdLine.serial().printf("\r\n 6 ch=? pm=? id=? -- ScanUpperExternalClock");
whismanoid 28:298907617848 242 cmdLine.serial().printf("\r\n 7 enableMask=? av=? pm=? swcnv=? -- ScanCustomInternalClock");
whismanoid 28:298907617848 243 cmdLine.serial().printf("\r\n 8 enableMask=? pm=? id=? -- ScanCustomExternalClock");
whismanoid 28:298907617848 244 cmdLine.serial().printf("\r\n 9 channelsPattern...=? pm=? id=? -- ScanSampleSetExternalClock");
whismanoid 28:298907617848 245 cmdLine.serial().printf("\r\n IB ch=? -- Reconfigure_DifferentialBipolarFSVref");
whismanoid 28:298907617848 246 cmdLine.serial().printf("\r\n IR ch=? -- Reconfigure_DifferentialBipolarFS2Vref");
whismanoid 28:298907617848 247 cmdLine.serial().printf("\r\n IS ch=? -- Reconfigure_SingleEnded");
whismanoid 28:298907617848 248 cmdLine.serial().printf("\r\n IU ch=? -- Reconfigure_DifferentialUnipolar");
whismanoid 28:298907617848 249 //
whismanoid 28:298907617848 250 cmdLine.serial().printf("\r\n @ -- print MAX11131 configuration");
whismanoid 28:298907617848 251
whismanoid 28:298907617848 252 //
whismanoid 28:298907617848 253 // case 'G'..'Z','g'..'z' are reserved for GPIO commands
whismanoid 28:298907617848 254 // case 'A'..'F','a'..'f' may be available if not claimed by bitstream commands
whismanoid 28:298907617848 255 cmdLine.serial().printf("\r\n C -- CNVST output PulseLow"); // TODO: ExternFunctionGPIOPinCommand testMenuGPIOItemsDict
whismanoid 28:298907617848 256 cmdLine.serial().printf("\r\n E -- EOC input value"); // TODO: ExternFunctionGPIOPinCommand testMenuGPIOItemsDict
whismanoid 28:298907617848 257
whismanoid 28:298907617848 258 //
whismanoid 28:298907617848 259 }
whismanoid 11:38b95a59de02 260
whismanoid 11:38b95a59de02 261 bool MAX11131_menu_onEOLcommandParser(CmdLine & cmdLine)
whismanoid 11:38b95a59de02 262 {
whismanoid 28:298907617848 263
whismanoid 28:298907617848 264
whismanoid 28:298907617848 265 // parse argument int16_t ADC_CONFIGURATION
whismanoid 28:298907617848 266 int16_t ADC_CONFIGURATION = g_MAX11131_device.ADC_CONFIGURATION; // default to global property value
whismanoid 28:298907617848 267 if (cmdLine.parse_int16_dec("ADC_CONFIGURATION", ADC_CONFIGURATION))
whismanoid 28:298907617848 268 {
whismanoid 28:298907617848 269 g_MAX11131_device.ADC_CONFIGURATION = ADC_CONFIGURATION; // update global property value
whismanoid 28:298907617848 270 }
whismanoid 28:298907617848 271
whismanoid 28:298907617848 272 // parse argument int16_t ADC_MODE_CONTROL
whismanoid 28:298907617848 273 int16_t ADC_MODE_CONTROL = g_MAX11131_device.ADC_MODE_CONTROL; // default to global property value
whismanoid 28:298907617848 274 if (cmdLine.parse_int16_dec("ADC_MODE_CONTROL", ADC_MODE_CONTROL))
whismanoid 28:298907617848 275 {
whismanoid 28:298907617848 276 g_MAX11131_device.ADC_MODE_CONTROL = ADC_MODE_CONTROL; // update global property value
whismanoid 28:298907617848 277 }
whismanoid 28:298907617848 278
whismanoid 28:298907617848 279 // parse argument int16_t BIPOLAR
whismanoid 28:298907617848 280 int16_t BIPOLAR = g_MAX11131_device.BIPOLAR; // default to global property value
whismanoid 28:298907617848 281 if (cmdLine.parse_int16_dec("BIPOLAR", BIPOLAR))
whismanoid 28:298907617848 282 {
whismanoid 28:298907617848 283 g_MAX11131_device.BIPOLAR = BIPOLAR; // update global property value
whismanoid 28:298907617848 284 }
whismanoid 28:298907617848 285
whismanoid 28:298907617848 286 // parse argument int16_t CSCAN0
whismanoid 28:298907617848 287 int16_t CSCAN0 = g_MAX11131_device.CSCAN0; // default to global property value
whismanoid 28:298907617848 288 if (cmdLine.parse_int16_dec("CSCAN0", CSCAN0))
whismanoid 28:298907617848 289 {
whismanoid 28:298907617848 290 g_MAX11131_device.CSCAN0 = CSCAN0; // update global property value
whismanoid 28:298907617848 291 }
whismanoid 28:298907617848 292
whismanoid 28:298907617848 293 // parse argument int16_t CSCAN1
whismanoid 28:298907617848 294 int16_t CSCAN1 = g_MAX11131_device.CSCAN1; // default to global property value
whismanoid 28:298907617848 295 if (cmdLine.parse_int16_dec("CSCAN1", CSCAN1))
whismanoid 28:298907617848 296 {
whismanoid 28:298907617848 297 g_MAX11131_device.CSCAN1 = CSCAN1; // update global property value
whismanoid 28:298907617848 298 }
whismanoid 28:298907617848 299
whismanoid 28:298907617848 300 // parse argument uint16_t NumWords
whismanoid 28:298907617848 301 uint16_t NumWords = g_MAX11131_device.NumWords; // default to global property value
whismanoid 28:298907617848 302 if (cmdLine.parse_uint16_dec("NumWords", NumWords))
whismanoid 28:298907617848 303 {
whismanoid 28:298907617848 304 g_MAX11131_device.NumWords = NumWords; // update global property value
whismanoid 28:298907617848 305 }
whismanoid 28:298907617848 306
whismanoid 28:298907617848 307 // parse argument uint8_t PowerManagement_0_2
whismanoid 28:298907617848 308 uint8_t PowerManagement_0_2 = g_MAX11131_device.PowerManagement_0_2; // default to global property value
whismanoid 28:298907617848 309 if (cmdLine.parse_uint8_dec("PowerManagement_0_2", PowerManagement_0_2))
whismanoid 28:298907617848 310 {
whismanoid 28:298907617848 311 g_MAX11131_device.PowerManagement_0_2 = PowerManagement_0_2; // update global property value
whismanoid 28:298907617848 312 }
whismanoid 28:298907617848 313 // "pm" is an alias for argument "PowerManagement_0_2"
whismanoid 28:298907617848 314 if (cmdLine.parse_uint8_dec("pm", PowerManagement_0_2))
whismanoid 28:298907617848 315 {
whismanoid 28:298907617848 316 g_MAX11131_device.PowerManagement_0_2 = PowerManagement_0_2; // update global property value
whismanoid 28:298907617848 317 }
whismanoid 28:298907617848 318
whismanoid 28:298907617848 319 // parse argument int16_t RANGE
whismanoid 28:298907617848 320 int16_t RANGE = g_MAX11131_device.RANGE; // default to global property value
whismanoid 28:298907617848 321 if (cmdLine.parse_int16_dec("RANGE", RANGE))
whismanoid 28:298907617848 322 {
whismanoid 28:298907617848 323 g_MAX11131_device.RANGE = RANGE; // update global property value
whismanoid 28:298907617848 324 }
whismanoid 28:298907617848 325
whismanoid 28:298907617848 326 // parse argument int16_t SAMPLESET
whismanoid 28:298907617848 327 int16_t SAMPLESET = g_MAX11131_device.SAMPLESET; // default to global property value
whismanoid 28:298907617848 328 if (cmdLine.parse_int16_dec("SAMPLESET", SAMPLESET))
whismanoid 28:298907617848 329 {
whismanoid 28:298907617848 330 g_MAX11131_device.SAMPLESET = SAMPLESET; // update global property value
whismanoid 28:298907617848 331 }
whismanoid 28:298907617848 332
whismanoid 28:298907617848 333 // parse argument uint8_t SPI_MOSI_Semantic
whismanoid 28:298907617848 334 uint8_t SPI_MOSI_Semantic = g_MAX11131_device.SPI_MOSI_Semantic; // default to global property value
whismanoid 28:298907617848 335 if (cmdLine.parse_uint8_dec("SPI_MOSI_Semantic", SPI_MOSI_Semantic))
whismanoid 28:298907617848 336 {
whismanoid 28:298907617848 337 g_MAX11131_device.SPI_MOSI_Semantic = SPI_MOSI_Semantic; // update global property value
whismanoid 28:298907617848 338 }
whismanoid 28:298907617848 339
whismanoid 28:298907617848 340 // parse argument uint8_t ScanMode
whismanoid 28:298907617848 341 uint8_t ScanMode = g_MAX11131_device.ScanMode; // default to global property value
whismanoid 28:298907617848 342 if (cmdLine.parse_uint8_dec("ScanMode", ScanMode))
whismanoid 28:298907617848 343 {
whismanoid 28:298907617848 344 g_MAX11131_device.ScanMode = ScanMode; // update global property value
whismanoid 28:298907617848 345 }
whismanoid 28:298907617848 346
whismanoid 28:298907617848 347 // parse argument int16_t UNIPOLAR
whismanoid 28:298907617848 348 int16_t UNIPOLAR = g_MAX11131_device.UNIPOLAR; // default to global property value
whismanoid 28:298907617848 349 if (cmdLine.parse_int16_dec("UNIPOLAR", UNIPOLAR))
whismanoid 28:298907617848 350 {
whismanoid 28:298907617848 351 g_MAX11131_device.UNIPOLAR = UNIPOLAR; // update global property value
whismanoid 28:298907617848 352 }
whismanoid 28:298907617848 353
whismanoid 28:298907617848 354 // parse argument double VRef
whismanoid 28:298907617848 355 double VRef = g_MAX11131_device.VRef; // default to global property value
whismanoid 28:298907617848 356 if (cmdLine.parse_double("VRef", VRef))
whismanoid 28:298907617848 357 {
whismanoid 28:298907617848 358 g_MAX11131_device.VRef = VRef; // update global property value
whismanoid 28:298907617848 359 }
whismanoid 28:298907617848 360
whismanoid 28:298907617848 361 // parse argument uint8_t average_0_4_8_16_32
whismanoid 28:298907617848 362 uint8_t average_0_4_8_16_32 = g_MAX11131_device.average_0_4_8_16_32; // default to global property value
whismanoid 28:298907617848 363 if (cmdLine.parse_uint8_dec("average_0_4_8_16_32", average_0_4_8_16_32))
whismanoid 28:298907617848 364 {
whismanoid 28:298907617848 365 g_MAX11131_device.average_0_4_8_16_32 = average_0_4_8_16_32; // update global property value
whismanoid 28:298907617848 366 }
whismanoid 28:298907617848 367 // "av" is an alias for argument "average_0_4_8_16_32"
whismanoid 28:298907617848 368 if (cmdLine.parse_uint8_dec("av", average_0_4_8_16_32))
whismanoid 28:298907617848 369 {
whismanoid 28:298907617848 370 g_MAX11131_device.average_0_4_8_16_32 = average_0_4_8_16_32; // update global property value
whismanoid 28:298907617848 371 }
whismanoid 28:298907617848 372
whismanoid 28:298907617848 373 // parse argument uint8_t chan_id_0_1
whismanoid 28:298907617848 374 uint8_t chan_id_0_1 = g_MAX11131_device.chan_id_0_1; // default to global property value
whismanoid 28:298907617848 375 if (cmdLine.parse_uint8_dec("chan_id_0_1", chan_id_0_1))
whismanoid 28:298907617848 376 {
whismanoid 28:298907617848 377 g_MAX11131_device.chan_id_0_1 = chan_id_0_1; // update global property value
whismanoid 28:298907617848 378 }
whismanoid 28:298907617848 379 // "id" is an alias for argument "chan_id_0_1"
whismanoid 28:298907617848 380 if (cmdLine.parse_uint8_dec("id", chan_id_0_1))
whismanoid 28:298907617848 381 {
whismanoid 28:298907617848 382 g_MAX11131_device.chan_id_0_1 = chan_id_0_1; // update global property value
whismanoid 28:298907617848 383 }
whismanoid 28:298907617848 384
whismanoid 28:298907617848 385 // parse argument uint8_t channelNumber_0_15
whismanoid 28:298907617848 386 uint8_t channelNumber_0_15 = g_MAX11131_device.channelNumber_0_15; // default to global property value
whismanoid 28:298907617848 387 if (cmdLine.parse_uint8_dec("channelNumber_0_15", channelNumber_0_15))
whismanoid 28:298907617848 388 {
whismanoid 28:298907617848 389 g_MAX11131_device.channelNumber_0_15 = channelNumber_0_15; // update global property value
whismanoid 28:298907617848 390 }
whismanoid 28:298907617848 391 // "ch" is an alias for argument "channelNumber_0_15"
whismanoid 28:298907617848 392 if (cmdLine.parse_uint8_dec("ch", channelNumber_0_15))
whismanoid 28:298907617848 393 {
whismanoid 28:298907617848 394 g_MAX11131_device.channelNumber_0_15 = channelNumber_0_15; // update global property value
whismanoid 28:298907617848 395 }
whismanoid 28:298907617848 396
whismanoid 28:298907617848 397 // parse argument int16_t enabledChannelsMask
whismanoid 28:298907617848 398 int16_t enabledChannelsMask = g_MAX11131_device.enabledChannelsMask; // default to global property value
whismanoid 28:298907617848 399 if (cmdLine.parse_int16_dec("enabledChannelsMask", enabledChannelsMask))
whismanoid 28:298907617848 400 {
whismanoid 28:298907617848 401 g_MAX11131_device.enabledChannelsMask = enabledChannelsMask; // update global property value
whismanoid 28:298907617848 402 }
whismanoid 28:298907617848 403 // "enableMask" is an alias for argument "enabledChannelsMask"
whismanoid 28:298907617848 404 if (cmdLine.parse_int16_dec("enableMask", enabledChannelsMask))
whismanoid 28:298907617848 405 {
whismanoid 28:298907617848 406 g_MAX11131_device.enabledChannelsMask = enabledChannelsMask; // update global property value
whismanoid 28:298907617848 407 }
whismanoid 28:298907617848 408
whismanoid 28:298907617848 409 // parse argument uint8_t enabledChannelsPatternLength_1_256
whismanoid 28:298907617848 410 uint8_t enabledChannelsPatternLength_1_256 = g_MAX11131_device.enabledChannelsPatternLength_1_256; // default to global property value
whismanoid 28:298907617848 411 if (cmdLine.parse_uint8_dec("enabledChannelsPatternLength_1_256", enabledChannelsPatternLength_1_256))
whismanoid 28:298907617848 412 {
whismanoid 28:298907617848 413 g_MAX11131_device.enabledChannelsPatternLength_1_256 = enabledChannelsPatternLength_1_256; // update global property value
whismanoid 28:298907617848 414 }
whismanoid 28:298907617848 415
whismanoid 28:298907617848 416 // parse argument uint8_t isExternalClock
whismanoid 28:298907617848 417 uint8_t isExternalClock = g_MAX11131_device.isExternalClock; // default to global property value
whismanoid 28:298907617848 418 if (cmdLine.parse_uint8_dec("isExternalClock", isExternalClock))
whismanoid 28:298907617848 419 {
whismanoid 28:298907617848 420 g_MAX11131_device.isExternalClock = isExternalClock; // update global property value
whismanoid 28:298907617848 421 }
whismanoid 28:298907617848 422
whismanoid 28:298907617848 423 // parse argument uint8_t nscan_4_8_12_16
whismanoid 28:298907617848 424 uint8_t nscan_4_8_12_16 = g_MAX11131_device.nscan_4_8_12_16; // default to global property value
whismanoid 28:298907617848 425 if (cmdLine.parse_uint8_dec("nscan_4_8_12_16", nscan_4_8_12_16))
whismanoid 28:298907617848 426 {
whismanoid 28:298907617848 427 g_MAX11131_device.nscan_4_8_12_16 = nscan_4_8_12_16; // update global property value
whismanoid 28:298907617848 428 }
whismanoid 28:298907617848 429 // "n" is an alias for argument "nscan_4_8_12_16"
whismanoid 28:298907617848 430 if (cmdLine.parse_uint8_dec("n", nscan_4_8_12_16))
whismanoid 28:298907617848 431 {
whismanoid 28:298907617848 432 g_MAX11131_device.nscan_4_8_12_16 = nscan_4_8_12_16; // update global property value
whismanoid 28:298907617848 433 }
whismanoid 28:298907617848 434
whismanoid 28:298907617848 435 // parse argument uint8_t swcnv_0_1
whismanoid 28:298907617848 436 uint8_t swcnv_0_1 = g_MAX11131_device.swcnv_0_1; // default to global property value
whismanoid 28:298907617848 437 if (cmdLine.parse_uint8_dec("swcnv_0_1", swcnv_0_1))
whismanoid 28:298907617848 438 {
whismanoid 28:298907617848 439 g_MAX11131_device.swcnv_0_1 = swcnv_0_1; // update global property value
whismanoid 28:298907617848 440 }
whismanoid 28:298907617848 441 // "swcnv" is an alias for argument "swcnv_0_1"
whismanoid 28:298907617848 442 if (cmdLine.parse_uint8_dec("swcnv", swcnv_0_1))
whismanoid 28:298907617848 443 {
whismanoid 28:298907617848 444 g_MAX11131_device.swcnv_0_1 = swcnv_0_1; // update global property value
whismanoid 28:298907617848 445 }
whismanoid 28:298907617848 446
whismanoid 11:38b95a59de02 447 switch (cmdLine[0])
whismanoid 11:38b95a59de02 448 {
whismanoid 28:298907617848 449 case '@':
whismanoid 28:298907617848 450 {
whismanoid 28:298907617848 451 cmdLine.serial().printf("ADC_MODE_CONTROL = ");
whismanoid 28:298907617848 452 cmdLine.serial().printf("%d = 0x%4.4x\r\n", g_MAX11131_device.ADC_MODE_CONTROL, g_MAX11131_device.ADC_MODE_CONTROL);
whismanoid 28:298907617848 453 cmdLine.serial().printf("ADC_CONFIGURATION = ");
whismanoid 28:298907617848 454 cmdLine.serial().printf("%d = 0x%4.4x\r\n", g_MAX11131_device.ADC_CONFIGURATION, g_MAX11131_device.ADC_CONFIGURATION);
whismanoid 28:298907617848 455 cmdLine.serial().printf("UNIPOLAR = ");
whismanoid 28:298907617848 456 cmdLine.serial().printf("%d = 0x%4.4x\r\n", g_MAX11131_device.UNIPOLAR, g_MAX11131_device.UNIPOLAR);
whismanoid 28:298907617848 457 cmdLine.serial().printf("BIPOLAR = ");
whismanoid 28:298907617848 458 cmdLine.serial().printf("%d = 0x%4.4x\r\n", g_MAX11131_device.BIPOLAR, g_MAX11131_device.BIPOLAR);
whismanoid 28:298907617848 459 cmdLine.serial().printf("RANGE = ");
whismanoid 28:298907617848 460 cmdLine.serial().printf("%d = 0x%4.4x\r\n", g_MAX11131_device.RANGE, g_MAX11131_device.RANGE);
whismanoid 28:298907617848 461 cmdLine.serial().printf("CSCAN0 = ");
whismanoid 28:298907617848 462 cmdLine.serial().printf("%d = 0x%4.4x\r\n", g_MAX11131_device.CSCAN0, g_MAX11131_device.CSCAN0);
whismanoid 28:298907617848 463 cmdLine.serial().printf("CSCAN1 = ");
whismanoid 28:298907617848 464 cmdLine.serial().printf("%d = 0x%4.4x\r\n", g_MAX11131_device.CSCAN1, g_MAX11131_device.CSCAN1);
whismanoid 28:298907617848 465 cmdLine.serial().printf("SAMPLESET = ");
whismanoid 28:298907617848 466 cmdLine.serial().printf("%d = 0x%4.4x\r\n", g_MAX11131_device.SAMPLESET, g_MAX11131_device.SAMPLESET);
whismanoid 28:298907617848 467 cmdLine.serial().printf("enabledChannelsPatternLength_1_256 = ");
whismanoid 28:298907617848 468 cmdLine.serial().printf("%d = 0x%2.2x\r\n", g_MAX11131_device.enabledChannelsPatternLength_1_256, g_MAX11131_device.enabledChannelsPatternLength_1_256);
whismanoid 28:298907617848 469 for(int index = 0; (index < g_MAX11131_device.enabledChannelsPatternLength_1_256) && (index < 16); index++) {
whismanoid 28:298907617848 470 cmdLine.serial().printf("enabledChannelsPattern[%d] = ", index);
whismanoid 28:298907617848 471 cmdLine.serial().printf("%d = 0x%2.2x\r\n", g_MAX11131_device.enabledChannelsPattern[index], g_MAX11131_device.enabledChannelsPattern[index]);
whismanoid 28:298907617848 472 }
whismanoid 28:298907617848 473 cmdLine.serial().printf("SPI_MOSI_Semantic = ");
whismanoid 28:298907617848 474 cmdLine.serial().printf("%d = 0x%2.2x\r\n", g_MAX11131_device.SPI_MOSI_Semantic, g_MAX11131_device.SPI_MOSI_Semantic);
whismanoid 28:298907617848 475 cmdLine.serial().printf("NumWords = ");
whismanoid 28:298907617848 476 cmdLine.serial().printf("%d = 0x%4.4x\r\n", g_MAX11131_device.NumWords, g_MAX11131_device.NumWords);
whismanoid 28:298907617848 477 cmdLine.serial().printf("isExternalClock = ");
whismanoid 28:298907617848 478 cmdLine.serial().printf("%d = 0x%2.2x\r\n", g_MAX11131_device.isExternalClock, g_MAX11131_device.isExternalClock);
whismanoid 28:298907617848 479 cmdLine.serial().printf("ScanMode = ");
whismanoid 28:298907617848 480 cmdLine.serial().printf("%d = 0x%2.2x\r\n", g_MAX11131_device.ScanMode, g_MAX11131_device.ScanMode);
whismanoid 28:298907617848 481 cmdLine.serial().printf("channelNumber_0_15 = ");
whismanoid 28:298907617848 482 cmdLine.serial().printf("%d = 0x%2.2x\r\n", g_MAX11131_device.channelNumber_0_15, g_MAX11131_device.channelNumber_0_15);
whismanoid 28:298907617848 483 cmdLine.serial().printf("PowerManagement_0_2 = ");
whismanoid 28:298907617848 484 cmdLine.serial().printf("%d = 0x%2.2x\r\n", g_MAX11131_device.PowerManagement_0_2, g_MAX11131_device.PowerManagement_0_2);
whismanoid 28:298907617848 485 cmdLine.serial().printf("chan_id_0_1 = ");
whismanoid 28:298907617848 486 cmdLine.serial().printf("%d = 0x%2.2x\r\n", g_MAX11131_device.chan_id_0_1, g_MAX11131_device.chan_id_0_1);
whismanoid 28:298907617848 487 cmdLine.serial().printf("average_0_4_8_16_32 = ");
whismanoid 28:298907617848 488 cmdLine.serial().printf("%d = 0x%2.2x\r\n", g_MAX11131_device.average_0_4_8_16_32, g_MAX11131_device.average_0_4_8_16_32);
whismanoid 28:298907617848 489 cmdLine.serial().printf("nscan_4_8_12_16 = ");
whismanoid 28:298907617848 490 cmdLine.serial().printf("%d = 0x%2.2x\r\n", g_MAX11131_device.nscan_4_8_12_16, g_MAX11131_device.nscan_4_8_12_16);
whismanoid 28:298907617848 491 cmdLine.serial().printf("swcnv_0_1 = ");
whismanoid 28:298907617848 492 cmdLine.serial().printf("%d = 0x%2.2x\r\n", g_MAX11131_device.swcnv_0_1, g_MAX11131_device.swcnv_0_1);
whismanoid 28:298907617848 493 cmdLine.serial().printf("enabledChannelsMask = ");
whismanoid 28:298907617848 494 cmdLine.serial().printf("%d = 0x%4.4x\r\n", g_MAX11131_device.enabledChannelsMask, g_MAX11131_device.enabledChannelsMask);
whismanoid 28:298907617848 495 for(int index = 0; (index < 16) && (index < 16); index++) {
whismanoid 28:298907617848 496 cmdLine.serial().printf("AINcode[%d] = ", index);
whismanoid 28:298907617848 497 cmdLine.serial().printf("%d = 0x%4.4x\r\n", g_MAX11131_device.AINcode[index], g_MAX11131_device.AINcode[index]);
whismanoid 28:298907617848 498 }
whismanoid 28:298907617848 499 for(int index = 0; (index < 256) && (index < 16); index++) {
whismanoid 28:298907617848 500 cmdLine.serial().printf("RAW_misoData16[%d] = ", index);
whismanoid 28:298907617848 501 cmdLine.serial().printf("%d = 0x%4.4x\r\n", g_MAX11131_device.RAW_misoData16[index], g_MAX11131_device.RAW_misoData16[index]);
whismanoid 28:298907617848 502 }
whismanoid 28:298907617848 503 cmdLine.serial().printf("VRef = ");
whismanoid 28:298907617848 504 cmdLine.serial().printf("%1.6f\r\n", g_MAX11131_device.VRef);
whismanoid 28:298907617848 505 return true; // command handled by MAX11131
whismanoid 28:298907617848 506 break;
whismanoid 28:298907617848 507 }
whismanoid 28:298907617848 508 // case 'G'..'Z','g'..'z' are reserved for GPIO commands
whismanoid 28:298907617848 509 // case 'A'..'F','a'..'f' may be available if not claimed by bitstream commands
whismanoid 28:298907617848 510 case 'C':
whismanoid 28:298907617848 511 {
whismanoid 28:298907617848 512 // TODO output PulseLow
whismanoid 28:298907617848 513 g_MAX11131_device.CNVSToutputPulseLow();
whismanoid 28:298907617848 514 return true; // command handled by MAX11131
whismanoid 28:298907617848 515 break;
whismanoid 28:298907617848 516 }
whismanoid 28:298907617848 517 case 'E':
whismanoid 28:298907617848 518 {
whismanoid 28:298907617848 519 // TODO capture and print input Value
whismanoid 28:298907617848 520 cmdLine.serial().printf("%d", g_MAX11131_device.EOCinputValue());
whismanoid 28:298907617848 521 return true; // command handled by MAX11131
whismanoid 28:298907617848 522 break;
whismanoid 28:298907617848 523 }
whismanoid 28:298907617848 524 // case '0'..'9','A'..'F','a'..'f' letters are reserved for bitstream commands
whismanoid 28:298907617848 525 case '!':
whismanoid 28:298907617848 526 {
whismanoid 28:298907617848 527 // test menu command '!' handler:
whismanoid 28:298907617848 528 // helpString='! -- Init'
whismanoid 28:298907617848 529 // CMD_='None'
whismanoid 28:298907617848 530 // CommandName='Init'
whismanoid 28:298907617848 531 // CommandParamIn='void'
whismanoid 28:298907617848 532 // CommandReturnType='void'
whismanoid 28:298907617848 533 // @Pre=' // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords'
whismanoid 28:298907617848 534 // @Pre=' // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords'
whismanoid 28:298907617848 535 // @Pre=' // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords'
whismanoid 28:298907617848 536 // @Param[in]=''
whismanoid 28:298907617848 537 // @Param[out]=''
whismanoid 28:298907617848 538 // @Post=' // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data'
whismanoid 28:298907617848 539 // @Post=' // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs'
whismanoid 28:298907617848 540 // displayPost=''
whismanoid 28:298907617848 541 // @Return=''
whismanoid 28:298907617848 542 // @Test='@test tinyTester.blink_time_msec = 75 // default 75 resume hardware self test'
whismanoid 28:298907617848 543 // @Test='@test tinyTester.print("1.0: Test Scan_0100_StandardExt -- verify SPI (VDD, GND, SCLK, MOSI, MISO, CS)")'
whismanoid 29:c4975953cb65 544 // @Test='@test Init()'
whismanoid 29:c4975953cb65 545 // @Test='@test VRef expect 2.500 // Nominal Full-Scale Voltage Reference'
whismanoid 32:3d22e3e23670 546 // @Test='@test tinyTester.print("1.0: Test SCAN_0100_StandardExt -- verify SPI (VDD, GND, SCLK, MOSI, MISO, CS)")'
whismanoid 32:3d22e3e23670 547 // @Test='@test SPIoutputCS(0)'
whismanoid 32:3d22e3e23670 548 // @Test='@test tinyTester.print("MOSI <-- 1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0")'
whismanoid 32:3d22e3e23670 549 // @Test='@test SPIwrite16bits(0x8000)'
whismanoid 32:3d22e3e23670 550 // @Test='@test tinyTester.print("MOSI <-- 0010_0111_1010_0100 ADC_MODE_CONTROL SCAN_0100_StandardExt CHSEL=15 RESET=1 CHANID=1")'
whismanoid 32:3d22e3e23670 551 // @Test='@test SPIwrite16bits(0x27a4)'
whismanoid 32:3d22e3e23670 552 // @Test='@test tinyTester.print("MISO --> 0x0003 expect 0x0xxx (channel ID 0)")'
whismanoid 32:3d22e3e23670 553 // @Test='@test SPIread16bits() expect 0x0000 mask 0xF000 // expect 0x0xxx (channel ID 0)'
whismanoid 32:3d22e3e23670 554 // @Test='@test tinyTester.print("MISO --> 0x100a expect 0x1xxx (channel ID 1)")'
whismanoid 32:3d22e3e23670 555 // @Test='@test SPIread16bits() expect 0x1000 mask 0xF000 // expect 0x1xxx (channel ID 1)'
whismanoid 32:3d22e3e23670 556 // @Test='@test tinyTester.print("MISO --> 0x2034 expect 0x2xxx (channel ID 2)")'
whismanoid 32:3d22e3e23670 557 // @Test='@test SPIread16bits() expect 0x2000 mask 0xF000 // expect 0x2xxx (channel ID 2)'
whismanoid 32:3d22e3e23670 558 // @Test='@test tinyTester.print("MISO --> 0x3065 expect 0x3xxx (channel ID 3)")'
whismanoid 32:3d22e3e23670 559 // @Test='@test SPIread16bits() expect 0x3000 mask 0xF000 // expect 0x3xxx (channel ID 3)'
whismanoid 32:3d22e3e23670 560 // @Test='@test tinyTester.print("MISO --> 0x4210 expect 0x4xxx (channel ID 4)")'
whismanoid 32:3d22e3e23670 561 // @Test='@test SPIread16bits() expect 0x4000 mask 0xF000 // expect 0x4xxx (channel ID 4)'
whismanoid 32:3d22e3e23670 562 // @Test='@test tinyTester.print("MISO --> 0x5243 expect 0x5xxx (channel ID 5)")'
whismanoid 32:3d22e3e23670 563 // @Test='@test SPIread16bits() expect 0x5000 mask 0xF000 // expect 0x5xxx (channel ID 5)'
whismanoid 32:3d22e3e23670 564 // @Test='@test tinyTester.print("MISO --> 0x6016 expect 0x6xxx (channel ID 6)")'
whismanoid 32:3d22e3e23670 565 // @Test='@test SPIread16bits() expect 0x6000 mask 0xF000 // expect 0x6xxx (channel ID 6)'
whismanoid 32:3d22e3e23670 566 // @Test='@test tinyTester.print("MISO --> 0x701a expect 0x7xxx (channel ID 7)")'
whismanoid 32:3d22e3e23670 567 // @Test='@test SPIread16bits() expect 0x7000 mask 0xF000 // expect 0x7xxx (channel ID 7)'
whismanoid 32:3d22e3e23670 568 // @Test='@test tinyTester.print("MISO --> 0x8013 expect 0x8xxx (channel ID 8)")'
whismanoid 32:3d22e3e23670 569 // @Test='@test SPIread16bits() expect 0x8000 mask 0xF000 // expect 0x8xxx (channel ID 8)'
whismanoid 32:3d22e3e23670 570 // @Test='@test tinyTester.print("MISO --> 0x901a expect 0x9xxx (channel ID 9)")'
whismanoid 32:3d22e3e23670 571 // @Test='@test SPIread16bits() expect 0x9000 mask 0xF000 // expect 0x9xxx (channel ID 9)'
whismanoid 32:3d22e3e23670 572 // @Test='@test tinyTester.print("MISO --> 0xa013 expect 0xaxxx (channel ID 10)")'
whismanoid 32:3d22e3e23670 573 // @Test='@test SPIread16bits() expect 0xA000 mask 0xF000 // expect 0xaxxx (channel ID 10)'
whismanoid 32:3d22e3e23670 574 // @Test='@test tinyTester.print("MISO --> 0xb020 expect 0xbxxx (channel ID 11)")'
whismanoid 32:3d22e3e23670 575 // @Test='@test SPIread16bits() expect 0xB000 mask 0xF000 // expect 0xbxxx (channel ID 11)'
whismanoid 32:3d22e3e23670 576 // @Test='@test tinyTester.print("MISO --> 0xc015 expect 0xcxxx (channel ID 12)")'
whismanoid 32:3d22e3e23670 577 // @Test='@test SPIread16bits() expect 0xC000 mask 0xF000 // expect 0xcxxx (channel ID 12)'
whismanoid 32:3d22e3e23670 578 // @Test='@test tinyTester.print("MISO --> 0xd02d expect 0xdxxx (channel ID 13)")'
whismanoid 32:3d22e3e23670 579 // @Test='@test SPIread16bits() expect 0xD000 mask 0xF000 // expect 0xdxxx (channel ID 13)'
whismanoid 32:3d22e3e23670 580 // @Test='@test tinyTester.print("MISO --> 0xefff expect 0xexxx (channel ID 14)")'
whismanoid 32:3d22e3e23670 581 // @Test='@test SPIread16bits() expect 0xE000 mask 0xF000 // expect 0xexxx (channel ID 14)'
whismanoid 32:3d22e3e23670 582 // @Test='@test tinyTester.print("MISO --> 0xf000 expect 0xfxxx (channel ID 15)")'
whismanoid 32:3d22e3e23670 583 // @Test='@test SPIread16bits() expect 0xF000 mask 0xF000 // expect 0xfxxx (channel ID 15)'
whismanoid 32:3d22e3e23670 584 // @Test='@test SPIoutputCS(1)'
whismanoid 30:9b4063876773 585 // @Test='@test tinyTester.print("4 ch=15 pm=0 id=1 -- ScanStandardExternalClock")'
whismanoid 30:9b4063876773 586 // @Test='@test tinyTester.print("channelNumber_0_15 = 15")'
whismanoid 30:9b4063876773 587 // @Test='@test channelNumber_0_15 = 15'
whismanoid 30:9b4063876773 588 // @Test='@test tinyTester.print("PowerManagement_0_2 = 0")'
whismanoid 30:9b4063876773 589 // @Test='@test PowerManagement_0_2 = 0 // 0=Normal'
whismanoid 30:9b4063876773 590 // @Test='@test tinyTester.print("chan_id_0_1 = 1")'
whismanoid 30:9b4063876773 591 // @Test='@test chan_id_0_1 = 1 // misoData16 = CH[3:0] DATA[11:0]'
whismanoid 30:9b4063876773 592 // @Test='@test tinyTester.print("ScanStandardExternalClock() expect 16")'
whismanoid 30:9b4063876773 593 // @Test='@test ScanStandardExternalClock() expect 16 // Scan_0100_StandardExt'
whismanoid 30:9b4063876773 594 // @Test='@test tinyTester.print("NumWords expect 16")'
whismanoid 30:9b4063876773 595 // @Test='@test NumWords expect 16'
whismanoid 30:9b4063876773 596 // @Test='@test ReadAINcode()'
whismanoid 30:9b4063876773 597 // @Test='@test tinyTester.print("Verify RAW_misoData16[0..15]>>12&0x000F == 0..15 channelId")'
whismanoid 32:3d22e3e23670 598 // @Test='@test RAW_misoData16[0] expect 0x0000 mask 0xF000 // expect 0x0xxx (channel ID 0)'
whismanoid 32:3d22e3e23670 599 // @Test='@test RAW_misoData16[1] expect 0x1000 mask 0xF000 // expect 0x1xxx (channel ID 1)'
whismanoid 32:3d22e3e23670 600 // @Test='@test RAW_misoData16[2] expect 0x2000 mask 0xF000 // expect 0x2xxx (channel ID 2)'
whismanoid 32:3d22e3e23670 601 // @Test='@test RAW_misoData16[3] expect 0x3000 mask 0xF000 // expect 0x3xxx (channel ID 3)'
whismanoid 32:3d22e3e23670 602 // @Test='@test RAW_misoData16[4] expect 0x4000 mask 0xF000 // expect 0x4xxx (channel ID 4)'
whismanoid 32:3d22e3e23670 603 // @Test='@test RAW_misoData16[5] expect 0x5000 mask 0xF000 // expect 0x5xxx (channel ID 5)'
whismanoid 32:3d22e3e23670 604 // @Test='@test RAW_misoData16[6] expect 0x6000 mask 0xF000 // expect 0x6xxx (channel ID 6)'
whismanoid 32:3d22e3e23670 605 // @Test='@test RAW_misoData16[7] expect 0x7000 mask 0xF000 // expect 0x7xxx (channel ID 7)'
whismanoid 32:3d22e3e23670 606 // @Test='@test RAW_misoData16[8] expect 0x8000 mask 0xF000 // expect 0x8xxx (channel ID 8)'
whismanoid 32:3d22e3e23670 607 // @Test='@test RAW_misoData16[9] expect 0x9000 mask 0xF000 // expect 0x9xxx (channel ID 9)'
whismanoid 32:3d22e3e23670 608 // @Test='@test RAW_misoData16[10] expect 0xA000 mask 0xF000 // expect 0xaxxx (channel ID 10)'
whismanoid 32:3d22e3e23670 609 // @Test='@test RAW_misoData16[11] expect 0xB000 mask 0xF000 // expect 0xbxxx (channel ID 11)'
whismanoid 32:3d22e3e23670 610 // @Test='@test RAW_misoData16[12] expect 0xC000 mask 0xF000 // expect 0xcxxx (channel ID 12)'
whismanoid 32:3d22e3e23670 611 // @Test='@test RAW_misoData16[13] expect 0xD000 mask 0xF000 // expect 0xdxxx (channel ID 13)'
whismanoid 32:3d22e3e23670 612 // @Test='@test RAW_misoData16[14] expect 0xE000 mask 0xF000 // expect 0xexxx (channel ID 14)'
whismanoid 32:3d22e3e23670 613 // @Test='@test RAW_misoData16[15] expect 0xF000 mask 0xF000 // expect 0xfxxx (channel ID 15)'
whismanoid 30:9b4063876773 614 // @Test='@test tinyTester.print("MOSI <-- 1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0")'
whismanoid 28:298907617848 615 // @Test='@test SPIoutputCS(0)'
whismanoid 28:298907617848 616 // @Test='@test SPIwrite16bits(0x8000)'
whismanoid 28:298907617848 617 // @Test='@test SPIoutputCS(1)'
whismanoid 30:9b4063876773 618 // @Test='@test tinyTester.print("MOSI <-- 0010_0111_1010_0100 ADC_MODE_CONTROL Scan_0100_StandardExt CHSEL=15 RESET=1 CHANID=1")'
whismanoid 30:9b4063876773 619 // @Test='@test SPIoutputCS(0)'
whismanoid 30:9b4063876773 620 // @Test='@test SPIwrite16bits(0x27a4)'
whismanoid 30:9b4063876773 621 // @Test='@test SPIoutputCS(1)'
whismanoid 30:9b4063876773 622 // @Test='@test tinyTester.print("1.1: Test Scan_0011_StandardInt -- verify Internal Clock signals (CNVST, EOC)")'
whismanoid 30:9b4063876773 623 // @Test='@test Init();'
whismanoid 30:9b4063876773 624 // @Test='@test SPIoutputCS(0); // drive CS low'
whismanoid 30:9b4063876773 625 // @Test='@test SPIoutputCS(1); // drive CS high'
whismanoid 30:9b4063876773 626 // @Test='@test tinyTester.print("MOSI <-- 1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0")'
whismanoid 30:9b4063876773 627 // @Test='@test SPIoutputCS(0); // drive CS low'
whismanoid 30:9b4063876773 628 // @Test='@test SPIwrite16bits(0x8000);'
whismanoid 30:9b4063876773 629 // @Test='@test SPIoutputCS(1); // drive CS high'
whismanoid 30:9b4063876773 630 // @Test='@test tinyTester.print("MOSI <-- 0001_1001_1010_0000 ADC_MODE_CONTROL Scan_0011_StandardInt CHSEL=3 RESET=1 SWCNV=0")'
whismanoid 30:9b4063876773 631 // @Test='@test SPIoutputCS(0); // drive CS low'
whismanoid 30:9b4063876773 632 // @Test='@test SPIwrite16bits(0x19a0);'
whismanoid 30:9b4063876773 633 // @Test='@test SPIoutputCS(1); // drive CS high'
whismanoid 28:298907617848 634 cmdLine.serial().printf("Init");
whismanoid 28:298907617848 635 // call function Init
whismanoid 28:298907617848 636 g_MAX11131_device.Init();
whismanoid 28:298907617848 637 return true; // command handled by MAX11131
whismanoid 28:298907617848 638 } // end case '!'
whismanoid 28:298907617848 639 break;
whismanoid 11:38b95a59de02 640 case '0':
whismanoid 11:38b95a59de02 641 {
whismanoid 28:298907617848 642 // test menu command '0' handler:
whismanoid 28:298907617848 643 // helpString='0 NumWords=? -- ReadAINcode'
whismanoid 28:298907617848 644 // CMD_='SCAN_0000_NOP'
whismanoid 28:298907617848 645 // CommandName='ReadAINcode'
whismanoid 28:298907617848 646 // CommandParamIn='void'
whismanoid 28:298907617848 647 // CommandReturnType='void'
whismanoid 28:298907617848 648 // @Pre='@pre one of the Scan functions was called, setting g_MAX11131_device.NumWords'
whismanoid 28:298907617848 649 // @Param[in]='@param[in] g_MAX11131_device.NumWords: number of words to be read from the FIFO'
whismanoid 28:298907617848 650 // @Param[out]=''
whismanoid 28:298907617848 651 // @Post='@post g_MAX11131_device.RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data'
whismanoid 28:298907617848 652 // @Post='@post g_MAX11131_device.AINcode[NUM_CHANNELS] contains the latest readings in LSBs'
whismanoid 28:298907617848 653 // @Return=''
whismanoid 28:298907617848 654 // exception MAX11131 Menu item '0' ReadAINcode logic flow -- omit ReadAINcode call here, will be handled in postprocessing
whismanoid 28:298907617848 655 cmdLine.serial().printf("ReadAINcode");
whismanoid 28:298907617848 656 //
whismanoid 28:298907617848 657 // CODE GENERATOR: MAX11131 ReadAINCode and print data
whismanoid 28:298907617848 658 if (g_MAX11131_device.isExternalClock)
whismanoid 28:298907617848 659 {
whismanoid 28:298907617848 660 cmdLine.serial().printf(" External Clock");
whismanoid 28:298907617848 661 //
whismanoid 28:298907617848 662 // Read raw ADC codes from device into AINcode[] and RAW_misoData16[]
whismanoid 28:298907617848 663 // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords
whismanoid 28:298907617848 664 g_MAX11131_device.ReadAINcode();
whismanoid 28:298907617848 665 // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data
whismanoid 28:298907617848 666 // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs
whismanoid 28:298907617848 667 //
whismanoid 28:298907617848 668 AINcode_print_value_externalClock(cmdLine, g_MAX11131_device.NumWords);
whismanoid 28:298907617848 669 }
whismanoid 28:298907617848 670 else
whismanoid 28:298907617848 671 {
whismanoid 28:298907617848 672 cmdLine.serial().printf(" Internal Clock");
whismanoid 28:298907617848 673 //
whismanoid 28:298907617848 674 // Read raw ADC codes from device into AINcode[] and RAW_misoData16[]
whismanoid 28:298907617848 675 // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords
whismanoid 28:298907617848 676 g_MAX11131_device.ReadAINcode();
whismanoid 28:298907617848 677 // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data
whismanoid 28:298907617848 678 // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs
whismanoid 28:298907617848 679 //
whismanoid 28:298907617848 680 AINcode_print_value_chanID(cmdLine, g_MAX11131_device.NumWords);
whismanoid 28:298907617848 681 }
whismanoid 28:298907617848 682 return true; // command handled by MAX11131
whismanoid 28:298907617848 683 } // end case '0'
whismanoid 11:38b95a59de02 684 break;
whismanoid 11:38b95a59de02 685 case '1':
whismanoid 11:38b95a59de02 686 {
whismanoid 28:298907617848 687 // test menu command '1' handler:
whismanoid 28:298907617848 688 // helpString='1 ch=? pm=? id=? -- ScanManual'
whismanoid 28:298907617848 689 // CMD_='SCAN_0001_Manual'
whismanoid 28:298907617848 690 // CommandName='ScanManual'
whismanoid 28:298907617848 691 // CommandParamIn='void'
whismanoid 28:298907617848 692 // CommandReturnType='int'
whismanoid 28:298907617848 693 // @Pre=''
whismanoid 28:298907617848 694 // @Param[in]='@param[in] g_MAX11131_device.channelNumber_0_15: AIN Channel Number'
whismanoid 28:298907617848 695 // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby'
whismanoid 28:298907617848 696 // @Param[in]='@param[in] g_MAX11131_device.chan_id_0_1: ADC_MODE_CONTROL.CHAN_ID'
whismanoid 28:298907617848 697 // @Param[out]=''
whismanoid 28:298907617848 698 // @Post='@post NumWords = number of words to be read from the FIFO'
whismanoid 28:298907617848 699 // @Return='@return number of ScanRead() words needed to retrieve the data.'
whismanoid 28:298907617848 700 cmdLine.serial().printf("ScanManual");
whismanoid 28:298907617848 701 // call function ScanManual
whismanoid 28:298907617848 702 int result = g_MAX11131_device.ScanManual();
whismanoid 28:298907617848 703 cmdLine.serial().printf(" =%d\r\n", result);
whismanoid 28:298907617848 704 //
whismanoid 28:298907617848 705 // CODE GENERATOR: MAX11131 post-ScanManual ReadAINCode and print data
whismanoid 28:298907617848 706 // Read raw ADC codes from device into AINcode[] and RAW_misoData16[]
whismanoid 28:298907617848 707 // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords
whismanoid 28:298907617848 708 g_MAX11131_device.ReadAINcode();
whismanoid 28:298907617848 709 // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data
whismanoid 28:298907617848 710 // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs
whismanoid 28:298907617848 711 //
whismanoid 28:298907617848 712 AINcode_print_value_externalClock(cmdLine, g_MAX11131_device.NumWords);
whismanoid 28:298907617848 713 return true; // command handled by MAX11131
whismanoid 28:298907617848 714 } // end case '1'
whismanoid 11:38b95a59de02 715 break;
whismanoid 11:38b95a59de02 716 case '2':
whismanoid 11:38b95a59de02 717 {
whismanoid 28:298907617848 718 // test menu command '2' handler:
whismanoid 28:298907617848 719 // helpString='2 ch=? av=? n=? swcnv=? pm=? -- ScanRepeat'
whismanoid 28:298907617848 720 // CMD_='SCAN_0010_Repeat'
whismanoid 28:298907617848 721 // CommandName='ScanRepeat'
whismanoid 28:298907617848 722 // CommandParamIn='void'
whismanoid 28:298907617848 723 // CommandReturnType='int'
whismanoid 28:298907617848 724 // @Pre=''
whismanoid 28:298907617848 725 // @Param[in]='@param[in] g_MAX11131_device.channelNumber_0_15: AIN Channel Number'
whismanoid 28:298907617848 726 // @Param[in]='@param[in] g_MAX11131_device.average_0_4_8_16_32: Number of samples averaged per ScanRead() word.'
whismanoid 28:298907617848 727 // @Param[in]='@param[in] g_MAX11131_device.nscan_4_8_12_16: Number of ScanRead() words to report.'
whismanoid 28:298907617848 728 // @Param[in]='@param[in] g_MAX11131_device.swcnv_0_1: ADC_MODE_CONTROL.SWCNV'
whismanoid 28:298907617848 729 // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby'
whismanoid 28:298907617848 730 // @Param[out]=''
whismanoid 28:298907617848 731 // @Post='@post NumWords = number of words to be read from the FIFO'
whismanoid 28:298907617848 732 // @Return='@return number of ScanRead() words needed to retrieve the data.'
whismanoid 28:298907617848 733 cmdLine.serial().printf("ScanRepeat");
whismanoid 28:298907617848 734 // call function ScanRepeat
whismanoid 28:298907617848 735 int result = g_MAX11131_device.ScanRepeat();
whismanoid 28:298907617848 736 cmdLine.serial().printf(" =%d\r\n", result);
whismanoid 28:298907617848 737 //
whismanoid 28:298907617848 738 // CODE GENERATOR: MAX11131 post-ScanRepeat ReadAINCode and print data
whismanoid 28:298907617848 739 // Read raw ADC codes from device into AINcode[] and RAW_misoData16[]
whismanoid 28:298907617848 740 // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords
whismanoid 28:298907617848 741 g_MAX11131_device.ReadAINcode();
whismanoid 28:298907617848 742 // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data
whismanoid 28:298907617848 743 // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs
whismanoid 28:298907617848 744 //
whismanoid 28:298907617848 745 AINcode_print_value_chanID_mean(cmdLine, g_MAX11131_device.NumWords);
whismanoid 28:298907617848 746 return true; // command handled by MAX11131
whismanoid 28:298907617848 747 } // end case '2'
whismanoid 11:38b95a59de02 748 break;
whismanoid 11:38b95a59de02 749 case '3':
whismanoid 11:38b95a59de02 750 {
whismanoid 28:298907617848 751 // test menu command '3' handler:
whismanoid 28:298907617848 752 // helpString='3 ch=? av=? pm=? swcnv=? -- ScanStandardInternalClock'
whismanoid 28:298907617848 753 // CMD_='SCAN_0011_StandardInternalClock'
whismanoid 28:298907617848 754 // CommandName='ScanStandardInternalClock'
whismanoid 28:298907617848 755 // CommandParamIn='void'
whismanoid 28:298907617848 756 // CommandReturnType='int'
whismanoid 28:298907617848 757 // @Pre=''
whismanoid 28:298907617848 758 // @Param[in]='@param[in] g_MAX11131_device.channelNumber_0_15: AIN Channel Number'
whismanoid 28:298907617848 759 // @Param[in]='@param[in] g_MAX11131_device.average_0_4_8_16_32: Number of samples averaged per ScanRead() word.'
whismanoid 28:298907617848 760 // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby'
whismanoid 28:298907617848 761 // @Param[in]='@param[in] g_MAX11131_device.swcnv_0_1: ADC_MODE_CONTROL.SWCNV'
whismanoid 28:298907617848 762 // @Param[out]=''
whismanoid 28:298907617848 763 // @Post='@post NumWords = number of words to be read from the FIFO'
whismanoid 28:298907617848 764 // @Return='@return number of ScanRead() words needed to retrieve the data.'
whismanoid 28:298907617848 765 cmdLine.serial().printf("ScanStandardInternalClock");
whismanoid 28:298907617848 766 // call function ScanStandardInternalClock
whismanoid 28:298907617848 767 int result = g_MAX11131_device.ScanStandardInternalClock();
whismanoid 28:298907617848 768 cmdLine.serial().printf(" =%d\r\n", result);
whismanoid 28:298907617848 769 //
whismanoid 28:298907617848 770 // CODE GENERATOR: MAX11131 post-ScanStandardInternalClock ReadAINCode and print data
whismanoid 28:298907617848 771 // Read raw ADC codes from device into AINcode[] and RAW_misoData16[]
whismanoid 28:298907617848 772 // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords
whismanoid 28:298907617848 773 g_MAX11131_device.ReadAINcode();
whismanoid 28:298907617848 774 // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data
whismanoid 28:298907617848 775 // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs
whismanoid 28:298907617848 776 //
whismanoid 28:298907617848 777 AINcode_print_value_chanID(cmdLine, g_MAX11131_device.NumWords);
whismanoid 28:298907617848 778 return true; // command handled by MAX11131
whismanoid 28:298907617848 779 } // end case '3'
whismanoid 11:38b95a59de02 780 break;
whismanoid 11:38b95a59de02 781 case '4':
whismanoid 11:38b95a59de02 782 {
whismanoid 28:298907617848 783 // test menu command '4' handler:
whismanoid 28:298907617848 784 // helpString='4 ch=? pm=? id=? -- ScanStandardExternalClock'
whismanoid 28:298907617848 785 // CMD_='SCAN_0100_StandardExternalClock'
whismanoid 28:298907617848 786 // CommandName='ScanStandardExternalClock'
whismanoid 28:298907617848 787 // CommandParamIn='void'
whismanoid 28:298907617848 788 // CommandReturnType='int'
whismanoid 28:298907617848 789 // @Pre=''
whismanoid 28:298907617848 790 // @Param[in]='@param[in] g_MAX11131_device.channelNumber_0_15: AIN Channel Number'
whismanoid 28:298907617848 791 // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby'
whismanoid 28:298907617848 792 // @Param[in]='@param[in] g_MAX11131_device.chan_id_0_1: ADC_MODE_CONTROL.CHAN_ID'
whismanoid 28:298907617848 793 // @Param[out]=''
whismanoid 28:298907617848 794 // @Post='@post NumWords = number of words to be read from the FIFO'
whismanoid 28:298907617848 795 // @Return='@return number of ScanRead() words needed to retrieve the data.'
whismanoid 28:298907617848 796 cmdLine.serial().printf("ScanStandardExternalClock");
whismanoid 28:298907617848 797 // call function ScanStandardExternalClock
whismanoid 28:298907617848 798 int result = g_MAX11131_device.ScanStandardExternalClock();
whismanoid 28:298907617848 799 cmdLine.serial().printf(" =%d\r\n", result);
whismanoid 28:298907617848 800 //
whismanoid 28:298907617848 801 // CODE GENERATOR: MAX11131 post-ScanStandardExternalClock ReadAINCode and print data
whismanoid 28:298907617848 802 // Read raw ADC codes from device into AINcode[] and RAW_misoData16[]
whismanoid 28:298907617848 803 // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords
whismanoid 28:298907617848 804 g_MAX11131_device.ReadAINcode();
whismanoid 28:298907617848 805 // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data
whismanoid 28:298907617848 806 // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs
whismanoid 28:298907617848 807 //
whismanoid 28:298907617848 808 AINcode_print_value_externalClock(cmdLine, g_MAX11131_device.NumWords);
whismanoid 28:298907617848 809 return true; // command handled by MAX11131
whismanoid 28:298907617848 810 } // end case '4'
whismanoid 11:38b95a59de02 811 break;
whismanoid 11:38b95a59de02 812 case '5':
whismanoid 11:38b95a59de02 813 {
whismanoid 28:298907617848 814 // test menu command '5' handler:
whismanoid 28:298907617848 815 // helpString='5 ch=? av=? pm=? swcnv=? -- ScanUpperInternalClock'
whismanoid 28:298907617848 816 // CMD_='SCAN_0101_UpperInternalClock'
whismanoid 28:298907617848 817 // CommandName='ScanUpperInternalClock'
whismanoid 28:298907617848 818 // CommandParamIn='void'
whismanoid 28:298907617848 819 // CommandReturnType='int'
whismanoid 28:298907617848 820 // @Pre=''
whismanoid 28:298907617848 821 // @Param[in]='@param[in] g_MAX11131_device.channelNumber_0_15: AIN Channel Number'
whismanoid 28:298907617848 822 // @Param[in]='@param[in] g_MAX11131_device.average_0_4_8_16_32: Number of samples averaged per ScanRead() word.'
whismanoid 28:298907617848 823 // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby'
whismanoid 28:298907617848 824 // @Param[in]='@param[in] g_MAX11131_device.swcnv_0_1: ADC_MODE_CONTROL.SWCNV'
whismanoid 28:298907617848 825 // @Param[out]=''
whismanoid 28:298907617848 826 // @Post='@post NumWords = number of words to be read from the FIFO'
whismanoid 28:298907617848 827 // @Return='@return number of ScanRead() words needed to retrieve the data.'
whismanoid 28:298907617848 828 cmdLine.serial().printf("ScanUpperInternalClock");
whismanoid 28:298907617848 829 // call function ScanUpperInternalClock
whismanoid 28:298907617848 830 int result = g_MAX11131_device.ScanUpperInternalClock();
whismanoid 28:298907617848 831 cmdLine.serial().printf(" =%d\r\n", result);
whismanoid 28:298907617848 832 //
whismanoid 28:298907617848 833 // CODE GENERATOR: MAX11131 post-ScanUpperInternalClock ReadAINCode and print data
whismanoid 28:298907617848 834 // Read raw ADC codes from device into AINcode[] and RAW_misoData16[]
whismanoid 28:298907617848 835 // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords
whismanoid 28:298907617848 836 g_MAX11131_device.ReadAINcode();
whismanoid 28:298907617848 837 // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data
whismanoid 28:298907617848 838 // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs
whismanoid 28:298907617848 839 //
whismanoid 28:298907617848 840 AINcode_print_value_chanID(cmdLine, g_MAX11131_device.NumWords);
whismanoid 28:298907617848 841 return true; // command handled by MAX11131
whismanoid 28:298907617848 842 } // end case '5'
whismanoid 11:38b95a59de02 843 break;
whismanoid 11:38b95a59de02 844 case '6':
whismanoid 11:38b95a59de02 845 {
whismanoid 28:298907617848 846 // test menu command '6' handler:
whismanoid 28:298907617848 847 // helpString='6 ch=? pm=? id=? -- ScanUpperExternalClock'
whismanoid 28:298907617848 848 // CMD_='SCAN_0110_UpperExternalClock'
whismanoid 28:298907617848 849 // CommandName='ScanUpperExternalClock'
whismanoid 28:298907617848 850 // CommandParamIn='void'
whismanoid 28:298907617848 851 // CommandReturnType='int'
whismanoid 28:298907617848 852 // @Pre=''
whismanoid 28:298907617848 853 // @Param[in]='@param[in] g_MAX11131_device.channelNumber_0_15: AIN Channel Number'
whismanoid 28:298907617848 854 // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby'
whismanoid 28:298907617848 855 // @Param[in]='@param[in] g_MAX11131_device.chan_id_0_1: ADC_MODE_CONTROL.CHAN_ID'
whismanoid 28:298907617848 856 // @Param[out]=''
whismanoid 28:298907617848 857 // @Post='@post NumWords = number of words to be read from the FIFO'
whismanoid 28:298907617848 858 // @Return='@return number of ScanRead() words needed to retrieve the data.'
whismanoid 28:298907617848 859 cmdLine.serial().printf("ScanUpperExternalClock");
whismanoid 28:298907617848 860 // call function ScanUpperExternalClock
whismanoid 28:298907617848 861 int result = g_MAX11131_device.ScanUpperExternalClock();
whismanoid 28:298907617848 862 cmdLine.serial().printf(" =%d\r\n", result);
whismanoid 28:298907617848 863 //
whismanoid 28:298907617848 864 // CODE GENERATOR: MAX11131 post-ScanUpperExternalClock ReadAINCode and print data
whismanoid 28:298907617848 865 // Read raw ADC codes from device into AINcode[] and RAW_misoData16[]
whismanoid 28:298907617848 866 // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords
whismanoid 28:298907617848 867 g_MAX11131_device.ReadAINcode();
whismanoid 28:298907617848 868 // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data
whismanoid 28:298907617848 869 // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs
whismanoid 28:298907617848 870 //
whismanoid 28:298907617848 871 AINcode_print_value_externalClock(cmdLine, g_MAX11131_device.NumWords);
whismanoid 28:298907617848 872 return true; // command handled by MAX11131
whismanoid 28:298907617848 873 } // end case '6'
whismanoid 11:38b95a59de02 874 break;
whismanoid 11:38b95a59de02 875 case '7':
whismanoid 11:38b95a59de02 876 {
whismanoid 28:298907617848 877 // test menu command '7' handler:
whismanoid 28:298907617848 878 // helpString='7 enableMask=? av=? pm=? swcnv=? -- ScanCustomInternalClock'
whismanoid 28:298907617848 879 // CMD_='SCAN_0111_CustomInternalClock'
whismanoid 28:298907617848 880 // CommandName='ScanCustomInternalClock'
whismanoid 28:298907617848 881 // CommandParamIn='void'
whismanoid 28:298907617848 882 // CommandReturnType='int'
whismanoid 28:298907617848 883 // @Pre=''
whismanoid 28:298907617848 884 // @Param[in]='@param[in] g_MAX11131_device.enabledChannelsMask: Bitmap of AIN Channels to scan.'
whismanoid 28:298907617848 885 // @Param[in]='@param[in] g_MAX11131_device.average_0_4_8_16_32: Number of samples averaged per ScanRead() word.'
whismanoid 28:298907617848 886 // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby'
whismanoid 28:298907617848 887 // @Param[in]='@param[in] g_MAX11131_device.swcnv_0_1: ADC_MODE_CONTROL.SWCNV'
whismanoid 28:298907617848 888 // @Param[out]=''
whismanoid 28:298907617848 889 // @Post='@post NumWords = number of words to be read from the FIFO'
whismanoid 28:298907617848 890 // @Return='@return number of ScanRead() words needed to retrieve the data.'
whismanoid 28:298907617848 891 cmdLine.serial().printf("ScanCustomInternalClock");
whismanoid 28:298907617848 892 // call function ScanCustomInternalClock
whismanoid 28:298907617848 893 int result = g_MAX11131_device.ScanCustomInternalClock();
whismanoid 28:298907617848 894 cmdLine.serial().printf(" =%d\r\n", result);
whismanoid 28:298907617848 895 //
whismanoid 28:298907617848 896 // CODE GENERATOR: MAX11131 post-ScanCustomInternalClock ReadAINCode and print data
whismanoid 28:298907617848 897 // Read raw ADC codes from device into AINcode[] and RAW_misoData16[]
whismanoid 28:298907617848 898 // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords
whismanoid 28:298907617848 899 g_MAX11131_device.ReadAINcode();
whismanoid 28:298907617848 900 // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data
whismanoid 28:298907617848 901 // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs
whismanoid 28:298907617848 902 //
whismanoid 28:298907617848 903 AINcode_print_value_chanID(cmdLine, g_MAX11131_device.NumWords);
whismanoid 28:298907617848 904 return true; // command handled by MAX11131
whismanoid 28:298907617848 905 } // end case '7'
whismanoid 11:38b95a59de02 906 break;
whismanoid 11:38b95a59de02 907 case '8':
whismanoid 11:38b95a59de02 908 {
whismanoid 28:298907617848 909 // test menu command '8' handler:
whismanoid 28:298907617848 910 // helpString='8 enableMask=? pm=? id=? -- ScanCustomExternalClock'
whismanoid 28:298907617848 911 // CMD_='SCAN_1000_CustomExternalClock'
whismanoid 28:298907617848 912 // CommandName='ScanCustomExternalClock'
whismanoid 28:298907617848 913 // CommandParamIn='void'
whismanoid 28:298907617848 914 // CommandReturnType='int'
whismanoid 28:298907617848 915 // @Pre=''
whismanoid 28:298907617848 916 // @Param[in]='@param[in] g_MAX11131_device.enabledChannelsMask: Bitmap of AIN Channels to scan.'
whismanoid 28:298907617848 917 // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby'
whismanoid 28:298907617848 918 // @Param[in]='@param[in] g_MAX11131_device.chan_id_0_1: ADC_MODE_CONTROL.CHAN_ID'
whismanoid 28:298907617848 919 // @Param[out]=''
whismanoid 28:298907617848 920 // @Post='@post NumWords = number of words to be read from the FIFO'
whismanoid 28:298907617848 921 // @Return='@return number of ScanRead() words needed to retrieve the data.'
whismanoid 28:298907617848 922 cmdLine.serial().printf("ScanCustomExternalClock");
whismanoid 28:298907617848 923 // call function ScanCustomExternalClock
whismanoid 28:298907617848 924 int result = g_MAX11131_device.ScanCustomExternalClock();
whismanoid 28:298907617848 925 cmdLine.serial().printf(" =%d\r\n", result);
whismanoid 28:298907617848 926 //
whismanoid 28:298907617848 927 // CODE GENERATOR: MAX11131 post-ScanCustomExternalClock ReadAINCode and print data
whismanoid 28:298907617848 928 // Read raw ADC codes from device into AINcode[] and RAW_misoData16[]
whismanoid 28:298907617848 929 // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords
whismanoid 28:298907617848 930 g_MAX11131_device.ReadAINcode();
whismanoid 28:298907617848 931 // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data
whismanoid 28:298907617848 932 // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs
whismanoid 28:298907617848 933 //
whismanoid 28:298907617848 934 AINcode_print_value_externalClock(cmdLine, g_MAX11131_device.NumWords);
whismanoid 28:298907617848 935 return true; // command handled by MAX11131
whismanoid 28:298907617848 936 } // end case '8'
whismanoid 11:38b95a59de02 937 break;
whismanoid 11:38b95a59de02 938 case '9':
whismanoid 11:38b95a59de02 939 {
whismanoid 28:298907617848 940 // test menu command '9' handler:
whismanoid 28:298907617848 941 // helpString='9 channelsPattern...=? pm=? id=? -- ScanSampleSetExternalClock'
whismanoid 28:298907617848 942 // CMD_='SCAN_1001_SampleSetExternalClock'
whismanoid 28:298907617848 943 // CommandName='ScanSampleSetExternalClock'
whismanoid 28:298907617848 944 // CommandParamIn='void'
whismanoid 28:298907617848 945 // CommandReturnType='int'
whismanoid 28:298907617848 946 // @Pre='@pre g_MAX11131_device.enabledChannelsPatternLength_1_256: number of channel selections'
whismanoid 28:298907617848 947 // @Pre='@pre g_MAX11131_device.enabledChannelsPattern: array containing channel selection pattern'
whismanoid 28:298907617848 948 // @Param[in]='@param[in] g_MAX11131_device.enabledChannelsPattern: array of channel select, one channel per byte'
whismanoid 28:298907617848 949 // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby'
whismanoid 28:298907617848 950 // @Param[in]='@param[in] g_MAX11131_device.chan_id_0_1: ADC_MODE_CONTROL.CHAN_ID'
whismanoid 28:298907617848 951 // @Param[out]=''
whismanoid 28:298907617848 952 // @Post='@post NumWords = number of words to be read from the FIFO'
whismanoid 28:298907617848 953 // @Return='@return number of ScanRead() words needed to retrieve the data.'
whismanoid 28:298907617848 954 // exception MAX11131 Menu item '9' ScanSampleSetExternalClock
whismanoid 28:298907617848 955 // parse channelsPattern using parse_byteCount_byteList_dec(size_t& byteCount, char *mosiDataBuf, size_t mosiDataBufSize)
whismanoid 28:298907617848 956 size_t byteCount = g_MAX11131_device.enabledChannelsPatternLength_1_256;
whismanoid 28:298907617848 957 char *mosiDataBuf = (char *)g_MAX11131_device.enabledChannelsPattern; // cast from uint8_t*
whismanoid 28:298907617848 958 size_t mosiDataBufSize = sizeof(g_MAX11131_device.enabledChannelsPattern);
whismanoid 28:298907617848 959 cmdLine.parse_byteCount_byteList_dec(byteCount, mosiDataBuf, mosiDataBufSize);
whismanoid 28:298907617848 960 g_MAX11131_device.enabledChannelsPatternLength_1_256 = byteCount;
whismanoid 28:298907617848 961 cmdLine.serial().printf("ScanSampleSetExternalClock");
whismanoid 28:298907617848 962 // call function ScanSampleSetExternalClock
whismanoid 28:298907617848 963 int result = g_MAX11131_device.ScanSampleSetExternalClock();
whismanoid 28:298907617848 964 cmdLine.serial().printf(" =%d\r\n", result);
whismanoid 28:298907617848 965 //
whismanoid 28:298907617848 966 // CODE GENERATOR: MAX11131 post-ScanSampleSetExternalClock ReadAINCode and print data
whismanoid 28:298907617848 967 // Read raw ADC codes from device into AINcode[] and RAW_misoData16[]
whismanoid 28:298907617848 968 // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords
whismanoid 28:298907617848 969 g_MAX11131_device.ReadAINcode();
whismanoid 28:298907617848 970 // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data
whismanoid 28:298907617848 971 // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs
whismanoid 28:298907617848 972 //
whismanoid 28:298907617848 973 AINcode_print_value_externalClock(cmdLine, g_MAX11131_device.NumWords);
whismanoid 28:298907617848 974 return true; // command handled by MAX11131
whismanoid 28:298907617848 975 } // end case '9'
whismanoid 11:38b95a59de02 976 break;
whismanoid 28:298907617848 977 case 'I': // (multiple characters) (testMenuFirstCharHandler="I"):
whismanoid 11:38b95a59de02 978 {
whismanoid 11:38b95a59de02 979 switch (cmdLine[1])
whismanoid 11:38b95a59de02 980 {
whismanoid 28:298907617848 981 case 'B': // (nested inside case 'I')
whismanoid 28:298907617848 982 {
whismanoid 28:298907617848 983 // test menu command 'IB' handler:
whismanoid 28:298907617848 984 // helpString='IB ch=? -- Reconfigure_DifferentialBipolarFSVref'
whismanoid 28:298907617848 985 // CMD_='None'
whismanoid 28:298907617848 986 // CommandName='Reconfigure_DifferentialBipolarFSVref'
whismanoid 28:298907617848 987 // CommandParamIn='int channel_0_15'
whismanoid 28:298907617848 988 // CommandReturnType='void'
whismanoid 28:298907617848 989 // @Pre=''
whismanoid 28:298907617848 990 // @Param[in]=''
whismanoid 28:298907617848 991 // @Param[out]=''
whismanoid 28:298907617848 992 // @Post=''
whismanoid 28:298907617848 993 // displayPost=''
whismanoid 28:298907617848 994 // @Return=''
whismanoid 28:298907617848 995 // parse argument list
whismanoid 28:298907617848 996 // parse argument int channel_0_15
whismanoid 28:298907617848 997 int channel_0_15 = 0; // --- g_MAX11131_device.__WARNING_no_match_for_argname_channel_0_15_in_MAX11131_device_t__; // default to global property value
whismanoid 28:298907617848 998 if (cmdLine.parse_int_dec("channel_0_15", channel_0_15))
whismanoid 28:298907617848 999 {
whismanoid 28:298907617848 1000 // g_MAX11131_device.__WARNING_no_match_for_argname_channel_0_15_in_MAX11131_device_t__ = channel_0_15; // update global property value
whismanoid 28:298907617848 1001 }
whismanoid 28:298907617848 1002 // "ch" is an alias for argument "channel_0_15"
whismanoid 28:298907617848 1003 if (cmdLine.parse_int_dec("ch", channel_0_15))
whismanoid 28:298907617848 1004 {
whismanoid 28:298907617848 1005 // g_MAX11131_device.__WARNING_no_match_for_argname_channel_0_15_in_MAX11131_device_t__ = channel_0_15; // update global property value
whismanoid 28:298907617848 1006 }
whismanoid 28:298907617848 1007 // print arguments
whismanoid 28:298907617848 1008 cmdLine.serial().printf("Reconfigure_DifferentialBipolarFSVref");
whismanoid 28:298907617848 1009 cmdLine.serial().printf(" channel_0_15=%d", channel_0_15);
whismanoid 28:298907617848 1010 cmdLine.serial().printf("\r\n");
whismanoid 28:298907617848 1011 // call function Reconfigure_DifferentialBipolarFSVref(channel_0_15)
whismanoid 28:298907617848 1012 g_MAX11131_device.Reconfigure_DifferentialBipolarFSVref(channel_0_15);
whismanoid 28:298907617848 1013 return true; // command handled by MAX11131
whismanoid 28:298907617848 1014 } // end nested case 'IB'
whismanoid 28:298907617848 1015 break;
whismanoid 28:298907617848 1016 case 'R': // (nested inside case 'I')
whismanoid 28:298907617848 1017 {
whismanoid 28:298907617848 1018 // test menu command 'IR' handler:
whismanoid 28:298907617848 1019 // helpString='IR ch=? -- Reconfigure_DifferentialBipolarFS2Vref'
whismanoid 28:298907617848 1020 // CMD_='None'
whismanoid 28:298907617848 1021 // CommandName='Reconfigure_DifferentialBipolarFS2Vref'
whismanoid 28:298907617848 1022 // CommandParamIn='int channel_0_15'
whismanoid 28:298907617848 1023 // CommandReturnType='void'
whismanoid 28:298907617848 1024 // @Pre=''
whismanoid 28:298907617848 1025 // @Param[in]=''
whismanoid 28:298907617848 1026 // @Param[out]=''
whismanoid 28:298907617848 1027 // @Post=''
whismanoid 28:298907617848 1028 // displayPost=''
whismanoid 28:298907617848 1029 // @Return=''
whismanoid 28:298907617848 1030 // parse argument list
whismanoid 28:298907617848 1031 // parse argument int channel_0_15
whismanoid 28:298907617848 1032 int channel_0_15 = 0; // --- g_MAX11131_device.__WARNING_no_match_for_argname_channel_0_15_in_MAX11131_device_t__; // default to global property value
whismanoid 28:298907617848 1033 if (cmdLine.parse_int_dec("channel_0_15", channel_0_15))
whismanoid 28:298907617848 1034 {
whismanoid 28:298907617848 1035 // g_MAX11131_device.__WARNING_no_match_for_argname_channel_0_15_in_MAX11131_device_t__ = channel_0_15; // update global property value
whismanoid 28:298907617848 1036 }
whismanoid 28:298907617848 1037 // "ch" is an alias for argument "channel_0_15"
whismanoid 28:298907617848 1038 if (cmdLine.parse_int_dec("ch", channel_0_15))
whismanoid 28:298907617848 1039 {
whismanoid 28:298907617848 1040 // g_MAX11131_device.__WARNING_no_match_for_argname_channel_0_15_in_MAX11131_device_t__ = channel_0_15; // update global property value
whismanoid 28:298907617848 1041 }
whismanoid 28:298907617848 1042 // print arguments
whismanoid 28:298907617848 1043 cmdLine.serial().printf("Reconfigure_DifferentialBipolarFS2Vref");
whismanoid 28:298907617848 1044 cmdLine.serial().printf(" channel_0_15=%d", channel_0_15);
whismanoid 28:298907617848 1045 cmdLine.serial().printf("\r\n");
whismanoid 28:298907617848 1046 // call function Reconfigure_DifferentialBipolarFS2Vref(channel_0_15)
whismanoid 28:298907617848 1047 g_MAX11131_device.Reconfigure_DifferentialBipolarFS2Vref(channel_0_15);
whismanoid 28:298907617848 1048 return true; // command handled by MAX11131
whismanoid 28:298907617848 1049 } // end nested case 'IR'
whismanoid 28:298907617848 1050 break;
whismanoid 28:298907617848 1051 case 'S': // (nested inside case 'I')
whismanoid 28:298907617848 1052 {
whismanoid 28:298907617848 1053 // test menu command 'IS' handler:
whismanoid 28:298907617848 1054 // helpString='IS ch=? -- Reconfigure_SingleEnded'
whismanoid 28:298907617848 1055 // CMD_='None'
whismanoid 28:298907617848 1056 // CommandName='Reconfigure_SingleEnded'
whismanoid 28:298907617848 1057 // CommandParamIn='int channel_0_15'
whismanoid 28:298907617848 1058 // CommandReturnType='void'
whismanoid 28:298907617848 1059 // @Pre=''
whismanoid 28:298907617848 1060 // @Param[in]=''
whismanoid 28:298907617848 1061 // @Param[out]=''
whismanoid 28:298907617848 1062 // @Post=''
whismanoid 28:298907617848 1063 // displayPost=''
whismanoid 28:298907617848 1064 // @Return=''
whismanoid 28:298907617848 1065 // parse argument list
whismanoid 28:298907617848 1066 // parse argument int channel_0_15
whismanoid 28:298907617848 1067 int channel_0_15 = 0; // --- g_MAX11131_device.__WARNING_no_match_for_argname_channel_0_15_in_MAX11131_device_t__; // default to global property value
whismanoid 28:298907617848 1068 if (cmdLine.parse_int_dec("channel_0_15", channel_0_15))
whismanoid 28:298907617848 1069 {
whismanoid 28:298907617848 1070 // g_MAX11131_device.__WARNING_no_match_for_argname_channel_0_15_in_MAX11131_device_t__ = channel_0_15; // update global property value
whismanoid 28:298907617848 1071 }
whismanoid 28:298907617848 1072 // "ch" is an alias for argument "channel_0_15"
whismanoid 28:298907617848 1073 if (cmdLine.parse_int_dec("ch", channel_0_15))
whismanoid 28:298907617848 1074 {
whismanoid 28:298907617848 1075 // g_MAX11131_device.__WARNING_no_match_for_argname_channel_0_15_in_MAX11131_device_t__ = channel_0_15; // update global property value
whismanoid 28:298907617848 1076 }
whismanoid 28:298907617848 1077 // print arguments
whismanoid 28:298907617848 1078 cmdLine.serial().printf("Reconfigure_SingleEnded");
whismanoid 28:298907617848 1079 cmdLine.serial().printf(" channel_0_15=%d", channel_0_15);
whismanoid 28:298907617848 1080 cmdLine.serial().printf("\r\n");
whismanoid 28:298907617848 1081 // call function Reconfigure_SingleEnded(channel_0_15)
whismanoid 28:298907617848 1082 g_MAX11131_device.Reconfigure_SingleEnded(channel_0_15);
whismanoid 28:298907617848 1083 return true; // command handled by MAX11131
whismanoid 28:298907617848 1084 } // end nested case 'IS'
whismanoid 28:298907617848 1085 break;
whismanoid 28:298907617848 1086 case 'U': // (nested inside case 'I')
whismanoid 28:298907617848 1087 {
whismanoid 28:298907617848 1088 // test menu command 'IU' handler:
whismanoid 28:298907617848 1089 // helpString='IU ch=? -- Reconfigure_DifferentialUnipolar'
whismanoid 28:298907617848 1090 // CMD_='None'
whismanoid 28:298907617848 1091 // CommandName='Reconfigure_DifferentialUnipolar'
whismanoid 28:298907617848 1092 // CommandParamIn='int channel_0_15'
whismanoid 28:298907617848 1093 // CommandReturnType='void'
whismanoid 28:298907617848 1094 // @Pre=''
whismanoid 28:298907617848 1095 // @Param[in]=''
whismanoid 28:298907617848 1096 // @Param[out]=''
whismanoid 28:298907617848 1097 // @Post=''
whismanoid 28:298907617848 1098 // displayPost=''
whismanoid 28:298907617848 1099 // @Return=''
whismanoid 28:298907617848 1100 // parse argument list
whismanoid 28:298907617848 1101 // parse argument int channel_0_15
whismanoid 28:298907617848 1102 int channel_0_15 = 0; // --- g_MAX11131_device.__WARNING_no_match_for_argname_channel_0_15_in_MAX11131_device_t__; // default to global property value
whismanoid 28:298907617848 1103 if (cmdLine.parse_int_dec("channel_0_15", channel_0_15))
whismanoid 28:298907617848 1104 {
whismanoid 28:298907617848 1105 // g_MAX11131_device.__WARNING_no_match_for_argname_channel_0_15_in_MAX11131_device_t__ = channel_0_15; // update global property value
whismanoid 28:298907617848 1106 }
whismanoid 28:298907617848 1107 // "ch" is an alias for argument "channel_0_15"
whismanoid 28:298907617848 1108 if (cmdLine.parse_int_dec("ch", channel_0_15))
whismanoid 28:298907617848 1109 {
whismanoid 28:298907617848 1110 // g_MAX11131_device.__WARNING_no_match_for_argname_channel_0_15_in_MAX11131_device_t__ = channel_0_15; // update global property value
whismanoid 28:298907617848 1111 }
whismanoid 28:298907617848 1112 // print arguments
whismanoid 28:298907617848 1113 cmdLine.serial().printf("Reconfigure_DifferentialUnipolar");
whismanoid 28:298907617848 1114 cmdLine.serial().printf(" channel_0_15=%d", channel_0_15);
whismanoid 28:298907617848 1115 cmdLine.serial().printf("\r\n");
whismanoid 28:298907617848 1116 // call function Reconfigure_DifferentialUnipolar(channel_0_15)
whismanoid 28:298907617848 1117 g_MAX11131_device.Reconfigure_DifferentialUnipolar(channel_0_15);
whismanoid 28:298907617848 1118 return true; // command handled by MAX11131
whismanoid 28:298907617848 1119 } // end nested case 'IU'
whismanoid 28:298907617848 1120 break;
whismanoid 28:298907617848 1121 } // end nested switch (cmdLine[1]) inside case 'I'
whismanoid 11:38b95a59de02 1122 break;
whismanoid 28:298907617848 1123 } // end case 'I'
whismanoid 11:38b95a59de02 1124 } // end switch (cmdLine[0])
whismanoid 28:298907617848 1125 return false; // command not handled by MAX11131
whismanoid 11:38b95a59de02 1126 } // end bool MAX11131_menu_onEOLcommandParser(CmdLine & cmdLine)
whismanoid 11:38b95a59de02 1127