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
Test_Menu_MAX11131.cpp@34:e28c083ce03d, 2021-06-06 (annotated)
- Committer:
- whismanoid
- Date:
- Sun Jun 06 03:48:05 2021 -0700
- Revision:
- 34:e28c083ce03d
- Parent:
- 33:c8457aa26ed0
selftest SPIfrequency SPIgetFrequency
Who changed what in which revision?
User | Revision | Line number | New 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 | 33:c8457aa26ed0 | 542 | // @Test='@test group SPI48_3MSps // support 3MSps parts SCLK<=48MHz /*!Arduino:(enabled by default)*/' |
whismanoid | 33:c8457aa26ed0 | 543 | // @Test='@test group SPI48_3MSps tinyTester.print("SPI 48MHz")' |
whismanoid | 34:e28c083ce03d | 544 | // @Test='@test group SPI48_3MSps SPIfrequency(48000000); // support 3MSps parts SCLK<=48MHz' |
whismanoid | 34:e28c083ce03d | 545 | // @Test='@test group SPI48_3MSps SPIgetFrequency() expect 48000000' |
whismanoid | 34:e28c083ce03d | 546 | // @Test='@test group SPI48_3MSps tinyTester.settle_time_msec = 250 // default 250' |
whismanoid | 34:e28c083ce03d | 547 | // @Test='@test group SPI48_3MSps tinyTester.Wait_Output_Settling()' |
whismanoid | 34:e28c083ce03d | 548 | // @Test='@test group SPI48_3MSps SPIoutputCS(0)' |
whismanoid | 34:e28c083ce03d | 549 | // @Test='@test group SPI48_3MSps SPIread16bits()' |
whismanoid | 34:e28c083ce03d | 550 | // @Test='@test group SPI48_3MSps SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 551 | // @Test='@test group SPI16MHz_1MSps // support 1MSps parts SCLK<=16MHz /*!Arduino:(enabled by default)*/' |
whismanoid | 33:c8457aa26ed0 | 552 | // @Test='@test group SPI16MHz_1MSps tinyTester.print("SPI 16MHz")' |
whismanoid | 34:e28c083ce03d | 553 | // @Test='@test group SPI16MHz_1MSps SPIfrequency(16000000); // support 1MSps parts SCLK<=16MHz' |
whismanoid | 34:e28c083ce03d | 554 | // @Test='@test group SPI16MHz_1MSps SPIgetFrequency() expect 16000000' |
whismanoid | 34:e28c083ce03d | 555 | // @Test='@test group SPI16MHz_1MSps tinyTester.settle_time_msec = 250 // default 250' |
whismanoid | 34:e28c083ce03d | 556 | // @Test='@test group SPI16MHz_1MSps tinyTester.Wait_Output_Settling()' |
whismanoid | 34:e28c083ce03d | 557 | // @Test='@test group SPI16MHz_1MSps SPIoutputCS(0)' |
whismanoid | 34:e28c083ce03d | 558 | // @Test='@test group SPI16MHz_1MSps SPIread16bits()' |
whismanoid | 34:e28c083ce03d | 559 | // @Test='@test group SPI16MHz_1MSps SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 560 | // @Test='@test group SPI8MHz_500kSps // support 500kSps parts SCLK<=8MHz /*!Arduino:(enabled by default)*/' |
whismanoid | 33:c8457aa26ed0 | 561 | // @Test='@test group SPI8MHz_500kSps tinyTester.print("SPI 8MHz")' |
whismanoid | 34:e28c083ce03d | 562 | // @Test='@test group SPI8MHz_500kSps SPIfrequency(8000000); // support 500kSps parts SCLK<=8MHz' |
whismanoid | 34:e28c083ce03d | 563 | // @Test='@test group SPI8MHz_500kSps SPIgetFrequency() expect 8000000' |
whismanoid | 34:e28c083ce03d | 564 | // @Test='@test group SPI8MHz_500kSps tinyTester.settle_time_msec = 250 // default 250' |
whismanoid | 34:e28c083ce03d | 565 | // @Test='@test group SPI8MHz_500kSps tinyTester.Wait_Output_Settling()' |
whismanoid | 34:e28c083ce03d | 566 | // @Test='@test group SPI8MHz_500kSps SPIoutputCS(0)' |
whismanoid | 34:e28c083ce03d | 567 | // @Test='@test group SPI8MHz_500kSps SPIread16bits()' |
whismanoid | 34:e28c083ce03d | 568 | // @Test='@test group SPI8MHz_500kSps SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 569 | // @Test='@test group SPI12MHz_1MSps // support 1MSps parts SCLK<=16MHz /*!Arduino:(enabled by default)*/' |
whismanoid | 33:c8457aa26ed0 | 570 | // @Test='@test group SPI12MHz_1MSps tinyTester.print("SPI 12MHz")' |
whismanoid | 34:e28c083ce03d | 571 | // @Test='@test group SPI12MHz_1MSps SPIfrequency(12000000); // support 1MSps parts SCLK<=16MHz' |
whismanoid | 34:e28c083ce03d | 572 | // @Test='@test group SPI12MHz_1MSps SPIgetFrequency() expect 12000000' |
whismanoid | 34:e28c083ce03d | 573 | // @Test='@test group SPI12MHz_1MSps tinyTester.settle_time_msec = 250 // default 250' |
whismanoid | 34:e28c083ce03d | 574 | // @Test='@test group SPI12MHz_1MSps tinyTester.Wait_Output_Settling()' |
whismanoid | 34:e28c083ce03d | 575 | // @Test='@test group SPI12MHz_1MSps SPIoutputCS(0)' |
whismanoid | 34:e28c083ce03d | 576 | // @Test='@test group SPI12MHz_1MSps SPIread16bits()' |
whismanoid | 34:e28c083ce03d | 577 | // @Test='@test group SPI12MHz_1MSps SPIoutputCS(1)' |
whismanoid | 28:298907617848 | 578 | // @Test='@test tinyTester.blink_time_msec = 75 // default 75 resume hardware self test' |
whismanoid | 33:c8457aa26ed0 | 579 | // @Test='@test tinyTester.print("0.0: MAX11131.Init()")' |
whismanoid | 29:c4975953cb65 | 580 | // @Test='@test Init()' |
whismanoid | 29:c4975953cb65 | 581 | // @Test='@test VRef expect 2.500 // Nominal Full-Scale Voltage Reference' |
whismanoid | 33:c8457aa26ed0 | 582 | // @Test='@test group TEST10_SCAN_0100 // Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS /*!Arduino:(enabled by default)*/' |
whismanoid | 33:c8457aa26ed0 | 583 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("1.0: Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS")' |
whismanoid | 33:c8457aa26ed0 | 584 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 585 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("0000_0000_0100_0010 ADC_MODE_CONTROL SCAN_0000")' |
whismanoid | 33:c8457aa26ed0 | 586 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print(" CHSEL=0 RESET=2 CHANID=1")' |
whismanoid | 33:c8457aa26ed0 | 587 | // @Test='@test group TEST10_SCAN_0100 SPIwrite16bits(0x0040)' |
whismanoid | 33:c8457aa26ed0 | 588 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 589 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 590 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits()' |
whismanoid | 33:c8457aa26ed0 | 591 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 592 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 593 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits()' |
whismanoid | 33:c8457aa26ed0 | 594 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 595 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 596 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits()' |
whismanoid | 33:c8457aa26ed0 | 597 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 598 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0")' |
whismanoid | 33:c8457aa26ed0 | 599 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 600 | // @Test='@test group TEST10_SCAN_0100 SPIwrite16bits(0x8000)' |
whismanoid | 33:c8457aa26ed0 | 601 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 602 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("0010_0111_1010_0100 ADC_MODE_CONTROL SCAN_0100_StandardExt")' |
whismanoid | 33:c8457aa26ed0 | 603 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print(" CHSEL=15 RESET=1 CHANID=1")' |
whismanoid | 33:c8457aa26ed0 | 604 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 605 | // @Test='@test group TEST10_SCAN_0100 SPIwrite16bits(0x27a4)' |
whismanoid | 33:c8457aa26ed0 | 606 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 607 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x0xxx (channel ID 0)")' |
whismanoid | 33:c8457aa26ed0 | 608 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 609 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0x0000 mask 0xF000 // expect 0x0xxx (channel ID 0)' |
whismanoid | 33:c8457aa26ed0 | 610 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 611 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x1xxx (channel ID 1)")' |
whismanoid | 33:c8457aa26ed0 | 612 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 613 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0x1000 mask 0xF000 // expect 0x1xxx (channel ID 1)' |
whismanoid | 33:c8457aa26ed0 | 614 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 615 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x2xxx (channel ID 2)")' |
whismanoid | 33:c8457aa26ed0 | 616 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 617 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0x2000 mask 0xF000 // expect 0x2xxx (channel ID 2)' |
whismanoid | 33:c8457aa26ed0 | 618 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 619 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x3xxx (channel ID 3)")' |
whismanoid | 33:c8457aa26ed0 | 620 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 621 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0x3000 mask 0xF000 // expect 0x3xxx (channel ID 3)' |
whismanoid | 33:c8457aa26ed0 | 622 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 623 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x4xxx (channel ID 4)")' |
whismanoid | 33:c8457aa26ed0 | 624 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 625 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0x4000 mask 0xF000 // expect 0x4xxx (channel ID 4)' |
whismanoid | 33:c8457aa26ed0 | 626 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 627 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x5xxx (channel ID 5)")' |
whismanoid | 33:c8457aa26ed0 | 628 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 629 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0x5000 mask 0xF000 // expect 0x5xxx (channel ID 5)' |
whismanoid | 33:c8457aa26ed0 | 630 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 631 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x6xxx (channel ID 6)")' |
whismanoid | 33:c8457aa26ed0 | 632 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 633 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0x6000 mask 0xF000 // expect 0x6xxx (channel ID 6)' |
whismanoid | 33:c8457aa26ed0 | 634 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 635 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x7xxx (channel ID 7)")' |
whismanoid | 33:c8457aa26ed0 | 636 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 637 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0x7000 mask 0xF000 // expect 0x7xxx (channel ID 7)' |
whismanoid | 33:c8457aa26ed0 | 638 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 639 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x8xxx (channel ID 8)")' |
whismanoid | 33:c8457aa26ed0 | 640 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 641 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0x8000 mask 0xF000 // expect 0x8xxx (channel ID 8)' |
whismanoid | 33:c8457aa26ed0 | 642 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 643 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x9xxx (channel ID 9)")' |
whismanoid | 33:c8457aa26ed0 | 644 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 645 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0x9000 mask 0xF000 // expect 0x9xxx (channel ID 9)' |
whismanoid | 33:c8457aa26ed0 | 646 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 647 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xaxxx (channel ID 10)")' |
whismanoid | 33:c8457aa26ed0 | 648 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 649 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0xA000 mask 0xF000 // expect 0xaxxx (channel ID 10)' |
whismanoid | 33:c8457aa26ed0 | 650 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 651 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xbxxx (channel ID 11)")' |
whismanoid | 33:c8457aa26ed0 | 652 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 653 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0xB000 mask 0xF000 // expect 0xbxxx (channel ID 11)' |
whismanoid | 33:c8457aa26ed0 | 654 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 655 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xcxxx (channel ID 12)")' |
whismanoid | 33:c8457aa26ed0 | 656 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 657 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0xC000 mask 0xF000 // expect 0xcxxx (channel ID 12)' |
whismanoid | 33:c8457aa26ed0 | 658 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 659 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xdxxx (channel ID 13)")' |
whismanoid | 33:c8457aa26ed0 | 660 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 661 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0xD000 mask 0xF000 // expect 0xdxxx (channel ID 13)' |
whismanoid | 33:c8457aa26ed0 | 662 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 663 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xexxx (channel ID 14)")' |
whismanoid | 33:c8457aa26ed0 | 664 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 665 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0xE000 mask 0xF000 // expect 0xexxx (channel ID 14)' |
whismanoid | 33:c8457aa26ed0 | 666 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 667 | // @Test='@test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xfxxx (channel ID 15)")' |
whismanoid | 33:c8457aa26ed0 | 668 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(0)' |
whismanoid | 33:c8457aa26ed0 | 669 | // @Test='@test group TEST10_SCAN_0100 SPIread16bits() expect 0xF000 mask 0xF000 // expect 0xfxxx (channel ID 15)' |
whismanoid | 33:c8457aa26ed0 | 670 | // @Test='@test group TEST10_SCAN_0100 SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 671 | // @Test='@test group TEST4_SCAN_0100 // 4 ch=15 pm=0 id=1 -- ScanStandardExternalCloc /*!Arduino:(enabled by default)*/' |
whismanoid | 33:c8457aa26ed0 | 672 | // @Test='@test group TEST4_SCAN_0100 tinyTester.print("4 ch=15 pm=0 id=1 -- ScanStandardExternalClock")' |
whismanoid | 33:c8457aa26ed0 | 673 | // @Test='@test group TEST4_SCAN_0100 tinyTester.print("channelNumber_0_15 = 15")' |
whismanoid | 33:c8457aa26ed0 | 674 | // @Test='@test group TEST4_SCAN_0100 channelNumber_0_15 = 15' |
whismanoid | 33:c8457aa26ed0 | 675 | // @Test='@test group TEST4_SCAN_0100 tinyTester.print("PowerManagement_0_2 = 0")' |
whismanoid | 33:c8457aa26ed0 | 676 | // @Test='@test group TEST4_SCAN_0100 PowerManagement_0_2 = 0 // 0=Normal' |
whismanoid | 33:c8457aa26ed0 | 677 | // @Test='@test group TEST4_SCAN_0100 tinyTester.print("chan_id_0_1 = 1")' |
whismanoid | 33:c8457aa26ed0 | 678 | // @Test='@test group TEST4_SCAN_0100 chan_id_0_1 = 1 // misoData16 = CH[3:0] DATA[11:0]' |
whismanoid | 33:c8457aa26ed0 | 679 | // @Test='@test group TEST4_SCAN_0100 tinyTester.print("ScanStandardExternalClock() expect 16")' |
whismanoid | 33:c8457aa26ed0 | 680 | // @Test='@test group TEST4_SCAN_0100 ScanStandardExternalClock() expect 16 // Scan_0100_StandardExt' |
whismanoid | 33:c8457aa26ed0 | 681 | // @Test='@test group TEST4_SCAN_0100 tinyTester.print("NumWords expect 16")' |
whismanoid | 33:c8457aa26ed0 | 682 | // @Test='@test group TEST4_SCAN_0100 NumWords expect 16' |
whismanoid | 33:c8457aa26ed0 | 683 | // @Test='@test group TEST4_SCAN_0100 ReadAINcode()' |
whismanoid | 33:c8457aa26ed0 | 684 | // @Test='@test group TEST4_SCAN_0100 tinyTester.print("Verify RAW_misoData16[0..15]>>12&0x000F == 0..15 channelId")' |
whismanoid | 33:c8457aa26ed0 | 685 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[0] expect 0x0000 mask 0xF000 // expect 0x0xxx (channel ID 0)' |
whismanoid | 33:c8457aa26ed0 | 686 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[1] expect 0x1000 mask 0xF000 // expect 0x1xxx (channel ID 1)' |
whismanoid | 33:c8457aa26ed0 | 687 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[2] expect 0x2000 mask 0xF000 // expect 0x2xxx (channel ID 2)' |
whismanoid | 33:c8457aa26ed0 | 688 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[3] expect 0x3000 mask 0xF000 // expect 0x3xxx (channel ID 3)' |
whismanoid | 33:c8457aa26ed0 | 689 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[4] expect 0x4000 mask 0xF000 // expect 0x4xxx (channel ID 4)' |
whismanoid | 33:c8457aa26ed0 | 690 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[5] expect 0x5000 mask 0xF000 // expect 0x5xxx (channel ID 5)' |
whismanoid | 33:c8457aa26ed0 | 691 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[6] expect 0x6000 mask 0xF000 // expect 0x6xxx (channel ID 6)' |
whismanoid | 33:c8457aa26ed0 | 692 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[7] expect 0x7000 mask 0xF000 // expect 0x7xxx (channel ID 7)' |
whismanoid | 33:c8457aa26ed0 | 693 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[8] expect 0x8000 mask 0xF000 // expect 0x8xxx (channel ID 8)' |
whismanoid | 33:c8457aa26ed0 | 694 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[9] expect 0x9000 mask 0xF000 // expect 0x9xxx (channel ID 9)' |
whismanoid | 33:c8457aa26ed0 | 695 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[10] expect 0xA000 mask 0xF000 // expect 0xaxxx (channel ID 10)' |
whismanoid | 33:c8457aa26ed0 | 696 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[11] expect 0xB000 mask 0xF000 // expect 0xbxxx (channel ID 11)' |
whismanoid | 33:c8457aa26ed0 | 697 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[12] expect 0xC000 mask 0xF000 // expect 0xcxxx (channel ID 12)' |
whismanoid | 33:c8457aa26ed0 | 698 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[13] expect 0xD000 mask 0xF000 // expect 0xdxxx (channel ID 13)' |
whismanoid | 33:c8457aa26ed0 | 699 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[14] expect 0xE000 mask 0xF000 // expect 0xexxx (channel ID 14)' |
whismanoid | 33:c8457aa26ed0 | 700 | // @Test='@test group TEST4_SCAN_0100 RAW_misoData16[15] expect 0xF000 mask 0xF000 // expect 0xfxxx (channel ID 15)' |
whismanoid | 33:c8457aa26ed0 | 701 | // @Test='@test tinyTester.print("1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0")' |
whismanoid | 28:298907617848 | 702 | // @Test='@test SPIoutputCS(0)' |
whismanoid | 28:298907617848 | 703 | // @Test='@test SPIwrite16bits(0x8000)' |
whismanoid | 28:298907617848 | 704 | // @Test='@test SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 705 | // @Test='@test tinyTester.print("0010_0111_1010_0100 ADC_MODE_CONTROL Scan_0100_StandardExt")' |
whismanoid | 33:c8457aa26ed0 | 706 | // @Test='@test tinyTester.print(" CHSEL=15 RESET=1 CHANID=1")' |
whismanoid | 30:9b4063876773 | 707 | // @Test='@test SPIoutputCS(0)' |
whismanoid | 30:9b4063876773 | 708 | // @Test='@test SPIwrite16bits(0x27a4)' |
whismanoid | 30:9b4063876773 | 709 | // @Test='@test SPIoutputCS(1)' |
whismanoid | 33:c8457aa26ed0 | 710 | // @Test='@test group TEST11_SCAN_0011 // 1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC /*!Arduino:(enabled by default)*/' |
whismanoid | 33:c8457aa26ed0 | 711 | // @Test='@test group TEST11_SCAN_0011 tinyTester.print("1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC")' |
whismanoid | 33:c8457aa26ed0 | 712 | // @Test='@test group TEST11_SCAN_0011 Init();' |
whismanoid | 33:c8457aa26ed0 | 713 | // @Test='@test group TEST11_SCAN_0011 SPIoutputCS(0); // drive CS low' |
whismanoid | 33:c8457aa26ed0 | 714 | // @Test='@test group TEST11_SCAN_0011 group TEST11_SCAN_0011 SPIoutputCS(1); // drive CS high' |
whismanoid | 33:c8457aa26ed0 | 715 | // @Test='@test group TEST11_SCAN_0011 tinyTester.print("1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0")' |
whismanoid | 33:c8457aa26ed0 | 716 | // @Test='@test group TEST11_SCAN_0011 SPIoutputCS(0); // drive CS low' |
whismanoid | 33:c8457aa26ed0 | 717 | // @Test='@test group TEST11_SCAN_0011 SPIwrite16bits(0x8000);' |
whismanoid | 33:c8457aa26ed0 | 718 | // @Test='@test group TEST11_SCAN_0011 SPIoutputCS(1); // drive CS high' |
whismanoid | 33:c8457aa26ed0 | 719 | // @Test='@test group TEST11_SCAN_0011 tinyTester.print("0001_1001_1010_0000 ADC_MODE_CONTROL Scan_0011_StandardInt")' |
whismanoid | 33:c8457aa26ed0 | 720 | // @Test='@test group TEST11_SCAN_0011 tinyTester.print(" CHSEL=3 RESET=1 SWCNV=0")' |
whismanoid | 33:c8457aa26ed0 | 721 | // @Test='@test group TEST11_SCAN_0011 SPIoutputCS(0); // drive CS low' |
whismanoid | 33:c8457aa26ed0 | 722 | // @Test='@test group TEST11_SCAN_0011 SPIwrite16bits(0x19a0);' |
whismanoid | 33:c8457aa26ed0 | 723 | // @Test='@test group TEST11_SCAN_0011 SPIoutputCS(1); // drive CS high' |
whismanoid | 28:298907617848 | 724 | cmdLine.serial().printf("Init"); |
whismanoid | 28:298907617848 | 725 | // call function Init |
whismanoid | 28:298907617848 | 726 | g_MAX11131_device.Init(); |
whismanoid | 28:298907617848 | 727 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 728 | } // end case '!' |
whismanoid | 28:298907617848 | 729 | break; |
whismanoid | 11:38b95a59de02 | 730 | case '0': |
whismanoid | 11:38b95a59de02 | 731 | { |
whismanoid | 28:298907617848 | 732 | // test menu command '0' handler: |
whismanoid | 28:298907617848 | 733 | // helpString='0 NumWords=? -- ReadAINcode' |
whismanoid | 28:298907617848 | 734 | // CMD_='SCAN_0000_NOP' |
whismanoid | 28:298907617848 | 735 | // CommandName='ReadAINcode' |
whismanoid | 28:298907617848 | 736 | // CommandParamIn='void' |
whismanoid | 28:298907617848 | 737 | // CommandReturnType='void' |
whismanoid | 28:298907617848 | 738 | // @Pre='@pre one of the Scan functions was called, setting g_MAX11131_device.NumWords' |
whismanoid | 28:298907617848 | 739 | // @Param[in]='@param[in] g_MAX11131_device.NumWords: number of words to be read from the FIFO' |
whismanoid | 28:298907617848 | 740 | // @Param[out]='' |
whismanoid | 28:298907617848 | 741 | // @Post='@post g_MAX11131_device.RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data' |
whismanoid | 28:298907617848 | 742 | // @Post='@post g_MAX11131_device.AINcode[NUM_CHANNELS] contains the latest readings in LSBs' |
whismanoid | 28:298907617848 | 743 | // @Return='' |
whismanoid | 28:298907617848 | 744 | // exception MAX11131 Menu item '0' ReadAINcode logic flow -- omit ReadAINcode call here, will be handled in postprocessing |
whismanoid | 28:298907617848 | 745 | cmdLine.serial().printf("ReadAINcode"); |
whismanoid | 28:298907617848 | 746 | // |
whismanoid | 28:298907617848 | 747 | // CODE GENERATOR: MAX11131 ReadAINCode and print data |
whismanoid | 28:298907617848 | 748 | if (g_MAX11131_device.isExternalClock) |
whismanoid | 28:298907617848 | 749 | { |
whismanoid | 28:298907617848 | 750 | cmdLine.serial().printf(" External Clock"); |
whismanoid | 28:298907617848 | 751 | // |
whismanoid | 28:298907617848 | 752 | // Read raw ADC codes from device into AINcode[] and RAW_misoData16[] |
whismanoid | 28:298907617848 | 753 | // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords |
whismanoid | 28:298907617848 | 754 | g_MAX11131_device.ReadAINcode(); |
whismanoid | 28:298907617848 | 755 | // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data |
whismanoid | 28:298907617848 | 756 | // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs |
whismanoid | 28:298907617848 | 757 | // |
whismanoid | 28:298907617848 | 758 | AINcode_print_value_externalClock(cmdLine, g_MAX11131_device.NumWords); |
whismanoid | 28:298907617848 | 759 | } |
whismanoid | 28:298907617848 | 760 | else |
whismanoid | 28:298907617848 | 761 | { |
whismanoid | 28:298907617848 | 762 | cmdLine.serial().printf(" Internal Clock"); |
whismanoid | 28:298907617848 | 763 | // |
whismanoid | 28:298907617848 | 764 | // Read raw ADC codes from device into AINcode[] and RAW_misoData16[] |
whismanoid | 28:298907617848 | 765 | // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords |
whismanoid | 28:298907617848 | 766 | g_MAX11131_device.ReadAINcode(); |
whismanoid | 28:298907617848 | 767 | // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data |
whismanoid | 28:298907617848 | 768 | // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs |
whismanoid | 28:298907617848 | 769 | // |
whismanoid | 28:298907617848 | 770 | AINcode_print_value_chanID(cmdLine, g_MAX11131_device.NumWords); |
whismanoid | 28:298907617848 | 771 | } |
whismanoid | 28:298907617848 | 772 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 773 | } // end case '0' |
whismanoid | 11:38b95a59de02 | 774 | break; |
whismanoid | 11:38b95a59de02 | 775 | case '1': |
whismanoid | 11:38b95a59de02 | 776 | { |
whismanoid | 28:298907617848 | 777 | // test menu command '1' handler: |
whismanoid | 28:298907617848 | 778 | // helpString='1 ch=? pm=? id=? -- ScanManual' |
whismanoid | 28:298907617848 | 779 | // CMD_='SCAN_0001_Manual' |
whismanoid | 28:298907617848 | 780 | // CommandName='ScanManual' |
whismanoid | 28:298907617848 | 781 | // CommandParamIn='void' |
whismanoid | 28:298907617848 | 782 | // CommandReturnType='int' |
whismanoid | 28:298907617848 | 783 | // @Pre='' |
whismanoid | 28:298907617848 | 784 | // @Param[in]='@param[in] g_MAX11131_device.channelNumber_0_15: AIN Channel Number' |
whismanoid | 28:298907617848 | 785 | // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby' |
whismanoid | 28:298907617848 | 786 | // @Param[in]='@param[in] g_MAX11131_device.chan_id_0_1: ADC_MODE_CONTROL.CHAN_ID' |
whismanoid | 28:298907617848 | 787 | // @Param[out]='' |
whismanoid | 28:298907617848 | 788 | // @Post='@post NumWords = number of words to be read from the FIFO' |
whismanoid | 28:298907617848 | 789 | // @Return='@return number of ScanRead() words needed to retrieve the data.' |
whismanoid | 28:298907617848 | 790 | cmdLine.serial().printf("ScanManual"); |
whismanoid | 28:298907617848 | 791 | // call function ScanManual |
whismanoid | 28:298907617848 | 792 | int result = g_MAX11131_device.ScanManual(); |
whismanoid | 28:298907617848 | 793 | cmdLine.serial().printf(" =%d\r\n", result); |
whismanoid | 28:298907617848 | 794 | // |
whismanoid | 28:298907617848 | 795 | // CODE GENERATOR: MAX11131 post-ScanManual ReadAINCode and print data |
whismanoid | 28:298907617848 | 796 | // Read raw ADC codes from device into AINcode[] and RAW_misoData16[] |
whismanoid | 28:298907617848 | 797 | // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords |
whismanoid | 28:298907617848 | 798 | g_MAX11131_device.ReadAINcode(); |
whismanoid | 28:298907617848 | 799 | // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data |
whismanoid | 28:298907617848 | 800 | // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs |
whismanoid | 28:298907617848 | 801 | // |
whismanoid | 28:298907617848 | 802 | AINcode_print_value_externalClock(cmdLine, g_MAX11131_device.NumWords); |
whismanoid | 28:298907617848 | 803 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 804 | } // end case '1' |
whismanoid | 11:38b95a59de02 | 805 | break; |
whismanoid | 11:38b95a59de02 | 806 | case '2': |
whismanoid | 11:38b95a59de02 | 807 | { |
whismanoid | 28:298907617848 | 808 | // test menu command '2' handler: |
whismanoid | 28:298907617848 | 809 | // helpString='2 ch=? av=? n=? swcnv=? pm=? -- ScanRepeat' |
whismanoid | 28:298907617848 | 810 | // CMD_='SCAN_0010_Repeat' |
whismanoid | 28:298907617848 | 811 | // CommandName='ScanRepeat' |
whismanoid | 28:298907617848 | 812 | // CommandParamIn='void' |
whismanoid | 28:298907617848 | 813 | // CommandReturnType='int' |
whismanoid | 28:298907617848 | 814 | // @Pre='' |
whismanoid | 28:298907617848 | 815 | // @Param[in]='@param[in] g_MAX11131_device.channelNumber_0_15: AIN Channel Number' |
whismanoid | 28:298907617848 | 816 | // @Param[in]='@param[in] g_MAX11131_device.average_0_4_8_16_32: Number of samples averaged per ScanRead() word.' |
whismanoid | 28:298907617848 | 817 | // @Param[in]='@param[in] g_MAX11131_device.nscan_4_8_12_16: Number of ScanRead() words to report.' |
whismanoid | 28:298907617848 | 818 | // @Param[in]='@param[in] g_MAX11131_device.swcnv_0_1: ADC_MODE_CONTROL.SWCNV' |
whismanoid | 28:298907617848 | 819 | // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby' |
whismanoid | 28:298907617848 | 820 | // @Param[out]='' |
whismanoid | 28:298907617848 | 821 | // @Post='@post NumWords = number of words to be read from the FIFO' |
whismanoid | 28:298907617848 | 822 | // @Return='@return number of ScanRead() words needed to retrieve the data.' |
whismanoid | 28:298907617848 | 823 | cmdLine.serial().printf("ScanRepeat"); |
whismanoid | 28:298907617848 | 824 | // call function ScanRepeat |
whismanoid | 28:298907617848 | 825 | int result = g_MAX11131_device.ScanRepeat(); |
whismanoid | 28:298907617848 | 826 | cmdLine.serial().printf(" =%d\r\n", result); |
whismanoid | 28:298907617848 | 827 | // |
whismanoid | 28:298907617848 | 828 | // CODE GENERATOR: MAX11131 post-ScanRepeat ReadAINCode and print data |
whismanoid | 28:298907617848 | 829 | // Read raw ADC codes from device into AINcode[] and RAW_misoData16[] |
whismanoid | 28:298907617848 | 830 | // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords |
whismanoid | 28:298907617848 | 831 | g_MAX11131_device.ReadAINcode(); |
whismanoid | 28:298907617848 | 832 | // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data |
whismanoid | 28:298907617848 | 833 | // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs |
whismanoid | 28:298907617848 | 834 | // |
whismanoid | 28:298907617848 | 835 | AINcode_print_value_chanID_mean(cmdLine, g_MAX11131_device.NumWords); |
whismanoid | 28:298907617848 | 836 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 837 | } // end case '2' |
whismanoid | 11:38b95a59de02 | 838 | break; |
whismanoid | 11:38b95a59de02 | 839 | case '3': |
whismanoid | 11:38b95a59de02 | 840 | { |
whismanoid | 28:298907617848 | 841 | // test menu command '3' handler: |
whismanoid | 28:298907617848 | 842 | // helpString='3 ch=? av=? pm=? swcnv=? -- ScanStandardInternalClock' |
whismanoid | 28:298907617848 | 843 | // CMD_='SCAN_0011_StandardInternalClock' |
whismanoid | 28:298907617848 | 844 | // CommandName='ScanStandardInternalClock' |
whismanoid | 28:298907617848 | 845 | // CommandParamIn='void' |
whismanoid | 28:298907617848 | 846 | // CommandReturnType='int' |
whismanoid | 28:298907617848 | 847 | // @Pre='' |
whismanoid | 28:298907617848 | 848 | // @Param[in]='@param[in] g_MAX11131_device.channelNumber_0_15: AIN Channel Number' |
whismanoid | 28:298907617848 | 849 | // @Param[in]='@param[in] g_MAX11131_device.average_0_4_8_16_32: Number of samples averaged per ScanRead() word.' |
whismanoid | 28:298907617848 | 850 | // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby' |
whismanoid | 28:298907617848 | 851 | // @Param[in]='@param[in] g_MAX11131_device.swcnv_0_1: ADC_MODE_CONTROL.SWCNV' |
whismanoid | 28:298907617848 | 852 | // @Param[out]='' |
whismanoid | 28:298907617848 | 853 | // @Post='@post NumWords = number of words to be read from the FIFO' |
whismanoid | 28:298907617848 | 854 | // @Return='@return number of ScanRead() words needed to retrieve the data.' |
whismanoid | 28:298907617848 | 855 | cmdLine.serial().printf("ScanStandardInternalClock"); |
whismanoid | 28:298907617848 | 856 | // call function ScanStandardInternalClock |
whismanoid | 28:298907617848 | 857 | int result = g_MAX11131_device.ScanStandardInternalClock(); |
whismanoid | 28:298907617848 | 858 | cmdLine.serial().printf(" =%d\r\n", result); |
whismanoid | 28:298907617848 | 859 | // |
whismanoid | 28:298907617848 | 860 | // CODE GENERATOR: MAX11131 post-ScanStandardInternalClock ReadAINCode and print data |
whismanoid | 28:298907617848 | 861 | // Read raw ADC codes from device into AINcode[] and RAW_misoData16[] |
whismanoid | 28:298907617848 | 862 | // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords |
whismanoid | 28:298907617848 | 863 | g_MAX11131_device.ReadAINcode(); |
whismanoid | 28:298907617848 | 864 | // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data |
whismanoid | 28:298907617848 | 865 | // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs |
whismanoid | 28:298907617848 | 866 | // |
whismanoid | 28:298907617848 | 867 | AINcode_print_value_chanID(cmdLine, g_MAX11131_device.NumWords); |
whismanoid | 28:298907617848 | 868 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 869 | } // end case '3' |
whismanoid | 11:38b95a59de02 | 870 | break; |
whismanoid | 11:38b95a59de02 | 871 | case '4': |
whismanoid | 11:38b95a59de02 | 872 | { |
whismanoid | 28:298907617848 | 873 | // test menu command '4' handler: |
whismanoid | 28:298907617848 | 874 | // helpString='4 ch=? pm=? id=? -- ScanStandardExternalClock' |
whismanoid | 28:298907617848 | 875 | // CMD_='SCAN_0100_StandardExternalClock' |
whismanoid | 28:298907617848 | 876 | // CommandName='ScanStandardExternalClock' |
whismanoid | 28:298907617848 | 877 | // CommandParamIn='void' |
whismanoid | 28:298907617848 | 878 | // CommandReturnType='int' |
whismanoid | 28:298907617848 | 879 | // @Pre='' |
whismanoid | 28:298907617848 | 880 | // @Param[in]='@param[in] g_MAX11131_device.channelNumber_0_15: AIN Channel Number' |
whismanoid | 28:298907617848 | 881 | // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby' |
whismanoid | 28:298907617848 | 882 | // @Param[in]='@param[in] g_MAX11131_device.chan_id_0_1: ADC_MODE_CONTROL.CHAN_ID' |
whismanoid | 28:298907617848 | 883 | // @Param[out]='' |
whismanoid | 28:298907617848 | 884 | // @Post='@post NumWords = number of words to be read from the FIFO' |
whismanoid | 28:298907617848 | 885 | // @Return='@return number of ScanRead() words needed to retrieve the data.' |
whismanoid | 28:298907617848 | 886 | cmdLine.serial().printf("ScanStandardExternalClock"); |
whismanoid | 28:298907617848 | 887 | // call function ScanStandardExternalClock |
whismanoid | 28:298907617848 | 888 | int result = g_MAX11131_device.ScanStandardExternalClock(); |
whismanoid | 28:298907617848 | 889 | cmdLine.serial().printf(" =%d\r\n", result); |
whismanoid | 28:298907617848 | 890 | // |
whismanoid | 28:298907617848 | 891 | // CODE GENERATOR: MAX11131 post-ScanStandardExternalClock ReadAINCode and print data |
whismanoid | 28:298907617848 | 892 | // Read raw ADC codes from device into AINcode[] and RAW_misoData16[] |
whismanoid | 28:298907617848 | 893 | // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords |
whismanoid | 28:298907617848 | 894 | g_MAX11131_device.ReadAINcode(); |
whismanoid | 28:298907617848 | 895 | // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data |
whismanoid | 28:298907617848 | 896 | // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs |
whismanoid | 28:298907617848 | 897 | // |
whismanoid | 28:298907617848 | 898 | AINcode_print_value_externalClock(cmdLine, g_MAX11131_device.NumWords); |
whismanoid | 28:298907617848 | 899 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 900 | } // end case '4' |
whismanoid | 11:38b95a59de02 | 901 | break; |
whismanoid | 11:38b95a59de02 | 902 | case '5': |
whismanoid | 11:38b95a59de02 | 903 | { |
whismanoid | 28:298907617848 | 904 | // test menu command '5' handler: |
whismanoid | 28:298907617848 | 905 | // helpString='5 ch=? av=? pm=? swcnv=? -- ScanUpperInternalClock' |
whismanoid | 28:298907617848 | 906 | // CMD_='SCAN_0101_UpperInternalClock' |
whismanoid | 28:298907617848 | 907 | // CommandName='ScanUpperInternalClock' |
whismanoid | 28:298907617848 | 908 | // CommandParamIn='void' |
whismanoid | 28:298907617848 | 909 | // CommandReturnType='int' |
whismanoid | 28:298907617848 | 910 | // @Pre='' |
whismanoid | 28:298907617848 | 911 | // @Param[in]='@param[in] g_MAX11131_device.channelNumber_0_15: AIN Channel Number' |
whismanoid | 28:298907617848 | 912 | // @Param[in]='@param[in] g_MAX11131_device.average_0_4_8_16_32: Number of samples averaged per ScanRead() word.' |
whismanoid | 28:298907617848 | 913 | // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby' |
whismanoid | 28:298907617848 | 914 | // @Param[in]='@param[in] g_MAX11131_device.swcnv_0_1: ADC_MODE_CONTROL.SWCNV' |
whismanoid | 28:298907617848 | 915 | // @Param[out]='' |
whismanoid | 28:298907617848 | 916 | // @Post='@post NumWords = number of words to be read from the FIFO' |
whismanoid | 28:298907617848 | 917 | // @Return='@return number of ScanRead() words needed to retrieve the data.' |
whismanoid | 28:298907617848 | 918 | cmdLine.serial().printf("ScanUpperInternalClock"); |
whismanoid | 28:298907617848 | 919 | // call function ScanUpperInternalClock |
whismanoid | 28:298907617848 | 920 | int result = g_MAX11131_device.ScanUpperInternalClock(); |
whismanoid | 28:298907617848 | 921 | cmdLine.serial().printf(" =%d\r\n", result); |
whismanoid | 28:298907617848 | 922 | // |
whismanoid | 28:298907617848 | 923 | // CODE GENERATOR: MAX11131 post-ScanUpperInternalClock ReadAINCode and print data |
whismanoid | 28:298907617848 | 924 | // Read raw ADC codes from device into AINcode[] and RAW_misoData16[] |
whismanoid | 28:298907617848 | 925 | // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords |
whismanoid | 28:298907617848 | 926 | g_MAX11131_device.ReadAINcode(); |
whismanoid | 28:298907617848 | 927 | // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data |
whismanoid | 28:298907617848 | 928 | // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs |
whismanoid | 28:298907617848 | 929 | // |
whismanoid | 28:298907617848 | 930 | AINcode_print_value_chanID(cmdLine, g_MAX11131_device.NumWords); |
whismanoid | 28:298907617848 | 931 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 932 | } // end case '5' |
whismanoid | 11:38b95a59de02 | 933 | break; |
whismanoid | 11:38b95a59de02 | 934 | case '6': |
whismanoid | 11:38b95a59de02 | 935 | { |
whismanoid | 28:298907617848 | 936 | // test menu command '6' handler: |
whismanoid | 28:298907617848 | 937 | // helpString='6 ch=? pm=? id=? -- ScanUpperExternalClock' |
whismanoid | 28:298907617848 | 938 | // CMD_='SCAN_0110_UpperExternalClock' |
whismanoid | 28:298907617848 | 939 | // CommandName='ScanUpperExternalClock' |
whismanoid | 28:298907617848 | 940 | // CommandParamIn='void' |
whismanoid | 28:298907617848 | 941 | // CommandReturnType='int' |
whismanoid | 28:298907617848 | 942 | // @Pre='' |
whismanoid | 28:298907617848 | 943 | // @Param[in]='@param[in] g_MAX11131_device.channelNumber_0_15: AIN Channel Number' |
whismanoid | 28:298907617848 | 944 | // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby' |
whismanoid | 28:298907617848 | 945 | // @Param[in]='@param[in] g_MAX11131_device.chan_id_0_1: ADC_MODE_CONTROL.CHAN_ID' |
whismanoid | 28:298907617848 | 946 | // @Param[out]='' |
whismanoid | 28:298907617848 | 947 | // @Post='@post NumWords = number of words to be read from the FIFO' |
whismanoid | 28:298907617848 | 948 | // @Return='@return number of ScanRead() words needed to retrieve the data.' |
whismanoid | 28:298907617848 | 949 | cmdLine.serial().printf("ScanUpperExternalClock"); |
whismanoid | 28:298907617848 | 950 | // call function ScanUpperExternalClock |
whismanoid | 28:298907617848 | 951 | int result = g_MAX11131_device.ScanUpperExternalClock(); |
whismanoid | 28:298907617848 | 952 | cmdLine.serial().printf(" =%d\r\n", result); |
whismanoid | 28:298907617848 | 953 | // |
whismanoid | 28:298907617848 | 954 | // CODE GENERATOR: MAX11131 post-ScanUpperExternalClock ReadAINCode and print data |
whismanoid | 28:298907617848 | 955 | // Read raw ADC codes from device into AINcode[] and RAW_misoData16[] |
whismanoid | 28:298907617848 | 956 | // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords |
whismanoid | 28:298907617848 | 957 | g_MAX11131_device.ReadAINcode(); |
whismanoid | 28:298907617848 | 958 | // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data |
whismanoid | 28:298907617848 | 959 | // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs |
whismanoid | 28:298907617848 | 960 | // |
whismanoid | 28:298907617848 | 961 | AINcode_print_value_externalClock(cmdLine, g_MAX11131_device.NumWords); |
whismanoid | 28:298907617848 | 962 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 963 | } // end case '6' |
whismanoid | 11:38b95a59de02 | 964 | break; |
whismanoid | 11:38b95a59de02 | 965 | case '7': |
whismanoid | 11:38b95a59de02 | 966 | { |
whismanoid | 28:298907617848 | 967 | // test menu command '7' handler: |
whismanoid | 28:298907617848 | 968 | // helpString='7 enableMask=? av=? pm=? swcnv=? -- ScanCustomInternalClock' |
whismanoid | 28:298907617848 | 969 | // CMD_='SCAN_0111_CustomInternalClock' |
whismanoid | 28:298907617848 | 970 | // CommandName='ScanCustomInternalClock' |
whismanoid | 28:298907617848 | 971 | // CommandParamIn='void' |
whismanoid | 28:298907617848 | 972 | // CommandReturnType='int' |
whismanoid | 28:298907617848 | 973 | // @Pre='' |
whismanoid | 28:298907617848 | 974 | // @Param[in]='@param[in] g_MAX11131_device.enabledChannelsMask: Bitmap of AIN Channels to scan.' |
whismanoid | 28:298907617848 | 975 | // @Param[in]='@param[in] g_MAX11131_device.average_0_4_8_16_32: Number of samples averaged per ScanRead() word.' |
whismanoid | 28:298907617848 | 976 | // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby' |
whismanoid | 28:298907617848 | 977 | // @Param[in]='@param[in] g_MAX11131_device.swcnv_0_1: ADC_MODE_CONTROL.SWCNV' |
whismanoid | 28:298907617848 | 978 | // @Param[out]='' |
whismanoid | 28:298907617848 | 979 | // @Post='@post NumWords = number of words to be read from the FIFO' |
whismanoid | 28:298907617848 | 980 | // @Return='@return number of ScanRead() words needed to retrieve the data.' |
whismanoid | 28:298907617848 | 981 | cmdLine.serial().printf("ScanCustomInternalClock"); |
whismanoid | 28:298907617848 | 982 | // call function ScanCustomInternalClock |
whismanoid | 28:298907617848 | 983 | int result = g_MAX11131_device.ScanCustomInternalClock(); |
whismanoid | 28:298907617848 | 984 | cmdLine.serial().printf(" =%d\r\n", result); |
whismanoid | 28:298907617848 | 985 | // |
whismanoid | 28:298907617848 | 986 | // CODE GENERATOR: MAX11131 post-ScanCustomInternalClock ReadAINCode and print data |
whismanoid | 28:298907617848 | 987 | // Read raw ADC codes from device into AINcode[] and RAW_misoData16[] |
whismanoid | 28:298907617848 | 988 | // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords |
whismanoid | 28:298907617848 | 989 | g_MAX11131_device.ReadAINcode(); |
whismanoid | 28:298907617848 | 990 | // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data |
whismanoid | 28:298907617848 | 991 | // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs |
whismanoid | 28:298907617848 | 992 | // |
whismanoid | 28:298907617848 | 993 | AINcode_print_value_chanID(cmdLine, g_MAX11131_device.NumWords); |
whismanoid | 28:298907617848 | 994 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 995 | } // end case '7' |
whismanoid | 11:38b95a59de02 | 996 | break; |
whismanoid | 11:38b95a59de02 | 997 | case '8': |
whismanoid | 11:38b95a59de02 | 998 | { |
whismanoid | 28:298907617848 | 999 | // test menu command '8' handler: |
whismanoid | 28:298907617848 | 1000 | // helpString='8 enableMask=? pm=? id=? -- ScanCustomExternalClock' |
whismanoid | 28:298907617848 | 1001 | // CMD_='SCAN_1000_CustomExternalClock' |
whismanoid | 28:298907617848 | 1002 | // CommandName='ScanCustomExternalClock' |
whismanoid | 28:298907617848 | 1003 | // CommandParamIn='void' |
whismanoid | 28:298907617848 | 1004 | // CommandReturnType='int' |
whismanoid | 28:298907617848 | 1005 | // @Pre='' |
whismanoid | 28:298907617848 | 1006 | // @Param[in]='@param[in] g_MAX11131_device.enabledChannelsMask: Bitmap of AIN Channels to scan.' |
whismanoid | 28:298907617848 | 1007 | // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby' |
whismanoid | 28:298907617848 | 1008 | // @Param[in]='@param[in] g_MAX11131_device.chan_id_0_1: ADC_MODE_CONTROL.CHAN_ID' |
whismanoid | 28:298907617848 | 1009 | // @Param[out]='' |
whismanoid | 28:298907617848 | 1010 | // @Post='@post NumWords = number of words to be read from the FIFO' |
whismanoid | 28:298907617848 | 1011 | // @Return='@return number of ScanRead() words needed to retrieve the data.' |
whismanoid | 28:298907617848 | 1012 | cmdLine.serial().printf("ScanCustomExternalClock"); |
whismanoid | 28:298907617848 | 1013 | // call function ScanCustomExternalClock |
whismanoid | 28:298907617848 | 1014 | int result = g_MAX11131_device.ScanCustomExternalClock(); |
whismanoid | 28:298907617848 | 1015 | cmdLine.serial().printf(" =%d\r\n", result); |
whismanoid | 28:298907617848 | 1016 | // |
whismanoid | 28:298907617848 | 1017 | // CODE GENERATOR: MAX11131 post-ScanCustomExternalClock ReadAINCode and print data |
whismanoid | 28:298907617848 | 1018 | // Read raw ADC codes from device into AINcode[] and RAW_misoData16[] |
whismanoid | 28:298907617848 | 1019 | // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords |
whismanoid | 28:298907617848 | 1020 | g_MAX11131_device.ReadAINcode(); |
whismanoid | 28:298907617848 | 1021 | // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data |
whismanoid | 28:298907617848 | 1022 | // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs |
whismanoid | 28:298907617848 | 1023 | // |
whismanoid | 28:298907617848 | 1024 | AINcode_print_value_externalClock(cmdLine, g_MAX11131_device.NumWords); |
whismanoid | 28:298907617848 | 1025 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 1026 | } // end case '8' |
whismanoid | 11:38b95a59de02 | 1027 | break; |
whismanoid | 11:38b95a59de02 | 1028 | case '9': |
whismanoid | 11:38b95a59de02 | 1029 | { |
whismanoid | 28:298907617848 | 1030 | // test menu command '9' handler: |
whismanoid | 28:298907617848 | 1031 | // helpString='9 channelsPattern...=? pm=? id=? -- ScanSampleSetExternalClock' |
whismanoid | 28:298907617848 | 1032 | // CMD_='SCAN_1001_SampleSetExternalClock' |
whismanoid | 28:298907617848 | 1033 | // CommandName='ScanSampleSetExternalClock' |
whismanoid | 28:298907617848 | 1034 | // CommandParamIn='void' |
whismanoid | 28:298907617848 | 1035 | // CommandReturnType='int' |
whismanoid | 28:298907617848 | 1036 | // @Pre='@pre g_MAX11131_device.enabledChannelsPatternLength_1_256: number of channel selections' |
whismanoid | 28:298907617848 | 1037 | // @Pre='@pre g_MAX11131_device.enabledChannelsPattern: array containing channel selection pattern' |
whismanoid | 28:298907617848 | 1038 | // @Param[in]='@param[in] g_MAX11131_device.enabledChannelsPattern: array of channel select, one channel per byte' |
whismanoid | 28:298907617848 | 1039 | // @Param[in]='@param[in] g_MAX11131_device.PowerManagement_0_2: 0=Normal, 1=AutoShutdown, 2=AutoStandby' |
whismanoid | 28:298907617848 | 1040 | // @Param[in]='@param[in] g_MAX11131_device.chan_id_0_1: ADC_MODE_CONTROL.CHAN_ID' |
whismanoid | 28:298907617848 | 1041 | // @Param[out]='' |
whismanoid | 28:298907617848 | 1042 | // @Post='@post NumWords = number of words to be read from the FIFO' |
whismanoid | 28:298907617848 | 1043 | // @Return='@return number of ScanRead() words needed to retrieve the data.' |
whismanoid | 28:298907617848 | 1044 | // exception MAX11131 Menu item '9' ScanSampleSetExternalClock |
whismanoid | 28:298907617848 | 1045 | // parse channelsPattern using parse_byteCount_byteList_dec(size_t& byteCount, char *mosiDataBuf, size_t mosiDataBufSize) |
whismanoid | 28:298907617848 | 1046 | size_t byteCount = g_MAX11131_device.enabledChannelsPatternLength_1_256; |
whismanoid | 28:298907617848 | 1047 | char *mosiDataBuf = (char *)g_MAX11131_device.enabledChannelsPattern; // cast from uint8_t* |
whismanoid | 28:298907617848 | 1048 | size_t mosiDataBufSize = sizeof(g_MAX11131_device.enabledChannelsPattern); |
whismanoid | 28:298907617848 | 1049 | cmdLine.parse_byteCount_byteList_dec(byteCount, mosiDataBuf, mosiDataBufSize); |
whismanoid | 28:298907617848 | 1050 | g_MAX11131_device.enabledChannelsPatternLength_1_256 = byteCount; |
whismanoid | 28:298907617848 | 1051 | cmdLine.serial().printf("ScanSampleSetExternalClock"); |
whismanoid | 28:298907617848 | 1052 | // call function ScanSampleSetExternalClock |
whismanoid | 28:298907617848 | 1053 | int result = g_MAX11131_device.ScanSampleSetExternalClock(); |
whismanoid | 28:298907617848 | 1054 | cmdLine.serial().printf(" =%d\r\n", result); |
whismanoid | 28:298907617848 | 1055 | // |
whismanoid | 28:298907617848 | 1056 | // CODE GENERATOR: MAX11131 post-ScanSampleSetExternalClock ReadAINCode and print data |
whismanoid | 28:298907617848 | 1057 | // Read raw ADC codes from device into AINcode[] and RAW_misoData16[] |
whismanoid | 28:298907617848 | 1058 | // @pre one of the MAX11311_Scan functions was called, setting g_MAX11131_device.NumWords |
whismanoid | 28:298907617848 | 1059 | g_MAX11131_device.ReadAINcode(); |
whismanoid | 28:298907617848 | 1060 | // @post RAW_misoData16[index] contains the raw SPI Master-In,Slave-Out data |
whismanoid | 28:298907617848 | 1061 | // @post AINcode[NUM_CHANNELS] contains the latest readings in LSBs |
whismanoid | 28:298907617848 | 1062 | // |
whismanoid | 28:298907617848 | 1063 | AINcode_print_value_externalClock(cmdLine, g_MAX11131_device.NumWords); |
whismanoid | 28:298907617848 | 1064 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 1065 | } // end case '9' |
whismanoid | 11:38b95a59de02 | 1066 | break; |
whismanoid | 28:298907617848 | 1067 | case 'I': // (multiple characters) (testMenuFirstCharHandler="I"): |
whismanoid | 11:38b95a59de02 | 1068 | { |
whismanoid | 11:38b95a59de02 | 1069 | switch (cmdLine[1]) |
whismanoid | 11:38b95a59de02 | 1070 | { |
whismanoid | 28:298907617848 | 1071 | case 'B': // (nested inside case 'I') |
whismanoid | 28:298907617848 | 1072 | { |
whismanoid | 28:298907617848 | 1073 | // test menu command 'IB' handler: |
whismanoid | 28:298907617848 | 1074 | // helpString='IB ch=? -- Reconfigure_DifferentialBipolarFSVref' |
whismanoid | 28:298907617848 | 1075 | // CMD_='None' |
whismanoid | 28:298907617848 | 1076 | // CommandName='Reconfigure_DifferentialBipolarFSVref' |
whismanoid | 28:298907617848 | 1077 | // CommandParamIn='int channel_0_15' |
whismanoid | 28:298907617848 | 1078 | // CommandReturnType='void' |
whismanoid | 28:298907617848 | 1079 | // @Pre='' |
whismanoid | 28:298907617848 | 1080 | // @Param[in]='' |
whismanoid | 28:298907617848 | 1081 | // @Param[out]='' |
whismanoid | 28:298907617848 | 1082 | // @Post='' |
whismanoid | 28:298907617848 | 1083 | // displayPost='' |
whismanoid | 28:298907617848 | 1084 | // @Return='' |
whismanoid | 28:298907617848 | 1085 | // parse argument list |
whismanoid | 28:298907617848 | 1086 | // parse argument int channel_0_15 |
whismanoid | 28:298907617848 | 1087 | 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 | 1088 | if (cmdLine.parse_int_dec("channel_0_15", channel_0_15)) |
whismanoid | 28:298907617848 | 1089 | { |
whismanoid | 28:298907617848 | 1090 | // 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 | 1091 | } |
whismanoid | 28:298907617848 | 1092 | // "ch" is an alias for argument "channel_0_15" |
whismanoid | 28:298907617848 | 1093 | if (cmdLine.parse_int_dec("ch", channel_0_15)) |
whismanoid | 28:298907617848 | 1094 | { |
whismanoid | 28:298907617848 | 1095 | // 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 | 1096 | } |
whismanoid | 28:298907617848 | 1097 | // print arguments |
whismanoid | 28:298907617848 | 1098 | cmdLine.serial().printf("Reconfigure_DifferentialBipolarFSVref"); |
whismanoid | 28:298907617848 | 1099 | cmdLine.serial().printf(" channel_0_15=%d", channel_0_15); |
whismanoid | 28:298907617848 | 1100 | cmdLine.serial().printf("\r\n"); |
whismanoid | 28:298907617848 | 1101 | // call function Reconfigure_DifferentialBipolarFSVref(channel_0_15) |
whismanoid | 28:298907617848 | 1102 | g_MAX11131_device.Reconfigure_DifferentialBipolarFSVref(channel_0_15); |
whismanoid | 28:298907617848 | 1103 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 1104 | } // end nested case 'IB' |
whismanoid | 28:298907617848 | 1105 | break; |
whismanoid | 28:298907617848 | 1106 | case 'R': // (nested inside case 'I') |
whismanoid | 28:298907617848 | 1107 | { |
whismanoid | 28:298907617848 | 1108 | // test menu command 'IR' handler: |
whismanoid | 28:298907617848 | 1109 | // helpString='IR ch=? -- Reconfigure_DifferentialBipolarFS2Vref' |
whismanoid | 28:298907617848 | 1110 | // CMD_='None' |
whismanoid | 28:298907617848 | 1111 | // CommandName='Reconfigure_DifferentialBipolarFS2Vref' |
whismanoid | 28:298907617848 | 1112 | // CommandParamIn='int channel_0_15' |
whismanoid | 28:298907617848 | 1113 | // CommandReturnType='void' |
whismanoid | 28:298907617848 | 1114 | // @Pre='' |
whismanoid | 28:298907617848 | 1115 | // @Param[in]='' |
whismanoid | 28:298907617848 | 1116 | // @Param[out]='' |
whismanoid | 28:298907617848 | 1117 | // @Post='' |
whismanoid | 28:298907617848 | 1118 | // displayPost='' |
whismanoid | 28:298907617848 | 1119 | // @Return='' |
whismanoid | 28:298907617848 | 1120 | // parse argument list |
whismanoid | 28:298907617848 | 1121 | // parse argument int channel_0_15 |
whismanoid | 28:298907617848 | 1122 | 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 | 1123 | if (cmdLine.parse_int_dec("channel_0_15", channel_0_15)) |
whismanoid | 28:298907617848 | 1124 | { |
whismanoid | 28:298907617848 | 1125 | // 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 | 1126 | } |
whismanoid | 28:298907617848 | 1127 | // "ch" is an alias for argument "channel_0_15" |
whismanoid | 28:298907617848 | 1128 | if (cmdLine.parse_int_dec("ch", channel_0_15)) |
whismanoid | 28:298907617848 | 1129 | { |
whismanoid | 28:298907617848 | 1130 | // 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 | 1131 | } |
whismanoid | 28:298907617848 | 1132 | // print arguments |
whismanoid | 28:298907617848 | 1133 | cmdLine.serial().printf("Reconfigure_DifferentialBipolarFS2Vref"); |
whismanoid | 28:298907617848 | 1134 | cmdLine.serial().printf(" channel_0_15=%d", channel_0_15); |
whismanoid | 28:298907617848 | 1135 | cmdLine.serial().printf("\r\n"); |
whismanoid | 28:298907617848 | 1136 | // call function Reconfigure_DifferentialBipolarFS2Vref(channel_0_15) |
whismanoid | 28:298907617848 | 1137 | g_MAX11131_device.Reconfigure_DifferentialBipolarFS2Vref(channel_0_15); |
whismanoid | 28:298907617848 | 1138 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 1139 | } // end nested case 'IR' |
whismanoid | 28:298907617848 | 1140 | break; |
whismanoid | 28:298907617848 | 1141 | case 'S': // (nested inside case 'I') |
whismanoid | 28:298907617848 | 1142 | { |
whismanoid | 28:298907617848 | 1143 | // test menu command 'IS' handler: |
whismanoid | 28:298907617848 | 1144 | // helpString='IS ch=? -- Reconfigure_SingleEnded' |
whismanoid | 28:298907617848 | 1145 | // CMD_='None' |
whismanoid | 28:298907617848 | 1146 | // CommandName='Reconfigure_SingleEnded' |
whismanoid | 28:298907617848 | 1147 | // CommandParamIn='int channel_0_15' |
whismanoid | 28:298907617848 | 1148 | // CommandReturnType='void' |
whismanoid | 28:298907617848 | 1149 | // @Pre='' |
whismanoid | 28:298907617848 | 1150 | // @Param[in]='' |
whismanoid | 28:298907617848 | 1151 | // @Param[out]='' |
whismanoid | 28:298907617848 | 1152 | // @Post='' |
whismanoid | 28:298907617848 | 1153 | // displayPost='' |
whismanoid | 28:298907617848 | 1154 | // @Return='' |
whismanoid | 28:298907617848 | 1155 | // parse argument list |
whismanoid | 28:298907617848 | 1156 | // parse argument int channel_0_15 |
whismanoid | 28:298907617848 | 1157 | 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 | 1158 | if (cmdLine.parse_int_dec("channel_0_15", channel_0_15)) |
whismanoid | 28:298907617848 | 1159 | { |
whismanoid | 28:298907617848 | 1160 | // 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 | 1161 | } |
whismanoid | 28:298907617848 | 1162 | // "ch" is an alias for argument "channel_0_15" |
whismanoid | 28:298907617848 | 1163 | if (cmdLine.parse_int_dec("ch", channel_0_15)) |
whismanoid | 28:298907617848 | 1164 | { |
whismanoid | 28:298907617848 | 1165 | // 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 | 1166 | } |
whismanoid | 28:298907617848 | 1167 | // print arguments |
whismanoid | 28:298907617848 | 1168 | cmdLine.serial().printf("Reconfigure_SingleEnded"); |
whismanoid | 28:298907617848 | 1169 | cmdLine.serial().printf(" channel_0_15=%d", channel_0_15); |
whismanoid | 28:298907617848 | 1170 | cmdLine.serial().printf("\r\n"); |
whismanoid | 28:298907617848 | 1171 | // call function Reconfigure_SingleEnded(channel_0_15) |
whismanoid | 28:298907617848 | 1172 | g_MAX11131_device.Reconfigure_SingleEnded(channel_0_15); |
whismanoid | 28:298907617848 | 1173 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 1174 | } // end nested case 'IS' |
whismanoid | 28:298907617848 | 1175 | break; |
whismanoid | 28:298907617848 | 1176 | case 'U': // (nested inside case 'I') |
whismanoid | 28:298907617848 | 1177 | { |
whismanoid | 28:298907617848 | 1178 | // test menu command 'IU' handler: |
whismanoid | 28:298907617848 | 1179 | // helpString='IU ch=? -- Reconfigure_DifferentialUnipolar' |
whismanoid | 28:298907617848 | 1180 | // CMD_='None' |
whismanoid | 28:298907617848 | 1181 | // CommandName='Reconfigure_DifferentialUnipolar' |
whismanoid | 28:298907617848 | 1182 | // CommandParamIn='int channel_0_15' |
whismanoid | 28:298907617848 | 1183 | // CommandReturnType='void' |
whismanoid | 28:298907617848 | 1184 | // @Pre='' |
whismanoid | 28:298907617848 | 1185 | // @Param[in]='' |
whismanoid | 28:298907617848 | 1186 | // @Param[out]='' |
whismanoid | 28:298907617848 | 1187 | // @Post='' |
whismanoid | 28:298907617848 | 1188 | // displayPost='' |
whismanoid | 28:298907617848 | 1189 | // @Return='' |
whismanoid | 28:298907617848 | 1190 | // parse argument list |
whismanoid | 28:298907617848 | 1191 | // parse argument int channel_0_15 |
whismanoid | 28:298907617848 | 1192 | 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 | 1193 | if (cmdLine.parse_int_dec("channel_0_15", channel_0_15)) |
whismanoid | 28:298907617848 | 1194 | { |
whismanoid | 28:298907617848 | 1195 | // 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 | 1196 | } |
whismanoid | 28:298907617848 | 1197 | // "ch" is an alias for argument "channel_0_15" |
whismanoid | 28:298907617848 | 1198 | if (cmdLine.parse_int_dec("ch", channel_0_15)) |
whismanoid | 28:298907617848 | 1199 | { |
whismanoid | 28:298907617848 | 1200 | // 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 | 1201 | } |
whismanoid | 28:298907617848 | 1202 | // print arguments |
whismanoid | 28:298907617848 | 1203 | cmdLine.serial().printf("Reconfigure_DifferentialUnipolar"); |
whismanoid | 28:298907617848 | 1204 | cmdLine.serial().printf(" channel_0_15=%d", channel_0_15); |
whismanoid | 28:298907617848 | 1205 | cmdLine.serial().printf("\r\n"); |
whismanoid | 28:298907617848 | 1206 | // call function Reconfigure_DifferentialUnipolar(channel_0_15) |
whismanoid | 28:298907617848 | 1207 | g_MAX11131_device.Reconfigure_DifferentialUnipolar(channel_0_15); |
whismanoid | 28:298907617848 | 1208 | return true; // command handled by MAX11131 |
whismanoid | 28:298907617848 | 1209 | } // end nested case 'IU' |
whismanoid | 28:298907617848 | 1210 | break; |
whismanoid | 28:298907617848 | 1211 | } // end nested switch (cmdLine[1]) inside case 'I' |
whismanoid | 11:38b95a59de02 | 1212 | break; |
whismanoid | 28:298907617848 | 1213 | } // end case 'I' |
whismanoid | 11:38b95a59de02 | 1214 | } // end switch (cmdLine[0]) |
whismanoid | 28:298907617848 | 1215 | return false; // command not handled by MAX11131 |
whismanoid | 11:38b95a59de02 | 1216 | } // end bool MAX11131_menu_onEOLcommandParser(CmdLine & cmdLine) |
whismanoid | 11:38b95a59de02 | 1217 |