Test program running on MAX32625MBED. Control through USB Serial commands using a terminal emulator such as teraterm or putty.
Dependencies: MaximTinyTester MAX11410 CmdLine USBDevice
Test_Main_MAX11410.cpp@53:bf2793cd194b, 2020-02-18 (annotated)
- Committer:
- whismanoid
- Date:
- Tue Feb 18 09:37:17 2020 +0000
- Revision:
- 53:bf2793cd194b
- Parent:
- 52:d3fb6f1722bf
- Child:
- 54:ba810c1d6264
platform limit 24MHz SPI SCLK
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
whismanoid | 52:d3fb6f1722bf | 1 | // /******************************************************************************* |
whismanoid | 52:d3fb6f1722bf | 2 | // * Copyright (C) 2020 Maxim Integrated Products, Inc., All Rights Reserved. |
whismanoid | 52:d3fb6f1722bf | 3 | // * |
whismanoid | 52:d3fb6f1722bf | 4 | // * Permission is hereby granted, free of charge, to any person obtaining a |
whismanoid | 52:d3fb6f1722bf | 5 | // * copy of this software and associated documentation files (the "Software"), |
whismanoid | 52:d3fb6f1722bf | 6 | // * to deal in the Software without restriction, including without limitation |
whismanoid | 52:d3fb6f1722bf | 7 | // * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
whismanoid | 52:d3fb6f1722bf | 8 | // * and/or sell copies of the Software, and to permit persons to whom the |
whismanoid | 52:d3fb6f1722bf | 9 | // * Software is furnished to do so, subject to the following conditions: |
whismanoid | 52:d3fb6f1722bf | 10 | // * |
whismanoid | 52:d3fb6f1722bf | 11 | // * The above copyright notice and this permission notice shall be included |
whismanoid | 52:d3fb6f1722bf | 12 | // * in all copies or substantial portions of the Software. |
whismanoid | 52:d3fb6f1722bf | 13 | // * |
whismanoid | 52:d3fb6f1722bf | 14 | // * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
whismanoid | 52:d3fb6f1722bf | 15 | // * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
whismanoid | 52:d3fb6f1722bf | 16 | // * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
whismanoid | 52:d3fb6f1722bf | 17 | // * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES |
whismanoid | 52:d3fb6f1722bf | 18 | // * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, |
whismanoid | 52:d3fb6f1722bf | 19 | // * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
whismanoid | 52:d3fb6f1722bf | 20 | // * OTHER DEALINGS IN THE SOFTWARE. |
whismanoid | 52:d3fb6f1722bf | 21 | // * |
whismanoid | 52:d3fb6f1722bf | 22 | // * Except as contained in this notice, the name of Maxim Integrated |
whismanoid | 52:d3fb6f1722bf | 23 | // * Products, Inc. shall not be used except as stated in the Maxim Integrated |
whismanoid | 52:d3fb6f1722bf | 24 | // * Products, Inc. Branding Policy. |
whismanoid | 52:d3fb6f1722bf | 25 | // * |
whismanoid | 52:d3fb6f1722bf | 26 | // * The mere transfer of this software does not imply any licenses |
whismanoid | 52:d3fb6f1722bf | 27 | // * of trade secrets, proprietary technology, copyrights, patents, |
whismanoid | 52:d3fb6f1722bf | 28 | // * trademarks, maskwork rights, or any other form of intellectual |
whismanoid | 52:d3fb6f1722bf | 29 | // * property whatsoever. Maxim Integrated Products, Inc. retains all |
whismanoid | 52:d3fb6f1722bf | 30 | // * ownership rights. |
whismanoid | 52:d3fb6f1722bf | 31 | // ******************************************************************************* |
whismanoid | 52:d3fb6f1722bf | 32 | // */ |
whismanoid | 52:d3fb6f1722bf | 33 | //---------- CODE GENERATOR: testMainCppCodeList |
whismanoid | 52:d3fb6f1722bf | 34 | // CODE GENERATOR: example code includes |
whismanoid | 52:d3fb6f1722bf | 35 | |
whismanoid | 52:d3fb6f1722bf | 36 | // example code includes |
whismanoid | 52:d3fb6f1722bf | 37 | // standard include for target platform -- Platform_Include_Boilerplate |
whismanoid | 52:d3fb6f1722bf | 38 | #include "mbed.h" |
whismanoid | 52:d3fb6f1722bf | 39 | // Platforms: |
whismanoid | 52:d3fb6f1722bf | 40 | // - MAX32625MBED |
whismanoid | 52:d3fb6f1722bf | 41 | // - supports mbed-os-5.11, requires USBDevice library |
whismanoid | 52:d3fb6f1722bf | 42 | // - add https://developer.mbed.org/teams/MaximIntegrated/code/USBDevice/ |
whismanoid | 52:d3fb6f1722bf | 43 | // - remove max32630fthr library (if present) |
whismanoid | 52:d3fb6f1722bf | 44 | // - remove MAX32620FTHR library (if present) |
whismanoid | 52:d3fb6f1722bf | 45 | // - MAX32600MBED |
whismanoid | 52:d3fb6f1722bf | 46 | // - remove max32630fthr library (if present) |
whismanoid | 52:d3fb6f1722bf | 47 | // - remove MAX32620FTHR library (if present) |
whismanoid | 52:d3fb6f1722bf | 48 | // - Windows 10 note: Don't connect HDK until you are ready to load new firmware into the board. |
whismanoid | 52:d3fb6f1722bf | 49 | // - NUCLEO_F446RE |
whismanoid | 52:d3fb6f1722bf | 50 | // - remove USBDevice library |
whismanoid | 52:d3fb6f1722bf | 51 | // - remove max32630fthr library (if present) |
whismanoid | 52:d3fb6f1722bf | 52 | // - remove MAX32620FTHR library (if present) |
whismanoid | 52:d3fb6f1722bf | 53 | // - NUCLEO_F401RE |
whismanoid | 52:d3fb6f1722bf | 54 | // - remove USBDevice library |
whismanoid | 52:d3fb6f1722bf | 55 | // - remove max32630fthr library (if present) |
whismanoid | 52:d3fb6f1722bf | 56 | // - remove MAX32620FTHR library (if present) |
whismanoid | 52:d3fb6f1722bf | 57 | // - MAX32630FTHR |
whismanoid | 52:d3fb6f1722bf | 58 | // - #include "max32630fthr.h" |
whismanoid | 52:d3fb6f1722bf | 59 | // - add http://os.mbed.org/teams/MaximIntegrated/code/max32630fthr/ |
whismanoid | 52:d3fb6f1722bf | 60 | // - remove MAX32620FTHR library (if present) |
whismanoid | 52:d3fb6f1722bf | 61 | // - MAX32620FTHR |
whismanoid | 52:d3fb6f1722bf | 62 | // - #include "MAX32620FTHR.h" |
whismanoid | 52:d3fb6f1722bf | 63 | // - remove max32630fthr library (if present) |
whismanoid | 52:d3fb6f1722bf | 64 | // - add https://os.mbed.com/teams/MaximIntegrated/code/MAX32620FTHR/ |
whismanoid | 52:d3fb6f1722bf | 65 | // - not tested yet |
whismanoid | 52:d3fb6f1722bf | 66 | // - MAX32625PICO |
whismanoid | 52:d3fb6f1722bf | 67 | // - remove max32630fthr library (if present) |
whismanoid | 52:d3fb6f1722bf | 68 | // - remove MAX32620FTHR library (if present) |
whismanoid | 52:d3fb6f1722bf | 69 | // - not tested yet |
whismanoid | 52:d3fb6f1722bf | 70 | // |
whismanoid | 52:d3fb6f1722bf | 71 | // end Platform_Include_Boilerplate |
whismanoid | 52:d3fb6f1722bf | 72 | #include "MAX11410.h" |
whismanoid | 52:d3fb6f1722bf | 73 | #include "CmdLine.h" |
whismanoid | 52:d3fb6f1722bf | 74 | #include "MaximTinyTester.h" |
whismanoid | 52:d3fb6f1722bf | 75 | |
whismanoid | 52:d3fb6f1722bf | 76 | // optional: serial port |
whismanoid | 52:d3fb6f1722bf | 77 | // note: some platforms such as Nucleo-F446RE do not support the USBSerial library. |
whismanoid | 52:d3fb6f1722bf | 78 | // In those cases, remove the USBDevice lib from the project and rebuild. |
whismanoid | 52:d3fb6f1722bf | 79 | #if defined(TARGET_MAX32625MBED) |
whismanoid | 52:d3fb6f1722bf | 80 | #include "USBSerial.h" |
whismanoid | 52:d3fb6f1722bf | 81 | USBSerial serial; // virtual serial port over USB (DEV connector) |
whismanoid | 52:d3fb6f1722bf | 82 | #elif defined(TARGET_MAX32630MBED) |
whismanoid | 52:d3fb6f1722bf | 83 | #include "USBSerial.h" |
whismanoid | 52:d3fb6f1722bf | 84 | USBSerial serial; // virtual serial port over USB (DEV connector) |
whismanoid | 52:d3fb6f1722bf | 85 | #else |
whismanoid | 52:d3fb6f1722bf | 86 | //#include "USBSerial.h" |
whismanoid | 52:d3fb6f1722bf | 87 | Serial serial(USBTX, USBRX); // tx, rx |
whismanoid | 52:d3fb6f1722bf | 88 | #endif |
whismanoid | 52:d3fb6f1722bf | 89 | |
whismanoid | 52:d3fb6f1722bf | 90 | void on_immediate_0x21(); // Unicode (U+0021) ! EXCLAMATION MARK |
whismanoid | 52:d3fb6f1722bf | 91 | void on_immediate_0x7b(); // Unicode (U+007B) { LEFT CURLY BRACKET |
whismanoid | 52:d3fb6f1722bf | 92 | void on_immediate_0x7d(); // Unicode (U+007D) } RIGHT CURLY BRACKET |
whismanoid | 52:d3fb6f1722bf | 93 | |
whismanoid | 52:d3fb6f1722bf | 94 | #include "CmdLine.h" |
whismanoid | 52:d3fb6f1722bf | 95 | |
whismanoid | 52:d3fb6f1722bf | 96 | # if HAS_DAPLINK_SERIAL |
whismanoid | 52:d3fb6f1722bf | 97 | CmdLine cmdLine_DAPLINKserial(DAPLINKserial, "DAPLINK"); |
whismanoid | 52:d3fb6f1722bf | 98 | # endif // HAS_DAPLINK_SERIAL |
whismanoid | 52:d3fb6f1722bf | 99 | CmdLine cmdLine_serial(serial, "serial"); |
whismanoid | 52:d3fb6f1722bf | 100 | |
whismanoid | 52:d3fb6f1722bf | 101 | |
whismanoid | 52:d3fb6f1722bf | 102 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 103 | |
whismanoid | 52:d3fb6f1722bf | 104 | |
whismanoid | 52:d3fb6f1722bf | 105 | #if defined(TARGET) |
whismanoid | 52:d3fb6f1722bf | 106 | // TARGET_NAME macros from targets/TARGET_Maxim/TARGET_MAX32625/device/mxc_device.h |
whismanoid | 52:d3fb6f1722bf | 107 | // Create a string definition for the TARGET |
whismanoid | 52:d3fb6f1722bf | 108 | #define STRING_ARG(arg) #arg |
whismanoid | 52:d3fb6f1722bf | 109 | #define STRING_NAME(name) STRING_ARG(name) |
whismanoid | 52:d3fb6f1722bf | 110 | #define TARGET_NAME STRING_NAME(TARGET) |
whismanoid | 52:d3fb6f1722bf | 111 | #elif defined(TARGET_MAX32600) |
whismanoid | 52:d3fb6f1722bf | 112 | #define TARGET_NAME "MAX32600" |
whismanoid | 52:d3fb6f1722bf | 113 | #elif defined(TARGET_LPC1768) |
whismanoid | 52:d3fb6f1722bf | 114 | #define TARGET_NAME "LPC1768" |
whismanoid | 52:d3fb6f1722bf | 115 | #elif defined(TARGET_NUCLEO_F446RE) |
whismanoid | 52:d3fb6f1722bf | 116 | #define TARGET_NAME "NUCLEO_F446RE" |
whismanoid | 52:d3fb6f1722bf | 117 | #elif defined(TARGET_NUCLEO_F401RE) |
whismanoid | 52:d3fb6f1722bf | 118 | #define TARGET_NAME "NUCLEO_F401RE" |
whismanoid | 52:d3fb6f1722bf | 119 | #else |
whismanoid | 52:d3fb6f1722bf | 120 | #error TARGET NOT DEFINED |
whismanoid | 52:d3fb6f1722bf | 121 | #endif |
whismanoid | 52:d3fb6f1722bf | 122 | #if defined(TARGET_MAX32630) |
whismanoid | 52:d3fb6f1722bf | 123 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 124 | // TARGET=MAX32630FTHR ARM Cortex-M4F 96MHz 2048kB Flash 512kB SRAM |
whismanoid | 52:d3fb6f1722bf | 125 | // +-------------[microUSB]-------------+ |
whismanoid | 52:d3fb6f1722bf | 126 | // | J1 MAX32630FTHR J2 | |
whismanoid | 52:d3fb6f1722bf | 127 | // ______ | [ ] RST GND [ ] | |
whismanoid | 52:d3fb6f1722bf | 128 | // ______ | [ ] 3V3 BAT+[ ] | |
whismanoid | 52:d3fb6f1722bf | 129 | // ______ | [ ] 1V8 reset SW1 | |
whismanoid | 52:d3fb6f1722bf | 130 | // ______ | [ ] GND J4 J3 | |
whismanoid | 52:d3fb6f1722bf | 131 | // analogIn0/4 | [a] AIN_0 1.2Vfs (bat) SYS [ ] | switched BAT+ |
whismanoid | 52:d3fb6f1722bf | 132 | // analogIn1/5 | [a] AIN_1 1.2Vfs PWR [ ] | external pwr btn |
whismanoid | 52:d3fb6f1722bf | 133 | // analogIn2 | [a] AIN_2 1.2Vfs +5V VBUS [ ] | USB +5V power |
whismanoid | 52:d3fb6f1722bf | 134 | // analogIn3 | [a] AIN_3 1.2Vfs 1-WIRE P4_0 [d] | D0 dig9 |
whismanoid | 52:d3fb6f1722bf | 135 | // (I2C2.SDA) | [d] P5_7 SDA2 SRN P5_6 [d] | D1 dig8 |
whismanoid | 52:d3fb6f1722bf | 136 | // (I2C2.SCL) | [d] P6_0 SCL2 SDIO3 P5_5 [d] | D2 dig7 |
whismanoid | 52:d3fb6f1722bf | 137 | // D13/SCLK | [s] P5_0 SCLK SDIO2 P5_4 [d] | D3 dig6 |
whismanoid | 52:d3fb6f1722bf | 138 | // D11/MOSI | [s] P5_1 MOSI SSEL P5_3 [d] | D4 dig5 |
whismanoid | 52:d3fb6f1722bf | 139 | // D12/MISO | [s] P5_2 MISO RTS P3_3 [d] | D5 dig4 |
whismanoid | 52:d3fb6f1722bf | 140 | // D10/CS | [s] P3_0 RX CTS P3_2 [d] | D6 dig3 |
whismanoid | 52:d3fb6f1722bf | 141 | // D9 dig0 | [d] P3_1 TX SCL P3_5 [d] | D7 dig2 |
whismanoid | 52:d3fb6f1722bf | 142 | // ______ | [ ] GND SDA P3_4 [d] | D8 dig1 |
whismanoid | 52:d3fb6f1722bf | 143 | // | | |
whismanoid | 52:d3fb6f1722bf | 144 | // | XIP Flash MAX14690N | |
whismanoid | 52:d3fb6f1722bf | 145 | // | XIP_SCLK P1_0 SDA2 P5_7 | |
whismanoid | 52:d3fb6f1722bf | 146 | // | XIP_MOSI P1_1 SCL2 P6_0 | |
whismanoid | 52:d3fb6f1722bf | 147 | // | XIP_MISO P1_2 PMIC_INIT P3_7 | |
whismanoid | 52:d3fb6f1722bf | 148 | // | XIP_SSEL P1_3 MPC P2_7 | |
whismanoid | 52:d3fb6f1722bf | 149 | // | XIP_DIO2 P1_4 MON AIN_0 | |
whismanoid | 52:d3fb6f1722bf | 150 | // | XIP_DIO3 P1_5 | |
whismanoid | 52:d3fb6f1722bf | 151 | // | | |
whismanoid | 52:d3fb6f1722bf | 152 | // | PAN1326B MicroSD LED | |
whismanoid | 52:d3fb6f1722bf | 153 | // | BT_RX P0_0 SD_SCLK P0_4 r P2_4 | |
whismanoid | 52:d3fb6f1722bf | 154 | // | BT_TX P0_1 SD_MOSI P0_5 g P2_5 | |
whismanoid | 52:d3fb6f1722bf | 155 | // | BT_CTS P0_2 SD_MISO P0_6 b P2_6 | |
whismanoid | 52:d3fb6f1722bf | 156 | // | BT_RTS P0_3 SD_SSEL P0_7 | |
whismanoid | 52:d3fb6f1722bf | 157 | // | BT_RST P1_6 DETECT P2_2 | |
whismanoid | 52:d3fb6f1722bf | 158 | // | BT_CLK P1_7 SW2 P2_3 | |
whismanoid | 52:d3fb6f1722bf | 159 | // +------------------------------------+ |
whismanoid | 52:d3fb6f1722bf | 160 | // MAX32630FTHR board has MAX14690 PMIC on I2C bus (P5_7 SDA, P6_0 SCL) at slave address 0101_000r 0x50 (or 0x28 for 7 MSbit address). |
whismanoid | 52:d3fb6f1722bf | 161 | // MAX32630FTHR board has BMI160 accelerometer on I2C bus (P5_7 SDA, P6_0 SCL) at slave address 1101_000r 0xD0 (or 0x68 for 7 MSbit address). |
whismanoid | 52:d3fb6f1722bf | 162 | // AIN_0 = AIN0 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 163 | // AIN_1 = AIN1 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 164 | // AIN_2 = AIN2 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 165 | // AIN_3 = AIN3 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 166 | // AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 167 | // AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 168 | // AIN_6 = VDDB / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 169 | // AIN_7 = VDD18 fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 170 | // AIN_8 = VDD12 fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 171 | // AIN_9 = VRTC / 2.0 fullscale is 2.4V |
whismanoid | 52:d3fb6f1722bf | 172 | // AIN_10 = x undefined? |
whismanoid | 52:d3fb6f1722bf | 173 | // AIN_11 = VDDIO / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 174 | // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 175 | // |
whismanoid | 52:d3fb6f1722bf | 176 | #include "max32630fthr.h" |
whismanoid | 52:d3fb6f1722bf | 177 | MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3); |
whismanoid | 52:d3fb6f1722bf | 178 | #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 1 |
whismanoid | 52:d3fb6f1722bf | 179 | // MAX32630FTHR board supports only internal VREF = 1.200V at bypass capacitor C15 |
whismanoid | 52:d3fb6f1722bf | 180 | const float ADC_FULL_SCALE_VOLTAGE = 1.200; |
whismanoid | 52:d3fb6f1722bf | 181 | // Arduino connector |
whismanoid | 52:d3fb6f1722bf | 182 | #ifndef A0 |
whismanoid | 52:d3fb6f1722bf | 183 | #define A0 AIN_0 |
whismanoid | 52:d3fb6f1722bf | 184 | #endif |
whismanoid | 52:d3fb6f1722bf | 185 | #ifndef A1 |
whismanoid | 52:d3fb6f1722bf | 186 | #define A1 AIN_1 |
whismanoid | 52:d3fb6f1722bf | 187 | #endif |
whismanoid | 52:d3fb6f1722bf | 188 | #ifndef A2 |
whismanoid | 52:d3fb6f1722bf | 189 | #define A2 AIN_2 |
whismanoid | 52:d3fb6f1722bf | 190 | #endif |
whismanoid | 52:d3fb6f1722bf | 191 | #ifndef A3 |
whismanoid | 52:d3fb6f1722bf | 192 | #define A3 AIN_3 |
whismanoid | 52:d3fb6f1722bf | 193 | #endif |
whismanoid | 52:d3fb6f1722bf | 194 | #ifndef D0 |
whismanoid | 52:d3fb6f1722bf | 195 | #define D0 P4_0 |
whismanoid | 52:d3fb6f1722bf | 196 | #endif |
whismanoid | 52:d3fb6f1722bf | 197 | #ifndef D1 |
whismanoid | 52:d3fb6f1722bf | 198 | #define D1 P5_6 |
whismanoid | 52:d3fb6f1722bf | 199 | #endif |
whismanoid | 52:d3fb6f1722bf | 200 | #ifndef D2 |
whismanoid | 52:d3fb6f1722bf | 201 | #define D2 P5_5 |
whismanoid | 52:d3fb6f1722bf | 202 | #endif |
whismanoid | 52:d3fb6f1722bf | 203 | #ifndef D3 |
whismanoid | 52:d3fb6f1722bf | 204 | #define D3 P5_4 |
whismanoid | 52:d3fb6f1722bf | 205 | #endif |
whismanoid | 52:d3fb6f1722bf | 206 | #ifndef D4 |
whismanoid | 52:d3fb6f1722bf | 207 | #define D4 P5_3 |
whismanoid | 52:d3fb6f1722bf | 208 | #endif |
whismanoid | 52:d3fb6f1722bf | 209 | #ifndef D5 |
whismanoid | 52:d3fb6f1722bf | 210 | #define D5 P3_3 |
whismanoid | 52:d3fb6f1722bf | 211 | #endif |
whismanoid | 52:d3fb6f1722bf | 212 | #ifndef D6 |
whismanoid | 52:d3fb6f1722bf | 213 | #define D6 P3_2 |
whismanoid | 52:d3fb6f1722bf | 214 | #endif |
whismanoid | 52:d3fb6f1722bf | 215 | #ifndef D7 |
whismanoid | 52:d3fb6f1722bf | 216 | #define D7 P3_5 |
whismanoid | 52:d3fb6f1722bf | 217 | #endif |
whismanoid | 52:d3fb6f1722bf | 218 | #ifndef D8 |
whismanoid | 52:d3fb6f1722bf | 219 | #define D8 P3_4 |
whismanoid | 52:d3fb6f1722bf | 220 | #endif |
whismanoid | 52:d3fb6f1722bf | 221 | #ifndef D9 |
whismanoid | 52:d3fb6f1722bf | 222 | #define D9 P3_1 |
whismanoid | 52:d3fb6f1722bf | 223 | #endif |
whismanoid | 52:d3fb6f1722bf | 224 | #ifndef D10 |
whismanoid | 52:d3fb6f1722bf | 225 | #define D10 P3_0 |
whismanoid | 52:d3fb6f1722bf | 226 | #endif |
whismanoid | 52:d3fb6f1722bf | 227 | #ifndef D11 |
whismanoid | 52:d3fb6f1722bf | 228 | #define D11 P5_1 |
whismanoid | 52:d3fb6f1722bf | 229 | #endif |
whismanoid | 52:d3fb6f1722bf | 230 | #ifndef D12 |
whismanoid | 52:d3fb6f1722bf | 231 | #define D12 P5_2 |
whismanoid | 52:d3fb6f1722bf | 232 | #endif |
whismanoid | 52:d3fb6f1722bf | 233 | #ifndef D13 |
whismanoid | 52:d3fb6f1722bf | 234 | #define D13 P5_0 |
whismanoid | 52:d3fb6f1722bf | 235 | #endif |
whismanoid | 52:d3fb6f1722bf | 236 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 237 | #elif defined(TARGET_MAX32625MBED) |
whismanoid | 52:d3fb6f1722bf | 238 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 239 | // TARGET=MAX32625MBED ARM Cortex-M4F 96MHz 512kB Flash 160kB SRAM |
whismanoid | 52:d3fb6f1722bf | 240 | // +-------------------------------------+ |
whismanoid | 52:d3fb6f1722bf | 241 | // | MAX32625MBED Arduino UNO header | |
whismanoid | 52:d3fb6f1722bf | 242 | // | | |
whismanoid | 52:d3fb6f1722bf | 243 | // | A5/SCL[ ] | P1_7 dig15 |
whismanoid | 52:d3fb6f1722bf | 244 | // | A4/SDA[ ] | P1_6 dig14 |
whismanoid | 52:d3fb6f1722bf | 245 | // | AREF=N/C[ ] | |
whismanoid | 52:d3fb6f1722bf | 246 | // | GND[ ] | |
whismanoid | 52:d3fb6f1722bf | 247 | // | [ ]N/C SCK/13[ ] | P1_0 dig13 |
whismanoid | 52:d3fb6f1722bf | 248 | // | [ ]IOREF=3V3 MISO/12[ ] | P1_2 dig12 |
whismanoid | 52:d3fb6f1722bf | 249 | // | [ ]RST MOSI/11[ ]~| P1_1 dig11 |
whismanoid | 52:d3fb6f1722bf | 250 | // | [ ]3V3 CS/10[ ]~| P1_3 dig10 |
whismanoid | 52:d3fb6f1722bf | 251 | // | [ ]5V0 9[ ]~| P1_5 dig9 |
whismanoid | 52:d3fb6f1722bf | 252 | // | [ ]GND 8[ ] | P1_4 dig8 |
whismanoid | 52:d3fb6f1722bf | 253 | // | [ ]GND | |
whismanoid | 52:d3fb6f1722bf | 254 | // | [ ]Vin 7[ ] | P0_7 dig7 |
whismanoid | 52:d3fb6f1722bf | 255 | // | 6[ ]~| P0_6 dig6 |
whismanoid | 52:d3fb6f1722bf | 256 | // AIN_0 | [ ]A0 5[ ]~| P0_5 dig5 |
whismanoid | 52:d3fb6f1722bf | 257 | // AIN_1 | [ ]A1 4[ ] | P0_4 dig4 |
whismanoid | 52:d3fb6f1722bf | 258 | // AIN_2 | [ ]A2 INT1/3[ ]~| P0_3 dig3 |
whismanoid | 52:d3fb6f1722bf | 259 | // AIN_3 | [ ]A3 INT0/2[ ] | P0_2 dig2 |
whismanoid | 52:d3fb6f1722bf | 260 | // dig16 P3_4 | [ ]A4/SDA RST SCK MISO TX>1[ ] | P0_1 dig1 |
whismanoid | 52:d3fb6f1722bf | 261 | // dig17 P3_5 | [ ]A5/SCL [ ] [ ] [ ] RX<0[ ] | P0_0 dig0 |
whismanoid | 52:d3fb6f1722bf | 262 | // | [ ] [ ] [ ] | |
whismanoid | 52:d3fb6f1722bf | 263 | // | UNO_R3 GND MOSI 5V ____________/ |
whismanoid | 52:d3fb6f1722bf | 264 | // \_______________________/ |
whismanoid | 52:d3fb6f1722bf | 265 | // |
whismanoid | 52:d3fb6f1722bf | 266 | // +------------------------+ |
whismanoid | 52:d3fb6f1722bf | 267 | // | | |
whismanoid | 52:d3fb6f1722bf | 268 | // | MicroSD LED | |
whismanoid | 52:d3fb6f1722bf | 269 | // | SD_SCLK P2_4 r P3_0 | |
whismanoid | 52:d3fb6f1722bf | 270 | // | SD_MOSI P2_5 g P3_1 | |
whismanoid | 52:d3fb6f1722bf | 271 | // | SD_MISO P2_6 b P3_2 | |
whismanoid | 52:d3fb6f1722bf | 272 | // | SD_SSEL P2_7 y P3_3 | |
whismanoid | 52:d3fb6f1722bf | 273 | // | | |
whismanoid | 52:d3fb6f1722bf | 274 | // | DAPLINK BUTTONS | |
whismanoid | 52:d3fb6f1722bf | 275 | // | TX P2_1 SW3 P2_3 | |
whismanoid | 52:d3fb6f1722bf | 276 | // | RX P2_0 SW2 P2_2 | |
whismanoid | 52:d3fb6f1722bf | 277 | // +------------------------+ |
whismanoid | 52:d3fb6f1722bf | 278 | // |
whismanoid | 52:d3fb6f1722bf | 279 | // AIN_0 = AIN0 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 280 | // AIN_1 = AIN1 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 281 | // AIN_2 = AIN2 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 282 | // AIN_3 = AIN3 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 283 | // AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 284 | // AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 285 | // AIN_6 = VDDB / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 286 | // AIN_7 = VDD18 fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 287 | // AIN_8 = VDD12 fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 288 | // AIN_9 = VRTC / 2.0 fullscale is 2.4V |
whismanoid | 52:d3fb6f1722bf | 289 | // AIN_10 = x undefined? |
whismanoid | 52:d3fb6f1722bf | 290 | // AIN_11 = VDDIO / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 291 | // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 292 | // |
whismanoid | 52:d3fb6f1722bf | 293 | //#include "max32625mbed.h" // ? |
whismanoid | 52:d3fb6f1722bf | 294 | //MAX32625MBED mbed(MAX32625MBED::VIO_3V3); // ? |
whismanoid | 52:d3fb6f1722bf | 295 | #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 1 |
whismanoid | 52:d3fb6f1722bf | 296 | // MAX32630FTHR board supports only internal VREF = 1.200V at bypass capacitor C15 |
whismanoid | 52:d3fb6f1722bf | 297 | const float ADC_FULL_SCALE_VOLTAGE = 1.200; // TODO: ADC_FULL_SCALE_VOLTAGE Pico? |
whismanoid | 52:d3fb6f1722bf | 298 | // Arduino connector |
whismanoid | 52:d3fb6f1722bf | 299 | #ifndef A0 |
whismanoid | 52:d3fb6f1722bf | 300 | #define A0 AIN_0 |
whismanoid | 52:d3fb6f1722bf | 301 | #endif |
whismanoid | 52:d3fb6f1722bf | 302 | #ifndef A1 |
whismanoid | 52:d3fb6f1722bf | 303 | #define A1 AIN_1 |
whismanoid | 52:d3fb6f1722bf | 304 | #endif |
whismanoid | 52:d3fb6f1722bf | 305 | #ifndef A2 |
whismanoid | 52:d3fb6f1722bf | 306 | #define A2 AIN_2 |
whismanoid | 52:d3fb6f1722bf | 307 | #endif |
whismanoid | 52:d3fb6f1722bf | 308 | #ifndef A3 |
whismanoid | 52:d3fb6f1722bf | 309 | #define A3 AIN_3 |
whismanoid | 52:d3fb6f1722bf | 310 | #endif |
whismanoid | 52:d3fb6f1722bf | 311 | #ifndef D0 |
whismanoid | 52:d3fb6f1722bf | 312 | #define D0 P0_0 |
whismanoid | 52:d3fb6f1722bf | 313 | #endif |
whismanoid | 52:d3fb6f1722bf | 314 | #ifndef D1 |
whismanoid | 52:d3fb6f1722bf | 315 | #define D1 P0_1 |
whismanoid | 52:d3fb6f1722bf | 316 | #endif |
whismanoid | 52:d3fb6f1722bf | 317 | #ifndef D2 |
whismanoid | 52:d3fb6f1722bf | 318 | #define D2 P0_2 |
whismanoid | 52:d3fb6f1722bf | 319 | #endif |
whismanoid | 52:d3fb6f1722bf | 320 | #ifndef D3 |
whismanoid | 52:d3fb6f1722bf | 321 | #define D3 P0_3 |
whismanoid | 52:d3fb6f1722bf | 322 | #endif |
whismanoid | 52:d3fb6f1722bf | 323 | #ifndef D4 |
whismanoid | 52:d3fb6f1722bf | 324 | #define D4 P0_4 |
whismanoid | 52:d3fb6f1722bf | 325 | #endif |
whismanoid | 52:d3fb6f1722bf | 326 | #ifndef D5 |
whismanoid | 52:d3fb6f1722bf | 327 | #define D5 P0_5 |
whismanoid | 52:d3fb6f1722bf | 328 | #endif |
whismanoid | 52:d3fb6f1722bf | 329 | #ifndef D6 |
whismanoid | 52:d3fb6f1722bf | 330 | #define D6 P0_6 |
whismanoid | 52:d3fb6f1722bf | 331 | #endif |
whismanoid | 52:d3fb6f1722bf | 332 | #ifndef D7 |
whismanoid | 52:d3fb6f1722bf | 333 | #define D7 P0_7 |
whismanoid | 52:d3fb6f1722bf | 334 | #endif |
whismanoid | 52:d3fb6f1722bf | 335 | #ifndef D8 |
whismanoid | 52:d3fb6f1722bf | 336 | #define D8 P1_4 |
whismanoid | 52:d3fb6f1722bf | 337 | #endif |
whismanoid | 52:d3fb6f1722bf | 338 | #ifndef D9 |
whismanoid | 52:d3fb6f1722bf | 339 | #define D9 P1_5 |
whismanoid | 52:d3fb6f1722bf | 340 | #endif |
whismanoid | 52:d3fb6f1722bf | 341 | #ifndef D10 |
whismanoid | 52:d3fb6f1722bf | 342 | #define D10 P1_3 |
whismanoid | 52:d3fb6f1722bf | 343 | #endif |
whismanoid | 52:d3fb6f1722bf | 344 | #ifndef D11 |
whismanoid | 52:d3fb6f1722bf | 345 | #define D11 P1_1 |
whismanoid | 52:d3fb6f1722bf | 346 | #endif |
whismanoid | 52:d3fb6f1722bf | 347 | #ifndef D12 |
whismanoid | 52:d3fb6f1722bf | 348 | #define D12 P1_2 |
whismanoid | 52:d3fb6f1722bf | 349 | #endif |
whismanoid | 52:d3fb6f1722bf | 350 | #ifndef D13 |
whismanoid | 52:d3fb6f1722bf | 351 | #define D13 P1_0 |
whismanoid | 52:d3fb6f1722bf | 352 | #endif |
whismanoid | 52:d3fb6f1722bf | 353 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 354 | #elif defined(TARGET_MAX32600) |
whismanoid | 52:d3fb6f1722bf | 355 | // target MAX32600 |
whismanoid | 52:d3fb6f1722bf | 356 | // |
whismanoid | 52:d3fb6f1722bf | 357 | #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 0 |
whismanoid | 52:d3fb6f1722bf | 358 | const float ADC_FULL_SCALE_VOLTAGE = 1.500; |
whismanoid | 52:d3fb6f1722bf | 359 | // |
whismanoid | 52:d3fb6f1722bf | 360 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 361 | #elif defined(TARGET_MAX32620FTHR) |
whismanoid | 52:d3fb6f1722bf | 362 | #warning "TARGET_MAX32620FTHR not previously tested; need to define pins..." |
whismanoid | 52:d3fb6f1722bf | 363 | #include "MAX32620FTHR.h" |
whismanoid | 52:d3fb6f1722bf | 364 | // Initialize I/O voltages on MAX32620FTHR board |
whismanoid | 52:d3fb6f1722bf | 365 | MAX32620FTHR fthr(MAX32620FTHR::VIO_3V3); |
whismanoid | 52:d3fb6f1722bf | 366 | //#define USE_LEDS 0 ? |
whismanoid | 52:d3fb6f1722bf | 367 | #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 1 |
whismanoid | 52:d3fb6f1722bf | 368 | #warning "TARGET_MAX32620FTHR not previously tested; need to verify ADC_FULL_SCALE_VOLTAGE..." |
whismanoid | 52:d3fb6f1722bf | 369 | const float ADC_FULL_SCALE_VOLTAGE = 1.200; |
whismanoid | 52:d3fb6f1722bf | 370 | // |
whismanoid | 52:d3fb6f1722bf | 371 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 372 | #elif defined(TARGET_MAX32625PICO) |
whismanoid | 52:d3fb6f1722bf | 373 | #warning "TARGET_MAX32625PICO not previously tested; need to define pins..." |
whismanoid | 52:d3fb6f1722bf | 374 | //#define USE_LEDS 0 ? |
whismanoid | 52:d3fb6f1722bf | 375 | #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 1 |
whismanoid | 52:d3fb6f1722bf | 376 | #warning "TARGET_MAX32625PICO not previously tested; need to verify ADC_FULL_SCALE_VOLTAGE..." |
whismanoid | 52:d3fb6f1722bf | 377 | const float ADC_FULL_SCALE_VOLTAGE = 1.200; |
whismanoid | 52:d3fb6f1722bf | 378 | // |
whismanoid | 52:d3fb6f1722bf | 379 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 380 | #elif defined(TARGET_NUCLEO_F446RE) || defined(TARGET_NUCLEO_F401RE) |
whismanoid | 52:d3fb6f1722bf | 381 | // TODO1: target NUCLEO_F446RE |
whismanoid | 52:d3fb6f1722bf | 382 | // |
whismanoid | 52:d3fb6f1722bf | 383 | // USER_BUTTON PC13 |
whismanoid | 52:d3fb6f1722bf | 384 | // LED1 is shared with SPI_SCK on NUCLEO_F446RE PA_5, so don't use LED1. |
whismanoid | 52:d3fb6f1722bf | 385 | #define USE_LEDS 0 |
whismanoid | 52:d3fb6f1722bf | 386 | // SPI spi(SPI_MOSI, SPI_MISO, SPI_SCK); |
whismanoid | 52:d3fb6f1722bf | 387 | // Serial serial(SERIAL_TX, SERIAL_RX); |
whismanoid | 52:d3fb6f1722bf | 388 | #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 0 |
whismanoid | 52:d3fb6f1722bf | 389 | const float ADC_FULL_SCALE_VOLTAGE = 3.300; // TODO: ADC_FULL_SCALE_VOLTAGE Pico? |
whismanoid | 52:d3fb6f1722bf | 390 | // |
whismanoid | 52:d3fb6f1722bf | 391 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 392 | #elif defined(TARGET_LPC1768) |
whismanoid | 52:d3fb6f1722bf | 393 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 394 | // TARGET=LPC1768 ARM Cortex-M3 100 MHz 512kB flash 64kB SRAM |
whismanoid | 52:d3fb6f1722bf | 395 | // +-------------[microUSB]-------------+ |
whismanoid | 52:d3fb6f1722bf | 396 | // ______ | [ ] GND +3.3V VOUT [ ] | ______ |
whismanoid | 52:d3fb6f1722bf | 397 | // ______ | [ ] 4.5V<VIN<9.0V +5.0V VU [ ] | ______ |
whismanoid | 52:d3fb6f1722bf | 398 | // ______ | [ ] VB USB.IF- [ ] | ______ |
whismanoid | 52:d3fb6f1722bf | 399 | // ______ | [ ] nR USB.IF+ [ ] | ______ |
whismanoid | 52:d3fb6f1722bf | 400 | // digitalInOut0 | [ ] p5 MOSI ETHERNET.RD- [ ] | ______ |
whismanoid | 52:d3fb6f1722bf | 401 | // digitalInOut1 | [ ] p6 MISO ETHERNET.RD+ [ ] | ______ |
whismanoid | 52:d3fb6f1722bf | 402 | // digitalInOut2 | [ ] p7 SCLK ETHERNET.TD- [ ] | ______ |
whismanoid | 52:d3fb6f1722bf | 403 | // digitalInOut3 | [ ] p8 ETHERNET.TD+ [ ] | ______ |
whismanoid | 52:d3fb6f1722bf | 404 | // digitalInOut4 | [ ] p9 TX SDA USB.D- [ ] | ______ |
whismanoid | 52:d3fb6f1722bf | 405 | // digitalInOut5 | [ ] p10 RX SCL USB.D+ [ ] | ______ |
whismanoid | 52:d3fb6f1722bf | 406 | // digitalInOut6 | [ ] p11 MOSI CAN-RD p30 [ ] | digitalInOut13 |
whismanoid | 52:d3fb6f1722bf | 407 | // digitalInOut7 | [ ] p12 MISO CAN-TD p29 [ ] | digitalInOut12 |
whismanoid | 52:d3fb6f1722bf | 408 | // digitalInOut8 | [ ] p13 TX SCLK SDA TX p28 [ ] | digitalInOut11 |
whismanoid | 52:d3fb6f1722bf | 409 | // digitalInOut9 | [ ] p14 RX SCL RX p27 [ ] | digitalInOut10 |
whismanoid | 52:d3fb6f1722bf | 410 | // analogIn0 | [ ] p15 AIN0 3.3Vfs PWM1 p26 [ ] | pwmDriver1 |
whismanoid | 52:d3fb6f1722bf | 411 | // analogIn1 | [ ] p16 AIN1 3.3Vfs PWM2 p25 [ ] | pwmDriver2 |
whismanoid | 52:d3fb6f1722bf | 412 | // analogIn2 | [ ] p17 AIN2 3.3Vfs PWM3 p24 [ ] | pwmDriver3 |
whismanoid | 52:d3fb6f1722bf | 413 | // analogIn3 | [ ] p18 AIN3 AOUT PWM4 p23 [ ] | pwmDriver4 |
whismanoid | 52:d3fb6f1722bf | 414 | // analogIn4 | [ ] p19 AIN4 3.3Vfs PWM5 p22 [ ] | pwmDriver5 |
whismanoid | 52:d3fb6f1722bf | 415 | // analogIn5 | [ ] p20 AIN5 3.3Vfs PWM6 p21 [ ] | pwmDriver6 |
whismanoid | 52:d3fb6f1722bf | 416 | // +------------------------------------+ |
whismanoid | 52:d3fb6f1722bf | 417 | // AIN6 = P0.3 = TGT_SBL_RXD? |
whismanoid | 52:d3fb6f1722bf | 418 | // AIN7 = P0.2 = TGT_SBL_TXD? |
whismanoid | 52:d3fb6f1722bf | 419 | // |
whismanoid | 52:d3fb6f1722bf | 420 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 421 | // LPC1768 board uses VREF = 3.300V +A3,3V thru L1 to bypass capacitor C14 |
whismanoid | 52:d3fb6f1722bf | 422 | #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 0 |
whismanoid | 52:d3fb6f1722bf | 423 | const float ADC_FULL_SCALE_VOLTAGE = 3.300; |
whismanoid | 52:d3fb6f1722bf | 424 | #else // not defined(TARGET_LPC1768 etc.) |
whismanoid | 52:d3fb6f1722bf | 425 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 426 | // unknown target |
whismanoid | 52:d3fb6f1722bf | 427 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 428 | #endif // target definition |
whismanoid | 52:d3fb6f1722bf | 429 | |
whismanoid | 52:d3fb6f1722bf | 430 | |
whismanoid | 52:d3fb6f1722bf | 431 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 432 | // Option to dedicate SPI port pins |
whismanoid | 52:d3fb6f1722bf | 433 | // |
whismanoid | 52:d3fb6f1722bf | 434 | // SPI2_MOSI = P5_1 |
whismanoid | 52:d3fb6f1722bf | 435 | // SPI2_MISO = P5_2 |
whismanoid | 52:d3fb6f1722bf | 436 | // SPI2_SCK = P5_0 |
whismanoid | 52:d3fb6f1722bf | 437 | // On this board I'm using P3_0 as spi_cs |
whismanoid | 52:d3fb6f1722bf | 438 | // SPI2_SS = P5_3 |
whismanoid | 52:d3fb6f1722bf | 439 | // SPI2_SDIO2 = P5_4 |
whismanoid | 52:d3fb6f1722bf | 440 | // SPI2_SDIO3 = P5_5 |
whismanoid | 52:d3fb6f1722bf | 441 | // SPI2_SRN = P5_6 |
whismanoid | 52:d3fb6f1722bf | 442 | // |
whismanoid | 52:d3fb6f1722bf | 443 | #ifndef HAS_SPI |
whismanoid | 52:d3fb6f1722bf | 444 | #define HAS_SPI 1 |
whismanoid | 52:d3fb6f1722bf | 445 | #endif |
whismanoid | 52:d3fb6f1722bf | 446 | #if HAS_SPI |
whismanoid | 52:d3fb6f1722bf | 447 | #define SPI_MODE0 0 |
whismanoid | 52:d3fb6f1722bf | 448 | #define SPI_MODE1 1 |
whismanoid | 52:d3fb6f1722bf | 449 | #define SPI_MODE2 2 |
whismanoid | 52:d3fb6f1722bf | 450 | #define SPI_MODE3 3 |
whismanoid | 52:d3fb6f1722bf | 451 | // |
whismanoid | 52:d3fb6f1722bf | 452 | #if defined(TARGET_MAX32630) |
whismanoid | 52:d3fb6f1722bf | 453 | // Before setting global variables g_SPI_SCLK_Hz and g_SPI_dataMode, |
whismanoid | 52:d3fb6f1722bf | 454 | // workaround for TARGET_MAX32630 SPI_MODE2 SPI_MODE3 problem (issue #30) |
whismanoid | 52:d3fb6f1722bf | 455 | #warning "MAX32630 SPI workaround..." |
whismanoid | 52:d3fb6f1722bf | 456 | // replace SPI_MODE2 (CPOL=1,CPHA=0) with SPI_MODE1 (CPOL=0,CPHA=1) Falling Edge stable |
whismanoid | 52:d3fb6f1722bf | 457 | // replace SPI_MODE3 (CPOL=1,CPHA=1) with SPI_MODE0 (CPOL=0,CPHA=0) Rising Edge stable |
whismanoid | 52:d3fb6f1722bf | 458 | # if ((SPI_dataMode) == (SPI_MODE2)) |
whismanoid | 52:d3fb6f1722bf | 459 | #warning "MAX32630 SPI_MODE2 workaround, changing SPI_dataMode to SPI_MODE1..." |
whismanoid | 52:d3fb6f1722bf | 460 | // SPI_dataMode SPI_MODE2 // CPOL=1,CPHA=0: Falling Edge stable; SCLK idle High |
whismanoid | 52:d3fb6f1722bf | 461 | # undef SPI_dataMode |
whismanoid | 52:d3fb6f1722bf | 462 | # define SPI_dataMode SPI_MODE1 // CPOL=0,CPHA=1: Falling Edge stable; SCLK idle Low |
whismanoid | 52:d3fb6f1722bf | 463 | # elif ((SPI_dataMode) == (SPI_MODE3)) |
whismanoid | 52:d3fb6f1722bf | 464 | #warning "MAX32630 SPI_MODE3 workaround, changing SPI_dataMode to SPI_MODE0..." |
whismanoid | 52:d3fb6f1722bf | 465 | // SPI_dataMode SPI_MODE3 // CPOL=1,CPHA=1: Rising Edge stable; SCLK idle High |
whismanoid | 52:d3fb6f1722bf | 466 | # undef SPI_dataMode |
whismanoid | 52:d3fb6f1722bf | 467 | # define SPI_dataMode SPI_MODE0 // CPOL=0,CPHA=0: Rising Edge stable; SCLK idle Low |
whismanoid | 52:d3fb6f1722bf | 468 | # endif // workaround for TARGET_MAX32630 SPI_MODE2 SPI_MODE3 problem |
whismanoid | 52:d3fb6f1722bf | 469 | // workaround for TARGET_MAX32630 SPI_MODE2 SPI_MODE3 problem (issue #30) |
whismanoid | 52:d3fb6f1722bf | 470 | // limit SPI SCLK speed to 6MHz or less |
whismanoid | 52:d3fb6f1722bf | 471 | # if ((SPI_SCLK_Hz) > (6000000)) |
whismanoid | 52:d3fb6f1722bf | 472 | #warning "MAX32630 SPI speed workaround, changing SPI_SCLK_Hz to 6000000 or 6MHz..." |
whismanoid | 52:d3fb6f1722bf | 473 | # undef SPI_SCLK_Hz |
whismanoid | 52:d3fb6f1722bf | 474 | # define SPI_SCLK_Hz 6000000 // 6MHz |
whismanoid | 52:d3fb6f1722bf | 475 | # endif |
whismanoid | 52:d3fb6f1722bf | 476 | #endif |
whismanoid | 52:d3fb6f1722bf | 477 | // |
whismanoid | 53:bf2793cd194b | 478 | uint32_t g_SPI_SCLK_Hz = 24000000; // platform limit 24MHz intSPI_SCLK_Platform_Max_MHz * 1000000 |
whismanoid | 52:d3fb6f1722bf | 479 | // TODO1: validate g_SPI_SCLK_Hz against system clock frequency SystemCoreClock F_CPU |
whismanoid | 52:d3fb6f1722bf | 480 | #if defined(TARGET_NUCLEO_F446RE) || defined(TARGET_NUCLEO_F401RE) |
whismanoid | 52:d3fb6f1722bf | 481 | // Nucleo SPI frequency isn't working quite as expected... |
whismanoid | 52:d3fb6f1722bf | 482 | // Looks like STMF4 has an spi clock prescaler (2,4,8,16,32,64,128,256) |
whismanoid | 52:d3fb6f1722bf | 483 | // so 180MHz->[90.0, 45.0, 22.5, 11.25, 5.625, 2.8125, 1.40625, 0.703125] |
whismanoid | 52:d3fb6f1722bf | 484 | // %SC SCLK=1MHz sets spi frequency 703.125kHz |
whismanoid | 52:d3fb6f1722bf | 485 | // %SC SCLK=2MHz sets spi frequency 1.40625MHz |
whismanoid | 52:d3fb6f1722bf | 486 | // %SC SCLK=3MHz sets spi frequency 2.8125MHz |
whismanoid | 52:d3fb6f1722bf | 487 | // %SC SCLK=6MHz sets spi frequency 5.625MHz |
whismanoid | 52:d3fb6f1722bf | 488 | // %SC SCLK=12MHz sets spi frequency 11.25MHz |
whismanoid | 52:d3fb6f1722bf | 489 | // %SC SCLK=23MHz sets spi frequency 22.5MHz |
whismanoid | 52:d3fb6f1722bf | 490 | // %SC SCLK=45MHz sets spi frequency 45.0MHz |
whismanoid | 52:d3fb6f1722bf | 491 | // Don't know why I can't reach spi frequency 90.0MHz, but ok whatever. |
whismanoid | 52:d3fb6f1722bf | 492 | const uint32_t limit_min_SPI_SCLK_divisor = 2; |
whismanoid | 52:d3fb6f1722bf | 493 | const uint32_t limit_max_SPI_SCLK_divisor = 256; |
whismanoid | 52:d3fb6f1722bf | 494 | // not really a divisor, just a powers-of-two prescaler with no intermediate divisors. |
whismanoid | 52:d3fb6f1722bf | 495 | #else |
whismanoid | 52:d3fb6f1722bf | 496 | const uint32_t limit_min_SPI_SCLK_divisor = 2; |
whismanoid | 52:d3fb6f1722bf | 497 | const uint32_t limit_max_SPI_SCLK_divisor = 8191; |
whismanoid | 52:d3fb6f1722bf | 498 | #endif |
whismanoid | 52:d3fb6f1722bf | 499 | const uint32_t limit_max_SPI_SCLK_Hz = (SystemCoreClock / limit_min_SPI_SCLK_divisor); // F_CPU / 2; // 8MHz / 2 = 4MHz |
whismanoid | 52:d3fb6f1722bf | 500 | const uint32_t limit_min_SPI_SCLK_Hz = (SystemCoreClock / limit_max_SPI_SCLK_divisor); // F_CPU / 128; // 8MHz / 128 = 62.5kHz |
whismanoid | 52:d3fb6f1722bf | 501 | // |
whismanoid | 52:d3fb6f1722bf | 502 | uint8_t g_SPI_dataMode = SPI_MODE0; // TODO: missing definition SPI_dataMode; |
whismanoid | 52:d3fb6f1722bf | 503 | uint8_t g_SPI_cs_state = 1; |
whismanoid | 52:d3fb6f1722bf | 504 | // |
whismanoid | 52:d3fb6f1722bf | 505 | #endif |
whismanoid | 52:d3fb6f1722bf | 506 | |
whismanoid | 52:d3fb6f1722bf | 507 | |
whismanoid | 52:d3fb6f1722bf | 508 | |
whismanoid | 52:d3fb6f1722bf | 509 | // uncrustify-0.66.1 *INDENT-OFF* |
whismanoid | 52:d3fb6f1722bf | 510 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 511 | // Declare the AnalogIn driver |
whismanoid | 52:d3fb6f1722bf | 512 | // Optional analogIn support. If there is only one it should be analogIn1. |
whismanoid | 52:d3fb6f1722bf | 513 | // A) analog input |
whismanoid | 52:d3fb6f1722bf | 514 | #if defined(TARGET_MAX32630) |
whismanoid | 52:d3fb6f1722bf | 515 | #define HAS_analogIn0 1 |
whismanoid | 52:d3fb6f1722bf | 516 | #define HAS_analogIn1 1 |
whismanoid | 52:d3fb6f1722bf | 517 | #define HAS_analogIn2 1 |
whismanoid | 52:d3fb6f1722bf | 518 | #define HAS_analogIn3 1 |
whismanoid | 52:d3fb6f1722bf | 519 | #define HAS_analogIn4 1 |
whismanoid | 52:d3fb6f1722bf | 520 | #define HAS_analogIn5 1 |
whismanoid | 52:d3fb6f1722bf | 521 | #define HAS_analogIn6 1 |
whismanoid | 52:d3fb6f1722bf | 522 | #define HAS_analogIn7 1 |
whismanoid | 52:d3fb6f1722bf | 523 | #define HAS_analogIn8 1 |
whismanoid | 52:d3fb6f1722bf | 524 | #define HAS_analogIn9 1 |
whismanoid | 52:d3fb6f1722bf | 525 | // #define HAS_analogIn10 0 |
whismanoid | 52:d3fb6f1722bf | 526 | // #define HAS_analogIn11 0 |
whismanoid | 52:d3fb6f1722bf | 527 | // #define HAS_analogIn12 0 |
whismanoid | 52:d3fb6f1722bf | 528 | // #define HAS_analogIn13 0 |
whismanoid | 52:d3fb6f1722bf | 529 | // #define HAS_analogIn14 0 |
whismanoid | 52:d3fb6f1722bf | 530 | // #define HAS_analogIn15 0 |
whismanoid | 52:d3fb6f1722bf | 531 | #if HAS_analogIn0 |
whismanoid | 52:d3fb6f1722bf | 532 | AnalogIn analogIn0(AIN_0); // TARGET_MAX32630 J1.5 AIN_0 = AIN0 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 533 | #endif |
whismanoid | 52:d3fb6f1722bf | 534 | #if HAS_analogIn1 |
whismanoid | 52:d3fb6f1722bf | 535 | AnalogIn analogIn1(AIN_1); // TARGET_MAX32630 J1.6 AIN_1 = AIN1 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 536 | #endif |
whismanoid | 52:d3fb6f1722bf | 537 | #if HAS_analogIn2 |
whismanoid | 52:d3fb6f1722bf | 538 | AnalogIn analogIn2(AIN_2); // TARGET_MAX32630 J1.7 AIN_2 = AIN2 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 539 | #endif |
whismanoid | 52:d3fb6f1722bf | 540 | #if HAS_analogIn3 |
whismanoid | 52:d3fb6f1722bf | 541 | AnalogIn analogIn3(AIN_3); // TARGET_MAX32630 J1.8 AIN_3 = AIN3 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 542 | #endif |
whismanoid | 52:d3fb6f1722bf | 543 | #if HAS_analogIn4 |
whismanoid | 52:d3fb6f1722bf | 544 | AnalogIn analogIn4(AIN_4); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 545 | #endif |
whismanoid | 52:d3fb6f1722bf | 546 | #if HAS_analogIn5 |
whismanoid | 52:d3fb6f1722bf | 547 | AnalogIn analogIn5(AIN_5); // TARGET_MAX32630 J1.6 AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 548 | #endif |
whismanoid | 52:d3fb6f1722bf | 549 | #if HAS_analogIn6 |
whismanoid | 52:d3fb6f1722bf | 550 | AnalogIn analogIn6(AIN_6); // TARGET_MAX32630 AIN_6 = VDDB / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 551 | #endif |
whismanoid | 52:d3fb6f1722bf | 552 | #if HAS_analogIn7 |
whismanoid | 52:d3fb6f1722bf | 553 | AnalogIn analogIn7(AIN_7); // TARGET_MAX32630 AIN_7 = VDD18 fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 554 | #endif |
whismanoid | 52:d3fb6f1722bf | 555 | #if HAS_analogIn8 |
whismanoid | 52:d3fb6f1722bf | 556 | AnalogIn analogIn8(AIN_8); // TARGET_MAX32630 AIN_8 = VDD12 fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 557 | #endif |
whismanoid | 52:d3fb6f1722bf | 558 | #if HAS_analogIn9 |
whismanoid | 52:d3fb6f1722bf | 559 | AnalogIn analogIn9(AIN_9); // TARGET_MAX32630 AIN_9 = VRTC / 2.0 fullscale is 2.4V |
whismanoid | 52:d3fb6f1722bf | 560 | #endif |
whismanoid | 52:d3fb6f1722bf | 561 | #if HAS_analogIn10 |
whismanoid | 52:d3fb6f1722bf | 562 | AnalogIn analogIn10(____); // TARGET_MAX32630 AIN_10 = x undefined? |
whismanoid | 52:d3fb6f1722bf | 563 | #endif |
whismanoid | 52:d3fb6f1722bf | 564 | #if HAS_analogIn11 |
whismanoid | 52:d3fb6f1722bf | 565 | AnalogIn analogIn11(____); // TARGET_MAX32630 AIN_11 = VDDIO / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 566 | #endif |
whismanoid | 52:d3fb6f1722bf | 567 | #if HAS_analogIn12 |
whismanoid | 52:d3fb6f1722bf | 568 | AnalogIn analogIn12(____); // TARGET_MAX32630 AIN_12 = VDDIOH / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 569 | #endif |
whismanoid | 52:d3fb6f1722bf | 570 | #if HAS_analogIn13 |
whismanoid | 52:d3fb6f1722bf | 571 | AnalogIn analogIn13(____); |
whismanoid | 52:d3fb6f1722bf | 572 | #endif |
whismanoid | 52:d3fb6f1722bf | 573 | #if HAS_analogIn14 |
whismanoid | 52:d3fb6f1722bf | 574 | AnalogIn analogIn14(____); |
whismanoid | 52:d3fb6f1722bf | 575 | #endif |
whismanoid | 52:d3fb6f1722bf | 576 | #if HAS_analogIn15 |
whismanoid | 52:d3fb6f1722bf | 577 | AnalogIn analogIn15(____); |
whismanoid | 52:d3fb6f1722bf | 578 | #endif |
whismanoid | 52:d3fb6f1722bf | 579 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 580 | #elif defined(TARGET_MAX32625MBED) |
whismanoid | 52:d3fb6f1722bf | 581 | #define HAS_analogIn0 1 |
whismanoid | 52:d3fb6f1722bf | 582 | #define HAS_analogIn1 1 |
whismanoid | 52:d3fb6f1722bf | 583 | #define HAS_analogIn2 1 |
whismanoid | 52:d3fb6f1722bf | 584 | #define HAS_analogIn3 1 |
whismanoid | 52:d3fb6f1722bf | 585 | #define HAS_analogIn4 1 |
whismanoid | 52:d3fb6f1722bf | 586 | #define HAS_analogIn5 1 |
whismanoid | 52:d3fb6f1722bf | 587 | #if HAS_analogIn0 |
whismanoid | 52:d3fb6f1722bf | 588 | AnalogIn analogIn0(AIN_0); // TARGET_MAX32630 J1.5 AIN_0 = AIN0 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 589 | #endif |
whismanoid | 52:d3fb6f1722bf | 590 | #if HAS_analogIn1 |
whismanoid | 52:d3fb6f1722bf | 591 | AnalogIn analogIn1(AIN_1); // TARGET_MAX32630 J1.6 AIN_1 = AIN1 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 592 | #endif |
whismanoid | 52:d3fb6f1722bf | 593 | #if HAS_analogIn2 |
whismanoid | 52:d3fb6f1722bf | 594 | AnalogIn analogIn2(AIN_2); // TARGET_MAX32630 J1.7 AIN_2 = AIN2 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 595 | #endif |
whismanoid | 52:d3fb6f1722bf | 596 | #if HAS_analogIn3 |
whismanoid | 52:d3fb6f1722bf | 597 | AnalogIn analogIn3(AIN_3); // TARGET_MAX32630 J1.8 AIN_3 = AIN3 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 598 | #endif |
whismanoid | 52:d3fb6f1722bf | 599 | #if HAS_analogIn4 |
whismanoid | 52:d3fb6f1722bf | 600 | AnalogIn analogIn4(AIN_4); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 601 | #endif |
whismanoid | 52:d3fb6f1722bf | 602 | #if HAS_analogIn5 |
whismanoid | 52:d3fb6f1722bf | 603 | AnalogIn analogIn5(AIN_5); // TARGET_MAX32630 J1.6 AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 604 | #endif |
whismanoid | 52:d3fb6f1722bf | 605 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 606 | #elif defined(TARGET_MAX32620FTHR) |
whismanoid | 52:d3fb6f1722bf | 607 | #warning "TARGET_MAX32620FTHR not previously tested; need to verify analogIn0..." |
whismanoid | 52:d3fb6f1722bf | 608 | #define HAS_analogIn0 1 |
whismanoid | 52:d3fb6f1722bf | 609 | #define HAS_analogIn1 1 |
whismanoid | 52:d3fb6f1722bf | 610 | #define HAS_analogIn2 1 |
whismanoid | 52:d3fb6f1722bf | 611 | #define HAS_analogIn3 1 |
whismanoid | 52:d3fb6f1722bf | 612 | #define HAS_analogIn4 1 |
whismanoid | 52:d3fb6f1722bf | 613 | #define HAS_analogIn5 1 |
whismanoid | 52:d3fb6f1722bf | 614 | #define HAS_analogIn6 1 |
whismanoid | 52:d3fb6f1722bf | 615 | #define HAS_analogIn7 1 |
whismanoid | 52:d3fb6f1722bf | 616 | #define HAS_analogIn8 1 |
whismanoid | 52:d3fb6f1722bf | 617 | #define HAS_analogIn9 1 |
whismanoid | 52:d3fb6f1722bf | 618 | // #define HAS_analogIn10 0 |
whismanoid | 52:d3fb6f1722bf | 619 | // #define HAS_analogIn11 0 |
whismanoid | 52:d3fb6f1722bf | 620 | // #define HAS_analogIn12 0 |
whismanoid | 52:d3fb6f1722bf | 621 | // #define HAS_analogIn13 0 |
whismanoid | 52:d3fb6f1722bf | 622 | // #define HAS_analogIn14 0 |
whismanoid | 52:d3fb6f1722bf | 623 | // #define HAS_analogIn15 0 |
whismanoid | 52:d3fb6f1722bf | 624 | #if HAS_analogIn0 |
whismanoid | 52:d3fb6f1722bf | 625 | AnalogIn analogIn0(AIN_0); // TARGET_MAX32620FTHR J1.5 AIN_0 = AIN0 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 626 | #endif |
whismanoid | 52:d3fb6f1722bf | 627 | #if HAS_analogIn1 |
whismanoid | 52:d3fb6f1722bf | 628 | AnalogIn analogIn1(AIN_1); // TARGET_MAX32620FTHR J1.6 AIN_1 = AIN1 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 629 | #endif |
whismanoid | 52:d3fb6f1722bf | 630 | #if HAS_analogIn2 |
whismanoid | 52:d3fb6f1722bf | 631 | AnalogIn analogIn2(AIN_2); // TARGET_MAX32620FTHR J1.7 AIN_2 = AIN2 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 632 | #endif |
whismanoid | 52:d3fb6f1722bf | 633 | #if HAS_analogIn3 |
whismanoid | 52:d3fb6f1722bf | 634 | AnalogIn analogIn3(AIN_3); // TARGET_MAX32620FTHR J1.8 AIN_3 = AIN3 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 635 | #endif |
whismanoid | 52:d3fb6f1722bf | 636 | #if HAS_analogIn4 |
whismanoid | 52:d3fb6f1722bf | 637 | AnalogIn analogIn4(AIN_4); // TARGET_MAX32620FTHR J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 638 | #endif |
whismanoid | 52:d3fb6f1722bf | 639 | #if HAS_analogIn5 |
whismanoid | 52:d3fb6f1722bf | 640 | AnalogIn analogIn5(AIN_5); // TARGET_MAX32620FTHR J1.6 AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 641 | #endif |
whismanoid | 52:d3fb6f1722bf | 642 | #if HAS_analogIn6 |
whismanoid | 52:d3fb6f1722bf | 643 | AnalogIn analogIn6(AIN_6); // TARGET_MAX32620FTHR AIN_6 = VDDB / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 644 | #endif |
whismanoid | 52:d3fb6f1722bf | 645 | #if HAS_analogIn7 |
whismanoid | 52:d3fb6f1722bf | 646 | AnalogIn analogIn7(AIN_7); // TARGET_MAX32620FTHR AIN_7 = VDD18 fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 647 | #endif |
whismanoid | 52:d3fb6f1722bf | 648 | #if HAS_analogIn8 |
whismanoid | 52:d3fb6f1722bf | 649 | AnalogIn analogIn8(AIN_8); // TARGET_MAX32620FTHR AIN_8 = VDD12 fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 650 | #endif |
whismanoid | 52:d3fb6f1722bf | 651 | #if HAS_analogIn9 |
whismanoid | 52:d3fb6f1722bf | 652 | AnalogIn analogIn9(AIN_9); // TARGET_MAX32620FTHR AIN_9 = VRTC / 2.0 fullscale is 2.4V |
whismanoid | 52:d3fb6f1722bf | 653 | #endif |
whismanoid | 52:d3fb6f1722bf | 654 | #if HAS_analogIn10 |
whismanoid | 52:d3fb6f1722bf | 655 | AnalogIn analogIn10(____); // TARGET_MAX32620FTHR AIN_10 = x undefined? |
whismanoid | 52:d3fb6f1722bf | 656 | #endif |
whismanoid | 52:d3fb6f1722bf | 657 | #if HAS_analogIn11 |
whismanoid | 52:d3fb6f1722bf | 658 | AnalogIn analogIn11(____); // TARGET_MAX32620FTHR AIN_11 = VDDIO / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 659 | #endif |
whismanoid | 52:d3fb6f1722bf | 660 | #if HAS_analogIn12 |
whismanoid | 52:d3fb6f1722bf | 661 | AnalogIn analogIn12(____); // TARGET_MAX32620FTHR AIN_12 = VDDIOH / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 662 | #endif |
whismanoid | 52:d3fb6f1722bf | 663 | #if HAS_analogIn13 |
whismanoid | 52:d3fb6f1722bf | 664 | AnalogIn analogIn13(____); |
whismanoid | 52:d3fb6f1722bf | 665 | #endif |
whismanoid | 52:d3fb6f1722bf | 666 | #if HAS_analogIn14 |
whismanoid | 52:d3fb6f1722bf | 667 | AnalogIn analogIn14(____); |
whismanoid | 52:d3fb6f1722bf | 668 | #endif |
whismanoid | 52:d3fb6f1722bf | 669 | #if HAS_analogIn15 |
whismanoid | 52:d3fb6f1722bf | 670 | AnalogIn analogIn15(____); |
whismanoid | 52:d3fb6f1722bf | 671 | #endif |
whismanoid | 52:d3fb6f1722bf | 672 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 673 | #elif defined(TARGET_MAX32625PICO) |
whismanoid | 52:d3fb6f1722bf | 674 | #warning "TARGET_MAX32625PICO not previously tested; need to verify analogIn0..." |
whismanoid | 52:d3fb6f1722bf | 675 | #define HAS_analogIn0 1 |
whismanoid | 52:d3fb6f1722bf | 676 | #define HAS_analogIn1 1 |
whismanoid | 52:d3fb6f1722bf | 677 | #define HAS_analogIn2 1 |
whismanoid | 52:d3fb6f1722bf | 678 | #define HAS_analogIn3 1 |
whismanoid | 52:d3fb6f1722bf | 679 | #define HAS_analogIn4 1 |
whismanoid | 52:d3fb6f1722bf | 680 | #define HAS_analogIn5 1 |
whismanoid | 52:d3fb6f1722bf | 681 | #if HAS_analogIn0 |
whismanoid | 52:d3fb6f1722bf | 682 | AnalogIn analogIn0(AIN_0); // TARGET_MAX32630 J1.5 AIN_0 = AIN0 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 683 | #endif |
whismanoid | 52:d3fb6f1722bf | 684 | #if HAS_analogIn1 |
whismanoid | 52:d3fb6f1722bf | 685 | AnalogIn analogIn1(AIN_1); // TARGET_MAX32630 J1.6 AIN_1 = AIN1 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 686 | #endif |
whismanoid | 52:d3fb6f1722bf | 687 | #if HAS_analogIn2 |
whismanoid | 52:d3fb6f1722bf | 688 | AnalogIn analogIn2(AIN_2); // TARGET_MAX32630 J1.7 AIN_2 = AIN2 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 689 | #endif |
whismanoid | 52:d3fb6f1722bf | 690 | #if HAS_analogIn3 |
whismanoid | 52:d3fb6f1722bf | 691 | AnalogIn analogIn3(AIN_3); // TARGET_MAX32630 J1.8 AIN_3 = AIN3 pin fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 692 | #endif |
whismanoid | 52:d3fb6f1722bf | 693 | #if HAS_analogIn4 |
whismanoid | 52:d3fb6f1722bf | 694 | AnalogIn analogIn4(AIN_4); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 695 | #endif |
whismanoid | 52:d3fb6f1722bf | 696 | #if HAS_analogIn5 |
whismanoid | 52:d3fb6f1722bf | 697 | AnalogIn analogIn5(AIN_5); // TARGET_MAX32630 J1.6 AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 698 | #endif |
whismanoid | 52:d3fb6f1722bf | 699 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 700 | #elif defined(TARGET_MAX32600) |
whismanoid | 52:d3fb6f1722bf | 701 | #define HAS_analogIn0 1 |
whismanoid | 52:d3fb6f1722bf | 702 | #define HAS_analogIn1 1 |
whismanoid | 52:d3fb6f1722bf | 703 | #define HAS_analogIn2 1 |
whismanoid | 52:d3fb6f1722bf | 704 | #define HAS_analogIn3 1 |
whismanoid | 52:d3fb6f1722bf | 705 | #define HAS_analogIn4 1 |
whismanoid | 52:d3fb6f1722bf | 706 | #define HAS_analogIn5 1 |
whismanoid | 52:d3fb6f1722bf | 707 | #if HAS_analogIn0 |
whismanoid | 52:d3fb6f1722bf | 708 | AnalogIn analogIn0(A0); |
whismanoid | 52:d3fb6f1722bf | 709 | #endif |
whismanoid | 52:d3fb6f1722bf | 710 | #if HAS_analogIn1 |
whismanoid | 52:d3fb6f1722bf | 711 | AnalogIn analogIn1(A1); |
whismanoid | 52:d3fb6f1722bf | 712 | #endif |
whismanoid | 52:d3fb6f1722bf | 713 | #if HAS_analogIn2 |
whismanoid | 52:d3fb6f1722bf | 714 | AnalogIn analogIn2(A2); |
whismanoid | 52:d3fb6f1722bf | 715 | #endif |
whismanoid | 52:d3fb6f1722bf | 716 | #if HAS_analogIn3 |
whismanoid | 52:d3fb6f1722bf | 717 | AnalogIn analogIn3(A3); |
whismanoid | 52:d3fb6f1722bf | 718 | #endif |
whismanoid | 52:d3fb6f1722bf | 719 | #if HAS_analogIn4 |
whismanoid | 52:d3fb6f1722bf | 720 | AnalogIn analogIn4(A4); |
whismanoid | 52:d3fb6f1722bf | 721 | #endif |
whismanoid | 52:d3fb6f1722bf | 722 | #if HAS_analogIn5 |
whismanoid | 52:d3fb6f1722bf | 723 | AnalogIn analogIn5(A5); |
whismanoid | 52:d3fb6f1722bf | 724 | #endif |
whismanoid | 52:d3fb6f1722bf | 725 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 726 | #elif defined(TARGET_NUCLEO_F446RE) |
whismanoid | 52:d3fb6f1722bf | 727 | #define HAS_analogIn0 1 |
whismanoid | 52:d3fb6f1722bf | 728 | #define HAS_analogIn1 1 |
whismanoid | 52:d3fb6f1722bf | 729 | #define HAS_analogIn2 1 |
whismanoid | 52:d3fb6f1722bf | 730 | #define HAS_analogIn3 1 |
whismanoid | 52:d3fb6f1722bf | 731 | #define HAS_analogIn4 1 |
whismanoid | 52:d3fb6f1722bf | 732 | #define HAS_analogIn5 1 |
whismanoid | 52:d3fb6f1722bf | 733 | #if HAS_analogIn0 |
whismanoid | 52:d3fb6f1722bf | 734 | AnalogIn analogIn0(A0); |
whismanoid | 52:d3fb6f1722bf | 735 | #endif |
whismanoid | 52:d3fb6f1722bf | 736 | #if HAS_analogIn1 |
whismanoid | 52:d3fb6f1722bf | 737 | AnalogIn analogIn1(A1); |
whismanoid | 52:d3fb6f1722bf | 738 | #endif |
whismanoid | 52:d3fb6f1722bf | 739 | #if HAS_analogIn2 |
whismanoid | 52:d3fb6f1722bf | 740 | AnalogIn analogIn2(A2); |
whismanoid | 52:d3fb6f1722bf | 741 | #endif |
whismanoid | 52:d3fb6f1722bf | 742 | #if HAS_analogIn3 |
whismanoid | 52:d3fb6f1722bf | 743 | AnalogIn analogIn3(A3); |
whismanoid | 52:d3fb6f1722bf | 744 | #endif |
whismanoid | 52:d3fb6f1722bf | 745 | #if HAS_analogIn4 |
whismanoid | 52:d3fb6f1722bf | 746 | AnalogIn analogIn4(A4); |
whismanoid | 52:d3fb6f1722bf | 747 | #endif |
whismanoid | 52:d3fb6f1722bf | 748 | #if HAS_analogIn5 |
whismanoid | 52:d3fb6f1722bf | 749 | AnalogIn analogIn5(A5); |
whismanoid | 52:d3fb6f1722bf | 750 | #endif |
whismanoid | 52:d3fb6f1722bf | 751 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 752 | #elif defined(TARGET_NUCLEO_F401RE) |
whismanoid | 52:d3fb6f1722bf | 753 | #define HAS_analogIn0 1 |
whismanoid | 52:d3fb6f1722bf | 754 | #define HAS_analogIn1 1 |
whismanoid | 52:d3fb6f1722bf | 755 | #define HAS_analogIn2 1 |
whismanoid | 52:d3fb6f1722bf | 756 | #define HAS_analogIn3 1 |
whismanoid | 52:d3fb6f1722bf | 757 | #define HAS_analogIn4 1 |
whismanoid | 52:d3fb6f1722bf | 758 | #define HAS_analogIn5 1 |
whismanoid | 52:d3fb6f1722bf | 759 | #if HAS_analogIn0 |
whismanoid | 52:d3fb6f1722bf | 760 | AnalogIn analogIn0(A0); |
whismanoid | 52:d3fb6f1722bf | 761 | #endif |
whismanoid | 52:d3fb6f1722bf | 762 | #if HAS_analogIn1 |
whismanoid | 52:d3fb6f1722bf | 763 | AnalogIn analogIn1(A1); |
whismanoid | 52:d3fb6f1722bf | 764 | #endif |
whismanoid | 52:d3fb6f1722bf | 765 | #if HAS_analogIn2 |
whismanoid | 52:d3fb6f1722bf | 766 | AnalogIn analogIn2(A2); |
whismanoid | 52:d3fb6f1722bf | 767 | #endif |
whismanoid | 52:d3fb6f1722bf | 768 | #if HAS_analogIn3 |
whismanoid | 52:d3fb6f1722bf | 769 | AnalogIn analogIn3(A3); |
whismanoid | 52:d3fb6f1722bf | 770 | #endif |
whismanoid | 52:d3fb6f1722bf | 771 | #if HAS_analogIn4 |
whismanoid | 52:d3fb6f1722bf | 772 | AnalogIn analogIn4(A4); |
whismanoid | 52:d3fb6f1722bf | 773 | #endif |
whismanoid | 52:d3fb6f1722bf | 774 | #if HAS_analogIn5 |
whismanoid | 52:d3fb6f1722bf | 775 | AnalogIn analogIn5(A5); |
whismanoid | 52:d3fb6f1722bf | 776 | #endif |
whismanoid | 52:d3fb6f1722bf | 777 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 778 | // TODO1: TARGET=MAX32625MBED ARM Cortex-M4F 96MHz 512kB Flash 160kB SRAM |
whismanoid | 52:d3fb6f1722bf | 779 | #elif defined(TARGET_LPC1768) |
whismanoid | 52:d3fb6f1722bf | 780 | #define HAS_analogIn0 1 |
whismanoid | 52:d3fb6f1722bf | 781 | #define HAS_analogIn1 1 |
whismanoid | 52:d3fb6f1722bf | 782 | #define HAS_analogIn2 1 |
whismanoid | 52:d3fb6f1722bf | 783 | #define HAS_analogIn3 1 |
whismanoid | 52:d3fb6f1722bf | 784 | #define HAS_analogIn4 1 |
whismanoid | 52:d3fb6f1722bf | 785 | #define HAS_analogIn5 1 |
whismanoid | 52:d3fb6f1722bf | 786 | // #define HAS_analogIn6 1 |
whismanoid | 52:d3fb6f1722bf | 787 | // #define HAS_analogIn7 1 |
whismanoid | 52:d3fb6f1722bf | 788 | // #define HAS_analogIn8 1 |
whismanoid | 52:d3fb6f1722bf | 789 | // #define HAS_analogIn9 1 |
whismanoid | 52:d3fb6f1722bf | 790 | // #define HAS_analogIn10 1 |
whismanoid | 52:d3fb6f1722bf | 791 | // #define HAS_analogIn11 1 |
whismanoid | 52:d3fb6f1722bf | 792 | // #define HAS_analogIn12 1 |
whismanoid | 52:d3fb6f1722bf | 793 | // #define HAS_analogIn13 1 |
whismanoid | 52:d3fb6f1722bf | 794 | // #define HAS_analogIn14 1 |
whismanoid | 52:d3fb6f1722bf | 795 | // #define HAS_analogIn15 1 |
whismanoid | 52:d3fb6f1722bf | 796 | #if HAS_analogIn0 |
whismanoid | 52:d3fb6f1722bf | 797 | AnalogIn analogIn0(p15); // TARGET_LPC1768 P0.23/AD0.0/I2SRX_CLK/CAP3.0 |
whismanoid | 52:d3fb6f1722bf | 798 | #endif |
whismanoid | 52:d3fb6f1722bf | 799 | #if HAS_analogIn1 |
whismanoid | 52:d3fb6f1722bf | 800 | AnalogIn analogIn1(p16); // TARGET_LPC1768 P0.24/AD0.1/I2SRX_WS/CAP3.1 |
whismanoid | 52:d3fb6f1722bf | 801 | #endif |
whismanoid | 52:d3fb6f1722bf | 802 | #if HAS_analogIn2 |
whismanoid | 52:d3fb6f1722bf | 803 | AnalogIn analogIn2(p17); // TARGET_LPC1768 P0.25/AD0.2/I2SRX_SDA/TXD3 |
whismanoid | 52:d3fb6f1722bf | 804 | #endif |
whismanoid | 52:d3fb6f1722bf | 805 | #if HAS_analogIn3 |
whismanoid | 52:d3fb6f1722bf | 806 | AnalogIn analogIn3(p18); // TARGET_LPC1768 P0.26/AD0.3/AOUT/RXD3 |
whismanoid | 52:d3fb6f1722bf | 807 | #endif |
whismanoid | 52:d3fb6f1722bf | 808 | #if HAS_analogIn4 |
whismanoid | 52:d3fb6f1722bf | 809 | AnalogIn analogIn4(p19); // TARGET_LPC1768 P1.30/VBUS/AD0.4 |
whismanoid | 52:d3fb6f1722bf | 810 | #endif |
whismanoid | 52:d3fb6f1722bf | 811 | #if HAS_analogIn5 |
whismanoid | 52:d3fb6f1722bf | 812 | AnalogIn analogIn5(p20); // TARGET_LPC1768 P1.31/SCK1/AD0.5 |
whismanoid | 52:d3fb6f1722bf | 813 | #endif |
whismanoid | 52:d3fb6f1722bf | 814 | #if HAS_analogIn6 |
whismanoid | 52:d3fb6f1722bf | 815 | AnalogIn analogIn6(____); |
whismanoid | 52:d3fb6f1722bf | 816 | #endif |
whismanoid | 52:d3fb6f1722bf | 817 | #if HAS_analogIn7 |
whismanoid | 52:d3fb6f1722bf | 818 | AnalogIn analogIn7(____); |
whismanoid | 52:d3fb6f1722bf | 819 | #endif |
whismanoid | 52:d3fb6f1722bf | 820 | #if HAS_analogIn8 |
whismanoid | 52:d3fb6f1722bf | 821 | AnalogIn analogIn8(____); |
whismanoid | 52:d3fb6f1722bf | 822 | #endif |
whismanoid | 52:d3fb6f1722bf | 823 | #if HAS_analogIn9 |
whismanoid | 52:d3fb6f1722bf | 824 | AnalogIn analogIn9(____); |
whismanoid | 52:d3fb6f1722bf | 825 | #endif |
whismanoid | 52:d3fb6f1722bf | 826 | #if HAS_analogIn10 |
whismanoid | 52:d3fb6f1722bf | 827 | AnalogIn analogIn10(____); |
whismanoid | 52:d3fb6f1722bf | 828 | #endif |
whismanoid | 52:d3fb6f1722bf | 829 | #if HAS_analogIn11 |
whismanoid | 52:d3fb6f1722bf | 830 | AnalogIn analogIn11(____); |
whismanoid | 52:d3fb6f1722bf | 831 | #endif |
whismanoid | 52:d3fb6f1722bf | 832 | #if HAS_analogIn12 |
whismanoid | 52:d3fb6f1722bf | 833 | AnalogIn analogIn12(____); |
whismanoid | 52:d3fb6f1722bf | 834 | #endif |
whismanoid | 52:d3fb6f1722bf | 835 | #if HAS_analogIn13 |
whismanoid | 52:d3fb6f1722bf | 836 | AnalogIn analogIn13(____); |
whismanoid | 52:d3fb6f1722bf | 837 | #endif |
whismanoid | 52:d3fb6f1722bf | 838 | #if HAS_analogIn14 |
whismanoid | 52:d3fb6f1722bf | 839 | AnalogIn analogIn14(____); |
whismanoid | 52:d3fb6f1722bf | 840 | #endif |
whismanoid | 52:d3fb6f1722bf | 841 | #if HAS_analogIn15 |
whismanoid | 52:d3fb6f1722bf | 842 | AnalogIn analogIn15(____); |
whismanoid | 52:d3fb6f1722bf | 843 | #endif |
whismanoid | 52:d3fb6f1722bf | 844 | #else |
whismanoid | 52:d3fb6f1722bf | 845 | // unknown target |
whismanoid | 52:d3fb6f1722bf | 846 | #endif |
whismanoid | 52:d3fb6f1722bf | 847 | // uncrustify-0.66.1 *INDENT-ON* |
whismanoid | 52:d3fb6f1722bf | 848 | #if HAS_analogIn0 || HAS_analogIn1 \ |
whismanoid | 52:d3fb6f1722bf | 849 | || HAS_analogIn2 || HAS_analogIn3 \ |
whismanoid | 52:d3fb6f1722bf | 850 | || HAS_analogIn4 || HAS_analogIn5 \ |
whismanoid | 52:d3fb6f1722bf | 851 | || HAS_analogIn6 || HAS_analogIn7 \ |
whismanoid | 52:d3fb6f1722bf | 852 | || HAS_analogIn8 || HAS_analogIn9 \ |
whismanoid | 52:d3fb6f1722bf | 853 | || HAS_analogIn10 || HAS_analogIn11 \ |
whismanoid | 52:d3fb6f1722bf | 854 | || HAS_analogIn12 || HAS_analogIn13 \ |
whismanoid | 52:d3fb6f1722bf | 855 | || HAS_analogIn14 || HAS_analogIn15 |
whismanoid | 52:d3fb6f1722bf | 856 | #define HAS_analogIns 1 |
whismanoid | 52:d3fb6f1722bf | 857 | #endif |
whismanoid | 52:d3fb6f1722bf | 858 | |
whismanoid | 52:d3fb6f1722bf | 859 | |
whismanoid | 52:d3fb6f1722bf | 860 | |
whismanoid | 52:d3fb6f1722bf | 861 | // AnalogIn pin resource: search index |
whismanoid | 52:d3fb6f1722bf | 862 | #if HAS_analogIns |
whismanoid | 52:d3fb6f1722bf | 863 | AnalogIn& find_analogInPin(int cPinIndex) |
whismanoid | 52:d3fb6f1722bf | 864 | { |
whismanoid | 52:d3fb6f1722bf | 865 | switch (cPinIndex) |
whismanoid | 52:d3fb6f1722bf | 866 | { |
whismanoid | 52:d3fb6f1722bf | 867 | default: // default to the first defined analogIn pin |
whismanoid | 52:d3fb6f1722bf | 868 | #if HAS_analogIn0 |
whismanoid | 52:d3fb6f1722bf | 869 | case '0': case 0x00: return analogIn0; |
whismanoid | 52:d3fb6f1722bf | 870 | #endif |
whismanoid | 52:d3fb6f1722bf | 871 | #if HAS_analogIn1 |
whismanoid | 52:d3fb6f1722bf | 872 | case '1': case 0x01: return analogIn1; |
whismanoid | 52:d3fb6f1722bf | 873 | #endif |
whismanoid | 52:d3fb6f1722bf | 874 | #if HAS_analogIn2 |
whismanoid | 52:d3fb6f1722bf | 875 | case '2': case 0x02: return analogIn2; |
whismanoid | 52:d3fb6f1722bf | 876 | #endif |
whismanoid | 52:d3fb6f1722bf | 877 | #if HAS_analogIn3 |
whismanoid | 52:d3fb6f1722bf | 878 | case '3': case 0x03: return analogIn3; |
whismanoid | 52:d3fb6f1722bf | 879 | #endif |
whismanoid | 52:d3fb6f1722bf | 880 | #if HAS_analogIn4 |
whismanoid | 52:d3fb6f1722bf | 881 | case '4': case 0x04: return analogIn4; |
whismanoid | 52:d3fb6f1722bf | 882 | #endif |
whismanoid | 52:d3fb6f1722bf | 883 | #if HAS_analogIn5 |
whismanoid | 52:d3fb6f1722bf | 884 | case '5': case 0x05: return analogIn5; |
whismanoid | 52:d3fb6f1722bf | 885 | #endif |
whismanoid | 52:d3fb6f1722bf | 886 | #if HAS_analogIn6 |
whismanoid | 52:d3fb6f1722bf | 887 | case '6': case 0x06: return analogIn6; |
whismanoid | 52:d3fb6f1722bf | 888 | #endif |
whismanoid | 52:d3fb6f1722bf | 889 | #if HAS_analogIn7 |
whismanoid | 52:d3fb6f1722bf | 890 | case '7': case 0x07: return analogIn7; |
whismanoid | 52:d3fb6f1722bf | 891 | #endif |
whismanoid | 52:d3fb6f1722bf | 892 | #if HAS_analogIn8 |
whismanoid | 52:d3fb6f1722bf | 893 | case '8': case 0x08: return analogIn8; |
whismanoid | 52:d3fb6f1722bf | 894 | #endif |
whismanoid | 52:d3fb6f1722bf | 895 | #if HAS_analogIn9 |
whismanoid | 52:d3fb6f1722bf | 896 | case '9': case 0x09: return analogIn9; |
whismanoid | 52:d3fb6f1722bf | 897 | #endif |
whismanoid | 52:d3fb6f1722bf | 898 | #if HAS_analogIn10 |
whismanoid | 52:d3fb6f1722bf | 899 | case 'a': case 0x0a: return analogIn10; |
whismanoid | 52:d3fb6f1722bf | 900 | #endif |
whismanoid | 52:d3fb6f1722bf | 901 | #if HAS_analogIn11 |
whismanoid | 52:d3fb6f1722bf | 902 | case 'b': case 0x0b: return analogIn11; |
whismanoid | 52:d3fb6f1722bf | 903 | #endif |
whismanoid | 52:d3fb6f1722bf | 904 | #if HAS_analogIn12 |
whismanoid | 52:d3fb6f1722bf | 905 | case 'c': case 0x0c: return analogIn12; |
whismanoid | 52:d3fb6f1722bf | 906 | #endif |
whismanoid | 52:d3fb6f1722bf | 907 | #if HAS_analogIn13 |
whismanoid | 52:d3fb6f1722bf | 908 | case 'd': case 0x0d: return analogIn13; |
whismanoid | 52:d3fb6f1722bf | 909 | #endif |
whismanoid | 52:d3fb6f1722bf | 910 | #if HAS_analogIn14 |
whismanoid | 52:d3fb6f1722bf | 911 | case 'e': case 0x0e: return analogIn14; |
whismanoid | 52:d3fb6f1722bf | 912 | #endif |
whismanoid | 52:d3fb6f1722bf | 913 | #if HAS_analogIn15 |
whismanoid | 52:d3fb6f1722bf | 914 | case 'f': case 0x0f: return analogIn15; |
whismanoid | 52:d3fb6f1722bf | 915 | #endif |
whismanoid | 52:d3fb6f1722bf | 916 | } |
whismanoid | 52:d3fb6f1722bf | 917 | } |
whismanoid | 52:d3fb6f1722bf | 918 | #endif |
whismanoid | 52:d3fb6f1722bf | 919 | |
whismanoid | 52:d3fb6f1722bf | 920 | #if HAS_analogIns |
whismanoid | 52:d3fb6f1722bf | 921 | const float analogInPin_fullScaleVoltage[] = { |
whismanoid | 52:d3fb6f1722bf | 922 | # if defined(TARGET_MAX32630) |
whismanoid | 52:d3fb6f1722bf | 923 | ADC_FULL_SCALE_VOLTAGE, // analogIn0 |
whismanoid | 52:d3fb6f1722bf | 924 | ADC_FULL_SCALE_VOLTAGE, // analogIn1 |
whismanoid | 52:d3fb6f1722bf | 925 | ADC_FULL_SCALE_VOLTAGE, // analogIn2 |
whismanoid | 52:d3fb6f1722bf | 926 | ADC_FULL_SCALE_VOLTAGE, // analogIn3 |
whismanoid | 52:d3fb6f1722bf | 927 | ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 928 | ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 929 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn6 // AIN_6 = VDDB / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 930 | ADC_FULL_SCALE_VOLTAGE, // analogIn7 // AIN_7 = VDD18 fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 931 | ADC_FULL_SCALE_VOLTAGE, // analogIn8 // AIN_8 = VDD12 fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 932 | ADC_FULL_SCALE_VOLTAGE * 2.0f, // analogIn9 // AIN_9 = VRTC / 2.0 fullscale is 2.4V |
whismanoid | 52:d3fb6f1722bf | 933 | ADC_FULL_SCALE_VOLTAGE, // analogIn10 // AIN_10 = x undefined? |
whismanoid | 52:d3fb6f1722bf | 934 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn11 // AIN_11 = VDDIO / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 935 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn12 // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 936 | ADC_FULL_SCALE_VOLTAGE, // analogIn13 |
whismanoid | 52:d3fb6f1722bf | 937 | ADC_FULL_SCALE_VOLTAGE, // analogIn14 |
whismanoid | 52:d3fb6f1722bf | 938 | ADC_FULL_SCALE_VOLTAGE // analogIn15 |
whismanoid | 52:d3fb6f1722bf | 939 | # elif defined(TARGET_MAX32620FTHR) |
whismanoid | 52:d3fb6f1722bf | 940 | #warning "TARGET_MAX32620FTHR not previously tested; need to verify analogIn0..." |
whismanoid | 52:d3fb6f1722bf | 941 | ADC_FULL_SCALE_VOLTAGE, // analogIn0 |
whismanoid | 52:d3fb6f1722bf | 942 | ADC_FULL_SCALE_VOLTAGE, // analogIn1 |
whismanoid | 52:d3fb6f1722bf | 943 | ADC_FULL_SCALE_VOLTAGE, // analogIn2 |
whismanoid | 52:d3fb6f1722bf | 944 | ADC_FULL_SCALE_VOLTAGE, // analogIn3 |
whismanoid | 52:d3fb6f1722bf | 945 | ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 946 | ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 947 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn6 // AIN_6 = VDDB / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 948 | ADC_FULL_SCALE_VOLTAGE, // analogIn7 // AIN_7 = VDD18 fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 949 | ADC_FULL_SCALE_VOLTAGE, // analogIn8 // AIN_8 = VDD12 fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 950 | ADC_FULL_SCALE_VOLTAGE * 2.0f, // analogIn9 // AIN_9 = VRTC / 2.0 fullscale is 2.4V |
whismanoid | 52:d3fb6f1722bf | 951 | ADC_FULL_SCALE_VOLTAGE, // analogIn10 // AIN_10 = x undefined? |
whismanoid | 52:d3fb6f1722bf | 952 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn11 // AIN_11 = VDDIO / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 953 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn12 // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 954 | ADC_FULL_SCALE_VOLTAGE, // analogIn13 |
whismanoid | 52:d3fb6f1722bf | 955 | ADC_FULL_SCALE_VOLTAGE, // analogIn14 |
whismanoid | 52:d3fb6f1722bf | 956 | ADC_FULL_SCALE_VOLTAGE // analogIn15 |
whismanoid | 52:d3fb6f1722bf | 957 | #elif defined(TARGET_MAX32625MBED) |
whismanoid | 52:d3fb6f1722bf | 958 | ADC_FULL_SCALE_VOLTAGE * 1.0f, // analogIn0 // fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 959 | ADC_FULL_SCALE_VOLTAGE * 1.0f, // analogIn1 // fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 960 | ADC_FULL_SCALE_VOLTAGE * 1.0f, // analogIn2 // fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 961 | ADC_FULL_SCALE_VOLTAGE * 1.0f, // analogIn3 // fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 962 | ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 963 | ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 964 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn6 // AIN_6 = VDDB / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 965 | ADC_FULL_SCALE_VOLTAGE, // analogIn7 // AIN_7 = VDD18 fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 966 | ADC_FULL_SCALE_VOLTAGE, // analogIn8 // AIN_8 = VDD12 fullscale is 1.2V |
whismanoid | 52:d3fb6f1722bf | 967 | ADC_FULL_SCALE_VOLTAGE * 2.0f, // analogIn9 // AIN_9 = VRTC / 2.0 fullscale is 2.4V |
whismanoid | 52:d3fb6f1722bf | 968 | ADC_FULL_SCALE_VOLTAGE, // analogIn10 // AIN_10 = x undefined? |
whismanoid | 52:d3fb6f1722bf | 969 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn11 // AIN_11 = VDDIO / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 970 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn12 // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V |
whismanoid | 52:d3fb6f1722bf | 971 | ADC_FULL_SCALE_VOLTAGE, // analogIn13 |
whismanoid | 52:d3fb6f1722bf | 972 | ADC_FULL_SCALE_VOLTAGE, // analogIn14 |
whismanoid | 52:d3fb6f1722bf | 973 | ADC_FULL_SCALE_VOLTAGE // analogIn15 |
whismanoid | 52:d3fb6f1722bf | 974 | #elif defined(TARGET_NUCLEO_F446RE) |
whismanoid | 52:d3fb6f1722bf | 975 | ADC_FULL_SCALE_VOLTAGE, // analogIn0 |
whismanoid | 52:d3fb6f1722bf | 976 | ADC_FULL_SCALE_VOLTAGE, // analogIn1 |
whismanoid | 52:d3fb6f1722bf | 977 | ADC_FULL_SCALE_VOLTAGE, // analogIn2 |
whismanoid | 52:d3fb6f1722bf | 978 | ADC_FULL_SCALE_VOLTAGE, // analogIn3 |
whismanoid | 52:d3fb6f1722bf | 979 | ADC_FULL_SCALE_VOLTAGE, // analogIn4 |
whismanoid | 52:d3fb6f1722bf | 980 | ADC_FULL_SCALE_VOLTAGE, // analogIn5 |
whismanoid | 52:d3fb6f1722bf | 981 | ADC_FULL_SCALE_VOLTAGE, // analogIn6 |
whismanoid | 52:d3fb6f1722bf | 982 | ADC_FULL_SCALE_VOLTAGE, // analogIn7 |
whismanoid | 52:d3fb6f1722bf | 983 | ADC_FULL_SCALE_VOLTAGE, // analogIn8 |
whismanoid | 52:d3fb6f1722bf | 984 | ADC_FULL_SCALE_VOLTAGE, // analogIn9 |
whismanoid | 52:d3fb6f1722bf | 985 | ADC_FULL_SCALE_VOLTAGE, // analogIn10 |
whismanoid | 52:d3fb6f1722bf | 986 | ADC_FULL_SCALE_VOLTAGE, // analogIn11 |
whismanoid | 52:d3fb6f1722bf | 987 | ADC_FULL_SCALE_VOLTAGE, // analogIn12 |
whismanoid | 52:d3fb6f1722bf | 988 | ADC_FULL_SCALE_VOLTAGE, // analogIn13 |
whismanoid | 52:d3fb6f1722bf | 989 | ADC_FULL_SCALE_VOLTAGE, // analogIn14 |
whismanoid | 52:d3fb6f1722bf | 990 | ADC_FULL_SCALE_VOLTAGE // analogIn15 |
whismanoid | 52:d3fb6f1722bf | 991 | #elif defined(TARGET_NUCLEO_F401RE) |
whismanoid | 52:d3fb6f1722bf | 992 | ADC_FULL_SCALE_VOLTAGE, // analogIn0 |
whismanoid | 52:d3fb6f1722bf | 993 | ADC_FULL_SCALE_VOLTAGE, // analogIn1 |
whismanoid | 52:d3fb6f1722bf | 994 | ADC_FULL_SCALE_VOLTAGE, // analogIn2 |
whismanoid | 52:d3fb6f1722bf | 995 | ADC_FULL_SCALE_VOLTAGE, // analogIn3 |
whismanoid | 52:d3fb6f1722bf | 996 | ADC_FULL_SCALE_VOLTAGE, // analogIn4 |
whismanoid | 52:d3fb6f1722bf | 997 | ADC_FULL_SCALE_VOLTAGE, // analogIn5 |
whismanoid | 52:d3fb6f1722bf | 998 | ADC_FULL_SCALE_VOLTAGE, // analogIn6 |
whismanoid | 52:d3fb6f1722bf | 999 | ADC_FULL_SCALE_VOLTAGE, // analogIn7 |
whismanoid | 52:d3fb6f1722bf | 1000 | ADC_FULL_SCALE_VOLTAGE, // analogIn8 |
whismanoid | 52:d3fb6f1722bf | 1001 | ADC_FULL_SCALE_VOLTAGE, // analogIn9 |
whismanoid | 52:d3fb6f1722bf | 1002 | ADC_FULL_SCALE_VOLTAGE, // analogIn10 |
whismanoid | 52:d3fb6f1722bf | 1003 | ADC_FULL_SCALE_VOLTAGE, // analogIn11 |
whismanoid | 52:d3fb6f1722bf | 1004 | ADC_FULL_SCALE_VOLTAGE, // analogIn12 |
whismanoid | 52:d3fb6f1722bf | 1005 | ADC_FULL_SCALE_VOLTAGE, // analogIn13 |
whismanoid | 52:d3fb6f1722bf | 1006 | ADC_FULL_SCALE_VOLTAGE, // analogIn14 |
whismanoid | 52:d3fb6f1722bf | 1007 | ADC_FULL_SCALE_VOLTAGE // analogIn15 |
whismanoid | 52:d3fb6f1722bf | 1008 | //#elif defined(TARGET_LPC1768) |
whismanoid | 52:d3fb6f1722bf | 1009 | #else |
whismanoid | 52:d3fb6f1722bf | 1010 | // unknown target |
whismanoid | 52:d3fb6f1722bf | 1011 | ADC_FULL_SCALE_VOLTAGE, // analogIn0 |
whismanoid | 52:d3fb6f1722bf | 1012 | ADC_FULL_SCALE_VOLTAGE, // analogIn1 |
whismanoid | 52:d3fb6f1722bf | 1013 | ADC_FULL_SCALE_VOLTAGE, // analogIn2 |
whismanoid | 52:d3fb6f1722bf | 1014 | ADC_FULL_SCALE_VOLTAGE, // analogIn3 |
whismanoid | 52:d3fb6f1722bf | 1015 | ADC_FULL_SCALE_VOLTAGE, // analogIn4 |
whismanoid | 52:d3fb6f1722bf | 1016 | ADC_FULL_SCALE_VOLTAGE, // analogIn5 |
whismanoid | 52:d3fb6f1722bf | 1017 | ADC_FULL_SCALE_VOLTAGE, // analogIn6 |
whismanoid | 52:d3fb6f1722bf | 1018 | ADC_FULL_SCALE_VOLTAGE, // analogIn7 |
whismanoid | 52:d3fb6f1722bf | 1019 | ADC_FULL_SCALE_VOLTAGE, // analogIn8 |
whismanoid | 52:d3fb6f1722bf | 1020 | ADC_FULL_SCALE_VOLTAGE, // analogIn9 |
whismanoid | 52:d3fb6f1722bf | 1021 | ADC_FULL_SCALE_VOLTAGE, // analogIn10 |
whismanoid | 52:d3fb6f1722bf | 1022 | ADC_FULL_SCALE_VOLTAGE, // analogIn11 |
whismanoid | 52:d3fb6f1722bf | 1023 | ADC_FULL_SCALE_VOLTAGE, // analogIn12 |
whismanoid | 52:d3fb6f1722bf | 1024 | ADC_FULL_SCALE_VOLTAGE, // analogIn13 |
whismanoid | 52:d3fb6f1722bf | 1025 | ADC_FULL_SCALE_VOLTAGE, // analogIn14 |
whismanoid | 52:d3fb6f1722bf | 1026 | ADC_FULL_SCALE_VOLTAGE // analogIn15 |
whismanoid | 52:d3fb6f1722bf | 1027 | # endif |
whismanoid | 52:d3fb6f1722bf | 1028 | }; |
whismanoid | 52:d3fb6f1722bf | 1029 | #endif |
whismanoid | 52:d3fb6f1722bf | 1030 | |
whismanoid | 52:d3fb6f1722bf | 1031 | |
whismanoid | 52:d3fb6f1722bf | 1032 | |
whismanoid | 52:d3fb6f1722bf | 1033 | |
whismanoid | 52:d3fb6f1722bf | 1034 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 1035 | // Option to use LEDs to show status |
whismanoid | 52:d3fb6f1722bf | 1036 | #ifndef USE_LEDS |
whismanoid | 52:d3fb6f1722bf | 1037 | #define USE_LEDS 1 |
whismanoid | 52:d3fb6f1722bf | 1038 | #endif |
whismanoid | 52:d3fb6f1722bf | 1039 | #if USE_LEDS |
whismanoid | 52:d3fb6f1722bf | 1040 | #if defined(TARGET_MAX32630) |
whismanoid | 52:d3fb6f1722bf | 1041 | # define LED_ON 0 |
whismanoid | 52:d3fb6f1722bf | 1042 | # define LED_OFF 1 |
whismanoid | 52:d3fb6f1722bf | 1043 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 1044 | #elif defined(TARGET_MAX32625MBED) |
whismanoid | 52:d3fb6f1722bf | 1045 | # define LED_ON 0 |
whismanoid | 52:d3fb6f1722bf | 1046 | # define LED_OFF 1 |
whismanoid | 52:d3fb6f1722bf | 1047 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 1048 | // TODO1: TARGET=MAX32625MBED ARM Cortex-M4F 96MHz 512kB Flash 160kB SRAM |
whismanoid | 52:d3fb6f1722bf | 1049 | #elif defined(TARGET_LPC1768) |
whismanoid | 52:d3fb6f1722bf | 1050 | # define LED_ON 1 |
whismanoid | 52:d3fb6f1722bf | 1051 | # define LED_OFF 0 |
whismanoid | 52:d3fb6f1722bf | 1052 | #else // not defined(TARGET_LPC1768 etc.) |
whismanoid | 52:d3fb6f1722bf | 1053 | // USE_LEDS with some platform other than MAX32630, MAX32625MBED, LPC1768 |
whismanoid | 52:d3fb6f1722bf | 1054 | // bugfix for MAX32600MBED LED blink pattern: check if LED_ON/LED_OFF already defined |
whismanoid | 52:d3fb6f1722bf | 1055 | # ifndef LED_ON |
whismanoid | 52:d3fb6f1722bf | 1056 | # define LED_ON 0 |
whismanoid | 52:d3fb6f1722bf | 1057 | # endif |
whismanoid | 52:d3fb6f1722bf | 1058 | # ifndef LED_OFF |
whismanoid | 52:d3fb6f1722bf | 1059 | # define LED_OFF 1 |
whismanoid | 52:d3fb6f1722bf | 1060 | # endif |
whismanoid | 52:d3fb6f1722bf | 1061 | //# define LED_ON 1 |
whismanoid | 52:d3fb6f1722bf | 1062 | //# define LED_OFF 0 |
whismanoid | 52:d3fb6f1722bf | 1063 | #endif // target definition |
whismanoid | 52:d3fb6f1722bf | 1064 | DigitalOut led1(LED1, LED_OFF); // MAX32630FTHR: LED1 = LED_RED |
whismanoid | 52:d3fb6f1722bf | 1065 | DigitalOut led2(LED2, LED_OFF); // MAX32630FTHR: LED2 = LED_GREEN |
whismanoid | 52:d3fb6f1722bf | 1066 | DigitalOut led3(LED3, LED_OFF); // MAX32630FTHR: LED3 = LED_BLUE |
whismanoid | 52:d3fb6f1722bf | 1067 | DigitalOut led4(LED4, LED_OFF); |
whismanoid | 52:d3fb6f1722bf | 1068 | #else // USE_LEDS=0 |
whismanoid | 52:d3fb6f1722bf | 1069 | // issue #41 support Nucleo_F446RE |
whismanoid | 52:d3fb6f1722bf | 1070 | // there are no LED indicators on the board, LED1 interferes with SPI; |
whismanoid | 52:d3fb6f1722bf | 1071 | // but we still need placeholders led1 led2 led3 led4. |
whismanoid | 52:d3fb6f1722bf | 1072 | // Declare DigitalOut led1 led2 led3 led4 targeting safe pins. |
whismanoid | 52:d3fb6f1722bf | 1073 | // PinName NC means NOT_CONNECTED; DigitalOut::is_connected() returns false |
whismanoid | 52:d3fb6f1722bf | 1074 | # define LED_ON 0 |
whismanoid | 52:d3fb6f1722bf | 1075 | # define LED_OFF 1 |
whismanoid | 52:d3fb6f1722bf | 1076 | DigitalOut led1(NC, LED_OFF); |
whismanoid | 52:d3fb6f1722bf | 1077 | DigitalOut led2(NC, LED_OFF); |
whismanoid | 52:d3fb6f1722bf | 1078 | DigitalOut led3(NC, LED_OFF); |
whismanoid | 52:d3fb6f1722bf | 1079 | DigitalOut led4(NC, LED_OFF); |
whismanoid | 52:d3fb6f1722bf | 1080 | #endif // USE_LEDS |
whismanoid | 52:d3fb6f1722bf | 1081 | #define led1_RFailLED led1 |
whismanoid | 52:d3fb6f1722bf | 1082 | #define led2_GPassLED led2 |
whismanoid | 52:d3fb6f1722bf | 1083 | #define led3_BBusyLED led3 |
whismanoid | 52:d3fb6f1722bf | 1084 | |
whismanoid | 52:d3fb6f1722bf | 1085 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 1086 | |
whismanoid | 52:d3fb6f1722bf | 1087 | |
whismanoid | 52:d3fb6f1722bf | 1088 | // example code board support |
whismanoid | 52:d3fb6f1722bf | 1089 | //MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3); |
whismanoid | 52:d3fb6f1722bf | 1090 | //DigitalOut rLED(LED1); |
whismanoid | 52:d3fb6f1722bf | 1091 | //DigitalOut gLED(LED2); |
whismanoid | 52:d3fb6f1722bf | 1092 | //DigitalOut bLED(LED3); |
whismanoid | 52:d3fb6f1722bf | 1093 | // |
whismanoid | 52:d3fb6f1722bf | 1094 | // Arduino "shield" connector port definitions (MAX32625MBED shown) |
whismanoid | 52:d3fb6f1722bf | 1095 | #if defined(TARGET_MAX32625MBED) |
whismanoid | 52:d3fb6f1722bf | 1096 | #define A0 AIN_0 |
whismanoid | 52:d3fb6f1722bf | 1097 | #define A1 AIN_1 |
whismanoid | 52:d3fb6f1722bf | 1098 | #define A2 AIN_2 |
whismanoid | 52:d3fb6f1722bf | 1099 | #define A3 AIN_3 |
whismanoid | 52:d3fb6f1722bf | 1100 | #define D0 P0_0 |
whismanoid | 52:d3fb6f1722bf | 1101 | #define D1 P0_1 |
whismanoid | 52:d3fb6f1722bf | 1102 | #define D2 P0_2 |
whismanoid | 52:d3fb6f1722bf | 1103 | #define D3 P0_3 |
whismanoid | 52:d3fb6f1722bf | 1104 | #define D4 P0_4 |
whismanoid | 52:d3fb6f1722bf | 1105 | #define D5 P0_5 |
whismanoid | 52:d3fb6f1722bf | 1106 | #define D6 P0_6 |
whismanoid | 52:d3fb6f1722bf | 1107 | #define D7 P0_7 |
whismanoid | 52:d3fb6f1722bf | 1108 | #define D8 P1_4 |
whismanoid | 52:d3fb6f1722bf | 1109 | #define D9 P1_5 |
whismanoid | 52:d3fb6f1722bf | 1110 | #define D10 P1_3 |
whismanoid | 52:d3fb6f1722bf | 1111 | #define D11 P1_1 |
whismanoid | 52:d3fb6f1722bf | 1112 | #define D12 P1_2 |
whismanoid | 52:d3fb6f1722bf | 1113 | #define D13 P1_0 |
whismanoid | 52:d3fb6f1722bf | 1114 | #endif |
whismanoid | 52:d3fb6f1722bf | 1115 | |
whismanoid | 52:d3fb6f1722bf | 1116 | // example code declare SPI interface |
whismanoid | 52:d3fb6f1722bf | 1117 | #if defined(TARGET_MAX32625MBED) |
whismanoid | 52:d3fb6f1722bf | 1118 | SPI spi(SPI1_MOSI, SPI1_MISO, SPI1_SCK); // mosi, miso, sclk spi1 TARGET_MAX32625MBED: P1_1 P1_2 P1_0 Arduino 10-pin header D11 D12 D13 |
whismanoid | 52:d3fb6f1722bf | 1119 | DigitalOut spi_cs(SPI1_SS); // TARGET_MAX32625MBED: P1_3 Arduino 10-pin header D10 |
whismanoid | 52:d3fb6f1722bf | 1120 | #elif defined(TARGET_MAX32600MBED) |
whismanoid | 52:d3fb6f1722bf | 1121 | SPI spi(SPI2_MOSI, SPI2_MISO, SPI2_SCK); // mosi, miso, sclk spi1 TARGET_MAX32600MBED: Arduino 10-pin header D11 D12 D13 |
whismanoid | 52:d3fb6f1722bf | 1122 | DigitalOut spi_cs(SPI2_SS); // Generic: Arduino 10-pin header D10 |
whismanoid | 52:d3fb6f1722bf | 1123 | #else |
whismanoid | 52:d3fb6f1722bf | 1124 | SPI spi(D11, D12, D13); // mosi, miso, sclk spi1 TARGET_MAX32600MBED: Arduino 10-pin header D11 D12 D13 |
whismanoid | 52:d3fb6f1722bf | 1125 | DigitalOut spi_cs(D10); // Generic: Arduino 10-pin header D10 |
whismanoid | 52:d3fb6f1722bf | 1126 | #endif |
whismanoid | 52:d3fb6f1722bf | 1127 | |
whismanoid | 52:d3fb6f1722bf | 1128 | // example code declare GPIO interface pins |
whismanoid | 52:d3fb6f1722bf | 1129 | // example code declare device instance |
whismanoid | 52:d3fb6f1722bf | 1130 | MAX11410 g_MAX11410_device(spi, spi_cs, MAX11410::MAX11410_IC); |
whismanoid | 52:d3fb6f1722bf | 1131 | |
whismanoid | 52:d3fb6f1722bf | 1132 | |
whismanoid | 52:d3fb6f1722bf | 1133 | //---------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 1134 | // Global SPI options |
whismanoid | 52:d3fb6f1722bf | 1135 | // |
whismanoid | 52:d3fb6f1722bf | 1136 | |
whismanoid | 52:d3fb6f1722bf | 1137 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 1138 | // Optional Diagnostic function to print SPI transactions |
whismanoid | 52:d3fb6f1722bf | 1139 | #ifndef MAX11410_ONSPIPRINT |
whismanoid | 52:d3fb6f1722bf | 1140 | #define MAX11410_ONSPIPRINT 1 |
whismanoid | 52:d3fb6f1722bf | 1141 | #endif // MAX11410_ONSPIPRINT |
whismanoid | 52:d3fb6f1722bf | 1142 | |
whismanoid | 52:d3fb6f1722bf | 1143 | //---------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 1144 | // Global I2C options |
whismanoid | 52:d3fb6f1722bf | 1145 | // |
whismanoid | 52:d3fb6f1722bf | 1146 | |
whismanoid | 52:d3fb6f1722bf | 1147 | #define APPLICATION_ArduinoPinsMonitor 1 |
whismanoid | 52:d3fb6f1722bf | 1148 | |
whismanoid | 52:d3fb6f1722bf | 1149 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 1150 | // use BUTTON1 trigger some action |
whismanoid | 52:d3fb6f1722bf | 1151 | #if defined(TARGET_MAX32630) |
whismanoid | 52:d3fb6f1722bf | 1152 | #define HAS_BUTTON1_DEMO_INTERRUPT 1 |
whismanoid | 52:d3fb6f1722bf | 1153 | #define HAS_BUTTON2_DEMO 0 |
whismanoid | 52:d3fb6f1722bf | 1154 | #define HAS_BUTTON2_DEMO_INTERRUPT 0 |
whismanoid | 52:d3fb6f1722bf | 1155 | #elif defined(TARGET_MAX32625PICO) |
whismanoid | 52:d3fb6f1722bf | 1156 | #warning "TARGET_MAX32625PICO not previously tested; need to define buttons..." |
whismanoid | 52:d3fb6f1722bf | 1157 | #define HAS_BUTTON1_DEMO_INTERRUPT 1 |
whismanoid | 52:d3fb6f1722bf | 1158 | #define HAS_BUTTON2_DEMO 0 |
whismanoid | 52:d3fb6f1722bf | 1159 | #define HAS_BUTTON2_DEMO_INTERRUPT 0 |
whismanoid | 52:d3fb6f1722bf | 1160 | #elif defined(TARGET_MAX32625) |
whismanoid | 52:d3fb6f1722bf | 1161 | #define HAS_BUTTON1_DEMO_INTERRUPT 1 |
whismanoid | 52:d3fb6f1722bf | 1162 | #define HAS_BUTTON2_DEMO_INTERRUPT 1 |
whismanoid | 52:d3fb6f1722bf | 1163 | #elif defined(TARGET_MAX32620FTHR) |
whismanoid | 52:d3fb6f1722bf | 1164 | #warning "TARGET_MAX32620FTHR not previously tested; need to define buttons..." |
whismanoid | 52:d3fb6f1722bf | 1165 | #define BUTTON1 SW1 |
whismanoid | 52:d3fb6f1722bf | 1166 | #define HAS_BUTTON1_DEMO_INTERRUPT 1 |
whismanoid | 52:d3fb6f1722bf | 1167 | #define HAS_BUTTON2_DEMO 0 |
whismanoid | 52:d3fb6f1722bf | 1168 | #define HAS_BUTTON2_DEMO_INTERRUPT 0 |
whismanoid | 52:d3fb6f1722bf | 1169 | #elif defined(TARGET_NUCLEO_F446RE) |
whismanoid | 52:d3fb6f1722bf | 1170 | #define HAS_BUTTON1_DEMO_INTERRUPT 0 |
whismanoid | 52:d3fb6f1722bf | 1171 | #define HAS_BUTTON2_DEMO_INTERRUPT 0 |
whismanoid | 52:d3fb6f1722bf | 1172 | #elif defined(TARGET_NUCLEO_F401RE) |
whismanoid | 52:d3fb6f1722bf | 1173 | #define HAS_BUTTON1_DEMO_INTERRUPT 0 |
whismanoid | 52:d3fb6f1722bf | 1174 | #define HAS_BUTTON2_DEMO_INTERRUPT 0 |
whismanoid | 52:d3fb6f1722bf | 1175 | #else |
whismanoid | 52:d3fb6f1722bf | 1176 | #warning "target not previously tested; need to define buttons..." |
whismanoid | 52:d3fb6f1722bf | 1177 | #endif |
whismanoid | 52:d3fb6f1722bf | 1178 | // |
whismanoid | 52:d3fb6f1722bf | 1179 | #ifndef HAS_BUTTON1_DEMO |
whismanoid | 52:d3fb6f1722bf | 1180 | #define HAS_BUTTON1_DEMO 0 |
whismanoid | 52:d3fb6f1722bf | 1181 | #endif |
whismanoid | 52:d3fb6f1722bf | 1182 | #ifndef HAS_BUTTON2_DEMO |
whismanoid | 52:d3fb6f1722bf | 1183 | #define HAS_BUTTON2_DEMO 0 |
whismanoid | 52:d3fb6f1722bf | 1184 | #endif |
whismanoid | 52:d3fb6f1722bf | 1185 | // |
whismanoid | 52:d3fb6f1722bf | 1186 | // avoid runtime error on button1 press [mbed-os-5.11] |
whismanoid | 52:d3fb6f1722bf | 1187 | // instead of using InterruptIn, use DigitalIn and poll in main while(1) |
whismanoid | 52:d3fb6f1722bf | 1188 | #ifndef HAS_BUTTON1_DEMO_INTERRUPT_POLLING |
whismanoid | 52:d3fb6f1722bf | 1189 | #define HAS_BUTTON1_DEMO_INTERRUPT_POLLING 1 |
whismanoid | 52:d3fb6f1722bf | 1190 | #endif |
whismanoid | 52:d3fb6f1722bf | 1191 | // |
whismanoid | 52:d3fb6f1722bf | 1192 | #ifndef HAS_BUTTON1_DEMO_INTERRUPT |
whismanoid | 52:d3fb6f1722bf | 1193 | #define HAS_BUTTON1_DEMO_INTERRUPT 1 |
whismanoid | 52:d3fb6f1722bf | 1194 | #endif |
whismanoid | 52:d3fb6f1722bf | 1195 | #ifndef HAS_BUTTON2_DEMO_INTERRUPT |
whismanoid | 52:d3fb6f1722bf | 1196 | #define HAS_BUTTON2_DEMO_INTERRUPT 1 |
whismanoid | 52:d3fb6f1722bf | 1197 | #endif |
whismanoid | 52:d3fb6f1722bf | 1198 | // |
whismanoid | 52:d3fb6f1722bf | 1199 | #if HAS_BUTTON1_DEMO_INTERRUPT |
whismanoid | 52:d3fb6f1722bf | 1200 | # if HAS_BUTTON1_DEMO_INTERRUPT_POLLING |
whismanoid | 52:d3fb6f1722bf | 1201 | // avoid runtime error on button1 press [mbed-os-5.11] |
whismanoid | 52:d3fb6f1722bf | 1202 | // instead of using InterruptIn, use DigitalIn and poll in main while(1) |
whismanoid | 52:d3fb6f1722bf | 1203 | DigitalIn button1(BUTTON1); |
whismanoid | 52:d3fb6f1722bf | 1204 | # else |
whismanoid | 52:d3fb6f1722bf | 1205 | InterruptIn button1(BUTTON1); |
whismanoid | 52:d3fb6f1722bf | 1206 | # endif |
whismanoid | 52:d3fb6f1722bf | 1207 | #elif HAS_BUTTON1_DEMO |
whismanoid | 52:d3fb6f1722bf | 1208 | DigitalIn button1(BUTTON1); |
whismanoid | 52:d3fb6f1722bf | 1209 | #endif |
whismanoid | 52:d3fb6f1722bf | 1210 | #if HAS_BUTTON2_DEMO_INTERRUPT |
whismanoid | 52:d3fb6f1722bf | 1211 | # if HAS_BUTTON1_DEMO_INTERRUPT_POLLING |
whismanoid | 52:d3fb6f1722bf | 1212 | // avoid runtime error on button1 press [mbed-os-5.11] |
whismanoid | 52:d3fb6f1722bf | 1213 | // instead of using InterruptIn, use DigitalIn and poll in main while(1) |
whismanoid | 52:d3fb6f1722bf | 1214 | DigitalIn button2(BUTTON2); |
whismanoid | 52:d3fb6f1722bf | 1215 | # else |
whismanoid | 52:d3fb6f1722bf | 1216 | InterruptIn button2(BUTTON2); |
whismanoid | 52:d3fb6f1722bf | 1217 | # endif |
whismanoid | 52:d3fb6f1722bf | 1218 | #elif HAS_BUTTON2_DEMO |
whismanoid | 52:d3fb6f1722bf | 1219 | DigitalIn button2(BUTTON2); |
whismanoid | 52:d3fb6f1722bf | 1220 | #endif |
whismanoid | 52:d3fb6f1722bf | 1221 | |
whismanoid | 52:d3fb6f1722bf | 1222 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 1223 | // functions tested by SelfTest() |
whismanoid | 52:d3fb6f1722bf | 1224 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1225 | extern double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1226 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1227 | extern double fn_MAX11410_TemperatureOfRTD_PT1000(double rtd_resistance); |
whismanoid | 52:d3fb6f1722bf | 1228 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1229 | |
whismanoid | 52:d3fb6f1722bf | 1230 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 1231 | // optional self-test groups for function SelfTest() |
whismanoid | 52:d3fb6f1722bf | 1232 | // enable by changing the #define value from 0 to 1 |
whismanoid | 52:d3fb6f1722bf | 1233 | #ifndef MAX11410_SELFTEST_UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1234 | #define MAX11410_SELFTEST_UNIPOLAR 1 |
whismanoid | 52:d3fb6f1722bf | 1235 | #endif |
whismanoid | 52:d3fb6f1722bf | 1236 | |
whismanoid | 52:d3fb6f1722bf | 1237 | #ifndef MAX11410_SELFTEST_BIPOB |
whismanoid | 52:d3fb6f1722bf | 1238 | #define MAX11410_SELFTEST_BIPOB 1 |
whismanoid | 52:d3fb6f1722bf | 1239 | #endif |
whismanoid | 52:d3fb6f1722bf | 1240 | |
whismanoid | 52:d3fb6f1722bf | 1241 | #ifndef MAX11410_SELFTEST_BIP2C |
whismanoid | 52:d3fb6f1722bf | 1242 | #define MAX11410_SELFTEST_BIP2C 1 |
whismanoid | 52:d3fb6f1722bf | 1243 | #endif |
whismanoid | 52:d3fb6f1722bf | 1244 | |
whismanoid | 52:d3fb6f1722bf | 1245 | #ifndef MAX11410_SELFTEST_RTD_PT1000 |
whismanoid | 52:d3fb6f1722bf | 1246 | #define MAX11410_SELFTEST_RTD_PT1000 1 |
whismanoid | 52:d3fb6f1722bf | 1247 | #endif |
whismanoid | 52:d3fb6f1722bf | 1248 | |
whismanoid | 52:d3fb6f1722bf | 1249 | #ifndef MAX11410_SELFTEST_TC_1 |
whismanoid | 52:d3fb6f1722bf | 1250 | #define MAX11410_SELFTEST_TC_1 1 |
whismanoid | 52:d3fb6f1722bf | 1251 | #endif |
whismanoid | 52:d3fb6f1722bf | 1252 | |
whismanoid | 52:d3fb6f1722bf | 1253 | #ifndef MAX11410_SELFTEST_TC_2 |
whismanoid | 52:d3fb6f1722bf | 1254 | #define MAX11410_SELFTEST_TC_2 1 |
whismanoid | 52:d3fb6f1722bf | 1255 | #endif |
whismanoid | 52:d3fb6f1722bf | 1256 | |
whismanoid | 52:d3fb6f1722bf | 1257 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 1258 | // When user presses button BUTTON1, perform self test |
whismanoid | 52:d3fb6f1722bf | 1259 | #if HAS_BUTTON1_DEMO_INTERRUPT |
whismanoid | 52:d3fb6f1722bf | 1260 | void onButton1FallingEdge(void) |
whismanoid | 52:d3fb6f1722bf | 1261 | { |
whismanoid | 52:d3fb6f1722bf | 1262 | void SelfTest(CmdLine & cmdLine); |
whismanoid | 52:d3fb6f1722bf | 1263 | SelfTest(cmdLine_serial); |
whismanoid | 52:d3fb6f1722bf | 1264 | } |
whismanoid | 52:d3fb6f1722bf | 1265 | #endif // HAS_BUTTON1_DEMO_INTERRUPT |
whismanoid | 52:d3fb6f1722bf | 1266 | |
whismanoid | 52:d3fb6f1722bf | 1267 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 1268 | // When user presses button BUTTON2, perform demo configuration |
whismanoid | 52:d3fb6f1722bf | 1269 | #if HAS_BUTTON2_DEMO_INTERRUPT |
whismanoid | 52:d3fb6f1722bf | 1270 | void onButton2FallingEdge(void) |
whismanoid | 52:d3fb6f1722bf | 1271 | { |
whismanoid | 52:d3fb6f1722bf | 1272 | // TBD demo configuration |
whismanoid | 52:d3fb6f1722bf | 1273 | // TODO diagnostic LED |
whismanoid | 52:d3fb6f1722bf | 1274 | } |
whismanoid | 52:d3fb6f1722bf | 1275 | #endif // HAS_BUTTON2_DEMO_INTERRUPT |
whismanoid | 52:d3fb6f1722bf | 1276 | |
whismanoid | 52:d3fb6f1722bf | 1277 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 1278 | void SelfTest(CmdLine & cmdLine) |
whismanoid | 52:d3fb6f1722bf | 1279 | { |
whismanoid | 52:d3fb6f1722bf | 1280 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 1281 | #if analogIn4_IS_HIGH_RANGE_OF_analogIn0 |
whismanoid | 52:d3fb6f1722bf | 1282 | // Platform board uses AIN4,AIN5,.. as high range of AIN0,AIN1,.. |
whismanoid | 52:d3fb6f1722bf | 1283 | MaximTinyTester tinyTester(cmdLine, analogIn4, analogIn5, analogIn2, analogIn3, analogIn0, analogIn4, led1_RFailLED, led2_GPassLED, led3_BBusyLED); |
whismanoid | 52:d3fb6f1722bf | 1284 | tinyTester.analogInPin_fullScaleVoltage[0] = analogInPin_fullScaleVoltage[4]; // board support |
whismanoid | 52:d3fb6f1722bf | 1285 | tinyTester.analogInPin_fullScaleVoltage[1] = analogInPin_fullScaleVoltage[5]; // board support |
whismanoid | 52:d3fb6f1722bf | 1286 | tinyTester.analogInPin_fullScaleVoltage[2] = analogInPin_fullScaleVoltage[2]; // board support |
whismanoid | 52:d3fb6f1722bf | 1287 | tinyTester.analogInPin_fullScaleVoltage[3] = analogInPin_fullScaleVoltage[3]; // board support |
whismanoid | 52:d3fb6f1722bf | 1288 | tinyTester.analogInPin_fullScaleVoltage[4] = analogInPin_fullScaleVoltage[0]; // board support |
whismanoid | 52:d3fb6f1722bf | 1289 | tinyTester.analogInPin_fullScaleVoltage[5] = analogInPin_fullScaleVoltage[1]; // board support |
whismanoid | 52:d3fb6f1722bf | 1290 | // low range channels AIN0, AIN1, AIN2, AIN3 |
whismanoid | 52:d3fb6f1722bf | 1291 | #else // analogIn4_IS_HIGH_RANGE_OF_analogIn0 |
whismanoid | 52:d3fb6f1722bf | 1292 | // Platform board uses simple analog inputs |
whismanoid | 52:d3fb6f1722bf | 1293 | MaximTinyTester tinyTester(cmdLine, analogIn0, analogIn1, analogIn2, analogIn3, analogIn4, analogIn5, led1_RFailLED, led2_GPassLED, led3_BBusyLED); |
whismanoid | 52:d3fb6f1722bf | 1294 | tinyTester.analogInPin_fullScaleVoltage[0] = analogInPin_fullScaleVoltage[0]; // board support |
whismanoid | 52:d3fb6f1722bf | 1295 | tinyTester.analogInPin_fullScaleVoltage[1] = analogInPin_fullScaleVoltage[1]; // board support |
whismanoid | 52:d3fb6f1722bf | 1296 | tinyTester.analogInPin_fullScaleVoltage[2] = analogInPin_fullScaleVoltage[2]; // board support |
whismanoid | 52:d3fb6f1722bf | 1297 | tinyTester.analogInPin_fullScaleVoltage[3] = analogInPin_fullScaleVoltage[3]; // board support |
whismanoid | 52:d3fb6f1722bf | 1298 | tinyTester.analogInPin_fullScaleVoltage[4] = analogInPin_fullScaleVoltage[4]; // board support |
whismanoid | 52:d3fb6f1722bf | 1299 | tinyTester.analogInPin_fullScaleVoltage[5] = analogInPin_fullScaleVoltage[5]; // board support |
whismanoid | 52:d3fb6f1722bf | 1300 | #endif |
whismanoid | 52:d3fb6f1722bf | 1301 | tinyTester.clear(); |
whismanoid | 52:d3fb6f1722bf | 1302 | |
whismanoid | 52:d3fb6f1722bf | 1303 | // CODE GENERATOR: generate SelfTest based on function docstrings @test lines |
whismanoid | 52:d3fb6f1722bf | 1304 | |
whismanoid | 52:d3fb6f1722bf | 1305 | // CODE GENERATOR: SelfTest VoltageOfCode_Unipolar @test group UNIPOLAR VoltageOfCode_Unipolar(0xFFFFFF) expect 2.500 within 0.030 Full Scale |
whismanoid | 52:d3fb6f1722bf | 1306 | #if MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR VoltageOfCode_Unipolar Full Scale |
whismanoid | 52:d3fb6f1722bf | 1307 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Unipolar(0xFFFFFF), 2.500); // Full Scale |
whismanoid | 52:d3fb6f1722bf | 1308 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1309 | tinyTester.err_threshold = 0.030; // within 0.030 |
whismanoid | 52:d3fb6f1722bf | 1310 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Unipolar", fn_MAX11410_VoltageOfCode_Unipolar, 0xFFFFFF, 2.500); // Full Scale |
whismanoid | 52:d3fb6f1722bf | 1311 | #endif // MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1312 | |
whismanoid | 52:d3fb6f1722bf | 1313 | // CODE GENERATOR: SelfTest VoltageOfCode_Unipolar @test group UNIPOLAR VoltageOfCode_Unipolar(0xFFFFFE) expect 2.500 Full Scale |
whismanoid | 52:d3fb6f1722bf | 1314 | #if MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR VoltageOfCode_Unipolar Full Scale |
whismanoid | 52:d3fb6f1722bf | 1315 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Unipolar(0xFFFFFE), 2.500); // Full Scale |
whismanoid | 52:d3fb6f1722bf | 1316 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1317 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Unipolar", fn_MAX11410_VoltageOfCode_Unipolar, 0xFFFFFE, 2.500); // Full Scale |
whismanoid | 52:d3fb6f1722bf | 1318 | #endif // MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1319 | |
whismanoid | 52:d3fb6f1722bf | 1320 | // CODE GENERATOR: SelfTest VoltageOfCode_Unipolar @test group UNIPOLAR VoltageOfCode_Unipolar(0xCCCCCC) expect 2.000 Two Volts |
whismanoid | 52:d3fb6f1722bf | 1321 | #if MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR VoltageOfCode_Unipolar Two Volts |
whismanoid | 52:d3fb6f1722bf | 1322 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Unipolar(0xCCCCCC), 2.000); // Two Volts |
whismanoid | 52:d3fb6f1722bf | 1323 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1324 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Unipolar", fn_MAX11410_VoltageOfCode_Unipolar, 0xCCCCCC, 2.000); // Two Volts |
whismanoid | 52:d3fb6f1722bf | 1325 | #endif // MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1326 | |
whismanoid | 52:d3fb6f1722bf | 1327 | // CODE GENERATOR: SelfTest VoltageOfCode_Unipolar @test group UNIPOLAR VoltageOfCode_Unipolar(0xC00000) expect 1.875 75% Scale |
whismanoid | 52:d3fb6f1722bf | 1328 | #if MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR VoltageOfCode_Unipolar 75% Scale |
whismanoid | 52:d3fb6f1722bf | 1329 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Unipolar(0xC00000), 1.875); // 75% Scale |
whismanoid | 52:d3fb6f1722bf | 1330 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1331 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Unipolar", fn_MAX11410_VoltageOfCode_Unipolar, 0xC00000, 1.875); // 75% Scale |
whismanoid | 52:d3fb6f1722bf | 1332 | #endif // MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1333 | |
whismanoid | 52:d3fb6f1722bf | 1334 | // CODE GENERATOR: SelfTest VoltageOfCode_Unipolar @test group UNIPOLAR VoltageOfCode_Unipolar(0x800000) expect 1.250 Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1335 | #if MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR VoltageOfCode_Unipolar Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1336 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Unipolar(0x800000), 1.250); // Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1337 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1338 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Unipolar", fn_MAX11410_VoltageOfCode_Unipolar, 0x800000, 1.250); // Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1339 | #endif // MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1340 | |
whismanoid | 52:d3fb6f1722bf | 1341 | // CODE GENERATOR: SelfTest VoltageOfCode_Unipolar @test group UNIPOLAR VoltageOfCode_Unipolar(0x666666) expect 1.000 One Volt |
whismanoid | 52:d3fb6f1722bf | 1342 | #if MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR VoltageOfCode_Unipolar One Volt |
whismanoid | 52:d3fb6f1722bf | 1343 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Unipolar(0x666666), 1.000); // One Volt |
whismanoid | 52:d3fb6f1722bf | 1344 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1345 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Unipolar", fn_MAX11410_VoltageOfCode_Unipolar, 0x666666, 1.000); // One Volt |
whismanoid | 52:d3fb6f1722bf | 1346 | #endif // MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1347 | |
whismanoid | 52:d3fb6f1722bf | 1348 | // CODE GENERATOR: SelfTest VoltageOfCode_Unipolar @test group UNIPOLAR VoltageOfCode_Unipolar(0x400000) expect 0.625 25% Scale |
whismanoid | 52:d3fb6f1722bf | 1349 | #if MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR VoltageOfCode_Unipolar 25% Scale |
whismanoid | 52:d3fb6f1722bf | 1350 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Unipolar(0x400000), 0.625); // 25% Scale |
whismanoid | 52:d3fb6f1722bf | 1351 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1352 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Unipolar", fn_MAX11410_VoltageOfCode_Unipolar, 0x400000, 0.625); // 25% Scale |
whismanoid | 52:d3fb6f1722bf | 1353 | #endif // MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1354 | |
whismanoid | 52:d3fb6f1722bf | 1355 | // CODE GENERATOR: SelfTest VoltageOfCode_Unipolar @test group UNIPOLAR VoltageOfCode_Unipolar(0x0A3D70) expect 0.100 100mV |
whismanoid | 52:d3fb6f1722bf | 1356 | #if MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR VoltageOfCode_Unipolar 100mV |
whismanoid | 52:d3fb6f1722bf | 1357 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Unipolar(0x0A3D70), 0.100); // 100mV |
whismanoid | 52:d3fb6f1722bf | 1358 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1359 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Unipolar", fn_MAX11410_VoltageOfCode_Unipolar, 0x0A3D70, 0.100); // 100mV |
whismanoid | 52:d3fb6f1722bf | 1360 | #endif // MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1361 | |
whismanoid | 52:d3fb6f1722bf | 1362 | // CODE GENERATOR: SelfTest VoltageOfCode_Unipolar @test group UNIPOLAR VoltageOfCode_Unipolar(0x000064) expect 0.000014901162 100 LSB |
whismanoid | 52:d3fb6f1722bf | 1363 | #if MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR VoltageOfCode_Unipolar 100 LSB |
whismanoid | 52:d3fb6f1722bf | 1364 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Unipolar(0x000064), 0.000014901162); // 100 LSB |
whismanoid | 52:d3fb6f1722bf | 1365 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1366 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Unipolar", fn_MAX11410_VoltageOfCode_Unipolar, 0x000064, 0.000014901162); // 100 LSB |
whismanoid | 52:d3fb6f1722bf | 1367 | #endif // MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1368 | |
whismanoid | 52:d3fb6f1722bf | 1369 | // CODE GENERATOR: SelfTest VoltageOfCode_Unipolar @test group UNIPOLAR VoltageOfCode_Unipolar(0x00000A) expect 0.0000014901162 Ten LSB |
whismanoid | 52:d3fb6f1722bf | 1370 | #if MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR VoltageOfCode_Unipolar Ten LSB |
whismanoid | 52:d3fb6f1722bf | 1371 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Unipolar(0x00000A), 0.0000014901162); // Ten LSB |
whismanoid | 52:d3fb6f1722bf | 1372 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1373 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Unipolar", fn_MAX11410_VoltageOfCode_Unipolar, 0x00000A, 0.0000014901162); // Ten LSB |
whismanoid | 52:d3fb6f1722bf | 1374 | #endif // MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1375 | |
whismanoid | 52:d3fb6f1722bf | 1376 | // CODE GENERATOR: SelfTest VoltageOfCode_Unipolar @test group UNIPOLAR VoltageOfCode_Unipolar(0x000003) expect 0.00000044703483 Three LSB |
whismanoid | 52:d3fb6f1722bf | 1377 | #if MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR VoltageOfCode_Unipolar Three LSB |
whismanoid | 52:d3fb6f1722bf | 1378 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Unipolar(0x000003), 0.00000044703483); // Three LSB |
whismanoid | 52:d3fb6f1722bf | 1379 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1380 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Unipolar", fn_MAX11410_VoltageOfCode_Unipolar, 0x000003, 0.00000044703483); // Three LSB |
whismanoid | 52:d3fb6f1722bf | 1381 | #endif // MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1382 | |
whismanoid | 52:d3fb6f1722bf | 1383 | // CODE GENERATOR: SelfTest VoltageOfCode_Unipolar @test group UNIPOLAR VoltageOfCode_Unipolar(0x000002) expect 0.00000029802326 Two LSB |
whismanoid | 52:d3fb6f1722bf | 1384 | #if MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR VoltageOfCode_Unipolar Two LSB |
whismanoid | 52:d3fb6f1722bf | 1385 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Unipolar(0x000002), 0.00000029802326); // Two LSB |
whismanoid | 52:d3fb6f1722bf | 1386 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1387 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Unipolar", fn_MAX11410_VoltageOfCode_Unipolar, 0x000002, 0.00000029802326); // Two LSB |
whismanoid | 52:d3fb6f1722bf | 1388 | #endif // MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1389 | |
whismanoid | 52:d3fb6f1722bf | 1390 | // CODE GENERATOR: SelfTest VoltageOfCode_Unipolar @test group UNIPOLAR VoltageOfCode_Unipolar(0x000001) expect 0.00000014901162 One LSB |
whismanoid | 52:d3fb6f1722bf | 1391 | #if MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR VoltageOfCode_Unipolar One LSB |
whismanoid | 52:d3fb6f1722bf | 1392 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Unipolar(0x000001), 0.00000014901162); // One LSB |
whismanoid | 52:d3fb6f1722bf | 1393 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1394 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Unipolar", fn_MAX11410_VoltageOfCode_Unipolar, 0x000001, 0.00000014901162); // One LSB |
whismanoid | 52:d3fb6f1722bf | 1395 | #endif // MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1396 | |
whismanoid | 52:d3fb6f1722bf | 1397 | // CODE GENERATOR: SelfTest VoltageOfCode_Unipolar @test group UNIPOLAR VoltageOfCode_Unipolar(0x000000) expect 0.0 Zero Scale |
whismanoid | 52:d3fb6f1722bf | 1398 | #if MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR VoltageOfCode_Unipolar Zero Scale |
whismanoid | 52:d3fb6f1722bf | 1399 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Unipolar(0x000000), 0.0); // Zero Scale |
whismanoid | 52:d3fb6f1722bf | 1400 | extern double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1401 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Unipolar", fn_MAX11410_VoltageOfCode_Unipolar, 0x000000, 0.0); // Zero Scale |
whismanoid | 52:d3fb6f1722bf | 1402 | #endif // MAX11410_SELFTEST_UNIPOLAR // group UNIPOLAR |
whismanoid | 52:d3fb6f1722bf | 1403 | |
whismanoid | 52:d3fb6f1722bf | 1404 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_OffsetBinary @test group BIPOB VoltageOfCode_Bipolar_OffsetBinary(0xFFFFFF) expect 2.5 within 0.030 Full Scale |
whismanoid | 52:d3fb6f1722bf | 1405 | #if MAX11410_SELFTEST_BIPOB // group BIPOB VoltageOfCode_Bipolar_OffsetBinary Full Scale |
whismanoid | 52:d3fb6f1722bf | 1406 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_OffsetBinary(0xFFFFFF), 2.5); // Full Scale |
whismanoid | 52:d3fb6f1722bf | 1407 | extern double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1408 | tinyTester.err_threshold = 0.030; // within 0.030 |
whismanoid | 52:d3fb6f1722bf | 1409 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_OffsetBinary", fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary, 0xFFFFFF, 2.5); // Full Scale |
whismanoid | 52:d3fb6f1722bf | 1410 | #endif // MAX11410_SELFTEST_BIPOB // group BIPOB |
whismanoid | 52:d3fb6f1722bf | 1411 | |
whismanoid | 52:d3fb6f1722bf | 1412 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_OffsetBinary @test group BIPOB VoltageOfCode_Bipolar_OffsetBinary(0xFFFFFE) expect 2.5 Full Scale |
whismanoid | 52:d3fb6f1722bf | 1413 | #if MAX11410_SELFTEST_BIPOB // group BIPOB VoltageOfCode_Bipolar_OffsetBinary Full Scale |
whismanoid | 52:d3fb6f1722bf | 1414 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_OffsetBinary(0xFFFFFE), 2.5); // Full Scale |
whismanoid | 52:d3fb6f1722bf | 1415 | extern double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1416 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_OffsetBinary", fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary, 0xFFFFFE, 2.5); // Full Scale |
whismanoid | 52:d3fb6f1722bf | 1417 | #endif // MAX11410_SELFTEST_BIPOB // group BIPOB |
whismanoid | 52:d3fb6f1722bf | 1418 | |
whismanoid | 52:d3fb6f1722bf | 1419 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_OffsetBinary @test group BIPOB VoltageOfCode_Bipolar_OffsetBinary(0xC00000) expect 1.25 Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1420 | #if MAX11410_SELFTEST_BIPOB // group BIPOB VoltageOfCode_Bipolar_OffsetBinary Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1421 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_OffsetBinary(0xC00000), 1.25); // Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1422 | extern double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1423 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_OffsetBinary", fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary, 0xC00000, 1.25); // Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1424 | #endif // MAX11410_SELFTEST_BIPOB // group BIPOB |
whismanoid | 52:d3fb6f1722bf | 1425 | |
whismanoid | 52:d3fb6f1722bf | 1426 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_OffsetBinary @test group BIPOB VoltageOfCode_Bipolar_OffsetBinary(0x800003) expect 0.00000894069671 Three LSB |
whismanoid | 52:d3fb6f1722bf | 1427 | #if MAX11410_SELFTEST_BIPOB // group BIPOB VoltageOfCode_Bipolar_OffsetBinary Three LSB |
whismanoid | 52:d3fb6f1722bf | 1428 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_OffsetBinary(0x800003), 0.00000894069671); // Three LSB |
whismanoid | 52:d3fb6f1722bf | 1429 | extern double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1430 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_OffsetBinary", fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary, 0x800003, 0.00000894069671); // Three LSB |
whismanoid | 52:d3fb6f1722bf | 1431 | #endif // MAX11410_SELFTEST_BIPOB // group BIPOB |
whismanoid | 52:d3fb6f1722bf | 1432 | |
whismanoid | 52:d3fb6f1722bf | 1433 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_OffsetBinary @test group BIPOB VoltageOfCode_Bipolar_OffsetBinary(0x800002) expect 0.00000596046447 Two LSB |
whismanoid | 52:d3fb6f1722bf | 1434 | #if MAX11410_SELFTEST_BIPOB // group BIPOB VoltageOfCode_Bipolar_OffsetBinary Two LSB |
whismanoid | 52:d3fb6f1722bf | 1435 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_OffsetBinary(0x800002), 0.00000596046447); // Two LSB |
whismanoid | 52:d3fb6f1722bf | 1436 | extern double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1437 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_OffsetBinary", fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary, 0x800002, 0.00000596046447); // Two LSB |
whismanoid | 52:d3fb6f1722bf | 1438 | #endif // MAX11410_SELFTEST_BIPOB // group BIPOB |
whismanoid | 52:d3fb6f1722bf | 1439 | |
whismanoid | 52:d3fb6f1722bf | 1440 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_OffsetBinary @test group BIPOB VoltageOfCode_Bipolar_OffsetBinary(0x800001) expect 0.0000029802326 One LSB |
whismanoid | 52:d3fb6f1722bf | 1441 | #if MAX11410_SELFTEST_BIPOB // group BIPOB VoltageOfCode_Bipolar_OffsetBinary One LSB |
whismanoid | 52:d3fb6f1722bf | 1442 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_OffsetBinary(0x800001), 0.0000029802326); // One LSB |
whismanoid | 52:d3fb6f1722bf | 1443 | extern double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1444 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_OffsetBinary", fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary, 0x800001, 0.0000029802326); // One LSB |
whismanoid | 52:d3fb6f1722bf | 1445 | #endif // MAX11410_SELFTEST_BIPOB // group BIPOB |
whismanoid | 52:d3fb6f1722bf | 1446 | |
whismanoid | 52:d3fb6f1722bf | 1447 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_OffsetBinary @test group BIPOB VoltageOfCode_Bipolar_OffsetBinary(0x800000) expect 0.0 Zero Scale |
whismanoid | 52:d3fb6f1722bf | 1448 | #if MAX11410_SELFTEST_BIPOB // group BIPOB VoltageOfCode_Bipolar_OffsetBinary Zero Scale |
whismanoid | 52:d3fb6f1722bf | 1449 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_OffsetBinary(0x800000), 0.0); // Zero Scale |
whismanoid | 52:d3fb6f1722bf | 1450 | extern double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1451 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_OffsetBinary", fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary, 0x800000, 0.0); // Zero Scale |
whismanoid | 52:d3fb6f1722bf | 1452 | #endif // MAX11410_SELFTEST_BIPOB // group BIPOB |
whismanoid | 52:d3fb6f1722bf | 1453 | |
whismanoid | 52:d3fb6f1722bf | 1454 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_OffsetBinary @test group BIPOB VoltageOfCode_Bipolar_OffsetBinary(0x7FFFFF) expect -0.0000029802326 Negative One LSB |
whismanoid | 52:d3fb6f1722bf | 1455 | #if MAX11410_SELFTEST_BIPOB // group BIPOB VoltageOfCode_Bipolar_OffsetBinary Negative One LSB |
whismanoid | 52:d3fb6f1722bf | 1456 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_OffsetBinary(0x7FFFFF), -0.0000029802326); // Negative One LSB |
whismanoid | 52:d3fb6f1722bf | 1457 | extern double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1458 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_OffsetBinary", fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary, 0x7FFFFF, -0.0000029802326); // Negative One LSB |
whismanoid | 52:d3fb6f1722bf | 1459 | #endif // MAX11410_SELFTEST_BIPOB // group BIPOB |
whismanoid | 52:d3fb6f1722bf | 1460 | |
whismanoid | 52:d3fb6f1722bf | 1461 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_OffsetBinary @test group BIPOB VoltageOfCode_Bipolar_OffsetBinary(0x7FFFFE) expect -0.0000059604644 Negative Two LSB |
whismanoid | 52:d3fb6f1722bf | 1462 | #if MAX11410_SELFTEST_BIPOB // group BIPOB VoltageOfCode_Bipolar_OffsetBinary Negative Two LSB |
whismanoid | 52:d3fb6f1722bf | 1463 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_OffsetBinary(0x7FFFFE), -0.0000059604644); // Negative Two LSB |
whismanoid | 52:d3fb6f1722bf | 1464 | extern double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1465 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_OffsetBinary", fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary, 0x7FFFFE, -0.0000059604644); // Negative Two LSB |
whismanoid | 52:d3fb6f1722bf | 1466 | #endif // MAX11410_SELFTEST_BIPOB // group BIPOB |
whismanoid | 52:d3fb6f1722bf | 1467 | |
whismanoid | 52:d3fb6f1722bf | 1468 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_OffsetBinary @test group BIPOB VoltageOfCode_Bipolar_OffsetBinary(0x7FFFFD) expect -0.0000089406967 Negative Three LSB |
whismanoid | 52:d3fb6f1722bf | 1469 | #if MAX11410_SELFTEST_BIPOB // group BIPOB VoltageOfCode_Bipolar_OffsetBinary Negative Three LSB |
whismanoid | 52:d3fb6f1722bf | 1470 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_OffsetBinary(0x7FFFFD), -0.0000089406967); // Negative Three LSB |
whismanoid | 52:d3fb6f1722bf | 1471 | extern double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1472 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_OffsetBinary", fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary, 0x7FFFFD, -0.0000089406967); // Negative Three LSB |
whismanoid | 52:d3fb6f1722bf | 1473 | #endif // MAX11410_SELFTEST_BIPOB // group BIPOB |
whismanoid | 52:d3fb6f1722bf | 1474 | |
whismanoid | 52:d3fb6f1722bf | 1475 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_OffsetBinary @test group BIPOB VoltageOfCode_Bipolar_OffsetBinary(0x400000) expect -1.25 Negative Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1476 | #if MAX11410_SELFTEST_BIPOB // group BIPOB VoltageOfCode_Bipolar_OffsetBinary Negative Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1477 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_OffsetBinary(0x400000), -1.25); // Negative Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1478 | extern double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1479 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_OffsetBinary", fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary, 0x400000, -1.25); // Negative Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1480 | #endif // MAX11410_SELFTEST_BIPOB // group BIPOB |
whismanoid | 52:d3fb6f1722bf | 1481 | |
whismanoid | 52:d3fb6f1722bf | 1482 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_OffsetBinary @test group BIPOB VoltageOfCode_Bipolar_OffsetBinary(0x000001) expect -2.5 Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1483 | #if MAX11410_SELFTEST_BIPOB // group BIPOB VoltageOfCode_Bipolar_OffsetBinary Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1484 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_OffsetBinary(0x000001), -2.5); // Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1485 | extern double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1486 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_OffsetBinary", fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary, 0x000001, -2.5); // Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1487 | #endif // MAX11410_SELFTEST_BIPOB // group BIPOB |
whismanoid | 52:d3fb6f1722bf | 1488 | |
whismanoid | 52:d3fb6f1722bf | 1489 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_OffsetBinary @test group BIPOB VoltageOfCode_Bipolar_OffsetBinary(0x000000) expect -2.5 Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1490 | #if MAX11410_SELFTEST_BIPOB // group BIPOB VoltageOfCode_Bipolar_OffsetBinary Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1491 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_OffsetBinary(0x000000), -2.5); // Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1492 | extern double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1493 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_OffsetBinary", fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary, 0x000000, -2.5); // Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1494 | #endif // MAX11410_SELFTEST_BIPOB // group BIPOB |
whismanoid | 52:d3fb6f1722bf | 1495 | |
whismanoid | 52:d3fb6f1722bf | 1496 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x7FFFFF) expect 2.500 within 0.030 Full Scale |
whismanoid | 52:d3fb6f1722bf | 1497 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Full Scale |
whismanoid | 52:d3fb6f1722bf | 1498 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x7FFFFF), 2.500); // Full Scale |
whismanoid | 52:d3fb6f1722bf | 1499 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1500 | tinyTester.err_threshold = 0.030; // within 0.030 |
whismanoid | 52:d3fb6f1722bf | 1501 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x7FFFFF, 2.500); // Full Scale |
whismanoid | 52:d3fb6f1722bf | 1502 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1503 | |
whismanoid | 52:d3fb6f1722bf | 1504 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x7FFFFE) expect 2.500 Full Scale |
whismanoid | 52:d3fb6f1722bf | 1505 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Full Scale |
whismanoid | 52:d3fb6f1722bf | 1506 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x7FFFFE), 2.500); // Full Scale |
whismanoid | 52:d3fb6f1722bf | 1507 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1508 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x7FFFFE, 2.500); // Full Scale |
whismanoid | 52:d3fb6f1722bf | 1509 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1510 | |
whismanoid | 52:d3fb6f1722bf | 1511 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x666666) expect 2.000 Two Volts |
whismanoid | 52:d3fb6f1722bf | 1512 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Two Volts |
whismanoid | 52:d3fb6f1722bf | 1513 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x666666), 2.000); // Two Volts |
whismanoid | 52:d3fb6f1722bf | 1514 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1515 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x666666, 2.000); // Two Volts |
whismanoid | 52:d3fb6f1722bf | 1516 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1517 | |
whismanoid | 52:d3fb6f1722bf | 1518 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x600000) expect 1.875 75% Scale |
whismanoid | 52:d3fb6f1722bf | 1519 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement 75% Scale |
whismanoid | 52:d3fb6f1722bf | 1520 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x600000), 1.875); // 75% Scale |
whismanoid | 52:d3fb6f1722bf | 1521 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1522 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x600000, 1.875); // 75% Scale |
whismanoid | 52:d3fb6f1722bf | 1523 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1524 | |
whismanoid | 52:d3fb6f1722bf | 1525 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x400000) expect 1.250 Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1526 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1527 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x400000), 1.250); // Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1528 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1529 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x400000, 1.250); // Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1530 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1531 | |
whismanoid | 52:d3fb6f1722bf | 1532 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x333333) expect 1.000 One Volt |
whismanoid | 52:d3fb6f1722bf | 1533 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement One Volt |
whismanoid | 52:d3fb6f1722bf | 1534 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x333333), 1.000); // One Volt |
whismanoid | 52:d3fb6f1722bf | 1535 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1536 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x333333, 1.000); // One Volt |
whismanoid | 52:d3fb6f1722bf | 1537 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1538 | |
whismanoid | 52:d3fb6f1722bf | 1539 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x200000) expect 0.625 25% Scale |
whismanoid | 52:d3fb6f1722bf | 1540 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement 25% Scale |
whismanoid | 52:d3fb6f1722bf | 1541 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x200000), 0.625); // 25% Scale |
whismanoid | 52:d3fb6f1722bf | 1542 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1543 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x200000, 0.625); // 25% Scale |
whismanoid | 52:d3fb6f1722bf | 1544 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1545 | |
whismanoid | 52:d3fb6f1722bf | 1546 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x051eb8) expect 0.100 100mV |
whismanoid | 52:d3fb6f1722bf | 1547 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement 100mV |
whismanoid | 52:d3fb6f1722bf | 1548 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x051eb8), 0.100); // 100mV |
whismanoid | 52:d3fb6f1722bf | 1549 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1550 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x051eb8, 0.100); // 100mV |
whismanoid | 52:d3fb6f1722bf | 1551 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1552 | |
whismanoid | 52:d3fb6f1722bf | 1553 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x000003) expect 0.00000894069671 Three LSB |
whismanoid | 52:d3fb6f1722bf | 1554 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Three LSB |
whismanoid | 52:d3fb6f1722bf | 1555 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x000003), 0.00000894069671); // Three LSB |
whismanoid | 52:d3fb6f1722bf | 1556 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1557 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x000003, 0.00000894069671); // Three LSB |
whismanoid | 52:d3fb6f1722bf | 1558 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1559 | |
whismanoid | 52:d3fb6f1722bf | 1560 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x000002) expect 0.00000596046447 Two LSB |
whismanoid | 52:d3fb6f1722bf | 1561 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Two LSB |
whismanoid | 52:d3fb6f1722bf | 1562 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x000002), 0.00000596046447); // Two LSB |
whismanoid | 52:d3fb6f1722bf | 1563 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1564 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x000002, 0.00000596046447); // Two LSB |
whismanoid | 52:d3fb6f1722bf | 1565 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1566 | |
whismanoid | 52:d3fb6f1722bf | 1567 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x000001) expect 0.0000029802326 One LSB |
whismanoid | 52:d3fb6f1722bf | 1568 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement One LSB |
whismanoid | 52:d3fb6f1722bf | 1569 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x000001), 0.0000029802326); // One LSB |
whismanoid | 52:d3fb6f1722bf | 1570 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1571 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x000001, 0.0000029802326); // One LSB |
whismanoid | 52:d3fb6f1722bf | 1572 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1573 | |
whismanoid | 52:d3fb6f1722bf | 1574 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x000000) expect 0.0 Zero Scale |
whismanoid | 52:d3fb6f1722bf | 1575 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Zero Scale |
whismanoid | 52:d3fb6f1722bf | 1576 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x000000), 0.0); // Zero Scale |
whismanoid | 52:d3fb6f1722bf | 1577 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1578 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x000000, 0.0); // Zero Scale |
whismanoid | 52:d3fb6f1722bf | 1579 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1580 | |
whismanoid | 52:d3fb6f1722bf | 1581 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0xFFFFFF) expect -0.0000029802326 Negative One LSB |
whismanoid | 52:d3fb6f1722bf | 1582 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Negative One LSB |
whismanoid | 52:d3fb6f1722bf | 1583 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0xFFFFFF), -0.0000029802326); // Negative One LSB |
whismanoid | 52:d3fb6f1722bf | 1584 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1585 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0xFFFFFF, -0.0000029802326); // Negative One LSB |
whismanoid | 52:d3fb6f1722bf | 1586 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1587 | |
whismanoid | 52:d3fb6f1722bf | 1588 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0xFFFFFE) expect -0.0000059604644 Negative Two LSB |
whismanoid | 52:d3fb6f1722bf | 1589 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Negative Two LSB |
whismanoid | 52:d3fb6f1722bf | 1590 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0xFFFFFE), -0.0000059604644); // Negative Two LSB |
whismanoid | 52:d3fb6f1722bf | 1591 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1592 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0xFFFFFE, -0.0000059604644); // Negative Two LSB |
whismanoid | 52:d3fb6f1722bf | 1593 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1594 | |
whismanoid | 52:d3fb6f1722bf | 1595 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0xFFFFFD) expect -0.0000089406967 Negative Three LSB |
whismanoid | 52:d3fb6f1722bf | 1596 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Negative Three LSB |
whismanoid | 52:d3fb6f1722bf | 1597 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0xFFFFFD), -0.0000089406967); // Negative Three LSB |
whismanoid | 52:d3fb6f1722bf | 1598 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1599 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0xFFFFFD, -0.0000089406967); // Negative Three LSB |
whismanoid | 52:d3fb6f1722bf | 1600 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1601 | |
whismanoid | 52:d3fb6f1722bf | 1602 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0xFAE148) expect -0.100 Negative 100mV |
whismanoid | 52:d3fb6f1722bf | 1603 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Negative 100mV |
whismanoid | 52:d3fb6f1722bf | 1604 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0xFAE148), -0.100); // Negative 100mV |
whismanoid | 52:d3fb6f1722bf | 1605 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1606 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0xFAE148, -0.100); // Negative 100mV |
whismanoid | 52:d3fb6f1722bf | 1607 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1608 | |
whismanoid | 52:d3fb6f1722bf | 1609 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0xE00000) expect -0.625 Negative 25% Scale |
whismanoid | 52:d3fb6f1722bf | 1610 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Negative 25% Scale |
whismanoid | 52:d3fb6f1722bf | 1611 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0xE00000), -0.625); // Negative 25% Scale |
whismanoid | 52:d3fb6f1722bf | 1612 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1613 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0xE00000, -0.625); // Negative 25% Scale |
whismanoid | 52:d3fb6f1722bf | 1614 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1615 | |
whismanoid | 52:d3fb6f1722bf | 1616 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0xCCCCCD) expect -1.000 Negative One Volt |
whismanoid | 52:d3fb6f1722bf | 1617 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Negative One Volt |
whismanoid | 52:d3fb6f1722bf | 1618 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0xCCCCCD), -1.000); // Negative One Volt |
whismanoid | 52:d3fb6f1722bf | 1619 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1620 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0xCCCCCD, -1.000); // Negative One Volt |
whismanoid | 52:d3fb6f1722bf | 1621 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1622 | |
whismanoid | 52:d3fb6f1722bf | 1623 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0xC00000) expect -1.250 Negative Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1624 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Negative Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1625 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0xC00000), -1.250); // Negative Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1626 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1627 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0xC00000, -1.250); // Negative Mid Scale |
whismanoid | 52:d3fb6f1722bf | 1628 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1629 | |
whismanoid | 52:d3fb6f1722bf | 1630 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0xA00000) expect -1.875 Negative 75% Scale |
whismanoid | 52:d3fb6f1722bf | 1631 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Negative 75% Scale |
whismanoid | 52:d3fb6f1722bf | 1632 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0xA00000), -1.875); // Negative 75% Scale |
whismanoid | 52:d3fb6f1722bf | 1633 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1634 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0xA00000, -1.875); // Negative 75% Scale |
whismanoid | 52:d3fb6f1722bf | 1635 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1636 | |
whismanoid | 52:d3fb6f1722bf | 1637 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x99999A) expect -2.000 Negative Two Volts |
whismanoid | 52:d3fb6f1722bf | 1638 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Negative Two Volts |
whismanoid | 52:d3fb6f1722bf | 1639 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x99999A), -2.000); // Negative Two Volts |
whismanoid | 52:d3fb6f1722bf | 1640 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1641 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x99999A, -2.000); // Negative Two Volts |
whismanoid | 52:d3fb6f1722bf | 1642 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1643 | |
whismanoid | 52:d3fb6f1722bf | 1644 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x800001) expect -2.500 Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1645 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1646 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x800001), -2.500); // Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1647 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1648 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x800001, -2.500); // Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1649 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1650 | |
whismanoid | 52:d3fb6f1722bf | 1651 | // CODE GENERATOR: SelfTest VoltageOfCode_Bipolar_2sComplement @test group BIP2C VoltageOfCode_Bipolar_2sComplement(0x800000) expect -2.500 Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1652 | #if MAX11410_SELFTEST_BIP2C // group BIP2C VoltageOfCode_Bipolar_2sComplement Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1653 | // ASSERT_EQ(g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(0x800000), -2.500); // Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1654 | extern double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24); |
whismanoid | 52:d3fb6f1722bf | 1655 | tinyTester.FunctionCall_Expect("MAX11410.VoltageOfCode_Bipolar_2sComplement", fn_MAX11410_VoltageOfCode_Bipolar_2sComplement, 0x800000, -2.500); // Negative Full Scale |
whismanoid | 52:d3fb6f1722bf | 1656 | #endif // MAX11410_SELFTEST_BIP2C // group BIP2C |
whismanoid | 52:d3fb6f1722bf | 1657 | |
whismanoid | 52:d3fb6f1722bf | 1658 | // CODE GENERATOR: SelfTest TemperatureOfRTD_PT1000 @test group RTD_PT1000 TemperatureOfRTD_PT1000(842.94) expect -40.0 within 0.1 PT-1000 RTD at -40C |
whismanoid | 52:d3fb6f1722bf | 1659 | #if MAX11410_SELFTEST_RTD_PT1000 // group RTD_PT1000 TemperatureOfRTD_PT1000 PT-1000 RTD at -40C |
whismanoid | 52:d3fb6f1722bf | 1660 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfRTD_PT1000(842.94), -40.0); // PT-1000 RTD at -40C |
whismanoid | 52:d3fb6f1722bf | 1661 | extern double fn_MAX11410_TemperatureOfRTD_PT1000(double rtd_resistance); |
whismanoid | 52:d3fb6f1722bf | 1662 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1663 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfRTD_PT1000", fn_MAX11410_TemperatureOfRTD_PT1000, 842.94, -40.0); // PT-1000 RTD at -40C |
whismanoid | 52:d3fb6f1722bf | 1664 | #endif // MAX11410_SELFTEST_RTD_PT1000 // group RTD_PT1000 |
whismanoid | 52:d3fb6f1722bf | 1665 | |
whismanoid | 52:d3fb6f1722bf | 1666 | // CODE GENERATOR: SelfTest TemperatureOfRTD_PT1000 @test group RTD_PT1000 TemperatureOfRTD_PT1000(1000.0) expect 0.0 within 0.1 PT-1000 RTD at 0C |
whismanoid | 52:d3fb6f1722bf | 1667 | #if MAX11410_SELFTEST_RTD_PT1000 // group RTD_PT1000 TemperatureOfRTD_PT1000 PT-1000 RTD at 0C |
whismanoid | 52:d3fb6f1722bf | 1668 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfRTD_PT1000(1000.0), 0.0); // PT-1000 RTD at 0C |
whismanoid | 52:d3fb6f1722bf | 1669 | extern double fn_MAX11410_TemperatureOfRTD_PT1000(double rtd_resistance); |
whismanoid | 52:d3fb6f1722bf | 1670 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1671 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfRTD_PT1000", fn_MAX11410_TemperatureOfRTD_PT1000, 1000.0, 0.0); // PT-1000 RTD at 0C |
whismanoid | 52:d3fb6f1722bf | 1672 | #endif // MAX11410_SELFTEST_RTD_PT1000 // group RTD_PT1000 |
whismanoid | 52:d3fb6f1722bf | 1673 | |
whismanoid | 52:d3fb6f1722bf | 1674 | // CODE GENERATOR: SelfTest TemperatureOfRTD_PT1000 @test group RTD_PT1000 TemperatureOfRTD_PT1000(1097.3) expect 25.0 within 0.1 PT-1000 RTD at 25C |
whismanoid | 52:d3fb6f1722bf | 1675 | #if MAX11410_SELFTEST_RTD_PT1000 // group RTD_PT1000 TemperatureOfRTD_PT1000 PT-1000 RTD at 25C |
whismanoid | 52:d3fb6f1722bf | 1676 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfRTD_PT1000(1097.3), 25.0); // PT-1000 RTD at 25C |
whismanoid | 52:d3fb6f1722bf | 1677 | extern double fn_MAX11410_TemperatureOfRTD_PT1000(double rtd_resistance); |
whismanoid | 52:d3fb6f1722bf | 1678 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1679 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfRTD_PT1000", fn_MAX11410_TemperatureOfRTD_PT1000, 1097.3, 25.0); // PT-1000 RTD at 25C |
whismanoid | 52:d3fb6f1722bf | 1680 | #endif // MAX11410_SELFTEST_RTD_PT1000 // group RTD_PT1000 |
whismanoid | 52:d3fb6f1722bf | 1681 | |
whismanoid | 52:d3fb6f1722bf | 1682 | // CODE GENERATOR: SelfTest TemperatureOfRTD_PT1000 @test group RTD_PT1000 TemperatureOfRTD_PT1000(1328.1) expect 85.0 within 0.1 PT-1000 RTD at 85C |
whismanoid | 52:d3fb6f1722bf | 1683 | #if MAX11410_SELFTEST_RTD_PT1000 // group RTD_PT1000 TemperatureOfRTD_PT1000 PT-1000 RTD at 85C |
whismanoid | 52:d3fb6f1722bf | 1684 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfRTD_PT1000(1328.1), 85.0); // PT-1000 RTD at 85C |
whismanoid | 52:d3fb6f1722bf | 1685 | extern double fn_MAX11410_TemperatureOfRTD_PT1000(double rtd_resistance); |
whismanoid | 52:d3fb6f1722bf | 1686 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1687 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfRTD_PT1000", fn_MAX11410_TemperatureOfRTD_PT1000, 1328.1, 85.0); // PT-1000 RTD at 85C |
whismanoid | 52:d3fb6f1722bf | 1688 | #endif // MAX11410_SELFTEST_RTD_PT1000 // group RTD_PT1000 |
whismanoid | 52:d3fb6f1722bf | 1689 | |
whismanoid | 52:d3fb6f1722bf | 1690 | // CODE GENERATOR: SelfTest TemperatureOfRTD_PT1000 @test group RTD_PT1000 TemperatureOfRTD_PT1000(1479.5) expect 125.0 within 0.1 PT-1000 RTD at 125C |
whismanoid | 52:d3fb6f1722bf | 1691 | #if MAX11410_SELFTEST_RTD_PT1000 // group RTD_PT1000 TemperatureOfRTD_PT1000 PT-1000 RTD at 125C |
whismanoid | 52:d3fb6f1722bf | 1692 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfRTD_PT1000(1479.5), 125.0); // PT-1000 RTD at 125C |
whismanoid | 52:d3fb6f1722bf | 1693 | extern double fn_MAX11410_TemperatureOfRTD_PT1000(double rtd_resistance); |
whismanoid | 52:d3fb6f1722bf | 1694 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1695 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfRTD_PT1000", fn_MAX11410_TemperatureOfRTD_PT1000, 1479.5, 125.0); // PT-1000 RTD at 125C |
whismanoid | 52:d3fb6f1722bf | 1696 | #endif // MAX11410_SELFTEST_RTD_PT1000 // group RTD_PT1000 |
whismanoid | 52:d3fb6f1722bf | 1697 | |
whismanoid | 52:d3fb6f1722bf | 1698 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(0.000e-3) expect 0.0 within 0.1 TC_TypeK at 0C = 0.000mV |
whismanoid | 52:d3fb6f1722bf | 1699 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 0C = 0.000mV |
whismanoid | 52:d3fb6f1722bf | 1700 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(0.000e-3), 0.0); // TC_TypeK at 0C = 0.000mV |
whismanoid | 52:d3fb6f1722bf | 1701 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1702 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1703 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 0.000e-3, 0.0); // TC_TypeK at 0C = 0.000mV |
whismanoid | 52:d3fb6f1722bf | 1704 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1705 | |
whismanoid | 52:d3fb6f1722bf | 1706 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(0.039e-3) expect 1.0 within 0.1 TC_TypeK at 1C = 0.039mV |
whismanoid | 52:d3fb6f1722bf | 1707 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 1C = 0.039mV |
whismanoid | 52:d3fb6f1722bf | 1708 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(0.039e-3), 1.0); // TC_TypeK at 1C = 0.039mV |
whismanoid | 52:d3fb6f1722bf | 1709 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1710 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1711 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 0.039e-3, 1.0); // TC_TypeK at 1C = 0.039mV |
whismanoid | 52:d3fb6f1722bf | 1712 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1713 | |
whismanoid | 52:d3fb6f1722bf | 1714 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(0.079e-3) expect 2.0 within 0.1 TC_TypeK at 2C = 0.079mV |
whismanoid | 52:d3fb6f1722bf | 1715 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 2C = 0.079mV |
whismanoid | 52:d3fb6f1722bf | 1716 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(0.079e-3), 2.0); // TC_TypeK at 2C = 0.079mV |
whismanoid | 52:d3fb6f1722bf | 1717 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1718 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1719 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 0.079e-3, 2.0); // TC_TypeK at 2C = 0.079mV |
whismanoid | 52:d3fb6f1722bf | 1720 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1721 | |
whismanoid | 52:d3fb6f1722bf | 1722 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(0.119e-3) expect 3.0 within 0.1 TC_TypeK at 3C = 0.119mV |
whismanoid | 52:d3fb6f1722bf | 1723 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 3C = 0.119mV |
whismanoid | 52:d3fb6f1722bf | 1724 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(0.119e-3), 3.0); // TC_TypeK at 3C = 0.119mV |
whismanoid | 52:d3fb6f1722bf | 1725 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1726 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1727 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 0.119e-3, 3.0); // TC_TypeK at 3C = 0.119mV |
whismanoid | 52:d3fb6f1722bf | 1728 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1729 | |
whismanoid | 52:d3fb6f1722bf | 1730 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(0.158e-3) expect 4.0 within 0.1 TC_TypeK at 4C = 0.158mV |
whismanoid | 52:d3fb6f1722bf | 1731 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 4C = 0.158mV |
whismanoid | 52:d3fb6f1722bf | 1732 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(0.158e-3), 4.0); // TC_TypeK at 4C = 0.158mV |
whismanoid | 52:d3fb6f1722bf | 1733 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1734 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1735 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 0.158e-3, 4.0); // TC_TypeK at 4C = 0.158mV |
whismanoid | 52:d3fb6f1722bf | 1736 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1737 | |
whismanoid | 52:d3fb6f1722bf | 1738 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(0.198e-3) expect 5.0 within 0.1 TC_TypeK at 5C = 0.198mV |
whismanoid | 52:d3fb6f1722bf | 1739 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 5C = 0.198mV |
whismanoid | 52:d3fb6f1722bf | 1740 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(0.198e-3), 5.0); // TC_TypeK at 5C = 0.198mV |
whismanoid | 52:d3fb6f1722bf | 1741 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1742 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1743 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 0.198e-3, 5.0); // TC_TypeK at 5C = 0.198mV |
whismanoid | 52:d3fb6f1722bf | 1744 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1745 | |
whismanoid | 52:d3fb6f1722bf | 1746 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(0.238e-3) expect 6.0 within 0.1 TC_TypeK at 6C = 0.238mV |
whismanoid | 52:d3fb6f1722bf | 1747 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 6C = 0.238mV |
whismanoid | 52:d3fb6f1722bf | 1748 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(0.238e-3), 6.0); // TC_TypeK at 6C = 0.238mV |
whismanoid | 52:d3fb6f1722bf | 1749 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1750 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1751 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 0.238e-3, 6.0); // TC_TypeK at 6C = 0.238mV |
whismanoid | 52:d3fb6f1722bf | 1752 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1753 | |
whismanoid | 52:d3fb6f1722bf | 1754 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(0.2775e-3) expect 7.0 within 0.1 TC_TypeK at 7C = 0.2775mV |
whismanoid | 52:d3fb6f1722bf | 1755 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 7C = 0.2775mV |
whismanoid | 52:d3fb6f1722bf | 1756 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(0.2775e-3), 7.0); // TC_TypeK at 7C = 0.2775mV |
whismanoid | 52:d3fb6f1722bf | 1757 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1758 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1759 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 0.2775e-3, 7.0); // TC_TypeK at 7C = 0.2775mV |
whismanoid | 52:d3fb6f1722bf | 1760 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1761 | |
whismanoid | 52:d3fb6f1722bf | 1762 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(0.317e-3) expect 8.0 within 0.1 TC_TypeK at 8C = 0.317mV |
whismanoid | 52:d3fb6f1722bf | 1763 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 8C = 0.317mV |
whismanoid | 52:d3fb6f1722bf | 1764 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(0.317e-3), 8.0); // TC_TypeK at 8C = 0.317mV |
whismanoid | 52:d3fb6f1722bf | 1765 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1766 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1767 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 0.317e-3, 8.0); // TC_TypeK at 8C = 0.317mV |
whismanoid | 52:d3fb6f1722bf | 1768 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1769 | |
whismanoid | 52:d3fb6f1722bf | 1770 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(0.357e-3) expect 9.0 within 0.1 TC_TypeK at 9C = 0.357mV |
whismanoid | 52:d3fb6f1722bf | 1771 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 9C = 0.357mV |
whismanoid | 52:d3fb6f1722bf | 1772 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(0.357e-3), 9.0); // TC_TypeK at 9C = 0.357mV |
whismanoid | 52:d3fb6f1722bf | 1773 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1774 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1775 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 0.357e-3, 9.0); // TC_TypeK at 9C = 0.357mV |
whismanoid | 52:d3fb6f1722bf | 1776 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1777 | |
whismanoid | 52:d3fb6f1722bf | 1778 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(0.397e-3) expect 10.0 within 0.1 TC_TypeK at 10C = 0.397mV |
whismanoid | 52:d3fb6f1722bf | 1779 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 10C = 0.397mV |
whismanoid | 52:d3fb6f1722bf | 1780 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(0.397e-3), 10.0); // TC_TypeK at 10C = 0.397mV |
whismanoid | 52:d3fb6f1722bf | 1781 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1782 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1783 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 0.397e-3, 10.0); // TC_TypeK at 10C = 0.397mV |
whismanoid | 52:d3fb6f1722bf | 1784 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1785 | |
whismanoid | 52:d3fb6f1722bf | 1786 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(0.798e-3) expect 20.0 within 0.1 TC_TypeK at 20C = 0.798mV |
whismanoid | 52:d3fb6f1722bf | 1787 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 20C = 0.798mV |
whismanoid | 52:d3fb6f1722bf | 1788 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(0.798e-3), 20.0); // TC_TypeK at 20C = 0.798mV |
whismanoid | 52:d3fb6f1722bf | 1789 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1790 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1791 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 0.798e-3, 20.0); // TC_TypeK at 20C = 0.798mV |
whismanoid | 52:d3fb6f1722bf | 1792 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1793 | |
whismanoid | 52:d3fb6f1722bf | 1794 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(1.081e-3) expect 27.0 within 0.1 TC_TypeK at 27C = 1.081mV |
whismanoid | 52:d3fb6f1722bf | 1795 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 27C = 1.081mV |
whismanoid | 52:d3fb6f1722bf | 1796 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(1.081e-3), 27.0); // TC_TypeK at 27C = 1.081mV |
whismanoid | 52:d3fb6f1722bf | 1797 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1798 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1799 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 1.081e-3, 27.0); // TC_TypeK at 27C = 1.081mV |
whismanoid | 52:d3fb6f1722bf | 1800 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1801 | |
whismanoid | 52:d3fb6f1722bf | 1802 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(1.203e-3) expect 30.0 within 0.1 TC_TypeK at 30C = 1.203mV |
whismanoid | 52:d3fb6f1722bf | 1803 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 30C = 1.203mV |
whismanoid | 52:d3fb6f1722bf | 1804 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(1.203e-3), 30.0); // TC_TypeK at 30C = 1.203mV |
whismanoid | 52:d3fb6f1722bf | 1805 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1806 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1807 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 1.203e-3, 30.0); // TC_TypeK at 30C = 1.203mV |
whismanoid | 52:d3fb6f1722bf | 1808 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1809 | |
whismanoid | 52:d3fb6f1722bf | 1810 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(1.612e-3) expect 40.0 within 0.1 TC_TypeK at 40C = 1.612mV |
whismanoid | 52:d3fb6f1722bf | 1811 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 40C = 1.612mV |
whismanoid | 52:d3fb6f1722bf | 1812 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(1.612e-3), 40.0); // TC_TypeK at 40C = 1.612mV |
whismanoid | 52:d3fb6f1722bf | 1813 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1814 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1815 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 1.612e-3, 40.0); // TC_TypeK at 40C = 1.612mV |
whismanoid | 52:d3fb6f1722bf | 1816 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1817 | |
whismanoid | 52:d3fb6f1722bf | 1818 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(2.023e-3) expect 50.0 within 0.1 TC_TypeK at 50C = 2.023mV |
whismanoid | 52:d3fb6f1722bf | 1819 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 50C = 2.023mV |
whismanoid | 52:d3fb6f1722bf | 1820 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(2.023e-3), 50.0); // TC_TypeK at 50C = 2.023mV |
whismanoid | 52:d3fb6f1722bf | 1821 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1822 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1823 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 2.023e-3, 50.0); // TC_TypeK at 50C = 2.023mV |
whismanoid | 52:d3fb6f1722bf | 1824 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1825 | |
whismanoid | 52:d3fb6f1722bf | 1826 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(2.436e-3) expect 60.0 within 0.1 TC_TypeK at 60C = 2.436mV |
whismanoid | 52:d3fb6f1722bf | 1827 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 60C = 2.436mV |
whismanoid | 52:d3fb6f1722bf | 1828 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(2.436e-3), 60.0); // TC_TypeK at 60C = 2.436mV |
whismanoid | 52:d3fb6f1722bf | 1829 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1830 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1831 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 2.436e-3, 60.0); // TC_TypeK at 60C = 2.436mV |
whismanoid | 52:d3fb6f1722bf | 1832 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1833 | |
whismanoid | 52:d3fb6f1722bf | 1834 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(2.851e-3) expect 70.0 within 0.1 TC_TypeK at 70C = 2.851mV |
whismanoid | 52:d3fb6f1722bf | 1835 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 70C = 2.851mV |
whismanoid | 52:d3fb6f1722bf | 1836 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(2.851e-3), 70.0); // TC_TypeK at 70C = 2.851mV |
whismanoid | 52:d3fb6f1722bf | 1837 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1838 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1839 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 2.851e-3, 70.0); // TC_TypeK at 70C = 2.851mV |
whismanoid | 52:d3fb6f1722bf | 1840 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1841 | |
whismanoid | 52:d3fb6f1722bf | 1842 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(3.267e-3) expect 80.0 within 0.1 TC_TypeK at 80C = 3.267mV |
whismanoid | 52:d3fb6f1722bf | 1843 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 80C = 3.267mV |
whismanoid | 52:d3fb6f1722bf | 1844 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(3.267e-3), 80.0); // TC_TypeK at 80C = 3.267mV |
whismanoid | 52:d3fb6f1722bf | 1845 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1846 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1847 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 3.267e-3, 80.0); // TC_TypeK at 80C = 3.267mV |
whismanoid | 52:d3fb6f1722bf | 1848 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1849 | |
whismanoid | 52:d3fb6f1722bf | 1850 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(3.682e-3) expect 90.0 within 0.1 TC_TypeK at 90C = 3.682mV |
whismanoid | 52:d3fb6f1722bf | 1851 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 90C = 3.682mV |
whismanoid | 52:d3fb6f1722bf | 1852 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(3.682e-3), 90.0); // TC_TypeK at 90C = 3.682mV |
whismanoid | 52:d3fb6f1722bf | 1853 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1854 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1855 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 3.682e-3, 90.0); // TC_TypeK at 90C = 3.682mV |
whismanoid | 52:d3fb6f1722bf | 1856 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1857 | |
whismanoid | 52:d3fb6f1722bf | 1858 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(4.096e-3) expect 100.0 within 0.1 TC_TypeK at 100C = 4.096mV |
whismanoid | 52:d3fb6f1722bf | 1859 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 100C = 4.096mV |
whismanoid | 52:d3fb6f1722bf | 1860 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(4.096e-3), 100.0); // TC_TypeK at 100C = 4.096mV |
whismanoid | 52:d3fb6f1722bf | 1861 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1862 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1863 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 4.096e-3, 100.0); // TC_TypeK at 100C = 4.096mV |
whismanoid | 52:d3fb6f1722bf | 1864 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1865 | |
whismanoid | 52:d3fb6f1722bf | 1866 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(4.509e-3) expect 110.0 within 0.1 TC_TypeK at 110C = 4.509mV |
whismanoid | 52:d3fb6f1722bf | 1867 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 110C = 4.509mV |
whismanoid | 52:d3fb6f1722bf | 1868 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(4.509e-3), 110.0); // TC_TypeK at 110C = 4.509mV |
whismanoid | 52:d3fb6f1722bf | 1869 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1870 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1871 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 4.509e-3, 110.0); // TC_TypeK at 110C = 4.509mV |
whismanoid | 52:d3fb6f1722bf | 1872 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1873 | |
whismanoid | 52:d3fb6f1722bf | 1874 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(4.920e-3) expect 120.0 within 0.1 TC_TypeK at 120C = 4.920mV |
whismanoid | 52:d3fb6f1722bf | 1875 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 120C = 4.920mV |
whismanoid | 52:d3fb6f1722bf | 1876 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(4.920e-3), 120.0); // TC_TypeK at 120C = 4.920mV |
whismanoid | 52:d3fb6f1722bf | 1877 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1878 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1879 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 4.920e-3, 120.0); // TC_TypeK at 120C = 4.920mV |
whismanoid | 52:d3fb6f1722bf | 1880 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1881 | |
whismanoid | 52:d3fb6f1722bf | 1882 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(5.328e-3) expect 130.0 within 0.1 TC_TypeK at 130C = 5.328mV |
whismanoid | 52:d3fb6f1722bf | 1883 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 130C = 5.328mV |
whismanoid | 52:d3fb6f1722bf | 1884 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(5.328e-3), 130.0); // TC_TypeK at 130C = 5.328mV |
whismanoid | 52:d3fb6f1722bf | 1885 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1886 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1887 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 5.328e-3, 130.0); // TC_TypeK at 130C = 5.328mV |
whismanoid | 52:d3fb6f1722bf | 1888 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1889 | |
whismanoid | 52:d3fb6f1722bf | 1890 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(5.735e-3) expect 140.0 within 0.1 TC_TypeK at 140C = 5.735mV |
whismanoid | 52:d3fb6f1722bf | 1891 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 140C = 5.735mV |
whismanoid | 52:d3fb6f1722bf | 1892 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(5.735e-3), 140.0); // TC_TypeK at 140C = 5.735mV |
whismanoid | 52:d3fb6f1722bf | 1893 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1894 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1895 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 5.735e-3, 140.0); // TC_TypeK at 140C = 5.735mV |
whismanoid | 52:d3fb6f1722bf | 1896 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1897 | |
whismanoid | 52:d3fb6f1722bf | 1898 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(6.138e-3) expect 150.0 within 0.1 TC_TypeK at 150C = 6.138mV |
whismanoid | 52:d3fb6f1722bf | 1899 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 150C = 6.138mV |
whismanoid | 52:d3fb6f1722bf | 1900 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(6.138e-3), 150.0); // TC_TypeK at 150C = 6.138mV |
whismanoid | 52:d3fb6f1722bf | 1901 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1902 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1903 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 6.138e-3, 150.0); // TC_TypeK at 150C = 6.138mV |
whismanoid | 52:d3fb6f1722bf | 1904 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1905 | |
whismanoid | 52:d3fb6f1722bf | 1906 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(6.540e-3) expect 160.0 within 0.1 TC_TypeK at 160C = 6.540mV |
whismanoid | 52:d3fb6f1722bf | 1907 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 160C = 6.540mV |
whismanoid | 52:d3fb6f1722bf | 1908 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(6.540e-3), 160.0); // TC_TypeK at 160C = 6.540mV |
whismanoid | 52:d3fb6f1722bf | 1909 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1910 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1911 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 6.540e-3, 160.0); // TC_TypeK at 160C = 6.540mV |
whismanoid | 52:d3fb6f1722bf | 1912 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1913 | |
whismanoid | 52:d3fb6f1722bf | 1914 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(6.941e-3) expect 170.0 within 0.1 TC_TypeK at 170C = 6.941mV |
whismanoid | 52:d3fb6f1722bf | 1915 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 170C = 6.941mV |
whismanoid | 52:d3fb6f1722bf | 1916 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(6.941e-3), 170.0); // TC_TypeK at 170C = 6.941mV |
whismanoid | 52:d3fb6f1722bf | 1917 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1918 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1919 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 6.941e-3, 170.0); // TC_TypeK at 170C = 6.941mV |
whismanoid | 52:d3fb6f1722bf | 1920 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1921 | |
whismanoid | 52:d3fb6f1722bf | 1922 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(7.340e-3) expect 180.0 within 0.1 TC_TypeK at 180C = 7.340mV |
whismanoid | 52:d3fb6f1722bf | 1923 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 180C = 7.340mV |
whismanoid | 52:d3fb6f1722bf | 1924 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(7.340e-3), 180.0); // TC_TypeK at 180C = 7.340mV |
whismanoid | 52:d3fb6f1722bf | 1925 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1926 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1927 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 7.340e-3, 180.0); // TC_TypeK at 180C = 7.340mV |
whismanoid | 52:d3fb6f1722bf | 1928 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1929 | |
whismanoid | 52:d3fb6f1722bf | 1930 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(7.739e-3) expect 190.0 within 0.1 TC_TypeK at 190C = 7.739mV |
whismanoid | 52:d3fb6f1722bf | 1931 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 190C = 7.739mV |
whismanoid | 52:d3fb6f1722bf | 1932 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(7.739e-3), 190.0); // TC_TypeK at 190C = 7.739mV |
whismanoid | 52:d3fb6f1722bf | 1933 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1934 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1935 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 7.739e-3, 190.0); // TC_TypeK at 190C = 7.739mV |
whismanoid | 52:d3fb6f1722bf | 1936 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1937 | |
whismanoid | 52:d3fb6f1722bf | 1938 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(8.138e-3) expect 200.0 within 0.1 TC_TypeK at 200C = 8.138mV |
whismanoid | 52:d3fb6f1722bf | 1939 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 200C = 8.138mV |
whismanoid | 52:d3fb6f1722bf | 1940 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(8.138e-3), 200.0); // TC_TypeK at 200C = 8.138mV |
whismanoid | 52:d3fb6f1722bf | 1941 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1942 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1943 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 8.138e-3, 200.0); // TC_TypeK at 200C = 8.138mV |
whismanoid | 52:d3fb6f1722bf | 1944 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1945 | |
whismanoid | 52:d3fb6f1722bf | 1946 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(8.539e-3) expect 210.0 within 0.1 TC_TypeK at 210C = 8.539mV |
whismanoid | 52:d3fb6f1722bf | 1947 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 210C = 8.539mV |
whismanoid | 52:d3fb6f1722bf | 1948 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(8.539e-3), 210.0); // TC_TypeK at 210C = 8.539mV |
whismanoid | 52:d3fb6f1722bf | 1949 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1950 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1951 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 8.539e-3, 210.0); // TC_TypeK at 210C = 8.539mV |
whismanoid | 52:d3fb6f1722bf | 1952 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1953 | |
whismanoid | 52:d3fb6f1722bf | 1954 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(8.940e-3) expect 220.0 within 0.1 TC_TypeK at 220C = 8.940mV |
whismanoid | 52:d3fb6f1722bf | 1955 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 220C = 8.940mV |
whismanoid | 52:d3fb6f1722bf | 1956 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(8.940e-3), 220.0); // TC_TypeK at 220C = 8.940mV |
whismanoid | 52:d3fb6f1722bf | 1957 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1958 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1959 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 8.940e-3, 220.0); // TC_TypeK at 220C = 8.940mV |
whismanoid | 52:d3fb6f1722bf | 1960 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 1961 | |
whismanoid | 52:d3fb6f1722bf | 1962 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(9.343e-3) expect 230.0 within 0.1 TC_TypeK at 230C = 9.343mV |
whismanoid | 52:d3fb6f1722bf | 1963 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 230C = 9.343mV |
whismanoid | 52:d3fb6f1722bf | 1964 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(9.343e-3), 230.0); // TC_TypeK at 230C = 9.343mV |
whismanoid | 52:d3fb6f1722bf | 1965 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1966 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1967 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 9.343e-3, 230.0); // TC_TypeK at 230C = 9.343mV |
whismanoid | 52:d3fb6f1722bf | 1968 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1969 | |
whismanoid | 52:d3fb6f1722bf | 1970 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(9.747e-3) expect 240.0 within 0.1 TC_TypeK at 240C = 9.747mV |
whismanoid | 52:d3fb6f1722bf | 1971 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 240C = 9.747mV |
whismanoid | 52:d3fb6f1722bf | 1972 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(9.747e-3), 240.0); // TC_TypeK at 240C = 9.747mV |
whismanoid | 52:d3fb6f1722bf | 1973 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1974 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1975 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 9.747e-3, 240.0); // TC_TypeK at 240C = 9.747mV |
whismanoid | 52:d3fb6f1722bf | 1976 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1977 | |
whismanoid | 52:d3fb6f1722bf | 1978 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(10.153e-3) expect 250.0 within 0.1 TC_TypeK at 250C = 10.153mV |
whismanoid | 52:d3fb6f1722bf | 1979 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 250C = 10.153mV |
whismanoid | 52:d3fb6f1722bf | 1980 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(10.153e-3), 250.0); // TC_TypeK at 250C = 10.153mV |
whismanoid | 52:d3fb6f1722bf | 1981 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1982 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1983 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 10.153e-3, 250.0); // TC_TypeK at 250C = 10.153mV |
whismanoid | 52:d3fb6f1722bf | 1984 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1985 | |
whismanoid | 52:d3fb6f1722bf | 1986 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(10.561e-3) expect 260.0 within 0.1 TC_TypeK at 260C = 10.561mV |
whismanoid | 52:d3fb6f1722bf | 1987 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 260C = 10.561mV |
whismanoid | 52:d3fb6f1722bf | 1988 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(10.561e-3), 260.0); // TC_TypeK at 260C = 10.561mV |
whismanoid | 52:d3fb6f1722bf | 1989 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1990 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1991 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 10.561e-3, 260.0); // TC_TypeK at 260C = 10.561mV |
whismanoid | 52:d3fb6f1722bf | 1992 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 1993 | |
whismanoid | 52:d3fb6f1722bf | 1994 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(10.971e-3) expect 270.0 within 0.1 TC_TypeK at 270C = 10.971mV |
whismanoid | 52:d3fb6f1722bf | 1995 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 270C = 10.971mV |
whismanoid | 52:d3fb6f1722bf | 1996 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(10.971e-3), 270.0); // TC_TypeK at 270C = 10.971mV |
whismanoid | 52:d3fb6f1722bf | 1997 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 1998 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 1999 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 10.971e-3, 270.0); // TC_TypeK at 270C = 10.971mV |
whismanoid | 52:d3fb6f1722bf | 2000 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 2001 | |
whismanoid | 52:d3fb6f1722bf | 2002 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(11.382e-3) expect 280.0 within 0.1 TC_TypeK at 280C = 11.382mV |
whismanoid | 52:d3fb6f1722bf | 2003 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 280C = 11.382mV |
whismanoid | 52:d3fb6f1722bf | 2004 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(11.382e-3), 280.0); // TC_TypeK at 280C = 11.382mV |
whismanoid | 52:d3fb6f1722bf | 2005 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 2006 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 2007 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 11.382e-3, 280.0); // TC_TypeK at 280C = 11.382mV |
whismanoid | 52:d3fb6f1722bf | 2008 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 2009 | |
whismanoid | 52:d3fb6f1722bf | 2010 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(11.795e-3) expect 290.0 within 0.1 TC_TypeK at 290C = 11.795mV |
whismanoid | 52:d3fb6f1722bf | 2011 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 290C = 11.795mV |
whismanoid | 52:d3fb6f1722bf | 2012 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(11.795e-3), 290.0); // TC_TypeK at 290C = 11.795mV |
whismanoid | 52:d3fb6f1722bf | 2013 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 2014 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 2015 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 11.795e-3, 290.0); // TC_TypeK at 290C = 11.795mV |
whismanoid | 52:d3fb6f1722bf | 2016 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 2017 | |
whismanoid | 52:d3fb6f1722bf | 2018 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(12.209e-3) expect 300.0 within 0.1 TC_TypeK at 300C = 12.209mV |
whismanoid | 52:d3fb6f1722bf | 2019 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 300C = 12.209mV |
whismanoid | 52:d3fb6f1722bf | 2020 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(12.209e-3), 300.0); // TC_TypeK at 300C = 12.209mV |
whismanoid | 52:d3fb6f1722bf | 2021 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 2022 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 2023 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 12.209e-3, 300.0); // TC_TypeK at 300C = 12.209mV |
whismanoid | 52:d3fb6f1722bf | 2024 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 2025 | |
whismanoid | 52:d3fb6f1722bf | 2026 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_2 TemperatureOfTC_TypeK(14.293e-3) expect 350.0 within 0.1 TC_TypeK at 350C = 14.293mV |
whismanoid | 52:d3fb6f1722bf | 2027 | #if MAX11410_SELFTEST_TC_2 // group TC_2 TemperatureOfTC_TypeK TC_TypeK at 350C = 14.293mV |
whismanoid | 52:d3fb6f1722bf | 2028 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(14.293e-3), 350.0); // TC_TypeK at 350C = 14.293mV |
whismanoid | 52:d3fb6f1722bf | 2029 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 2030 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 2031 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 14.293e-3, 350.0); // TC_TypeK at 350C = 14.293mV |
whismanoid | 52:d3fb6f1722bf | 2032 | #endif // MAX11410_SELFTEST_TC_2 // group TC_2 |
whismanoid | 52:d3fb6f1722bf | 2033 | |
whismanoid | 52:d3fb6f1722bf | 2034 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(16.397e-3) expect 400.0 within 0.1 TC_TypeK at 400C = 16.397mV |
whismanoid | 52:d3fb6f1722bf | 2035 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 400C = 16.397mV |
whismanoid | 52:d3fb6f1722bf | 2036 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(16.397e-3), 400.0); // TC_TypeK at 400C = 16.397mV |
whismanoid | 52:d3fb6f1722bf | 2037 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 2038 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 2039 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 16.397e-3, 400.0); // TC_TypeK at 400C = 16.397mV |
whismanoid | 52:d3fb6f1722bf | 2040 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 2041 | |
whismanoid | 52:d3fb6f1722bf | 2042 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(18.516e-3) expect 450.0 within 0.1 TC_TypeK at 450C = 18.516mV |
whismanoid | 52:d3fb6f1722bf | 2043 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 450C = 18.516mV |
whismanoid | 52:d3fb6f1722bf | 2044 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(18.516e-3), 450.0); // TC_TypeK at 450C = 18.516mV |
whismanoid | 52:d3fb6f1722bf | 2045 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 2046 | tinyTester.err_threshold = 0.1; // within 0.1 |
whismanoid | 52:d3fb6f1722bf | 2047 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 18.516e-3, 450.0); // TC_TypeK at 450C = 18.516mV |
whismanoid | 52:d3fb6f1722bf | 2048 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 2049 | |
whismanoid | 52:d3fb6f1722bf | 2050 | // CODE GENERATOR: SelfTest TemperatureOfTC_TypeK @test group TC_1 TemperatureOfTC_TypeK(20.218e-3) expect 490.0 TC_TypeK at 490C = 20.218mV |
whismanoid | 52:d3fb6f1722bf | 2051 | #if MAX11410_SELFTEST_TC_1 // group TC_1 TemperatureOfTC_TypeK TC_TypeK at 490C = 20.218mV |
whismanoid | 52:d3fb6f1722bf | 2052 | // ASSERT_EQ(g_MAX11410_device.TemperatureOfTC_TypeK(20.218e-3), 490.0); // TC_TypeK at 490C = 20.218mV |
whismanoid | 52:d3fb6f1722bf | 2053 | extern double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 2054 | tinyTester.FunctionCall_Expect("MAX11410.TemperatureOfTC_TypeK", fn_MAX11410_TemperatureOfTC_TypeK, 20.218e-3, 490.0); // TC_TypeK at 490C = 20.218mV |
whismanoid | 52:d3fb6f1722bf | 2055 | #endif // MAX11410_SELFTEST_TC_1 // group TC_1 |
whismanoid | 52:d3fb6f1722bf | 2056 | |
whismanoid | 52:d3fb6f1722bf | 2057 | // |
whismanoid | 52:d3fb6f1722bf | 2058 | #if INJECT_SELFTEST_FAIL |
whismanoid | 52:d3fb6f1722bf | 2059 | // Test of the pass/fail report mechanism |
whismanoid | 52:d3fb6f1722bf | 2060 | tinyTester.FAIL(); |
whismanoid | 52:d3fb6f1722bf | 2061 | cmdLine.serial().print(F("injecting one false failure for test reporting")); |
whismanoid | 52:d3fb6f1722bf | 2062 | #endif |
whismanoid | 52:d3fb6f1722bf | 2063 | // |
whismanoid | 52:d3fb6f1722bf | 2064 | // Report number of pass and number of fail test results |
whismanoid | 52:d3fb6f1722bf | 2065 | tinyTester.Report_Summary(); |
whismanoid | 52:d3fb6f1722bf | 2066 | } |
whismanoid | 52:d3fb6f1722bf | 2067 | |
whismanoid | 52:d3fb6f1722bf | 2068 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2069 | // selftest: define function under test |
whismanoid | 52:d3fb6f1722bf | 2070 | // double MAX11410::VoltageOfCode_Unipolar(uint32_t value_u24) |
whismanoid | 52:d3fb6f1722bf | 2071 | double fn_MAX11410_VoltageOfCode_Unipolar(uint32_t value_u24) |
whismanoid | 52:d3fb6f1722bf | 2072 | { |
whismanoid | 52:d3fb6f1722bf | 2073 | return g_MAX11410_device.VoltageOfCode_Unipolar(value_u24); |
whismanoid | 52:d3fb6f1722bf | 2074 | } |
whismanoid | 52:d3fb6f1722bf | 2075 | |
whismanoid | 52:d3fb6f1722bf | 2076 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2077 | // selftest: define function under test |
whismanoid | 52:d3fb6f1722bf | 2078 | // double MAX11410::VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24) |
whismanoid | 52:d3fb6f1722bf | 2079 | double fn_MAX11410_VoltageOfCode_Bipolar_OffsetBinary(uint32_t value_u24) |
whismanoid | 52:d3fb6f1722bf | 2080 | { |
whismanoid | 52:d3fb6f1722bf | 2081 | return g_MAX11410_device.VoltageOfCode_Bipolar_OffsetBinary(value_u24); |
whismanoid | 52:d3fb6f1722bf | 2082 | } |
whismanoid | 52:d3fb6f1722bf | 2083 | |
whismanoid | 52:d3fb6f1722bf | 2084 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2085 | // selftest: define function under test |
whismanoid | 52:d3fb6f1722bf | 2086 | // double MAX11410::VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24) |
whismanoid | 52:d3fb6f1722bf | 2087 | double fn_MAX11410_VoltageOfCode_Bipolar_2sComplement(uint32_t value_u24) |
whismanoid | 52:d3fb6f1722bf | 2088 | { |
whismanoid | 52:d3fb6f1722bf | 2089 | return g_MAX11410_device.VoltageOfCode_Bipolar_2sComplement(value_u24); |
whismanoid | 52:d3fb6f1722bf | 2090 | } |
whismanoid | 52:d3fb6f1722bf | 2091 | |
whismanoid | 52:d3fb6f1722bf | 2092 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2093 | // selftest: define function under test |
whismanoid | 52:d3fb6f1722bf | 2094 | // double MAX11410::TemperatureOfRTD_PT1000(double rtd_resistance) |
whismanoid | 52:d3fb6f1722bf | 2095 | double fn_MAX11410_TemperatureOfRTD_PT1000(double rtd_resistance) |
whismanoid | 52:d3fb6f1722bf | 2096 | { |
whismanoid | 52:d3fb6f1722bf | 2097 | return g_MAX11410_device.TemperatureOfRTD_PT1000(rtd_resistance); |
whismanoid | 52:d3fb6f1722bf | 2098 | } |
whismanoid | 52:d3fb6f1722bf | 2099 | |
whismanoid | 52:d3fb6f1722bf | 2100 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2101 | // selftest: define function under test |
whismanoid | 52:d3fb6f1722bf | 2102 | // double MAX11410::TemperatureOfTC_TypeK(double tc_voltage) |
whismanoid | 52:d3fb6f1722bf | 2103 | double fn_MAX11410_TemperatureOfTC_TypeK(double tc_voltage) |
whismanoid | 52:d3fb6f1722bf | 2104 | { |
whismanoid | 52:d3fb6f1722bf | 2105 | return g_MAX11410_device.TemperatureOfTC_TypeK(tc_voltage); |
whismanoid | 52:d3fb6f1722bf | 2106 | } |
whismanoid | 52:d3fb6f1722bf | 2107 | |
whismanoid | 52:d3fb6f1722bf | 2108 | |
whismanoid | 52:d3fb6f1722bf | 2109 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2110 | inline void print_command_prompt() |
whismanoid | 52:d3fb6f1722bf | 2111 | { |
whismanoid | 52:d3fb6f1722bf | 2112 | cmdLine_serial.serial().printf("\r\n> "); |
whismanoid | 52:d3fb6f1722bf | 2113 | |
whismanoid | 52:d3fb6f1722bf | 2114 | } |
whismanoid | 52:d3fb6f1722bf | 2115 | |
whismanoid | 52:d3fb6f1722bf | 2116 | |
whismanoid | 52:d3fb6f1722bf | 2117 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2118 | void pinsMonitor_submenu_onEOLcommandParser(CmdLine& cmdLine) |
whismanoid | 52:d3fb6f1722bf | 2119 | { |
whismanoid | 52:d3fb6f1722bf | 2120 | // % diagnostic commands submenu |
whismanoid | 52:d3fb6f1722bf | 2121 | // %Hpin -- digital output high |
whismanoid | 52:d3fb6f1722bf | 2122 | // %Lpin -- digital output low |
whismanoid | 52:d3fb6f1722bf | 2123 | // %?pin -- digital input |
whismanoid | 52:d3fb6f1722bf | 2124 | // %A %Apin -- analog input |
whismanoid | 52:d3fb6f1722bf | 2125 | // %Ppin df=xx -- pwm output |
whismanoid | 52:d3fb6f1722bf | 2126 | // %Wpin -- measure high pulsewidth input in usec |
whismanoid | 52:d3fb6f1722bf | 2127 | // %wpin -- measure low pulsewidth input in usec |
whismanoid | 52:d3fb6f1722bf | 2128 | // %I... -- I2C diagnostics |
whismanoid | 52:d3fb6f1722bf | 2129 | // %IP -- I2C probe |
whismanoid | 52:d3fb6f1722bf | 2130 | // %IC scl=100khz ADDR=? -- I2C configure |
whismanoid | 52:d3fb6f1722bf | 2131 | // %IW byte byte ... byte RD=? ADDR=0x -- write |
whismanoid | 52:d3fb6f1722bf | 2132 | // %IR ADDR=? RD=? -- read |
whismanoid | 52:d3fb6f1722bf | 2133 | // %I^ cmd=? -- i2c_smbus_read_word_data |
whismanoid | 52:d3fb6f1722bf | 2134 | // %S... -- SPI diagnostics |
whismanoid | 52:d3fb6f1722bf | 2135 | // %SC sclk=1Mhz -- SPI configure |
whismanoid | 52:d3fb6f1722bf | 2136 | // %SW -- write (write and read) |
whismanoid | 52:d3fb6f1722bf | 2137 | // %SR -- read (alias for %SW because SPI always write and read) |
whismanoid | 52:d3fb6f1722bf | 2138 | // A-Z,a-z,0-9 reserved for application use |
whismanoid | 52:d3fb6f1722bf | 2139 | // |
whismanoid | 52:d3fb6f1722bf | 2140 | char strPinIndex[3]; |
whismanoid | 52:d3fb6f1722bf | 2141 | strPinIndex[0] = cmdLine[2]; |
whismanoid | 52:d3fb6f1722bf | 2142 | strPinIndex[1] = cmdLine[3]; |
whismanoid | 52:d3fb6f1722bf | 2143 | strPinIndex[2] = '\0'; |
whismanoid | 52:d3fb6f1722bf | 2144 | int pinIndex = strtoul(strPinIndex, NULL, 10); // strtol(str, NULL, 10): get decimal value |
whismanoid | 52:d3fb6f1722bf | 2145 | //cmdLine.serial().printf(" pinIndex=%d ", pinIndex); |
whismanoid | 52:d3fb6f1722bf | 2146 | // |
whismanoid | 52:d3fb6f1722bf | 2147 | // get next character |
whismanoid | 52:d3fb6f1722bf | 2148 | switch (cmdLine[1]) |
whismanoid | 52:d3fb6f1722bf | 2149 | { |
whismanoid | 52:d3fb6f1722bf | 2150 | #if HAS_digitalInOuts |
whismanoid | 52:d3fb6f1722bf | 2151 | case 'H': case 'h': |
whismanoid | 52:d3fb6f1722bf | 2152 | { |
whismanoid | 52:d3fb6f1722bf | 2153 | // %Hpin -- digital output high |
whismanoid | 52:d3fb6f1722bf | 2154 | #if ARDUINO_STYLE |
whismanoid | 52:d3fb6f1722bf | 2155 | pinMode(pinIndex, OUTPUT); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 |
whismanoid | 52:d3fb6f1722bf | 2156 | digitalWrite(pinIndex, HIGH); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 |
whismanoid | 52:d3fb6f1722bf | 2157 | #else |
whismanoid | 52:d3fb6f1722bf | 2158 | DigitalInOut& digitalInOutPin = find_digitalInOutPin(pinIndex); |
whismanoid | 52:d3fb6f1722bf | 2159 | digitalInOutPin.output(); |
whismanoid | 52:d3fb6f1722bf | 2160 | digitalInOutPin.write(1); |
whismanoid | 52:d3fb6f1722bf | 2161 | #endif |
whismanoid | 52:d3fb6f1722bf | 2162 | cmdLine.serial().printf(" digitalInOutPin %d Output High ", pinIndex); |
whismanoid | 52:d3fb6f1722bf | 2163 | } |
whismanoid | 52:d3fb6f1722bf | 2164 | break; |
whismanoid | 52:d3fb6f1722bf | 2165 | case 'L': case 'l': |
whismanoid | 52:d3fb6f1722bf | 2166 | { |
whismanoid | 52:d3fb6f1722bf | 2167 | // %Lpin -- digital output low |
whismanoid | 52:d3fb6f1722bf | 2168 | #if ARDUINO_STYLE |
whismanoid | 52:d3fb6f1722bf | 2169 | pinMode(pinIndex, OUTPUT); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 |
whismanoid | 52:d3fb6f1722bf | 2170 | digitalWrite(pinIndex, LOW); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 |
whismanoid | 52:d3fb6f1722bf | 2171 | #else |
whismanoid | 52:d3fb6f1722bf | 2172 | DigitalInOut& digitalInOutPin = find_digitalInOutPin(pinIndex); |
whismanoid | 52:d3fb6f1722bf | 2173 | digitalInOutPin.output(); |
whismanoid | 52:d3fb6f1722bf | 2174 | digitalInOutPin.write(0); |
whismanoid | 52:d3fb6f1722bf | 2175 | #endif |
whismanoid | 52:d3fb6f1722bf | 2176 | cmdLine.serial().printf(" digitalInOutPin %d Output Low ", pinIndex); |
whismanoid | 52:d3fb6f1722bf | 2177 | } |
whismanoid | 52:d3fb6f1722bf | 2178 | break; |
whismanoid | 52:d3fb6f1722bf | 2179 | case '?': |
whismanoid | 52:d3fb6f1722bf | 2180 | { |
whismanoid | 52:d3fb6f1722bf | 2181 | // %?pin -- digital input |
whismanoid | 52:d3fb6f1722bf | 2182 | #if ARDUINO_STYLE |
whismanoid | 52:d3fb6f1722bf | 2183 | pinMode(pinIndex, INPUT); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 |
whismanoid | 52:d3fb6f1722bf | 2184 | #else |
whismanoid | 52:d3fb6f1722bf | 2185 | DigitalInOut& digitalInOutPin = find_digitalInOutPin(pinIndex); |
whismanoid | 52:d3fb6f1722bf | 2186 | digitalInOutPin.input(); |
whismanoid | 52:d3fb6f1722bf | 2187 | #endif |
whismanoid | 52:d3fb6f1722bf | 2188 | serial.printf(" digitalInOutPin %d Input ", pinIndex); |
whismanoid | 52:d3fb6f1722bf | 2189 | #if ARDUINO_STYLE |
whismanoid | 52:d3fb6f1722bf | 2190 | int value = digitalRead(pinIndex); |
whismanoid | 52:d3fb6f1722bf | 2191 | #else |
whismanoid | 52:d3fb6f1722bf | 2192 | int value = digitalInOutPin.read(); |
whismanoid | 52:d3fb6f1722bf | 2193 | #endif |
whismanoid | 52:d3fb6f1722bf | 2194 | cmdLine.serial().printf("%d ", value); |
whismanoid | 52:d3fb6f1722bf | 2195 | } |
whismanoid | 52:d3fb6f1722bf | 2196 | break; |
whismanoid | 52:d3fb6f1722bf | 2197 | #endif |
whismanoid | 52:d3fb6f1722bf | 2198 | // |
whismanoid | 52:d3fb6f1722bf | 2199 | #if HAS_analogIns |
whismanoid | 52:d3fb6f1722bf | 2200 | case 'A': case 'a': |
whismanoid | 52:d3fb6f1722bf | 2201 | { |
whismanoid | 52:d3fb6f1722bf | 2202 | // %A %Apin -- analog input |
whismanoid | 52:d3fb6f1722bf | 2203 | #if analogIn4_IS_HIGH_RANGE_OF_analogIn0 |
whismanoid | 52:d3fb6f1722bf | 2204 | // Platform board uses AIN4,AIN5,.. as high range of AIN0,AIN1,.. |
whismanoid | 52:d3fb6f1722bf | 2205 | for (int pinIndex = 0; pinIndex < 2; pinIndex++) |
whismanoid | 52:d3fb6f1722bf | 2206 | { |
whismanoid | 52:d3fb6f1722bf | 2207 | int cPinIndex = '0' + pinIndex; |
whismanoid | 52:d3fb6f1722bf | 2208 | AnalogIn& analogInPin = find_analogInPin(cPinIndex); |
whismanoid | 52:d3fb6f1722bf | 2209 | float adc_full_scale_voltage = analogInPin_fullScaleVoltage[pinIndex]; |
whismanoid | 52:d3fb6f1722bf | 2210 | float normValue_0_1 = analogInPin.read(); |
whismanoid | 52:d3fb6f1722bf | 2211 | // |
whismanoid | 52:d3fb6f1722bf | 2212 | int pinIndexH = pinIndex + 4; |
whismanoid | 52:d3fb6f1722bf | 2213 | int cPinIndexH = '0' + pinIndexH; |
whismanoid | 52:d3fb6f1722bf | 2214 | AnalogIn& analogInPinH = find_analogInPin(cPinIndexH); |
whismanoid | 52:d3fb6f1722bf | 2215 | float adc_full_scale_voltageH = analogInPin_fullScaleVoltage[pinIndexH]; |
whismanoid | 52:d3fb6f1722bf | 2216 | float normValueH_0_1 = analogInPinH.read(); |
whismanoid | 52:d3fb6f1722bf | 2217 | // |
whismanoid | 52:d3fb6f1722bf | 2218 | cmdLine.serial().printf("AIN%c = %7.3f%% = %1.3fV AIN%c = %7.3f%% = %1.3fV \r\n", |
whismanoid | 52:d3fb6f1722bf | 2219 | cPinIndex, |
whismanoid | 52:d3fb6f1722bf | 2220 | normValue_0_1 * 100.0, |
whismanoid | 52:d3fb6f1722bf | 2221 | normValue_0_1 * adc_full_scale_voltage, |
whismanoid | 52:d3fb6f1722bf | 2222 | cPinIndexH, |
whismanoid | 52:d3fb6f1722bf | 2223 | normValueH_0_1 * 100.0, |
whismanoid | 52:d3fb6f1722bf | 2224 | normValueH_0_1 * adc_full_scale_voltageH |
whismanoid | 52:d3fb6f1722bf | 2225 | ); |
whismanoid | 52:d3fb6f1722bf | 2226 | } |
whismanoid | 52:d3fb6f1722bf | 2227 | for (int pinIndex = 2; pinIndex < 4; pinIndex++) |
whismanoid | 52:d3fb6f1722bf | 2228 | { |
whismanoid | 52:d3fb6f1722bf | 2229 | int cPinIndex = '0' + pinIndex; |
whismanoid | 52:d3fb6f1722bf | 2230 | AnalogIn& analogInPin = find_analogInPin(cPinIndex); |
whismanoid | 52:d3fb6f1722bf | 2231 | float adc_full_scale_voltage = analogInPin_fullScaleVoltage[pinIndex]; |
whismanoid | 52:d3fb6f1722bf | 2232 | float normValue_0_1 = analogInPin.read(); |
whismanoid | 52:d3fb6f1722bf | 2233 | // |
whismanoid | 52:d3fb6f1722bf | 2234 | cmdLine.serial().printf("AIN%c = %7.3f%% = %1.3fV\r\n", |
whismanoid | 52:d3fb6f1722bf | 2235 | cPinIndex, |
whismanoid | 52:d3fb6f1722bf | 2236 | normValue_0_1 * 100.0, |
whismanoid | 52:d3fb6f1722bf | 2237 | normValue_0_1 * adc_full_scale_voltage |
whismanoid | 52:d3fb6f1722bf | 2238 | ); |
whismanoid | 52:d3fb6f1722bf | 2239 | } |
whismanoid | 52:d3fb6f1722bf | 2240 | #else // analogIn4_IS_HIGH_RANGE_OF_analogIn0 |
whismanoid | 52:d3fb6f1722bf | 2241 | // Platform board uses simple analog inputs |
whismanoid | 52:d3fb6f1722bf | 2242 | // assume standard Arduino analog inputs A0-A5 |
whismanoid | 52:d3fb6f1722bf | 2243 | for (int pinIndex = 0; pinIndex < 6; pinIndex++) |
whismanoid | 52:d3fb6f1722bf | 2244 | { |
whismanoid | 52:d3fb6f1722bf | 2245 | int cPinIndex = '0' + pinIndex; |
whismanoid | 52:d3fb6f1722bf | 2246 | AnalogIn& analogInPin = find_analogInPin(cPinIndex); |
whismanoid | 52:d3fb6f1722bf | 2247 | float adc_full_scale_voltage = analogInPin_fullScaleVoltage[pinIndex]; |
whismanoid | 52:d3fb6f1722bf | 2248 | float normValue_0_1 = analogInPin.read(); |
whismanoid | 52:d3fb6f1722bf | 2249 | // |
whismanoid | 52:d3fb6f1722bf | 2250 | cmdLine.serial().printf("AIN%c = %7.3f%% = %1.3fV\r\n", |
whismanoid | 52:d3fb6f1722bf | 2251 | cPinIndex, |
whismanoid | 52:d3fb6f1722bf | 2252 | normValue_0_1 * 100.0, |
whismanoid | 52:d3fb6f1722bf | 2253 | normValue_0_1 * adc_full_scale_voltage |
whismanoid | 52:d3fb6f1722bf | 2254 | ); |
whismanoid | 52:d3fb6f1722bf | 2255 | } |
whismanoid | 52:d3fb6f1722bf | 2256 | #endif // analogIn4_IS_HIGH_RANGE_OF_analogIn0 |
whismanoid | 52:d3fb6f1722bf | 2257 | } |
whismanoid | 52:d3fb6f1722bf | 2258 | break; |
whismanoid | 52:d3fb6f1722bf | 2259 | #endif |
whismanoid | 52:d3fb6f1722bf | 2260 | // |
whismanoid | 52:d3fb6f1722bf | 2261 | #if HAS_SPI2_MAX541 |
whismanoid | 52:d3fb6f1722bf | 2262 | case 'D': case 'd': |
whismanoid | 52:d3fb6f1722bf | 2263 | { |
whismanoid | 52:d3fb6f1722bf | 2264 | // %D -- DAC output MAX541 (SPI2) -- need cmdLine.parse_float(voltageV) |
whismanoid | 52:d3fb6f1722bf | 2265 | // MAX541 max541(spi2_max541, spi2_max541_cs); |
whismanoid | 52:d3fb6f1722bf | 2266 | float voltageV = max541.Get_Voltage(); |
whismanoid | 52:d3fb6f1722bf | 2267 | // if (cmdLine[2] == '+') { |
whismanoid | 52:d3fb6f1722bf | 2268 | // // %D+ |
whismanoid | 52:d3fb6f1722bf | 2269 | // voltageV = voltageV * 1.25f; |
whismanoid | 52:d3fb6f1722bf | 2270 | // if (voltageV >= max541.VRef) voltageV = max541.VRef; |
whismanoid | 52:d3fb6f1722bf | 2271 | // SelfTest_MAX541_Voltage(cmdLine, max541, voltageV); |
whismanoid | 52:d3fb6f1722bf | 2272 | // } |
whismanoid | 52:d3fb6f1722bf | 2273 | // else if (cmdLine[2] == '-') { |
whismanoid | 52:d3fb6f1722bf | 2274 | // // %D- |
whismanoid | 52:d3fb6f1722bf | 2275 | // voltageV = voltageV * 0.75f; |
whismanoid | 52:d3fb6f1722bf | 2276 | // if (voltageV < 0.1f) voltageV = 0.1f; |
whismanoid | 52:d3fb6f1722bf | 2277 | // SelfTest_MAX541_Voltage(cmdLine, max541, voltageV); |
whismanoid | 52:d3fb6f1722bf | 2278 | // } |
whismanoid | 52:d3fb6f1722bf | 2279 | if (cmdLine.parse_float("V", voltageV)) |
whismanoid | 52:d3fb6f1722bf | 2280 | { |
whismanoid | 52:d3fb6f1722bf | 2281 | // %D V=1.234 -- set voltage |
whismanoid | 52:d3fb6f1722bf | 2282 | max541.Set_Voltage(voltageV); |
whismanoid | 52:d3fb6f1722bf | 2283 | } |
whismanoid | 52:d3fb6f1722bf | 2284 | else if (cmdLine.parse_float("TEST", voltageV)) |
whismanoid | 52:d3fb6f1722bf | 2285 | { |
whismanoid | 52:d3fb6f1722bf | 2286 | // %D TEST=1.234 -- set voltage and compare with AIN0 |
whismanoid | 52:d3fb6f1722bf | 2287 | SelfTest_MAX541_Voltage(cmdLine, max541, voltageV); |
whismanoid | 52:d3fb6f1722bf | 2288 | } |
whismanoid | 52:d3fb6f1722bf | 2289 | else if (cmdLine.parse_float("CAL", voltageV)) |
whismanoid | 52:d3fb6f1722bf | 2290 | { |
whismanoid | 52:d3fb6f1722bf | 2291 | // %D CAL=1.234 -- calibrate VRef and compare with AIN0 |
whismanoid | 52:d3fb6f1722bf | 2292 | |
whismanoid | 52:d3fb6f1722bf | 2293 | max541.Set_Code(0x8000); // we don't know the fullscale voltage yet, so set code to midscale |
whismanoid | 52:d3fb6f1722bf | 2294 | double max541_midscale_V = analogInPin_fullScaleVoltage[4] * analogIn4.read(); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 2295 | const int average_count = 100; |
whismanoid | 52:d3fb6f1722bf | 2296 | const double average_K = 0.25; |
whismanoid | 52:d3fb6f1722bf | 2297 | for (int count = 0; count < average_count; count++) { |
whismanoid | 52:d3fb6f1722bf | 2298 | double measurement_V = analogInPin_fullScaleVoltage[4] * analogIn4.read(); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 52:d3fb6f1722bf | 2299 | max541_midscale_V = ((1 - average_K) * max541_midscale_V) + (average_K * measurement_V); |
whismanoid | 52:d3fb6f1722bf | 2300 | } |
whismanoid | 52:d3fb6f1722bf | 2301 | max541.VRef = 2.0 * max541_midscale_V; |
whismanoid | 52:d3fb6f1722bf | 2302 | cmdLine.serial().printf( |
whismanoid | 52:d3fb6f1722bf | 2303 | "\r\n MAX541 midscale = %1.3fV, so fullscale = %1.3fV", |
whismanoid | 52:d3fb6f1722bf | 2304 | max541_midscale_V, max541.VRef); |
whismanoid | 52:d3fb6f1722bf | 2305 | // Detect whether MAX541 is really connected to MAX32625MBED.AIN0/AIN4 |
whismanoid | 52:d3fb6f1722bf | 2306 | voltageV = 1.0f; |
whismanoid | 52:d3fb6f1722bf | 2307 | SelfTest_MAX541_Voltage(cmdLine, max541, voltageV); |
whismanoid | 52:d3fb6f1722bf | 2308 | } |
whismanoid | 52:d3fb6f1722bf | 2309 | else { |
whismanoid | 52:d3fb6f1722bf | 2310 | // %D -- print MAX541 DAC status |
whismanoid | 52:d3fb6f1722bf | 2311 | cmdLine.serial().printf("MAX541 code=0x%4.4x = %1.3fV VRef=%1.3fV\r\n", |
whismanoid | 52:d3fb6f1722bf | 2312 | max541.Get_Code(), max541.Get_Voltage(), max541.VRef); |
whismanoid | 52:d3fb6f1722bf | 2313 | } |
whismanoid | 52:d3fb6f1722bf | 2314 | } |
whismanoid | 52:d3fb6f1722bf | 2315 | break; |
whismanoid | 52:d3fb6f1722bf | 2316 | #endif |
whismanoid | 52:d3fb6f1722bf | 2317 | |
whismanoid | 52:d3fb6f1722bf | 2318 | // |
whismanoid | 52:d3fb6f1722bf | 2319 | #if HAS_I2C // SUPPORT_I2C |
whismanoid | 52:d3fb6f1722bf | 2320 | case 'I': case 'i': |
whismanoid | 52:d3fb6f1722bf | 2321 | // %I... -- I2C diagnostics |
whismanoid | 52:d3fb6f1722bf | 2322 | // %IP -- I2C probe |
whismanoid | 52:d3fb6f1722bf | 2323 | // %IC scl=100khz ADDR=? -- I2C configure |
whismanoid | 52:d3fb6f1722bf | 2324 | // %IW byte byte ... byte RD=? ADDR=0x -- write |
whismanoid | 52:d3fb6f1722bf | 2325 | // %IR ADDR=? RD=? -- read |
whismanoid | 52:d3fb6f1722bf | 2326 | // %I^ cmd=? -- i2c_smbus_read_word_data |
whismanoid | 52:d3fb6f1722bf | 2327 | // get next character |
whismanoid | 52:d3fb6f1722bf | 2328 | // TODO: parse cmdLine arg (ADDR=\d+)? --> g_I2C_deviceAddress7 |
whismanoid | 52:d3fb6f1722bf | 2329 | cmdLine.parse_byte_hex("ADDR", g_I2C_deviceAddress7); |
whismanoid | 52:d3fb6f1722bf | 2330 | // TODO: parse cmdLine arg (RD=\d)? --> g_I2C_read_count |
whismanoid | 52:d3fb6f1722bf | 2331 | g_I2C_read_count = 0; // read count must be reset every command |
whismanoid | 52:d3fb6f1722bf | 2332 | cmdLine.parse_byte_dec("RD", g_I2C_read_count); |
whismanoid | 52:d3fb6f1722bf | 2333 | // TODO: parse cmdLine arg (CMD=\d)? --> g_I2C_command_regAddress |
whismanoid | 52:d3fb6f1722bf | 2334 | cmdLine.parse_byte_hex("CMD", g_I2C_command_regAddress); |
whismanoid | 52:d3fb6f1722bf | 2335 | switch (cmdLine[2]) |
whismanoid | 52:d3fb6f1722bf | 2336 | { |
whismanoid | 52:d3fb6f1722bf | 2337 | case 'P': case 'p': |
whismanoid | 52:d3fb6f1722bf | 2338 | { |
whismanoid | 52:d3fb6f1722bf | 2339 | // %IP -- I2C probe |
whismanoid | 52:d3fb6f1722bf | 2340 | HuntAttachedI2CDevices(cmdLine, 0x03, 0x77); |
whismanoid | 52:d3fb6f1722bf | 2341 | } |
whismanoid | 52:d3fb6f1722bf | 2342 | break; |
whismanoid | 52:d3fb6f1722bf | 2343 | case 'C': case 'c': |
whismanoid | 52:d3fb6f1722bf | 2344 | { |
whismanoid | 52:d3fb6f1722bf | 2345 | bool isUpdatedI2CConfig = false; |
whismanoid | 52:d3fb6f1722bf | 2346 | // %IC scl=100khz ADDR=? -- I2C configure |
whismanoid | 52:d3fb6f1722bf | 2347 | // parse cmdLine arg (SCL=\d+(kHZ|MHZ)?)? --> g_I2C_SCL_Hz |
whismanoid | 52:d3fb6f1722bf | 2348 | if (cmdLine.parse_frequency_Hz("SCL", g_I2C_SCL_Hz)) |
whismanoid | 52:d3fb6f1722bf | 2349 | { |
whismanoid | 52:d3fb6f1722bf | 2350 | isUpdatedI2CConfig = true; |
whismanoid | 52:d3fb6f1722bf | 2351 | // TODO1: validate g_I2C_SCL_Hz against system clock frequency F_CPU |
whismanoid | 52:d3fb6f1722bf | 2352 | if (g_I2C_SCL_Hz > limit_max_I2C_SCL_Hz) |
whismanoid | 52:d3fb6f1722bf | 2353 | { |
whismanoid | 52:d3fb6f1722bf | 2354 | g_I2C_SCL_Hz = limit_max_I2C_SCL_Hz; |
whismanoid | 52:d3fb6f1722bf | 2355 | } |
whismanoid | 52:d3fb6f1722bf | 2356 | if (g_I2C_SCL_Hz < limit_min_I2C_SCL_Hz) |
whismanoid | 52:d3fb6f1722bf | 2357 | { |
whismanoid | 52:d3fb6f1722bf | 2358 | g_I2C_SCL_Hz = limit_min_I2C_SCL_Hz; |
whismanoid | 52:d3fb6f1722bf | 2359 | } |
whismanoid | 52:d3fb6f1722bf | 2360 | } |
whismanoid | 52:d3fb6f1722bf | 2361 | if (isUpdatedI2CConfig) |
whismanoid | 52:d3fb6f1722bf | 2362 | { |
whismanoid | 52:d3fb6f1722bf | 2363 | // declare in narrower scope: MAX32625MBED I2C i2cMaster(...) |
whismanoid | 52:d3fb6f1722bf | 2364 | I2C i2cMaster(I2C0_SDA, I2C0_SCL); // sda scl TARGET_MAX32635MBED: P1_6, P1_7 Arduino 10-pin header |
whismanoid | 52:d3fb6f1722bf | 2365 | i2cMaster.frequency(g_I2C_SCL_Hz); |
whismanoid | 52:d3fb6f1722bf | 2366 | i2cMaster.start(); |
whismanoid | 52:d3fb6f1722bf | 2367 | i2cMaster.stop(); |
whismanoid | 52:d3fb6f1722bf | 2368 | i2cMaster.frequency(g_I2C_SCL_Hz); |
whismanoid | 52:d3fb6f1722bf | 2369 | cmdLine.serial().printf( |
whismanoid | 52:d3fb6f1722bf | 2370 | "\r\n %%IC ADDR=0x%2.2x=(0x%2.2x>>1) SCL=%d=%1.3fkHz -- I2C config", |
whismanoid | 52:d3fb6f1722bf | 2371 | g_I2C_deviceAddress7, (g_I2C_deviceAddress7 << 1), g_I2C_SCL_Hz, |
whismanoid | 52:d3fb6f1722bf | 2372 | (g_I2C_SCL_Hz / 1000.)); |
whismanoid | 52:d3fb6f1722bf | 2373 | i2cMaster.start(); |
whismanoid | 52:d3fb6f1722bf | 2374 | i2cMaster.stop(); |
whismanoid | 52:d3fb6f1722bf | 2375 | } |
whismanoid | 52:d3fb6f1722bf | 2376 | } |
whismanoid | 52:d3fb6f1722bf | 2377 | break; |
whismanoid | 52:d3fb6f1722bf | 2378 | case 'W': case 'w': |
whismanoid | 52:d3fb6f1722bf | 2379 | { |
whismanoid | 52:d3fb6f1722bf | 2380 | // declare in narrower scope: MAX32625MBED I2C i2cMaster(...) |
whismanoid | 52:d3fb6f1722bf | 2381 | I2C i2cMaster(I2C0_SDA, I2C0_SCL); // sda scl TARGET_MAX32635MBED: P1_6, P1_7 Arduino 10-pin header |
whismanoid | 52:d3fb6f1722bf | 2382 | i2cMaster.frequency(g_I2C_SCL_Hz); |
whismanoid | 52:d3fb6f1722bf | 2383 | // %IW byte byte ... byte RD=? ADDR=0x -- write |
whismanoid | 52:d3fb6f1722bf | 2384 | // parse cmdLine byte list --> int byteCount; int mosiData[MAX_SPI_BYTE_COUNT]; |
whismanoid | 52:d3fb6f1722bf | 2385 | #define MAX_I2C_BYTE_COUNT 32 |
whismanoid | 52:d3fb6f1722bf | 2386 | size_t byteCount = byteCount; |
whismanoid | 52:d3fb6f1722bf | 2387 | static char mosiData[MAX_I2C_BYTE_COUNT]; |
whismanoid | 52:d3fb6f1722bf | 2388 | static char misoData[MAX_I2C_BYTE_COUNT]; |
whismanoid | 52:d3fb6f1722bf | 2389 | if (cmdLine.parse_byteCount_byteList_hex(byteCount, mosiData, |
whismanoid | 52:d3fb6f1722bf | 2390 | MAX_I2C_BYTE_COUNT)) |
whismanoid | 52:d3fb6f1722bf | 2391 | { |
whismanoid | 52:d3fb6f1722bf | 2392 | // hex dump mosiData[0..byteCount-1] |
whismanoid | 52:d3fb6f1722bf | 2393 | cmdLine.serial().printf( |
whismanoid | 52:d3fb6f1722bf | 2394 | "\r\nADDR=0x%2.2x=(0x%2.2x>>1) byteCount:%d RD=%d\r\nI2C MOSI->", |
whismanoid | 52:d3fb6f1722bf | 2395 | g_I2C_deviceAddress7, |
whismanoid | 52:d3fb6f1722bf | 2396 | (g_I2C_deviceAddress7 << 1), byteCount, g_I2C_read_count); |
whismanoid | 52:d3fb6f1722bf | 2397 | for (unsigned int byteIndex = 0; byteIndex < byteCount; byteIndex++) |
whismanoid | 52:d3fb6f1722bf | 2398 | { |
whismanoid | 52:d3fb6f1722bf | 2399 | cmdLine.serial().printf(" 0x%2.2X", mosiData[byteIndex]); |
whismanoid | 52:d3fb6f1722bf | 2400 | } |
whismanoid | 52:d3fb6f1722bf | 2401 | // |
whismanoid | 52:d3fb6f1722bf | 2402 | // TODO: i2c transfer |
whismanoid | 52:d3fb6f1722bf | 2403 | //const int addr7bit = 0x48; // 7 bit I2C address |
whismanoid | 52:d3fb6f1722bf | 2404 | //const int addr8bit = 0x48 << 1; // 8bit I2C address, 0x90 |
whismanoid | 52:d3fb6f1722bf | 2405 | // /* int */ i2cMaster.read (int addr8bit, char *data, int length, bool repeated=false) // Read from an I2C slave. |
whismanoid | 52:d3fb6f1722bf | 2406 | // /* int */ i2cMaster.read (int ack) // Read a single byte from the I2C bus. |
whismanoid | 52:d3fb6f1722bf | 2407 | // /* int */ i2cMaster.write (int addr8bit, const char *data, int length, bool repeated=false) // Write to an I2C slave. |
whismanoid | 52:d3fb6f1722bf | 2408 | // /* int */ i2cMaster.write (int data) // Write single byte out on the I2C bus. |
whismanoid | 52:d3fb6f1722bf | 2409 | // /* void */ i2cMaster.start (void) // Creates a start condition on the I2C bus. |
whismanoid | 52:d3fb6f1722bf | 2410 | // /* void */ i2cMaster.stop (void) // Creates a stop condition on the I2C bus. |
whismanoid | 52:d3fb6f1722bf | 2411 | // /* int */ i2cMaster.transfer (int addr8bit, const char *tx_buffer, int tx_length, char *rx_buffer, int rx_length, const event_callback_t &callback, int event=I2C_EVENT_TRANSFER_COMPLETE, bool repeated=false) // Start nonblocking I2C transfer. More... |
whismanoid | 52:d3fb6f1722bf | 2412 | // /* void */ i2cMaster.abort_transfer () // Abort the ongoing I2C transfer. More... |
whismanoid | 52:d3fb6f1722bf | 2413 | const int addr8bit = g_I2C_deviceAddress7 << 1; // 8bit I2C address, 0x90 |
whismanoid | 52:d3fb6f1722bf | 2414 | unsigned int misoLength = 0; |
whismanoid | 52:d3fb6f1722bf | 2415 | bool repeated = (g_I2C_read_count > 0); |
whismanoid | 52:d3fb6f1722bf | 2416 | // |
whismanoid | 52:d3fb6f1722bf | 2417 | int writeStatus = i2cMaster.write (addr8bit, mosiData, byteCount, repeated); |
whismanoid | 52:d3fb6f1722bf | 2418 | switch (writeStatus) |
whismanoid | 52:d3fb6f1722bf | 2419 | { |
whismanoid | 52:d3fb6f1722bf | 2420 | case 0: cmdLine.serial().printf(" ack "); break; |
whismanoid | 52:d3fb6f1722bf | 2421 | case 1: cmdLine.serial().printf(" nack "); break; |
whismanoid | 52:d3fb6f1722bf | 2422 | default: cmdLine.serial().printf(" {writeStatus 0x%2.2X} ", |
whismanoid | 52:d3fb6f1722bf | 2423 | writeStatus); |
whismanoid | 52:d3fb6f1722bf | 2424 | } |
whismanoid | 52:d3fb6f1722bf | 2425 | if (repeated) |
whismanoid | 52:d3fb6f1722bf | 2426 | { |
whismanoid | 52:d3fb6f1722bf | 2427 | int readStatus = |
whismanoid | 52:d3fb6f1722bf | 2428 | i2cMaster.read (addr8bit, misoData, g_I2C_read_count, false); |
whismanoid | 52:d3fb6f1722bf | 2429 | switch (readStatus) |
whismanoid | 52:d3fb6f1722bf | 2430 | { |
whismanoid | 52:d3fb6f1722bf | 2431 | case 1: cmdLine.serial().printf(" nack "); break; |
whismanoid | 52:d3fb6f1722bf | 2432 | case 0: cmdLine.serial().printf(" ack "); break; |
whismanoid | 52:d3fb6f1722bf | 2433 | default: cmdLine.serial().printf(" {readStatus 0x%2.2X} ", |
whismanoid | 52:d3fb6f1722bf | 2434 | readStatus); |
whismanoid | 52:d3fb6f1722bf | 2435 | } |
whismanoid | 52:d3fb6f1722bf | 2436 | } |
whismanoid | 52:d3fb6f1722bf | 2437 | // |
whismanoid | 52:d3fb6f1722bf | 2438 | if (misoLength > 0) |
whismanoid | 52:d3fb6f1722bf | 2439 | { |
whismanoid | 52:d3fb6f1722bf | 2440 | // hex dump misoData[0..byteCount-1] |
whismanoid | 52:d3fb6f1722bf | 2441 | cmdLine.serial().printf(" MISO<-"); |
whismanoid | 52:d3fb6f1722bf | 2442 | for (unsigned int byteIndex = 0; byteIndex < g_I2C_read_count; |
whismanoid | 52:d3fb6f1722bf | 2443 | byteIndex++) |
whismanoid | 52:d3fb6f1722bf | 2444 | { |
whismanoid | 52:d3fb6f1722bf | 2445 | cmdLine.serial().printf(" 0x%2.2X", misoData[byteIndex]); |
whismanoid | 52:d3fb6f1722bf | 2446 | } |
whismanoid | 52:d3fb6f1722bf | 2447 | } |
whismanoid | 52:d3fb6f1722bf | 2448 | cmdLine.serial().printf(" "); |
whismanoid | 52:d3fb6f1722bf | 2449 | } |
whismanoid | 52:d3fb6f1722bf | 2450 | } |
whismanoid | 52:d3fb6f1722bf | 2451 | break; |
whismanoid | 52:d3fb6f1722bf | 2452 | case 'R': case 'r': |
whismanoid | 52:d3fb6f1722bf | 2453 | { |
whismanoid | 52:d3fb6f1722bf | 2454 | // declare in narrower scope: MAX32625MBED I2C i2cMaster(...) |
whismanoid | 52:d3fb6f1722bf | 2455 | I2C i2cMaster(I2C0_SDA, I2C0_SCL); // sda scl TARGET_MAX32635MBED: P1_6, P1_7 Arduino 10-pin header |
whismanoid | 52:d3fb6f1722bf | 2456 | i2cMaster.frequency(g_I2C_SCL_Hz); |
whismanoid | 52:d3fb6f1722bf | 2457 | // %IR ADDR=? RD=? -- read |
whismanoid | 52:d3fb6f1722bf | 2458 | // TODO: i2c transfer |
whismanoid | 52:d3fb6f1722bf | 2459 | //const int addr7bit = 0x48; // 7 bit I2C address |
whismanoid | 52:d3fb6f1722bf | 2460 | //const int addr8bit = 0x48 << 1; // 8bit I2C address, 0x90 |
whismanoid | 52:d3fb6f1722bf | 2461 | // /* int */ i2cMaster.read (int addr8bit, char *data, int length, bool repeated=false) // Read from an I2C slave. |
whismanoid | 52:d3fb6f1722bf | 2462 | // /* int */ i2cMaster.read (int ack) // Read a single byte from the I2C bus. |
whismanoid | 52:d3fb6f1722bf | 2463 | // /* int */ i2cMaster.write (int addr8bit, const char *data, int length, bool repeated=false) // Write to an I2C slave. |
whismanoid | 52:d3fb6f1722bf | 2464 | // /* int */ i2cMaster.write (int data) // Write single byte out on the I2C bus. |
whismanoid | 52:d3fb6f1722bf | 2465 | // /* void */ i2cMaster.start (void) // Creates a start condition on the I2C bus. |
whismanoid | 52:d3fb6f1722bf | 2466 | // /* void */ i2cMaster.stop (void) // Creates a stop condition on the I2C bus. |
whismanoid | 52:d3fb6f1722bf | 2467 | // /* int */ i2cMaster.transfer (int addr8bit, const char *tx_buffer, int tx_length, char *rx_buffer, int rx_length, const event_callback_t &callback, int event=I2C_EVENT_TRANSFER_COMPLETE, bool repeated=false) // Start nonblocking I2C transfer. More... |
whismanoid | 52:d3fb6f1722bf | 2468 | // /* void */ i2cMaster.abort_transfer () // Abort the ongoing I2C transfer. More... |
whismanoid | 52:d3fb6f1722bf | 2469 | } |
whismanoid | 52:d3fb6f1722bf | 2470 | break; |
whismanoid | 52:d3fb6f1722bf | 2471 | case '^': |
whismanoid | 52:d3fb6f1722bf | 2472 | { |
whismanoid | 52:d3fb6f1722bf | 2473 | // declare in narrower scope: MAX32625MBED I2C i2cMaster(...) |
whismanoid | 52:d3fb6f1722bf | 2474 | I2C i2cMaster(I2C0_SDA, I2C0_SCL); // sda scl TARGET_MAX32635MBED: P1_6, P1_7 Arduino 10-pin header |
whismanoid | 52:d3fb6f1722bf | 2475 | i2cMaster.frequency(g_I2C_SCL_Hz); |
whismanoid | 52:d3fb6f1722bf | 2476 | // %I^ cmd=? -- i2c_smbus_read_word_data |
whismanoid | 52:d3fb6f1722bf | 2477 | // TODO: i2c transfer |
whismanoid | 52:d3fb6f1722bf | 2478 | //const int addr7bit = 0x48; // 7 bit I2C address |
whismanoid | 52:d3fb6f1722bf | 2479 | //const int addr8bit = 0x48 << 1; // 8bit I2C address, 0x90 |
whismanoid | 52:d3fb6f1722bf | 2480 | // /* int */ i2cMaster.read (int addr8bit, char *data, int length, bool repeated=false) // Read from an I2C slave. |
whismanoid | 52:d3fb6f1722bf | 2481 | // /* int */ i2cMaster.read (int ack) // Read a single byte from the I2C bus. |
whismanoid | 52:d3fb6f1722bf | 2482 | // /* int */ i2cMaster.write (int addr8bit, const char *data, int length, bool repeated=false) // Write to an I2C slave. |
whismanoid | 52:d3fb6f1722bf | 2483 | // /* int */ i2cMaster.write (int data) // Write single byte out on the I2C bus. |
whismanoid | 52:d3fb6f1722bf | 2484 | // /* void */ i2cMaster.start (void) // Creates a start condition on the I2C bus. |
whismanoid | 52:d3fb6f1722bf | 2485 | // /* void */ i2cMaster.stop (void) // Creates a stop condition on the I2C bus. |
whismanoid | 52:d3fb6f1722bf | 2486 | // /* int */ i2cMaster.transfer (int addr8bit, const char *tx_buffer, int tx_length, char *rx_buffer, int rx_length, const event_callback_t &callback, int event=I2C_EVENT_TRANSFER_COMPLETE, bool repeated=false) // Start nonblocking I2C transfer. More... |
whismanoid | 52:d3fb6f1722bf | 2487 | // /* void */ i2cMaster.abort_transfer () // Abort the ongoing I2C transfer. More... |
whismanoid | 52:d3fb6f1722bf | 2488 | } |
whismanoid | 52:d3fb6f1722bf | 2489 | break; |
whismanoid | 52:d3fb6f1722bf | 2490 | } // switch(cmdLine[2]) |
whismanoid | 52:d3fb6f1722bf | 2491 | break; |
whismanoid | 52:d3fb6f1722bf | 2492 | #endif |
whismanoid | 52:d3fb6f1722bf | 2493 | // |
whismanoid | 52:d3fb6f1722bf | 2494 | #if HAS_SPI // SUPPORT_SPI |
whismanoid | 52:d3fb6f1722bf | 2495 | case 'S': case 's': |
whismanoid | 52:d3fb6f1722bf | 2496 | { |
whismanoid | 52:d3fb6f1722bf | 2497 | // %S... -- SPI diagnostics |
whismanoid | 52:d3fb6f1722bf | 2498 | // %SC sclk=1Mhz -- SPI configure |
whismanoid | 52:d3fb6f1722bf | 2499 | // %SW -- write (write and read) |
whismanoid | 52:d3fb6f1722bf | 2500 | // %SR -- read (alias for %SW because SPI always write and read) |
whismanoid | 52:d3fb6f1722bf | 2501 | // |
whismanoid | 52:d3fb6f1722bf | 2502 | // Process arguments SCLK=\d+(kHZ|MHZ) CPOL=\d CPHA=\d |
whismanoid | 52:d3fb6f1722bf | 2503 | bool isUpdatedSPIConfig = false; |
whismanoid | 52:d3fb6f1722bf | 2504 | // parse cmdLine arg (CPOL=\d)? --> g_SPI_dataMode | SPI_MODE2 |
whismanoid | 52:d3fb6f1722bf | 2505 | // parse cmdLine arg (CPHA=\d)? --> g_SPI_dataMode | SPI_MODE1 |
whismanoid | 52:d3fb6f1722bf | 2506 | if (cmdLine.parse_flag("CPOL", g_SPI_dataMode, SPI_MODE2)) |
whismanoid | 52:d3fb6f1722bf | 2507 | { |
whismanoid | 52:d3fb6f1722bf | 2508 | isUpdatedSPIConfig = true; |
whismanoid | 52:d3fb6f1722bf | 2509 | } |
whismanoid | 52:d3fb6f1722bf | 2510 | if (cmdLine.parse_flag("CPHA", g_SPI_dataMode, SPI_MODE1)) |
whismanoid | 52:d3fb6f1722bf | 2511 | { |
whismanoid | 52:d3fb6f1722bf | 2512 | isUpdatedSPIConfig = true; |
whismanoid | 52:d3fb6f1722bf | 2513 | } |
whismanoid | 52:d3fb6f1722bf | 2514 | if (cmdLine.parse_flag("CS", g_SPI_cs_state, 1)) |
whismanoid | 52:d3fb6f1722bf | 2515 | { |
whismanoid | 52:d3fb6f1722bf | 2516 | isUpdatedSPIConfig = true; |
whismanoid | 52:d3fb6f1722bf | 2517 | } |
whismanoid | 52:d3fb6f1722bf | 2518 | // parse cmdLine arg (SCLK=\d+(kHZ|MHZ)?)? --> g_SPI_SCLK_Hz |
whismanoid | 52:d3fb6f1722bf | 2519 | if (cmdLine.parse_frequency_Hz("SCLK", g_SPI_SCLK_Hz)) |
whismanoid | 52:d3fb6f1722bf | 2520 | { |
whismanoid | 52:d3fb6f1722bf | 2521 | isUpdatedSPIConfig = true; |
whismanoid | 52:d3fb6f1722bf | 2522 | // TODO1: validate g_SPI_SCLK_Hz against system clock frequency F_CPU |
whismanoid | 52:d3fb6f1722bf | 2523 | if (g_SPI_SCLK_Hz > limit_max_SPI_SCLK_Hz) |
whismanoid | 52:d3fb6f1722bf | 2524 | { |
whismanoid | 52:d3fb6f1722bf | 2525 | g_SPI_SCLK_Hz = limit_max_SPI_SCLK_Hz; |
whismanoid | 52:d3fb6f1722bf | 2526 | } |
whismanoid | 52:d3fb6f1722bf | 2527 | if (g_SPI_SCLK_Hz < limit_min_SPI_SCLK_Hz) |
whismanoid | 52:d3fb6f1722bf | 2528 | { |
whismanoid | 52:d3fb6f1722bf | 2529 | g_SPI_SCLK_Hz = limit_min_SPI_SCLK_Hz; |
whismanoid | 52:d3fb6f1722bf | 2530 | } |
whismanoid | 52:d3fb6f1722bf | 2531 | } |
whismanoid | 52:d3fb6f1722bf | 2532 | // Update SPI configuration |
whismanoid | 52:d3fb6f1722bf | 2533 | if (isUpdatedSPIConfig) |
whismanoid | 52:d3fb6f1722bf | 2534 | { |
whismanoid | 52:d3fb6f1722bf | 2535 | // %SC sclk=1Mhz -- SPI configure |
whismanoid | 52:d3fb6f1722bf | 2536 | spi_cs = g_SPI_cs_state; |
whismanoid | 52:d3fb6f1722bf | 2537 | spi.format(8,g_SPI_dataMode); // int bits_must_be_8, int mode=0_3 CPOL=0,CPHA=0 |
whismanoid | 52:d3fb6f1722bf | 2538 | #if APPLICATION_MAX5715 |
whismanoid | 52:d3fb6f1722bf | 2539 | g_MAX5715_device.spi_frequency(g_SPI_SCLK_Hz); |
whismanoid | 52:d3fb6f1722bf | 2540 | #elif APPLICATION_MAX11131 |
whismanoid | 52:d3fb6f1722bf | 2541 | g_MAX11131_device.spi_frequency(g_SPI_SCLK_Hz); |
whismanoid | 52:d3fb6f1722bf | 2542 | #elif APPLICATION_MAX5171 |
whismanoid | 52:d3fb6f1722bf | 2543 | g_MAX5171_device.spi_frequency(g_SPI_SCLK_Hz); |
whismanoid | 52:d3fb6f1722bf | 2544 | #elif APPLICATION_MAX11410 |
whismanoid | 52:d3fb6f1722bf | 2545 | g_MAX11410_device.spi_frequency(g_SPI_SCLK_Hz); |
whismanoid | 52:d3fb6f1722bf | 2546 | #elif APPLICATION_MAX12345 |
whismanoid | 52:d3fb6f1722bf | 2547 | g_MAX12345_device.spi_frequency(g_SPI_SCLK_Hz); |
whismanoid | 52:d3fb6f1722bf | 2548 | #else |
whismanoid | 52:d3fb6f1722bf | 2549 | spi.frequency(g_SPI_SCLK_Hz); // int SCLK_Hz=1000000 = 1MHz (initial default) |
whismanoid | 52:d3fb6f1722bf | 2550 | #endif |
whismanoid | 52:d3fb6f1722bf | 2551 | // |
whismanoid | 52:d3fb6f1722bf | 2552 | double ideal_divisor = ((double)SystemCoreClock) / g_SPI_SCLK_Hz; |
whismanoid | 52:d3fb6f1722bf | 2553 | int actual_divisor = (int)(ideal_divisor + 0.0); // frequency divisor truncate |
whismanoid | 52:d3fb6f1722bf | 2554 | double actual_SCLK_Hz = SystemCoreClock / actual_divisor; |
whismanoid | 52:d3fb6f1722bf | 2555 | // |
whismanoid | 52:d3fb6f1722bf | 2556 | // fixed: mbed-os-5.11: [Warning] format '%d' expects argument of type 'int', but argument 6 has type 'uint32_t {aka long unsigned int}' [-Wformat=] |
whismanoid | 52:d3fb6f1722bf | 2557 | cmdLine.serial().printf( |
whismanoid | 52:d3fb6f1722bf | 2558 | "\r\n %%SC CPOL=%d CPHA=%d CS=%d SCLK=%ld=%1.3fMHz (%1.1fMHz/%1.2f = actual %1.3fMHz) -- SPI config", |
whismanoid | 52:d3fb6f1722bf | 2559 | ((g_SPI_dataMode & SPI_MODE2) ? 1 : 0), |
whismanoid | 52:d3fb6f1722bf | 2560 | ((g_SPI_dataMode & SPI_MODE1) ? 1 : 0), |
whismanoid | 52:d3fb6f1722bf | 2561 | g_SPI_cs_state, |
whismanoid | 52:d3fb6f1722bf | 2562 | g_SPI_SCLK_Hz, |
whismanoid | 52:d3fb6f1722bf | 2563 | (g_SPI_SCLK_Hz / 1000000.), |
whismanoid | 52:d3fb6f1722bf | 2564 | ((double)(SystemCoreClock / 1000000.)), |
whismanoid | 52:d3fb6f1722bf | 2565 | ideal_divisor, |
whismanoid | 52:d3fb6f1722bf | 2566 | (actual_SCLK_Hz / 1000000.) |
whismanoid | 52:d3fb6f1722bf | 2567 | ); |
whismanoid | 52:d3fb6f1722bf | 2568 | } |
whismanoid | 52:d3fb6f1722bf | 2569 | // get next character |
whismanoid | 52:d3fb6f1722bf | 2570 | switch (cmdLine[2]) |
whismanoid | 52:d3fb6f1722bf | 2571 | { |
whismanoid | 52:d3fb6f1722bf | 2572 | case 'C': case 's': |
whismanoid | 52:d3fb6f1722bf | 2573 | // %SC sclk=1Mhz -- SPI configure |
whismanoid | 52:d3fb6f1722bf | 2574 | break; |
whismanoid | 52:d3fb6f1722bf | 2575 | case 'D': case 'd': |
whismanoid | 52:d3fb6f1722bf | 2576 | // %SD -- SPI diagnostic messages enable |
whismanoid | 52:d3fb6f1722bf | 2577 | if (g_MAX11410_device.onSPIprint) { |
whismanoid | 52:d3fb6f1722bf | 2578 | g_MAX11410_device.onSPIprint = NULL; |
whismanoid | 52:d3fb6f1722bf | 2579 | } |
whismanoid | 52:d3fb6f1722bf | 2580 | else { |
whismanoid | 52:d3fb6f1722bf | 2581 | void onSPIprint_handler(size_t byteCount, uint8_t mosiData[], uint8_t misoData[]); |
whismanoid | 52:d3fb6f1722bf | 2582 | g_MAX11410_device.onSPIprint = onSPIprint_handler; |
whismanoid | 52:d3fb6f1722bf | 2583 | } |
whismanoid | 52:d3fb6f1722bf | 2584 | break; |
whismanoid | 52:d3fb6f1722bf | 2585 | case 'W': case 'R': case 'w': case 'r': |
whismanoid | 52:d3fb6f1722bf | 2586 | { |
whismanoid | 52:d3fb6f1722bf | 2587 | // %SW -- write (write and read) |
whismanoid | 52:d3fb6f1722bf | 2588 | // %SR -- read (alias for %SW because SPI always write and read) |
whismanoid | 52:d3fb6f1722bf | 2589 | // parse cmdLine byte list --> int byteCount; int mosiData[MAX_SPI_BYTE_COUNT]; |
whismanoid | 52:d3fb6f1722bf | 2590 | #define MAX_SPI_BYTE_COUNT 32 |
whismanoid | 52:d3fb6f1722bf | 2591 | size_t byteCount = byteCount; |
whismanoid | 52:d3fb6f1722bf | 2592 | static char mosiData[MAX_SPI_BYTE_COUNT]; |
whismanoid | 52:d3fb6f1722bf | 2593 | static char misoData[MAX_SPI_BYTE_COUNT]; |
whismanoid | 52:d3fb6f1722bf | 2594 | if (cmdLine.parse_byteCount_byteList_hex(byteCount, mosiData, |
whismanoid | 52:d3fb6f1722bf | 2595 | MAX_SPI_BYTE_COUNT)) |
whismanoid | 52:d3fb6f1722bf | 2596 | { |
whismanoid | 52:d3fb6f1722bf | 2597 | // hex dump mosiData[0..byteCount-1] |
whismanoid | 52:d3fb6f1722bf | 2598 | cmdLine.serial().printf("\r\nSPI"); |
whismanoid | 52:d3fb6f1722bf | 2599 | if (byteCount > 7) { |
whismanoid | 52:d3fb6f1722bf | 2600 | cmdLine.serial().printf(" byteCount:%d", byteCount); |
whismanoid | 52:d3fb6f1722bf | 2601 | } |
whismanoid | 52:d3fb6f1722bf | 2602 | cmdLine.serial().printf(" MOSI->"); |
whismanoid | 52:d3fb6f1722bf | 2603 | for (unsigned int byteIndex = 0; byteIndex < byteCount; byteIndex++) |
whismanoid | 52:d3fb6f1722bf | 2604 | { |
whismanoid | 52:d3fb6f1722bf | 2605 | cmdLine.serial().printf(" 0x%2.2X", mosiData[byteIndex]); |
whismanoid | 52:d3fb6f1722bf | 2606 | } |
whismanoid | 52:d3fb6f1722bf | 2607 | spi_cs = 0; |
whismanoid | 52:d3fb6f1722bf | 2608 | unsigned int numBytesTransferred = |
whismanoid | 52:d3fb6f1722bf | 2609 | spi.write(mosiData, byteCount, misoData, byteCount); |
whismanoid | 52:d3fb6f1722bf | 2610 | spi_cs = 1; |
whismanoid | 52:d3fb6f1722bf | 2611 | // hex dump misoData[0..byteCount-1] |
whismanoid | 52:d3fb6f1722bf | 2612 | cmdLine.serial().printf(" MISO<-"); |
whismanoid | 52:d3fb6f1722bf | 2613 | for (unsigned int byteIndex = 0; byteIndex < numBytesTransferred; |
whismanoid | 52:d3fb6f1722bf | 2614 | byteIndex++) |
whismanoid | 52:d3fb6f1722bf | 2615 | { |
whismanoid | 52:d3fb6f1722bf | 2616 | cmdLine.serial().printf(" 0x%2.2X", misoData[byteIndex]); |
whismanoid | 52:d3fb6f1722bf | 2617 | } |
whismanoid | 52:d3fb6f1722bf | 2618 | cmdLine.serial().printf(" "); |
whismanoid | 52:d3fb6f1722bf | 2619 | } |
whismanoid | 52:d3fb6f1722bf | 2620 | } |
whismanoid | 52:d3fb6f1722bf | 2621 | break; |
whismanoid | 52:d3fb6f1722bf | 2622 | } // switch(cmdLine[2]) |
whismanoid | 52:d3fb6f1722bf | 2623 | } // case 'S': // %S... -- SPI diagnostics |
whismanoid | 52:d3fb6f1722bf | 2624 | break; |
whismanoid | 52:d3fb6f1722bf | 2625 | #endif |
whismanoid | 52:d3fb6f1722bf | 2626 | // |
whismanoid | 52:d3fb6f1722bf | 2627 | // A-Z,a-z,0-9 reserved for application use |
whismanoid | 52:d3fb6f1722bf | 2628 | } // switch(cmdLine[1]) |
whismanoid | 52:d3fb6f1722bf | 2629 | } // end void pinsMonitor_submenu_onEOLcommandParser(CmdLine & cmdLine) |
whismanoid | 52:d3fb6f1722bf | 2630 | |
whismanoid | 52:d3fb6f1722bf | 2631 | |
whismanoid | 52:d3fb6f1722bf | 2632 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2633 | void main_menu_status(CmdLine & cmdLine) |
whismanoid | 52:d3fb6f1722bf | 2634 | { |
whismanoid | 52:d3fb6f1722bf | 2635 | cmdLine.serial().printf("\r\nMain menu"); |
whismanoid | 52:d3fb6f1722bf | 2636 | |
whismanoid | 52:d3fb6f1722bf | 2637 | cmdLine.serial().printf(" MAX11410 24-bit 1.9ksps Delta-Sigma ADC"); |
whismanoid | 52:d3fb6f1722bf | 2638 | |
whismanoid | 52:d3fb6f1722bf | 2639 | //cmdLine.serial().print(" %s", TARGET_NAME); |
whismanoid | 52:d3fb6f1722bf | 2640 | if (cmdLine.nameStr()) |
whismanoid | 52:d3fb6f1722bf | 2641 | { |
whismanoid | 52:d3fb6f1722bf | 2642 | cmdLine.serial().printf(" [%s]", cmdLine.nameStr()); |
whismanoid | 52:d3fb6f1722bf | 2643 | |
whismanoid | 52:d3fb6f1722bf | 2644 | } |
whismanoid | 52:d3fb6f1722bf | 2645 | cmdLine.serial().printf("\r\n ? -- help"); |
whismanoid | 52:d3fb6f1722bf | 2646 | |
whismanoid | 52:d3fb6f1722bf | 2647 | } |
whismanoid | 52:d3fb6f1722bf | 2648 | |
whismanoid | 52:d3fb6f1722bf | 2649 | |
whismanoid | 52:d3fb6f1722bf | 2650 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2651 | void main_menu_help(CmdLine & cmdLine) |
whismanoid | 52:d3fb6f1722bf | 2652 | { |
whismanoid | 52:d3fb6f1722bf | 2653 | // ? -- help |
whismanoid | 52:d3fb6f1722bf | 2654 | //~ cmdLine.serial().print(F("\r\nMenu:")); |
whismanoid | 52:d3fb6f1722bf | 2655 | cmdLine.serial().printf("\r\n # -- lines beginning with # are comments"); |
whismanoid | 52:d3fb6f1722bf | 2656 | |
whismanoid | 52:d3fb6f1722bf | 2657 | cmdLine.serial().printf("\r\n . -- SelfTest"); |
whismanoid | 52:d3fb6f1722bf | 2658 | |
whismanoid | 52:d3fb6f1722bf | 2659 | //cmdLine.serial().print(F("\r\n ! -- Initial Configuration")); |
whismanoid | 52:d3fb6f1722bf | 2660 | // |
whismanoid | 52:d3fb6f1722bf | 2661 | // % standardize diagnostic commands |
whismanoid | 52:d3fb6f1722bf | 2662 | // %Hpin -- digital output high |
whismanoid | 52:d3fb6f1722bf | 2663 | // %Lpin -- digital output low |
whismanoid | 52:d3fb6f1722bf | 2664 | // %?pin -- digital input |
whismanoid | 52:d3fb6f1722bf | 2665 | // %A %Apin -- analog input |
whismanoid | 52:d3fb6f1722bf | 2666 | // %Ppin df=xx -- pwm output |
whismanoid | 52:d3fb6f1722bf | 2667 | // %Wpin -- measure high pulsewidth input in usec |
whismanoid | 52:d3fb6f1722bf | 2668 | // %wpin -- measure low pulsewidth input in usec |
whismanoid | 52:d3fb6f1722bf | 2669 | // %I... -- I2C diagnostics |
whismanoid | 52:d3fb6f1722bf | 2670 | // %IP -- I2C probe |
whismanoid | 52:d3fb6f1722bf | 2671 | // %IC scl=100khz ADDR=? -- I2C configure |
whismanoid | 52:d3fb6f1722bf | 2672 | // %IW ADDR=? cmd=? data,data,data -- write |
whismanoid | 52:d3fb6f1722bf | 2673 | // %IR ADDR=? RD=? -- read |
whismanoid | 52:d3fb6f1722bf | 2674 | // %I^ cmd=? -- i2c_smbus_read_word_data |
whismanoid | 52:d3fb6f1722bf | 2675 | // %S... -- SPI diagnostics |
whismanoid | 52:d3fb6f1722bf | 2676 | // %SC sclk=1Mhz -- SPI configure |
whismanoid | 52:d3fb6f1722bf | 2677 | // %SW -- write (write and read) |
whismanoid | 52:d3fb6f1722bf | 2678 | // %SR -- read (alias for %SW because SPI always write and read) |
whismanoid | 52:d3fb6f1722bf | 2679 | // A-Z,a-z,0-9 reserved for application use |
whismanoid | 52:d3fb6f1722bf | 2680 | // |
whismanoid | 52:d3fb6f1722bf | 2681 | #if HAS_digitalInOuts |
whismanoid | 52:d3fb6f1722bf | 2682 | // %Hpin -- digital output high |
whismanoid | 52:d3fb6f1722bf | 2683 | // %Lpin -- digital output low |
whismanoid | 52:d3fb6f1722bf | 2684 | // %?pin -- digital input |
whismanoid | 52:d3fb6f1722bf | 2685 | cmdLine.serial().printf("\r\n %%Hn {pin:"); |
whismanoid | 52:d3fb6f1722bf | 2686 | list_digitalInOutPins(cmdLine.serial()); |
whismanoid | 52:d3fb6f1722bf | 2687 | cmdLine.serial().printf("} -- High Output"); |
whismanoid | 52:d3fb6f1722bf | 2688 | cmdLine.serial().printf("\r\n %%Ln {pin:"); |
whismanoid | 52:d3fb6f1722bf | 2689 | list_digitalInOutPins(cmdLine.serial()); |
whismanoid | 52:d3fb6f1722bf | 2690 | cmdLine.serial().printf("} -- Low Output"); |
whismanoid | 52:d3fb6f1722bf | 2691 | cmdLine.serial().printf("\r\n %%?n {pin:"); |
whismanoid | 52:d3fb6f1722bf | 2692 | list_digitalInOutPins(cmdLine.serial()); |
whismanoid | 52:d3fb6f1722bf | 2693 | cmdLine.serial().printf("} -- Input"); |
whismanoid | 52:d3fb6f1722bf | 2694 | #endif |
whismanoid | 52:d3fb6f1722bf | 2695 | |
whismanoid | 52:d3fb6f1722bf | 2696 | #if HAS_analogIns |
whismanoid | 52:d3fb6f1722bf | 2697 | // Menu A) analogRead A0..7 |
whismanoid | 52:d3fb6f1722bf | 2698 | // %A %Apin -- analog input |
whismanoid | 52:d3fb6f1722bf | 2699 | // analogRead(pinIndex) // analog input pins A0, A1, A2, A3, A4, A5; float voltage = analogRead(A0) * (5.0 / 1023.0) |
whismanoid | 52:d3fb6f1722bf | 2700 | cmdLine.serial().printf("\r\n %%A -- analogRead"); |
whismanoid | 52:d3fb6f1722bf | 2701 | #endif |
whismanoid | 52:d3fb6f1722bf | 2702 | |
whismanoid | 52:d3fb6f1722bf | 2703 | #if HAS_SPI2_MAX541 |
whismanoid | 52:d3fb6f1722bf | 2704 | // TODO1: MAX541 max541(spi2_max541, spi2_max541_cs); |
whismanoid | 52:d3fb6f1722bf | 2705 | cmdLine.serial().printf("\r\n %%D -- DAC output MAX541 (SPI2)"); |
whismanoid | 52:d3fb6f1722bf | 2706 | #endif |
whismanoid | 52:d3fb6f1722bf | 2707 | |
whismanoid | 52:d3fb6f1722bf | 2708 | #if HAS_I2C // SUPPORT_I2C |
whismanoid | 52:d3fb6f1722bf | 2709 | // TODO: support I2C HAS_I2C // SUPPORT_I2C |
whismanoid | 52:d3fb6f1722bf | 2710 | // VERIFY: I2C utility commands SUPPORT_I2C |
whismanoid | 52:d3fb6f1722bf | 2711 | // VERIFY: report g_I2C_SCL_Hz = (F_CPU / ((TWBR * 2) + 16)) from last Wire_Sr.setClock(I2C_SCL_Hz); |
whismanoid | 52:d3fb6f1722bf | 2712 | // %I... -- I2C diagnostics |
whismanoid | 52:d3fb6f1722bf | 2713 | // %IP -- I2C probe |
whismanoid | 52:d3fb6f1722bf | 2714 | // %IC scl=100khz ADDR=? -- I2C configure |
whismanoid | 52:d3fb6f1722bf | 2715 | // %IW byte byte ... byte RD=? ADDR=0x -- write |
whismanoid | 52:d3fb6f1722bf | 2716 | // %IR ADDR=? RD=? -- read |
whismanoid | 52:d3fb6f1722bf | 2717 | // %I^ cmd=? -- i2c_smbus_read_word_data |
whismanoid | 52:d3fb6f1722bf | 2718 | //g_I2C_SCL_Hz = (F_CPU / ((TWBR * 2) + 16)); // 'F_CPU' 'TWBR' not declared in this scope |
whismanoid | 52:d3fb6f1722bf | 2719 | cmdLine.serial().printf("\r\n %%IC ADDR=0x%2.2x=(0x%2.2x>>1) SCL=%d=%1.3fkHz -- I2C config", |
whismanoid | 52:d3fb6f1722bf | 2720 | g_I2C_deviceAddress7, (g_I2C_deviceAddress7 << 1), g_I2C_SCL_Hz, |
whismanoid | 52:d3fb6f1722bf | 2721 | (g_I2C_SCL_Hz / 1000.)); |
whismanoid | 52:d3fb6f1722bf | 2722 | cmdLine.serial().printf("\r\n %%IW byte byte ... byte RD=? ADDR=0x%2.2x -- I2C write/read", |
whismanoid | 52:d3fb6f1722bf | 2723 | g_I2C_deviceAddress7); |
whismanoid | 52:d3fb6f1722bf | 2724 | // |
whismanoid | 52:d3fb6f1722bf | 2725 | #if SUPPORT_I2C |
whismanoid | 52:d3fb6f1722bf | 2726 | // Menu ^ cmd=?) i2c_smbus_read_word_data |
whismanoid | 52:d3fb6f1722bf | 2727 | cmdLine.serial().printf("\r\n %%I^ cmd=? -- i2c_smbus_read_word_data"); |
whismanoid | 52:d3fb6f1722bf | 2728 | // test low-level I2C i2c_smbus_read_word_data |
whismanoid | 52:d3fb6f1722bf | 2729 | #endif // SUPPORT_I2C |
whismanoid | 52:d3fb6f1722bf | 2730 | //cmdLine.serial().printf(" H) Hunt for attached I2C devices"); |
whismanoid | 52:d3fb6f1722bf | 2731 | cmdLine.serial().printf("\r\n %%IP -- I2C Probe for attached devices"); |
whismanoid | 52:d3fb6f1722bf | 2732 | // cmdLine.serial().printf(" s) search i2c address"); |
whismanoid | 52:d3fb6f1722bf | 2733 | #endif // SUPPORT_I2C |
whismanoid | 52:d3fb6f1722bf | 2734 | |
whismanoid | 52:d3fb6f1722bf | 2735 | #if HAS_SPI // SUPPORT_SPI |
whismanoid | 52:d3fb6f1722bf | 2736 | // TODO: support SPI HAS_SPI // SUPPORT_SPI |
whismanoid | 52:d3fb6f1722bf | 2737 | // SPI test command S (mosiData)+ |
whismanoid | 52:d3fb6f1722bf | 2738 | // %S... -- SPI diagnostics |
whismanoid | 52:d3fb6f1722bf | 2739 | // %SC sclk=1Mhz -- SPI configure |
whismanoid | 52:d3fb6f1722bf | 2740 | // %SW -- write (write and read) |
whismanoid | 52:d3fb6f1722bf | 2741 | // %SR -- read (alias for %SW because SPI always write and read) |
whismanoid | 52:d3fb6f1722bf | 2742 | // spi.format(8,0); // int bits_must_be_8, int mode=0_3 CPOL=0,CPHA=0 rising edge (initial default) |
whismanoid | 52:d3fb6f1722bf | 2743 | // spi.format(8,1); // int bits_must_be_8, int mode=0_3 CPOL=0,CPHA=1 falling edge (initial default) |
whismanoid | 52:d3fb6f1722bf | 2744 | // spi.format(8,2); // int bits_must_be_8, int mode=0_3 CPOL=1,CPHA=0 falling edge (initial default) |
whismanoid | 52:d3fb6f1722bf | 2745 | // spi.format(8,3); // int bits_must_be_8, int mode=0_3 CPOL=1,CPHA=1 rising edge (initial default) |
whismanoid | 52:d3fb6f1722bf | 2746 | // spi.frequency(1000000); // int SCLK_Hz=1000000 = 1MHz (initial default) |
whismanoid | 52:d3fb6f1722bf | 2747 | // mode | POL PHA |
whismanoid | 52:d3fb6f1722bf | 2748 | // -----+-------- |
whismanoid | 52:d3fb6f1722bf | 2749 | // 0 | 0 0 |
whismanoid | 52:d3fb6f1722bf | 2750 | // 1 | 0 1 |
whismanoid | 52:d3fb6f1722bf | 2751 | // 2 | 1 0 |
whismanoid | 52:d3fb6f1722bf | 2752 | // 3 | 1 1 |
whismanoid | 52:d3fb6f1722bf | 2753 | //cmdLine.serial().printf(" S) SPI mosi,mosi,...mosi hex bytes SCLK=1000000 CPOL=0 CPHA=0"); |
whismanoid | 52:d3fb6f1722bf | 2754 | // fixed: mbed-os-5.11: [Warning] format '%d' expects argument of type 'int', but argument 3 has type 'uint32_t {aka long unsigned int}' [-Wformat=] |
whismanoid | 52:d3fb6f1722bf | 2755 | cmdLine.serial().printf("\r\n %%SC SCLK=%ld=%1.3fMHz CPOL=%d CPHA=%d -- SPI config", |
whismanoid | 52:d3fb6f1722bf | 2756 | g_SPI_SCLK_Hz, (g_SPI_SCLK_Hz / 1000000.), |
whismanoid | 52:d3fb6f1722bf | 2757 | ((g_SPI_dataMode & SPI_MODE2) ? 1 : 0), |
whismanoid | 52:d3fb6f1722bf | 2758 | ((g_SPI_dataMode & SPI_MODE1) ? 1 : 0)); |
whismanoid | 52:d3fb6f1722bf | 2759 | cmdLine.serial().printf("\r\n %%SD -- SPI diagnostic messages "); |
whismanoid | 52:d3fb6f1722bf | 2760 | if (g_MAX11410_device.onSPIprint) { |
whismanoid | 52:d3fb6f1722bf | 2761 | cmdLine.serial().printf("hide"); |
whismanoid | 52:d3fb6f1722bf | 2762 | } |
whismanoid | 52:d3fb6f1722bf | 2763 | else { |
whismanoid | 52:d3fb6f1722bf | 2764 | cmdLine.serial().printf("show"); |
whismanoid | 52:d3fb6f1722bf | 2765 | } |
whismanoid | 52:d3fb6f1722bf | 2766 | cmdLine.serial().printf("\r\n %%SW mosi,mosi,...mosi -- SPI write hex bytes"); |
whismanoid | 52:d3fb6f1722bf | 2767 | // VERIFY: parse new SPI settings parse_strCommandArgs() SCLK=1000000 CPOL=0 CPHA=0 |
whismanoid | 52:d3fb6f1722bf | 2768 | #endif // SUPPORT_SPI |
whismanoid | 52:d3fb6f1722bf | 2769 | // |
whismanoid | 52:d3fb6f1722bf | 2770 | // Application-specific commands (help text) here |
whismanoid | 52:d3fb6f1722bf | 2771 | // |
whismanoid | 52:d3fb6f1722bf | 2772 | #if APPLICATION_ArduinoPinsMonitor |
whismanoid | 52:d3fb6f1722bf | 2773 | cmdLine.serial().printf("\r\n A-Z,a-z,0-9 -- reserved for application use"); // ArduinoPinsMonitor |
whismanoid | 52:d3fb6f1722bf | 2774 | #endif // APPLICATION_ArduinoPinsMonitor |
whismanoid | 52:d3fb6f1722bf | 2775 | // |
whismanoid | 52:d3fb6f1722bf | 2776 | |
whismanoid | 52:d3fb6f1722bf | 2777 | extern bool MAX11410_menu_help(CmdLine & cmdLine); // defined in Test_Menu_MAX11410.cpp\n |
whismanoid | 52:d3fb6f1722bf | 2778 | MAX11410_menu_help(cmdLine); |
whismanoid | 52:d3fb6f1722bf | 2779 | } |
whismanoid | 52:d3fb6f1722bf | 2780 | |
whismanoid | 52:d3fb6f1722bf | 2781 | |
whismanoid | 52:d3fb6f1722bf | 2782 | |
whismanoid | 52:d3fb6f1722bf | 2783 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2784 | // main menu command-line parser |
whismanoid | 52:d3fb6f1722bf | 2785 | // invoked by CmdLine::append(char ch) or CmdLine::idleAppendIfReadable() |
whismanoid | 52:d3fb6f1722bf | 2786 | void main_menu_onEOLcommandParser(CmdLine & cmdLine) |
whismanoid | 52:d3fb6f1722bf | 2787 | { |
whismanoid | 52:d3fb6f1722bf | 2788 | // DIAGNOSTIC: print line buffer |
whismanoid | 52:d3fb6f1722bf | 2789 | //~ cmdLine.serial().printf("\r\nmain_menu_onEOLcommandParser: ~%s~\r\n", cmdLine.str()); |
whismanoid | 52:d3fb6f1722bf | 2790 | // |
whismanoid | 52:d3fb6f1722bf | 2791 | switch (cmdLine[0]) |
whismanoid | 52:d3fb6f1722bf | 2792 | { |
whismanoid | 52:d3fb6f1722bf | 2793 | case '?': |
whismanoid | 52:d3fb6f1722bf | 2794 | main_menu_status(cmdLine); |
whismanoid | 52:d3fb6f1722bf | 2795 | main_menu_help(cmdLine); |
whismanoid | 52:d3fb6f1722bf | 2796 | // print command prompt |
whismanoid | 52:d3fb6f1722bf | 2797 | //cmdLine.serial().printf("\r\n>"); |
whismanoid | 52:d3fb6f1722bf | 2798 | break; |
whismanoid | 52:d3fb6f1722bf | 2799 | case '\r': case '\n': // ignore blank line |
whismanoid | 52:d3fb6f1722bf | 2800 | case '\0': // ignore empty line |
whismanoid | 52:d3fb6f1722bf | 2801 | case '#': // ignore comment line |
whismanoid | 52:d3fb6f1722bf | 2802 | // # -- lines beginning with # are comments |
whismanoid | 52:d3fb6f1722bf | 2803 | main_menu_status(cmdLine); |
whismanoid | 52:d3fb6f1722bf | 2804 | //~ main_menu_help(cmdLine); |
whismanoid | 52:d3fb6f1722bf | 2805 | // print command prompt |
whismanoid | 52:d3fb6f1722bf | 2806 | //cmdLine.serial().printf("\r\n>"); |
whismanoid | 52:d3fb6f1722bf | 2807 | break; |
whismanoid | 52:d3fb6f1722bf | 2808 | #if ECHO_EOF_ON_EOL |
whismanoid | 52:d3fb6f1722bf | 2809 | case '\x04': // Unicode (U+0004) EOT END OF TRANSMISSION = CTRL+D as EOF end of file |
whismanoid | 52:d3fb6f1722bf | 2810 | cmdLine.serial().printf("\x04"); // immediately echo EOF for test scripting |
whismanoid | 52:d3fb6f1722bf | 2811 | diagnostic_led_EOF(); |
whismanoid | 52:d3fb6f1722bf | 2812 | break; |
whismanoid | 52:d3fb6f1722bf | 2813 | case '\x1a': // Unicode (U+001A) SUB SUBSTITUTE = CTRL+Z as EOF end of file |
whismanoid | 52:d3fb6f1722bf | 2814 | cmdLine.serial().printf("\x1a"); // immediately echo EOF for test scripting |
whismanoid | 52:d3fb6f1722bf | 2815 | diagnostic_led_EOF(); |
whismanoid | 52:d3fb6f1722bf | 2816 | break; |
whismanoid | 52:d3fb6f1722bf | 2817 | #endif |
whismanoid | 52:d3fb6f1722bf | 2818 | #if APPLICATION_ArduinoPinsMonitor |
whismanoid | 52:d3fb6f1722bf | 2819 | case '.': |
whismanoid | 52:d3fb6f1722bf | 2820 | { |
whismanoid | 52:d3fb6f1722bf | 2821 | // . -- SelfTest |
whismanoid | 52:d3fb6f1722bf | 2822 | cmdLine.serial().printf("SelfTest()"); |
whismanoid | 52:d3fb6f1722bf | 2823 | SelfTest(cmdLine); |
whismanoid | 52:d3fb6f1722bf | 2824 | } |
whismanoid | 52:d3fb6f1722bf | 2825 | break; |
whismanoid | 52:d3fb6f1722bf | 2826 | case '%': |
whismanoid | 52:d3fb6f1722bf | 2827 | { |
whismanoid | 52:d3fb6f1722bf | 2828 | pinsMonitor_submenu_onEOLcommandParser(cmdLine); |
whismanoid | 52:d3fb6f1722bf | 2829 | } |
whismanoid | 52:d3fb6f1722bf | 2830 | break; // case '%' |
whismanoid | 52:d3fb6f1722bf | 2831 | #endif // APPLICATION_ArduinoPinsMonitor |
whismanoid | 52:d3fb6f1722bf | 2832 | // |
whismanoid | 52:d3fb6f1722bf | 2833 | // Application-specific commands here |
whismanoid | 52:d3fb6f1722bf | 2834 | // alphanumeric command codes A-Z,a-z,0-9 reserved for application use |
whismanoid | 52:d3fb6f1722bf | 2835 | // |
whismanoid | 52:d3fb6f1722bf | 2836 | #if APPLICATION_ArduinoPinsMonitor |
whismanoid | 52:d3fb6f1722bf | 2837 | #endif // APPLICATION_ArduinoPinsMonitor |
whismanoid | 52:d3fb6f1722bf | 2838 | |
whismanoid | 52:d3fb6f1722bf | 2839 | // |
whismanoid | 52:d3fb6f1722bf | 2840 | // add new commands here |
whismanoid | 52:d3fb6f1722bf | 2841 | // |
whismanoid | 52:d3fb6f1722bf | 2842 | default: |
whismanoid | 52:d3fb6f1722bf | 2843 | extern bool MAX11410_menu_onEOLcommandParser(CmdLine & cmdLine); // defined in Test_Menu_MAX11410.cpp |
whismanoid | 52:d3fb6f1722bf | 2844 | if (!MAX11410_menu_onEOLcommandParser(cmdLine)) |
whismanoid | 52:d3fb6f1722bf | 2845 | { // not_handled_by_device_submenu |
whismanoid | 52:d3fb6f1722bf | 2846 | cmdLine.serial().printf("\r\n unknown command 0x%2.2x \"%s\"\r\n", cmdLine.str()[0], cmdLine.str()); |
whismanoid | 52:d3fb6f1722bf | 2847 | |
whismanoid | 52:d3fb6f1722bf | 2848 | # if HAS_DAPLINK_SERIAL |
whismanoid | 52:d3fb6f1722bf | 2849 | cmdLine_DAPLINKserial.serial().printf("\r\n unknown command 0x%2.2x \"%s\"\r\n", cmdLine.str()[0], cmdLine.str()); |
whismanoid | 52:d3fb6f1722bf | 2850 | |
whismanoid | 52:d3fb6f1722bf | 2851 | # endif // HAS_DAPLINK_SERIAL |
whismanoid | 52:d3fb6f1722bf | 2852 | } |
whismanoid | 52:d3fb6f1722bf | 2853 | } // switch (cmdLine[0]) |
whismanoid | 52:d3fb6f1722bf | 2854 | // |
whismanoid | 52:d3fb6f1722bf | 2855 | // print command prompt |
whismanoid | 52:d3fb6f1722bf | 2856 | cmdLine.serial().printf("\r\nMAX11410 > "); |
whismanoid | 52:d3fb6f1722bf | 2857 | |
whismanoid | 52:d3fb6f1722bf | 2858 | } // end void main_menu_onEOLcommandParser(CmdLine & cmdLine) |
whismanoid | 52:d3fb6f1722bf | 2859 | |
whismanoid | 52:d3fb6f1722bf | 2860 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2861 | #if MAX11410_ONSPIPRINT |
whismanoid | 52:d3fb6f1722bf | 2862 | // Optional Diagnostic function to print SPI transactions |
whismanoid | 52:d3fb6f1722bf | 2863 | void onSPIprint_handler(size_t byteCount, uint8_t mosiData[], uint8_t misoData[]) |
whismanoid | 52:d3fb6f1722bf | 2864 | { |
whismanoid | 52:d3fb6f1722bf | 2865 | cmdLine_serial.serial().printf("\r\nSPI MOSI->"); |
whismanoid | 52:d3fb6f1722bf | 2866 | for (uint8_t index = 0; index < byteCount; index++) { |
whismanoid | 52:d3fb6f1722bf | 2867 | cmdLine_serial.serial().printf(" 0x%2.2X", mosiData[index]); |
whismanoid | 52:d3fb6f1722bf | 2868 | } |
whismanoid | 52:d3fb6f1722bf | 2869 | cmdLine_serial.serial().printf(" MISO<-"); |
whismanoid | 52:d3fb6f1722bf | 2870 | for (uint8_t index = 0; index < byteCount; index++) { |
whismanoid | 52:d3fb6f1722bf | 2871 | cmdLine_serial.serial().printf(" 0x%2.2X", misoData[index]); |
whismanoid | 52:d3fb6f1722bf | 2872 | } |
whismanoid | 52:d3fb6f1722bf | 2873 | cmdLine_serial.serial().printf(" "); |
whismanoid | 52:d3fb6f1722bf | 2874 | } |
whismanoid | 52:d3fb6f1722bf | 2875 | #endif // MAX11410_ONSPIPRINT |
whismanoid | 52:d3fb6f1722bf | 2876 | |
whismanoid | 52:d3fb6f1722bf | 2877 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2878 | void InitializeConfiguration() |
whismanoid | 52:d3fb6f1722bf | 2879 | { |
whismanoid | 52:d3fb6f1722bf | 2880 | // CODE GENERATOR: example code: member function Init |
whismanoid | 52:d3fb6f1722bf | 2881 | # if HAS_DAPLINK_SERIAL |
whismanoid | 52:d3fb6f1722bf | 2882 | cmdLine_DAPLINKserial.serial().printf("\r\nMAX11410_Init()"); |
whismanoid | 52:d3fb6f1722bf | 2883 | |
whismanoid | 52:d3fb6f1722bf | 2884 | # endif |
whismanoid | 52:d3fb6f1722bf | 2885 | cmdLine_serial.serial().printf("\r\nMAX11410_Init()"); |
whismanoid | 52:d3fb6f1722bf | 2886 | |
whismanoid | 52:d3fb6f1722bf | 2887 | // Initialize MAX11410 and verify device ID |
whismanoid | 52:d3fb6f1722bf | 2888 | if (g_MAX11410_device.Init() == 0) |
whismanoid | 52:d3fb6f1722bf | 2889 | { // init failed; try "safe mode" SPI at slower SCLK rate |
whismanoid | 52:d3fb6f1722bf | 2890 | cmdLine_serial.serial().printf("\r\nMAX11410 Init failed; retry at SPI SCLK frequency 2000000 Hz\r\n"); |
whismanoid | 52:d3fb6f1722bf | 2891 | |
whismanoid | 52:d3fb6f1722bf | 2892 | g_SPI_SCLK_Hz = 2000000; |
whismanoid | 52:d3fb6f1722bf | 2893 | g_MAX11410_device.spi_frequency(2000000); |
whismanoid | 52:d3fb6f1722bf | 2894 | g_MAX11410_device.Init(); |
whismanoid | 52:d3fb6f1722bf | 2895 | } |
whismanoid | 52:d3fb6f1722bf | 2896 | // CODE GENERATOR: get spi properties from device |
whismanoid | 52:d3fb6f1722bf | 2897 | if (g_SPI_SCLK_Hz > g_MAX11410_device.get_spi_frequency()) |
whismanoid | 52:d3fb6f1722bf | 2898 | { // Device limits SPI SCLK frequency |
whismanoid | 52:d3fb6f1722bf | 2899 | g_SPI_SCLK_Hz = g_MAX11410_device.get_spi_frequency(); |
whismanoid | 52:d3fb6f1722bf | 2900 | cmdLine_serial.serial().printf("\r\nMAX11410 limits SPI SCLK frequency to %d Hz\r\n", g_SPI_SCLK_Hz); |
whismanoid | 52:d3fb6f1722bf | 2901 | |
whismanoid | 52:d3fb6f1722bf | 2902 | g_MAX11410_device.Init(); |
whismanoid | 52:d3fb6f1722bf | 2903 | } |
whismanoid | 52:d3fb6f1722bf | 2904 | if (g_MAX11410_device.get_spi_frequency() > g_SPI_SCLK_Hz) |
whismanoid | 52:d3fb6f1722bf | 2905 | { // Platform limits SPI SCLK frequency |
whismanoid | 52:d3fb6f1722bf | 2906 | g_MAX11410_device.spi_frequency(g_SPI_SCLK_Hz); |
whismanoid | 52:d3fb6f1722bf | 2907 | cmdLine_serial.serial().printf("\r\nPlatform limits MAX11410 SPI SCLK frequency to %d Hz\r\n", g_SPI_SCLK_Hz); |
whismanoid | 52:d3fb6f1722bf | 2908 | |
whismanoid | 52:d3fb6f1722bf | 2909 | g_MAX11410_device.Init(); |
whismanoid | 52:d3fb6f1722bf | 2910 | } |
whismanoid | 52:d3fb6f1722bf | 2911 | g_SPI_dataMode = g_MAX11410_device.get_spi_dataMode(); |
whismanoid | 52:d3fb6f1722bf | 2912 | |
whismanoid | 52:d3fb6f1722bf | 2913 | # if MAX11410_ONSPIPRINT |
whismanoid | 52:d3fb6f1722bf | 2914 | // Optional Diagnostic function to print SPI transactions |
whismanoid | 52:d3fb6f1722bf | 2915 | g_MAX11410_device.onSPIprint = onSPIprint_handler; |
whismanoid | 52:d3fb6f1722bf | 2916 | # endif |
whismanoid | 52:d3fb6f1722bf | 2917 | } |
whismanoid | 52:d3fb6f1722bf | 2918 | |
whismanoid | 52:d3fb6f1722bf | 2919 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2920 | // diagnostic rbg led GREEN |
whismanoid | 52:d3fb6f1722bf | 2921 | void diagnostic_led_EOF() |
whismanoid | 52:d3fb6f1722bf | 2922 | { |
whismanoid | 52:d3fb6f1722bf | 2923 | #if USE_LEDS |
whismanoid | 52:d3fb6f1722bf | 2924 | led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW |
whismanoid | 52:d3fb6f1722bf | 2925 | // TODO1: mbed-os-5.11: [Warning] 'static osStatus rtos::Thread::wait(uint32_t)' is deprecated: Static methods only affecting current thread cause confusion. Replaced by ThisThread::sleep_for. [since mbed-os-5.10] [-Wdeprecated-declarations] |
whismanoid | 52:d3fb6f1722bf | 2926 | ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250); |
whismanoid | 52:d3fb6f1722bf | 2927 | led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN |
whismanoid | 52:d3fb6f1722bf | 2928 | ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250); |
whismanoid | 52:d3fb6f1722bf | 2929 | led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW |
whismanoid | 52:d3fb6f1722bf | 2930 | ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250); |
whismanoid | 52:d3fb6f1722bf | 2931 | led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN |
whismanoid | 52:d3fb6f1722bf | 2932 | ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250); |
whismanoid | 52:d3fb6f1722bf | 2933 | #endif // USE_LEDS |
whismanoid | 52:d3fb6f1722bf | 2934 | } |
whismanoid | 52:d3fb6f1722bf | 2935 | |
whismanoid | 52:d3fb6f1722bf | 2936 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2937 | // Support commands that get handled immediately w/o waiting for EOL |
whismanoid | 52:d3fb6f1722bf | 2938 | // handled as immediate command, do not append to buffer |
whismanoid | 52:d3fb6f1722bf | 2939 | void on_immediate_0x21() // Unicode (U+0021) ! EXCLAMATION MARK |
whismanoid | 52:d3fb6f1722bf | 2940 | { |
whismanoid | 52:d3fb6f1722bf | 2941 | #if USE_LEDS |
whismanoid | 52:d3fb6f1722bf | 2942 | led1 = LED_OFF; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led BLUE |
whismanoid | 52:d3fb6f1722bf | 2943 | #endif // USE_LEDS |
whismanoid | 52:d3fb6f1722bf | 2944 | InitializeConfiguration(); |
whismanoid | 52:d3fb6f1722bf | 2945 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 2946 | } |
whismanoid | 52:d3fb6f1722bf | 2947 | |
whismanoid | 52:d3fb6f1722bf | 2948 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2949 | // Support commands that get handled immediately w/o waiting for EOL |
whismanoid | 52:d3fb6f1722bf | 2950 | // handled as immediate command, do not append to buffer |
whismanoid | 52:d3fb6f1722bf | 2951 | void on_immediate_0x7b() // Unicode (U+007B) { LEFT CURLY BRACKET |
whismanoid | 52:d3fb6f1722bf | 2952 | { |
whismanoid | 52:d3fb6f1722bf | 2953 | #if HAS_BUTTON2_DEMO_INTERRUPT |
whismanoid | 52:d3fb6f1722bf | 2954 | onButton2FallingEdge(); |
whismanoid | 52:d3fb6f1722bf | 2955 | #endif |
whismanoid | 52:d3fb6f1722bf | 2956 | } |
whismanoid | 52:d3fb6f1722bf | 2957 | |
whismanoid | 52:d3fb6f1722bf | 2958 | //-------------------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2959 | // Support commands that get handled immediately w/o waiting for EOL |
whismanoid | 52:d3fb6f1722bf | 2960 | // handled as immediate command, do not append to buffer |
whismanoid | 52:d3fb6f1722bf | 2961 | void on_immediate_0x7d() // Unicode (U+007D) } RIGHT CURLY BRACKET |
whismanoid | 52:d3fb6f1722bf | 2962 | { |
whismanoid | 52:d3fb6f1722bf | 2963 | #if HAS_BUTTON1_DEMO_INTERRUPT |
whismanoid | 52:d3fb6f1722bf | 2964 | onButton1FallingEdge(); |
whismanoid | 52:d3fb6f1722bf | 2965 | #endif |
whismanoid | 52:d3fb6f1722bf | 2966 | } |
whismanoid | 52:d3fb6f1722bf | 2967 | |
whismanoid | 52:d3fb6f1722bf | 2968 | //---------------------------------------- |
whismanoid | 52:d3fb6f1722bf | 2969 | // example code main function |
whismanoid | 52:d3fb6f1722bf | 2970 | int main() |
whismanoid | 52:d3fb6f1722bf | 2971 | { |
whismanoid | 52:d3fb6f1722bf | 2972 | // Configure serial ports |
whismanoid | 52:d3fb6f1722bf | 2973 | cmdLine_serial.clear(); |
whismanoid | 52:d3fb6f1722bf | 2974 | //~ cmdLine_serial.serial().printf("\r\n cmdLine_serial.serial().printf test\r\n"); |
whismanoid | 52:d3fb6f1722bf | 2975 | cmdLine_serial.onEOLcommandParser = main_menu_onEOLcommandParser; |
whismanoid | 52:d3fb6f1722bf | 2976 | cmdLine_serial.diagnostic_led_EOF = diagnostic_led_EOF; |
whismanoid | 52:d3fb6f1722bf | 2977 | /// CmdLine::set_immediate_handler(char, functionPointer_void_void_on_immediate_0x21); |
whismanoid | 52:d3fb6f1722bf | 2978 | cmdLine_serial.on_immediate_0x21 = on_immediate_0x21; |
whismanoid | 52:d3fb6f1722bf | 2979 | cmdLine_serial.on_immediate_0x7b = on_immediate_0x7b; |
whismanoid | 52:d3fb6f1722bf | 2980 | cmdLine_serial.on_immediate_0x7d = on_immediate_0x7d; |
whismanoid | 52:d3fb6f1722bf | 2981 | # if HAS_DAPLINK_SERIAL |
whismanoid | 52:d3fb6f1722bf | 2982 | cmdLine_DAPLINKserial.clear(); |
whismanoid | 52:d3fb6f1722bf | 2983 | //~ cmdLine_DAPLINKserial.serial().printf("\r\n cmdLine_DAPLINKserial.serial().printf test\r\n"); |
whismanoid | 52:d3fb6f1722bf | 2984 | cmdLine_DAPLINKserial.onEOLcommandParser = main_menu_onEOLcommandParser; |
whismanoid | 52:d3fb6f1722bf | 2985 | /// @todo CmdLine::set_immediate_handler(char, functionPointer_void_void_on_immediate_0x21); |
whismanoid | 52:d3fb6f1722bf | 2986 | cmdLine_DAPLINKserial.on_immediate_0x21 = on_immediate_0x21; |
whismanoid | 52:d3fb6f1722bf | 2987 | cmdLine_DAPLINKserial.on_immediate_0x7b = on_immediate_0x7b; |
whismanoid | 52:d3fb6f1722bf | 2988 | cmdLine_DAPLINKserial.on_immediate_0x7d = on_immediate_0x7d; |
whismanoid | 52:d3fb6f1722bf | 2989 | # endif |
whismanoid | 52:d3fb6f1722bf | 2990 | |
whismanoid | 52:d3fb6f1722bf | 2991 | |
whismanoid | 52:d3fb6f1722bf | 2992 | //print_banner(); |
whismanoid | 52:d3fb6f1722bf | 2993 | |
whismanoid | 52:d3fb6f1722bf | 2994 | |
whismanoid | 52:d3fb6f1722bf | 2995 | |
whismanoid | 52:d3fb6f1722bf | 2996 | #if USE_LEDS |
whismanoid | 52:d3fb6f1722bf | 2997 | #if defined(TARGET_MAX32630) |
whismanoid | 52:d3fb6f1722bf | 2998 | led1 = LED_ON; led2 = LED_OFF; led3 = LED_OFF; // diagnostic rbg led RED |
whismanoid | 52:d3fb6f1722bf | 2999 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3000 | led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN |
whismanoid | 52:d3fb6f1722bf | 3001 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3002 | led1 = LED_OFF; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led BLUE |
whismanoid | 52:d3fb6f1722bf | 3003 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3004 | led1 = LED_ON; led2 = LED_ON; led3 = LED_ON; // diagnostic rbg led RED+GREEN+BLUE=WHITE |
whismanoid | 52:d3fb6f1722bf | 3005 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3006 | led1 = LED_OFF; led2 = LED_ON; led3 = LED_ON; // diagnostic rbg led GREEN+BLUE=CYAN |
whismanoid | 52:d3fb6f1722bf | 3007 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3008 | led1 = LED_ON; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led RED+BLUE=MAGENTA |
whismanoid | 52:d3fb6f1722bf | 3009 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3010 | led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW |
whismanoid | 52:d3fb6f1722bf | 3011 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3012 | led1 = LED_OFF; led2 = LED_OFF; led3 = LED_OFF; // diagnostic rbg led BLACK |
whismanoid | 52:d3fb6f1722bf | 3013 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3014 | #elif defined(TARGET_MAX32625MBED) |
whismanoid | 52:d3fb6f1722bf | 3015 | led1 = LED_ON; led2 = LED_OFF; led3 = LED_OFF; // diagnostic rbg led RED |
whismanoid | 52:d3fb6f1722bf | 3016 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3017 | led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN |
whismanoid | 52:d3fb6f1722bf | 3018 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3019 | led1 = LED_OFF; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led BLUE |
whismanoid | 52:d3fb6f1722bf | 3020 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3021 | led1 = LED_ON; led2 = LED_ON; led3 = LED_ON; // diagnostic rbg led RED+GREEN+BLUE=WHITE |
whismanoid | 52:d3fb6f1722bf | 3022 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3023 | led1 = LED_OFF; led2 = LED_ON; led3 = LED_ON; // diagnostic rbg led GREEN+BLUE=CYAN |
whismanoid | 52:d3fb6f1722bf | 3024 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3025 | led1 = LED_ON; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led RED+BLUE=MAGENTA |
whismanoid | 52:d3fb6f1722bf | 3026 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3027 | led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW |
whismanoid | 52:d3fb6f1722bf | 3028 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3029 | led1 = LED_OFF; led2 = LED_OFF; led3 = LED_OFF; // diagnostic rbg led BLACK |
whismanoid | 52:d3fb6f1722bf | 3030 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 52:d3fb6f1722bf | 3031 | #else // not defined(TARGET_LPC1768 etc.) |
whismanoid | 52:d3fb6f1722bf | 3032 | led1 = LED_ON; |
whismanoid | 52:d3fb6f1722bf | 3033 | led2 = LED_OFF; |
whismanoid | 52:d3fb6f1722bf | 3034 | led3 = LED_OFF; |
whismanoid | 52:d3fb6f1722bf | 3035 | led4 = LED_OFF; |
whismanoid | 52:d3fb6f1722bf | 3036 | ThisThread::sleep_for(75); // [since mbed-os-5.10] vs Thread::wait(75); |
whismanoid | 52:d3fb6f1722bf | 3037 | //led1 = LED_ON; |
whismanoid | 52:d3fb6f1722bf | 3038 | led2 = LED_ON; |
whismanoid | 52:d3fb6f1722bf | 3039 | ThisThread::sleep_for(75); // [since mbed-os-5.10] vs Thread::wait(75); |
whismanoid | 52:d3fb6f1722bf | 3040 | led1 = LED_OFF; |
whismanoid | 52:d3fb6f1722bf | 3041 | //led2 = LED_ON; |
whismanoid | 52:d3fb6f1722bf | 3042 | led3 = LED_ON; |
whismanoid | 52:d3fb6f1722bf | 3043 | ThisThread::sleep_for(75); // [since mbed-os-5.10] vs Thread::wait(75); |
whismanoid | 52:d3fb6f1722bf | 3044 | led2 = LED_OFF; |
whismanoid | 52:d3fb6f1722bf | 3045 | //led3 = LED_ON; |
whismanoid | 52:d3fb6f1722bf | 3046 | led4 = LED_ON; |
whismanoid | 52:d3fb6f1722bf | 3047 | ThisThread::sleep_for(75); // [since mbed-os-5.10] vs Thread::wait(75); |
whismanoid | 52:d3fb6f1722bf | 3048 | led3 = LED_OFF; |
whismanoid | 52:d3fb6f1722bf | 3049 | led4 = LED_ON; |
whismanoid | 52:d3fb6f1722bf | 3050 | // |
whismanoid | 52:d3fb6f1722bf | 3051 | #endif // target definition |
whismanoid | 52:d3fb6f1722bf | 3052 | #endif |
whismanoid | 52:d3fb6f1722bf | 3053 | |
whismanoid | 52:d3fb6f1722bf | 3054 | // cmd_TE(); |
whismanoid | 52:d3fb6f1722bf | 3055 | |
whismanoid | 52:d3fb6f1722bf | 3056 | // #if USE_LEDS |
whismanoid | 52:d3fb6f1722bf | 3057 | // rgb_led.white(); // diagnostic rbg led RED+GREEN+BLUE=WHITE |
whismanoid | 52:d3fb6f1722bf | 3058 | // #endif // USE_LEDS |
whismanoid | 52:d3fb6f1722bf | 3059 | led1 = LED_ON; |
whismanoid | 52:d3fb6f1722bf | 3060 | led2 = LED_ON; |
whismanoid | 52:d3fb6f1722bf | 3061 | led3 = LED_ON; |
whismanoid | 52:d3fb6f1722bf | 3062 | |
whismanoid | 52:d3fb6f1722bf | 3063 | InitializeConfiguration(); |
whismanoid | 52:d3fb6f1722bf | 3064 | // CODE GENERATOR: example code: member function Init |
whismanoid | 52:d3fb6f1722bf | 3065 | g_MAX11410_device.Init(); |
whismanoid | 52:d3fb6f1722bf | 3066 | |
whismanoid | 52:d3fb6f1722bf | 3067 | // example code: serial port banner message |
whismanoid | 52:d3fb6f1722bf | 3068 | #if defined(TARGET_MAX32625MBED) |
whismanoid | 52:d3fb6f1722bf | 3069 | serial.printf("MAX32625MBED "); |
whismanoid | 52:d3fb6f1722bf | 3070 | #elif defined(TARGET_MAX32600MBED) |
whismanoid | 52:d3fb6f1722bf | 3071 | serial.printf("MAX32600MBED "); |
whismanoid | 52:d3fb6f1722bf | 3072 | #elif defined(TARGET_NUCLEO_F446RE) |
whismanoid | 52:d3fb6f1722bf | 3073 | serial.printf("NUCLEO_F446RE "); |
whismanoid | 52:d3fb6f1722bf | 3074 | #endif |
whismanoid | 52:d3fb6f1722bf | 3075 | serial.printf("MAX11410BOB\r\n"); |
whismanoid | 52:d3fb6f1722bf | 3076 | |
whismanoid | 52:d3fb6f1722bf | 3077 | |
whismanoid | 52:d3fb6f1722bf | 3078 | while (1) { |
whismanoid | 52:d3fb6f1722bf | 3079 | #if HAS_BUTTON1_DEMO_INTERRUPT_POLLING |
whismanoid | 52:d3fb6f1722bf | 3080 | // avoid runtime error on button1 press [mbed-os-5.11] |
whismanoid | 52:d3fb6f1722bf | 3081 | // instead of using InterruptIn, use DigitalIn and poll in main while(1) |
whismanoid | 52:d3fb6f1722bf | 3082 | # if HAS_BUTTON1_DEMO_INTERRUPT |
whismanoid | 52:d3fb6f1722bf | 3083 | static int button1_value_prev = 1; |
whismanoid | 52:d3fb6f1722bf | 3084 | static int button1_value_now = 1; |
whismanoid | 52:d3fb6f1722bf | 3085 | button1_value_prev = button1_value_now; |
whismanoid | 52:d3fb6f1722bf | 3086 | button1_value_now = button1.read(); |
whismanoid | 52:d3fb6f1722bf | 3087 | if ((button1_value_prev - button1_value_now) == 1) |
whismanoid | 52:d3fb6f1722bf | 3088 | { |
whismanoid | 52:d3fb6f1722bf | 3089 | // on button1 falling edge (button1 press) |
whismanoid | 52:d3fb6f1722bf | 3090 | onButton1FallingEdge(); |
whismanoid | 52:d3fb6f1722bf | 3091 | } |
whismanoid | 52:d3fb6f1722bf | 3092 | # endif // HAS_BUTTON1_DEMO_INTERRUPT |
whismanoid | 52:d3fb6f1722bf | 3093 | # if HAS_BUTTON2_DEMO_INTERRUPT |
whismanoid | 52:d3fb6f1722bf | 3094 | static int button2_value_prev = 1; |
whismanoid | 52:d3fb6f1722bf | 3095 | static int button2_value_now = 1; |
whismanoid | 52:d3fb6f1722bf | 3096 | button2_value_prev = button2_value_now; |
whismanoid | 52:d3fb6f1722bf | 3097 | button2_value_now = button2.read(); |
whismanoid | 52:d3fb6f1722bf | 3098 | if ((button2_value_prev - button2_value_now) == 1) |
whismanoid | 52:d3fb6f1722bf | 3099 | { |
whismanoid | 52:d3fb6f1722bf | 3100 | // on button2 falling edge (button2 press) |
whismanoid | 52:d3fb6f1722bf | 3101 | onButton2FallingEdge(); |
whismanoid | 52:d3fb6f1722bf | 3102 | } |
whismanoid | 52:d3fb6f1722bf | 3103 | # endif // HAS_BUTTON2_DEMO_INTERRUPT |
whismanoid | 52:d3fb6f1722bf | 3104 | #endif |
whismanoid | 52:d3fb6f1722bf | 3105 | # if HAS_DAPLINK_SERIAL |
whismanoid | 52:d3fb6f1722bf | 3106 | if (DAPLINKserial.readable()) { |
whismanoid | 52:d3fb6f1722bf | 3107 | cmdLine_DAPLINKserial.append(DAPLINKserial.getc()); |
whismanoid | 52:d3fb6f1722bf | 3108 | } |
whismanoid | 52:d3fb6f1722bf | 3109 | # endif // HAS_DAPLINK_SERIAL |
whismanoid | 52:d3fb6f1722bf | 3110 | if (serial.readable()) { |
whismanoid | 52:d3fb6f1722bf | 3111 | int c = serial.getc(); |
whismanoid | 52:d3fb6f1722bf | 3112 | cmdLine_serial.append(c); |
whismanoid | 52:d3fb6f1722bf | 3113 | #if IGNORE_AT_COMMANDS |
whismanoid | 52:d3fb6f1722bf | 3114 | # if HAS_DAPLINK_SERIAL |
whismanoid | 52:d3fb6f1722bf | 3115 | cmdLine_DAPLINKserial.serial().printf("%c", c); |
whismanoid | 52:d3fb6f1722bf | 3116 | # endif // HAS_DAPLINK_SERIAL |
whismanoid | 52:d3fb6f1722bf | 3117 | #endif // IGNORE_AT_COMMANDS |
whismanoid | 52:d3fb6f1722bf | 3118 | // |
whismanoid | 52:d3fb6f1722bf | 3119 | } |
whismanoid | 52:d3fb6f1722bf | 3120 | } // while(1) |
whismanoid | 52:d3fb6f1722bf | 3121 | } |
whismanoid | 52:d3fb6f1722bf | 3122 | //---------- CODE GENERATOR: end testMainCppCodeList |