Test program running on MAX32625MBED. Control through USB Serial commands using a terminal emulator such as teraterm or putty.
Dependencies: MaximTinyTester CmdLine MAX5171 USBDevice
Test_Main_MAX5171.cpp@23:abd02fed1ae4, 2020-04-03 (annotated)
- Committer:
- whismanoid
- Date:
- Fri Apr 03 06:27:43 2020 +0000
- Revision:
- 23:abd02fed1ae4
- Parent:
- 22:a14c19b97d0b
- Child:
- 24:3ef3dd32c7b5
Support MAX5171BOB Self Test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
whismanoid | 23:abd02fed1ae4 | 1 | // /******************************************************************************* |
whismanoid | 22:a14c19b97d0b | 2 | // * Copyright (C) 2020 Maxim Integrated Products, Inc., All Rights Reserved. |
whismanoid | 22:a14c19b97d0b | 3 | // * |
whismanoid | 22:a14c19b97d0b | 4 | // * Permission is hereby granted, free of charge, to any person obtaining a |
whismanoid | 22:a14c19b97d0b | 5 | // * copy of this software and associated documentation files (the "Software"), |
whismanoid | 22:a14c19b97d0b | 6 | // * to deal in the Software without restriction, including without limitation |
whismanoid | 22:a14c19b97d0b | 7 | // * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
whismanoid | 22:a14c19b97d0b | 8 | // * and/or sell copies of the Software, and to permit persons to whom the |
whismanoid | 22:a14c19b97d0b | 9 | // * Software is furnished to do so, subject to the following conditions: |
whismanoid | 22:a14c19b97d0b | 10 | // * |
whismanoid | 22:a14c19b97d0b | 11 | // * The above copyright notice and this permission notice shall be included |
whismanoid | 22:a14c19b97d0b | 12 | // * in all copies or substantial portions of the Software. |
whismanoid | 22:a14c19b97d0b | 13 | // * |
whismanoid | 22:a14c19b97d0b | 14 | // * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
whismanoid | 22:a14c19b97d0b | 15 | // * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
whismanoid | 22:a14c19b97d0b | 16 | // * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
whismanoid | 22:a14c19b97d0b | 17 | // * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES |
whismanoid | 22:a14c19b97d0b | 18 | // * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, |
whismanoid | 22:a14c19b97d0b | 19 | // * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
whismanoid | 22:a14c19b97d0b | 20 | // * OTHER DEALINGS IN THE SOFTWARE. |
whismanoid | 22:a14c19b97d0b | 21 | // * |
whismanoid | 22:a14c19b97d0b | 22 | // * Except as contained in this notice, the name of Maxim Integrated |
whismanoid | 22:a14c19b97d0b | 23 | // * Products, Inc. shall not be used except as stated in the Maxim Integrated |
whismanoid | 22:a14c19b97d0b | 24 | // * Products, Inc. Branding Policy. |
whismanoid | 22:a14c19b97d0b | 25 | // * |
whismanoid | 22:a14c19b97d0b | 26 | // * The mere transfer of this software does not imply any licenses |
whismanoid | 22:a14c19b97d0b | 27 | // * of trade secrets, proprietary technology, copyrights, patents, |
whismanoid | 22:a14c19b97d0b | 28 | // * trademarks, maskwork rights, or any other form of intellectual |
whismanoid | 22:a14c19b97d0b | 29 | // * property whatsoever. Maxim Integrated Products, Inc. retains all |
whismanoid | 22:a14c19b97d0b | 30 | // * ownership rights. |
whismanoid | 22:a14c19b97d0b | 31 | // ******************************************************************************* |
whismanoid | 22:a14c19b97d0b | 32 | // */ |
whismanoid | 22:a14c19b97d0b | 33 | // example code includes |
whismanoid | 22:a14c19b97d0b | 34 | // standard include for target platform -- Platform_Include_Boilerplate |
whismanoid | 22:a14c19b97d0b | 35 | #include "mbed.h" |
whismanoid | 22:a14c19b97d0b | 36 | // Platforms: |
whismanoid | 22:a14c19b97d0b | 37 | // - MAX32625MBED |
whismanoid | 22:a14c19b97d0b | 38 | // - supports mbed-os-5.11, requires USBDevice library |
whismanoid | 22:a14c19b97d0b | 39 | // - add https://developer.mbed.org/teams/MaximIntegrated/code/USBDevice/ |
whismanoid | 22:a14c19b97d0b | 40 | // - remove max32630fthr library (if present) |
whismanoid | 22:a14c19b97d0b | 41 | // - remove MAX32620FTHR library (if present) |
whismanoid | 22:a14c19b97d0b | 42 | // - MAX32600MBED |
whismanoid | 22:a14c19b97d0b | 43 | // - remove max32630fthr library (if present) |
whismanoid | 22:a14c19b97d0b | 44 | // - remove MAX32620FTHR library (if present) |
whismanoid | 22:a14c19b97d0b | 45 | // - Windows 10 note: Don't connect HDK until you are ready to load new firmware into the board. |
whismanoid | 22:a14c19b97d0b | 46 | // - NUCLEO_F446RE |
whismanoid | 22:a14c19b97d0b | 47 | // - remove USBDevice library |
whismanoid | 22:a14c19b97d0b | 48 | // - remove max32630fthr library (if present) |
whismanoid | 22:a14c19b97d0b | 49 | // - remove MAX32620FTHR library (if present) |
whismanoid | 22:a14c19b97d0b | 50 | // - NUCLEO_F401RE |
whismanoid | 22:a14c19b97d0b | 51 | // - remove USBDevice library |
whismanoid | 22:a14c19b97d0b | 52 | // - remove max32630fthr library (if present) |
whismanoid | 22:a14c19b97d0b | 53 | // - remove MAX32620FTHR library (if present) |
whismanoid | 22:a14c19b97d0b | 54 | // - MAX32630FTHR |
whismanoid | 22:a14c19b97d0b | 55 | // - #include "max32630fthr.h" |
whismanoid | 22:a14c19b97d0b | 56 | // - add http://os.mbed.org/teams/MaximIntegrated/code/max32630fthr/ |
whismanoid | 22:a14c19b97d0b | 57 | // - remove MAX32620FTHR library (if present) |
whismanoid | 22:a14c19b97d0b | 58 | // - MAX32620FTHR |
whismanoid | 22:a14c19b97d0b | 59 | // - #include "MAX32620FTHR.h" |
whismanoid | 22:a14c19b97d0b | 60 | // - remove max32630fthr library (if present) |
whismanoid | 22:a14c19b97d0b | 61 | // - add https://os.mbed.com/teams/MaximIntegrated/code/MAX32620FTHR/ |
whismanoid | 22:a14c19b97d0b | 62 | // - not tested yet |
whismanoid | 22:a14c19b97d0b | 63 | // - MAX32625PICO |
whismanoid | 22:a14c19b97d0b | 64 | // - remove max32630fthr library (if present) |
whismanoid | 22:a14c19b97d0b | 65 | // - remove MAX32620FTHR library (if present) |
whismanoid | 22:a14c19b97d0b | 66 | // - not tested yet |
whismanoid | 22:a14c19b97d0b | 67 | // |
whismanoid | 22:a14c19b97d0b | 68 | // end Platform_Include_Boilerplate |
whismanoid | 22:a14c19b97d0b | 69 | #include "MAX5171.h" |
whismanoid | 22:a14c19b97d0b | 70 | #include "CmdLine.h" |
whismanoid | 22:a14c19b97d0b | 71 | #include "MaximTinyTester.h" |
whismanoid | 22:a14c19b97d0b | 72 | |
whismanoid | 22:a14c19b97d0b | 73 | // optional: serial port |
whismanoid | 22:a14c19b97d0b | 74 | // note: some platforms such as Nucleo-F446RE do not support the USBSerial library. |
whismanoid | 22:a14c19b97d0b | 75 | // In those cases, remove the USBDevice lib from the project and rebuild. |
whismanoid | 22:a14c19b97d0b | 76 | #if defined(TARGET_MAX32625MBED) |
whismanoid | 22:a14c19b97d0b | 77 | #include "USBSerial.h" |
whismanoid | 22:a14c19b97d0b | 78 | USBSerial serial; // virtual serial port over USB (DEV connector) |
whismanoid | 23:abd02fed1ae4 | 79 | #elif defined(TARGET_MAX32600MBED) |
whismanoid | 23:abd02fed1ae4 | 80 | #include "USBSerial.h" |
whismanoid | 23:abd02fed1ae4 | 81 | USBSerial serial; // virtual serial port over USB (DEV connector) |
whismanoid | 22:a14c19b97d0b | 82 | #elif defined(TARGET_MAX32630MBED) |
whismanoid | 22:a14c19b97d0b | 83 | #include "USBSerial.h" |
whismanoid | 22:a14c19b97d0b | 84 | USBSerial serial; // virtual serial port over USB (DEV connector) |
whismanoid | 22:a14c19b97d0b | 85 | #else |
whismanoid | 22:a14c19b97d0b | 86 | //#include "USBSerial.h" |
whismanoid | 22:a14c19b97d0b | 87 | Serial serial(USBTX, USBRX); // tx, rx |
whismanoid | 22:a14c19b97d0b | 88 | #endif |
whismanoid | 22:a14c19b97d0b | 89 | |
whismanoid | 22:a14c19b97d0b | 90 | void on_immediate_0x21(); // Unicode (U+0021) ! EXCLAMATION MARK |
whismanoid | 22:a14c19b97d0b | 91 | void on_immediate_0x7b(); // Unicode (U+007B) { LEFT CURLY BRACKET |
whismanoid | 22:a14c19b97d0b | 92 | void on_immediate_0x7d(); // Unicode (U+007D) } RIGHT CURLY BRACKET |
whismanoid | 22:a14c19b97d0b | 93 | |
whismanoid | 22:a14c19b97d0b | 94 | #include "CmdLine.h" |
whismanoid | 22:a14c19b97d0b | 95 | |
whismanoid | 22:a14c19b97d0b | 96 | # if HAS_DAPLINK_SERIAL |
whismanoid | 22:a14c19b97d0b | 97 | CmdLine cmdLine_DAPLINKserial(DAPLINKserial, "DAPLINK"); |
whismanoid | 22:a14c19b97d0b | 98 | # endif // HAS_DAPLINK_SERIAL |
whismanoid | 22:a14c19b97d0b | 99 | CmdLine cmdLine_serial(serial, "serial"); |
whismanoid | 22:a14c19b97d0b | 100 | |
whismanoid | 22:a14c19b97d0b | 101 | |
whismanoid | 22:a14c19b97d0b | 102 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 103 | |
whismanoid | 22:a14c19b97d0b | 104 | |
whismanoid | 22:a14c19b97d0b | 105 | #if defined(TARGET) |
whismanoid | 22:a14c19b97d0b | 106 | // TARGET_NAME macros from targets/TARGET_Maxim/TARGET_MAX32625/device/mxc_device.h |
whismanoid | 22:a14c19b97d0b | 107 | // Create a string definition for the TARGET |
whismanoid | 22:a14c19b97d0b | 108 | #define STRING_ARG(arg) #arg |
whismanoid | 22:a14c19b97d0b | 109 | #define STRING_NAME(name) STRING_ARG(name) |
whismanoid | 22:a14c19b97d0b | 110 | #define TARGET_NAME STRING_NAME(TARGET) |
whismanoid | 22:a14c19b97d0b | 111 | #elif defined(TARGET_MAX32600) |
whismanoid | 22:a14c19b97d0b | 112 | #define TARGET_NAME "MAX32600" |
whismanoid | 22:a14c19b97d0b | 113 | #elif defined(TARGET_LPC1768) |
whismanoid | 22:a14c19b97d0b | 114 | #define TARGET_NAME "LPC1768" |
whismanoid | 22:a14c19b97d0b | 115 | #elif defined(TARGET_NUCLEO_F446RE) |
whismanoid | 22:a14c19b97d0b | 116 | #define TARGET_NAME "NUCLEO_F446RE" |
whismanoid | 22:a14c19b97d0b | 117 | #elif defined(TARGET_NUCLEO_F401RE) |
whismanoid | 22:a14c19b97d0b | 118 | #define TARGET_NAME "NUCLEO_F401RE" |
whismanoid | 22:a14c19b97d0b | 119 | #else |
whismanoid | 22:a14c19b97d0b | 120 | #error TARGET NOT DEFINED |
whismanoid | 22:a14c19b97d0b | 121 | #endif |
whismanoid | 22:a14c19b97d0b | 122 | #if defined(TARGET_MAX32630) |
whismanoid | 22:a14c19b97d0b | 123 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 124 | // TARGET=MAX32630FTHR ARM Cortex-M4F 96MHz 2048kB Flash 512kB SRAM |
whismanoid | 22:a14c19b97d0b | 125 | // +-------------[microUSB]-------------+ |
whismanoid | 22:a14c19b97d0b | 126 | // | J1 MAX32630FTHR J2 | |
whismanoid | 22:a14c19b97d0b | 127 | // ______ | [ ] RST GND [ ] | |
whismanoid | 22:a14c19b97d0b | 128 | // ______ | [ ] 3V3 BAT+[ ] | |
whismanoid | 22:a14c19b97d0b | 129 | // ______ | [ ] 1V8 reset SW1 | |
whismanoid | 22:a14c19b97d0b | 130 | // ______ | [ ] GND J4 J3 | |
whismanoid | 22:a14c19b97d0b | 131 | // analogIn0/4 | [a] AIN_0 1.2Vfs (bat) SYS [ ] | switched BAT+ |
whismanoid | 22:a14c19b97d0b | 132 | // analogIn1/5 | [a] AIN_1 1.2Vfs PWR [ ] | external pwr btn |
whismanoid | 22:a14c19b97d0b | 133 | // analogIn2 | [a] AIN_2 1.2Vfs +5V VBUS [ ] | USB +5V power |
whismanoid | 22:a14c19b97d0b | 134 | // analogIn3 | [a] AIN_3 1.2Vfs 1-WIRE P4_0 [d] | D0 dig9 |
whismanoid | 22:a14c19b97d0b | 135 | // (I2C2.SDA) | [d] P5_7 SDA2 SRN P5_6 [d] | D1 dig8 |
whismanoid | 22:a14c19b97d0b | 136 | // (I2C2.SCL) | [d] P6_0 SCL2 SDIO3 P5_5 [d] | D2 dig7 |
whismanoid | 22:a14c19b97d0b | 137 | // D13/SCLK | [s] P5_0 SCLK SDIO2 P5_4 [d] | D3 dig6 |
whismanoid | 22:a14c19b97d0b | 138 | // D11/MOSI | [s] P5_1 MOSI SSEL P5_3 [d] | D4 dig5 |
whismanoid | 22:a14c19b97d0b | 139 | // D12/MISO | [s] P5_2 MISO RTS P3_3 [d] | D5 dig4 |
whismanoid | 22:a14c19b97d0b | 140 | // D10/CS | [s] P3_0 RX CTS P3_2 [d] | D6 dig3 |
whismanoid | 22:a14c19b97d0b | 141 | // D9 dig0 | [d] P3_1 TX SCL P3_5 [d] | D7 dig2 |
whismanoid | 22:a14c19b97d0b | 142 | // ______ | [ ] GND SDA P3_4 [d] | D8 dig1 |
whismanoid | 22:a14c19b97d0b | 143 | // | | |
whismanoid | 22:a14c19b97d0b | 144 | // | XIP Flash MAX14690N | |
whismanoid | 22:a14c19b97d0b | 145 | // | XIP_SCLK P1_0 SDA2 P5_7 | |
whismanoid | 22:a14c19b97d0b | 146 | // | XIP_MOSI P1_1 SCL2 P6_0 | |
whismanoid | 22:a14c19b97d0b | 147 | // | XIP_MISO P1_2 PMIC_INIT P3_7 | |
whismanoid | 22:a14c19b97d0b | 148 | // | XIP_SSEL P1_3 MPC P2_7 | |
whismanoid | 22:a14c19b97d0b | 149 | // | XIP_DIO2 P1_4 MON AIN_0 | |
whismanoid | 22:a14c19b97d0b | 150 | // | XIP_DIO3 P1_5 | |
whismanoid | 22:a14c19b97d0b | 151 | // | | |
whismanoid | 22:a14c19b97d0b | 152 | // | PAN1326B MicroSD LED | |
whismanoid | 22:a14c19b97d0b | 153 | // | BT_RX P0_0 SD_SCLK P0_4 r P2_4 | |
whismanoid | 22:a14c19b97d0b | 154 | // | BT_TX P0_1 SD_MOSI P0_5 g P2_5 | |
whismanoid | 22:a14c19b97d0b | 155 | // | BT_CTS P0_2 SD_MISO P0_6 b P2_6 | |
whismanoid | 22:a14c19b97d0b | 156 | // | BT_RTS P0_3 SD_SSEL P0_7 | |
whismanoid | 22:a14c19b97d0b | 157 | // | BT_RST P1_6 DETECT P2_2 | |
whismanoid | 22:a14c19b97d0b | 158 | // | BT_CLK P1_7 SW2 P2_3 | |
whismanoid | 22:a14c19b97d0b | 159 | // +------------------------------------+ |
whismanoid | 22:a14c19b97d0b | 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 | 22:a14c19b97d0b | 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 | 22:a14c19b97d0b | 162 | // AIN_0 = AIN0 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 163 | // AIN_1 = AIN1 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 164 | // AIN_2 = AIN2 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 165 | // AIN_3 = AIN3 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 166 | // AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 167 | // AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 168 | // AIN_6 = VDDB / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 169 | // AIN_7 = VDD18 fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 170 | // AIN_8 = VDD12 fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 171 | // AIN_9 = VRTC / 2.0 fullscale is 2.4V |
whismanoid | 22:a14c19b97d0b | 172 | // AIN_10 = x undefined? |
whismanoid | 22:a14c19b97d0b | 173 | // AIN_11 = VDDIO / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 174 | // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 175 | // |
whismanoid | 22:a14c19b97d0b | 176 | #include "max32630fthr.h" |
whismanoid | 22:a14c19b97d0b | 177 | MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3); |
whismanoid | 22:a14c19b97d0b | 178 | #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 1 |
whismanoid | 22:a14c19b97d0b | 179 | // MAX32630FTHR board supports only internal VREF = 1.200V at bypass capacitor C15 |
whismanoid | 22:a14c19b97d0b | 180 | const float ADC_FULL_SCALE_VOLTAGE = 1.200; |
whismanoid | 22:a14c19b97d0b | 181 | // Arduino connector |
whismanoid | 22:a14c19b97d0b | 182 | #ifndef A0 |
whismanoid | 22:a14c19b97d0b | 183 | #define A0 AIN_0 |
whismanoid | 22:a14c19b97d0b | 184 | #endif |
whismanoid | 22:a14c19b97d0b | 185 | #ifndef A1 |
whismanoid | 22:a14c19b97d0b | 186 | #define A1 AIN_1 |
whismanoid | 22:a14c19b97d0b | 187 | #endif |
whismanoid | 22:a14c19b97d0b | 188 | #ifndef A2 |
whismanoid | 22:a14c19b97d0b | 189 | #define A2 AIN_2 |
whismanoid | 22:a14c19b97d0b | 190 | #endif |
whismanoid | 22:a14c19b97d0b | 191 | #ifndef A3 |
whismanoid | 22:a14c19b97d0b | 192 | #define A3 AIN_3 |
whismanoid | 22:a14c19b97d0b | 193 | #endif |
whismanoid | 22:a14c19b97d0b | 194 | #ifndef D0 |
whismanoid | 22:a14c19b97d0b | 195 | #define D0 P4_0 |
whismanoid | 22:a14c19b97d0b | 196 | #endif |
whismanoid | 22:a14c19b97d0b | 197 | #ifndef D1 |
whismanoid | 22:a14c19b97d0b | 198 | #define D1 P5_6 |
whismanoid | 22:a14c19b97d0b | 199 | #endif |
whismanoid | 22:a14c19b97d0b | 200 | #ifndef D2 |
whismanoid | 22:a14c19b97d0b | 201 | #define D2 P5_5 |
whismanoid | 22:a14c19b97d0b | 202 | #endif |
whismanoid | 22:a14c19b97d0b | 203 | #ifndef D3 |
whismanoid | 22:a14c19b97d0b | 204 | #define D3 P5_4 |
whismanoid | 22:a14c19b97d0b | 205 | #endif |
whismanoid | 22:a14c19b97d0b | 206 | #ifndef D4 |
whismanoid | 22:a14c19b97d0b | 207 | #define D4 P5_3 |
whismanoid | 22:a14c19b97d0b | 208 | #endif |
whismanoid | 22:a14c19b97d0b | 209 | #ifndef D5 |
whismanoid | 22:a14c19b97d0b | 210 | #define D5 P3_3 |
whismanoid | 22:a14c19b97d0b | 211 | #endif |
whismanoid | 22:a14c19b97d0b | 212 | #ifndef D6 |
whismanoid | 22:a14c19b97d0b | 213 | #define D6 P3_2 |
whismanoid | 22:a14c19b97d0b | 214 | #endif |
whismanoid | 22:a14c19b97d0b | 215 | #ifndef D7 |
whismanoid | 22:a14c19b97d0b | 216 | #define D7 P3_5 |
whismanoid | 22:a14c19b97d0b | 217 | #endif |
whismanoid | 22:a14c19b97d0b | 218 | #ifndef D8 |
whismanoid | 22:a14c19b97d0b | 219 | #define D8 P3_4 |
whismanoid | 22:a14c19b97d0b | 220 | #endif |
whismanoid | 22:a14c19b97d0b | 221 | #ifndef D9 |
whismanoid | 22:a14c19b97d0b | 222 | #define D9 P3_1 |
whismanoid | 22:a14c19b97d0b | 223 | #endif |
whismanoid | 22:a14c19b97d0b | 224 | #ifndef D10 |
whismanoid | 22:a14c19b97d0b | 225 | #define D10 P3_0 |
whismanoid | 22:a14c19b97d0b | 226 | #endif |
whismanoid | 22:a14c19b97d0b | 227 | #ifndef D11 |
whismanoid | 22:a14c19b97d0b | 228 | #define D11 P5_1 |
whismanoid | 22:a14c19b97d0b | 229 | #endif |
whismanoid | 22:a14c19b97d0b | 230 | #ifndef D12 |
whismanoid | 22:a14c19b97d0b | 231 | #define D12 P5_2 |
whismanoid | 22:a14c19b97d0b | 232 | #endif |
whismanoid | 22:a14c19b97d0b | 233 | #ifndef D13 |
whismanoid | 22:a14c19b97d0b | 234 | #define D13 P5_0 |
whismanoid | 22:a14c19b97d0b | 235 | #endif |
whismanoid | 22:a14c19b97d0b | 236 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 237 | #elif defined(TARGET_MAX32625MBED) |
whismanoid | 22:a14c19b97d0b | 238 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 239 | // TARGET=MAX32625MBED ARM Cortex-M4F 96MHz 512kB Flash 160kB SRAM |
whismanoid | 22:a14c19b97d0b | 240 | // +-------------------------------------+ |
whismanoid | 22:a14c19b97d0b | 241 | // | MAX32625MBED Arduino UNO header | |
whismanoid | 22:a14c19b97d0b | 242 | // | | |
whismanoid | 22:a14c19b97d0b | 243 | // | A5/SCL[ ] | P1_7 dig15 |
whismanoid | 22:a14c19b97d0b | 244 | // | A4/SDA[ ] | P1_6 dig14 |
whismanoid | 22:a14c19b97d0b | 245 | // | AREF=N/C[ ] | |
whismanoid | 22:a14c19b97d0b | 246 | // | GND[ ] | |
whismanoid | 22:a14c19b97d0b | 247 | // | [ ]N/C SCK/13[ ] | P1_0 dig13 |
whismanoid | 22:a14c19b97d0b | 248 | // | [ ]IOREF=3V3 MISO/12[ ] | P1_2 dig12 |
whismanoid | 22:a14c19b97d0b | 249 | // | [ ]RST MOSI/11[ ]~| P1_1 dig11 |
whismanoid | 22:a14c19b97d0b | 250 | // | [ ]3V3 CS/10[ ]~| P1_3 dig10 |
whismanoid | 22:a14c19b97d0b | 251 | // | [ ]5V0 9[ ]~| P1_5 dig9 |
whismanoid | 22:a14c19b97d0b | 252 | // | [ ]GND 8[ ] | P1_4 dig8 |
whismanoid | 22:a14c19b97d0b | 253 | // | [ ]GND | |
whismanoid | 22:a14c19b97d0b | 254 | // | [ ]Vin 7[ ] | P0_7 dig7 |
whismanoid | 22:a14c19b97d0b | 255 | // | 6[ ]~| P0_6 dig6 |
whismanoid | 22:a14c19b97d0b | 256 | // AIN_0 | [ ]A0 5[ ]~| P0_5 dig5 |
whismanoid | 22:a14c19b97d0b | 257 | // AIN_1 | [ ]A1 4[ ] | P0_4 dig4 |
whismanoid | 22:a14c19b97d0b | 258 | // AIN_2 | [ ]A2 INT1/3[ ]~| P0_3 dig3 |
whismanoid | 22:a14c19b97d0b | 259 | // AIN_3 | [ ]A3 INT0/2[ ] | P0_2 dig2 |
whismanoid | 22:a14c19b97d0b | 260 | // dig16 P3_4 | [ ]A4/SDA RST SCK MISO TX>1[ ] | P0_1 dig1 |
whismanoid | 22:a14c19b97d0b | 261 | // dig17 P3_5 | [ ]A5/SCL [ ] [ ] [ ] RX<0[ ] | P0_0 dig0 |
whismanoid | 22:a14c19b97d0b | 262 | // | [ ] [ ] [ ] | |
whismanoid | 22:a14c19b97d0b | 263 | // | UNO_R3 GND MOSI 5V ____________/ |
whismanoid | 22:a14c19b97d0b | 264 | // \_______________________/ |
whismanoid | 22:a14c19b97d0b | 265 | // |
whismanoid | 22:a14c19b97d0b | 266 | // +------------------------+ |
whismanoid | 22:a14c19b97d0b | 267 | // | | |
whismanoid | 22:a14c19b97d0b | 268 | // | MicroSD LED | |
whismanoid | 22:a14c19b97d0b | 269 | // | SD_SCLK P2_4 r P3_0 | |
whismanoid | 22:a14c19b97d0b | 270 | // | SD_MOSI P2_5 g P3_1 | |
whismanoid | 22:a14c19b97d0b | 271 | // | SD_MISO P2_6 b P3_2 | |
whismanoid | 22:a14c19b97d0b | 272 | // | SD_SSEL P2_7 y P3_3 | |
whismanoid | 22:a14c19b97d0b | 273 | // | | |
whismanoid | 22:a14c19b97d0b | 274 | // | DAPLINK BUTTONS | |
whismanoid | 22:a14c19b97d0b | 275 | // | TX P2_1 SW3 P2_3 | |
whismanoid | 22:a14c19b97d0b | 276 | // | RX P2_0 SW2 P2_2 | |
whismanoid | 22:a14c19b97d0b | 277 | // +------------------------+ |
whismanoid | 22:a14c19b97d0b | 278 | // |
whismanoid | 22:a14c19b97d0b | 279 | // AIN_0 = AIN0 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 280 | // AIN_1 = AIN1 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 281 | // AIN_2 = AIN2 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 282 | // AIN_3 = AIN3 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 283 | // AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 284 | // AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 285 | // AIN_6 = VDDB / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 286 | // AIN_7 = VDD18 fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 287 | // AIN_8 = VDD12 fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 288 | // AIN_9 = VRTC / 2.0 fullscale is 2.4V |
whismanoid | 22:a14c19b97d0b | 289 | // AIN_10 = x undefined? |
whismanoid | 22:a14c19b97d0b | 290 | // AIN_11 = VDDIO / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 291 | // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 292 | // |
whismanoid | 22:a14c19b97d0b | 293 | //#include "max32625mbed.h" // ? |
whismanoid | 22:a14c19b97d0b | 294 | //MAX32625MBED mbed(MAX32625MBED::VIO_3V3); // ? |
whismanoid | 22:a14c19b97d0b | 295 | #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 1 |
whismanoid | 22:a14c19b97d0b | 296 | // MAX32630FTHR board supports only internal VREF = 1.200V at bypass capacitor C15 |
whismanoid | 22:a14c19b97d0b | 297 | const float ADC_FULL_SCALE_VOLTAGE = 1.200; // TODO: ADC_FULL_SCALE_VOLTAGE Pico? |
whismanoid | 22:a14c19b97d0b | 298 | // Arduino connector |
whismanoid | 22:a14c19b97d0b | 299 | #ifndef A0 |
whismanoid | 22:a14c19b97d0b | 300 | #define A0 AIN_0 |
whismanoid | 22:a14c19b97d0b | 301 | #endif |
whismanoid | 22:a14c19b97d0b | 302 | #ifndef A1 |
whismanoid | 22:a14c19b97d0b | 303 | #define A1 AIN_1 |
whismanoid | 22:a14c19b97d0b | 304 | #endif |
whismanoid | 22:a14c19b97d0b | 305 | #ifndef A2 |
whismanoid | 22:a14c19b97d0b | 306 | #define A2 AIN_2 |
whismanoid | 22:a14c19b97d0b | 307 | #endif |
whismanoid | 22:a14c19b97d0b | 308 | #ifndef A3 |
whismanoid | 22:a14c19b97d0b | 309 | #define A3 AIN_3 |
whismanoid | 22:a14c19b97d0b | 310 | #endif |
whismanoid | 22:a14c19b97d0b | 311 | #ifndef D0 |
whismanoid | 22:a14c19b97d0b | 312 | #define D0 P0_0 |
whismanoid | 22:a14c19b97d0b | 313 | #endif |
whismanoid | 22:a14c19b97d0b | 314 | #ifndef D1 |
whismanoid | 22:a14c19b97d0b | 315 | #define D1 P0_1 |
whismanoid | 22:a14c19b97d0b | 316 | #endif |
whismanoid | 22:a14c19b97d0b | 317 | #ifndef D2 |
whismanoid | 22:a14c19b97d0b | 318 | #define D2 P0_2 |
whismanoid | 22:a14c19b97d0b | 319 | #endif |
whismanoid | 22:a14c19b97d0b | 320 | #ifndef D3 |
whismanoid | 22:a14c19b97d0b | 321 | #define D3 P0_3 |
whismanoid | 22:a14c19b97d0b | 322 | #endif |
whismanoid | 22:a14c19b97d0b | 323 | #ifndef D4 |
whismanoid | 22:a14c19b97d0b | 324 | #define D4 P0_4 |
whismanoid | 22:a14c19b97d0b | 325 | #endif |
whismanoid | 22:a14c19b97d0b | 326 | #ifndef D5 |
whismanoid | 22:a14c19b97d0b | 327 | #define D5 P0_5 |
whismanoid | 22:a14c19b97d0b | 328 | #endif |
whismanoid | 22:a14c19b97d0b | 329 | #ifndef D6 |
whismanoid | 22:a14c19b97d0b | 330 | #define D6 P0_6 |
whismanoid | 22:a14c19b97d0b | 331 | #endif |
whismanoid | 22:a14c19b97d0b | 332 | #ifndef D7 |
whismanoid | 22:a14c19b97d0b | 333 | #define D7 P0_7 |
whismanoid | 22:a14c19b97d0b | 334 | #endif |
whismanoid | 22:a14c19b97d0b | 335 | #ifndef D8 |
whismanoid | 22:a14c19b97d0b | 336 | #define D8 P1_4 |
whismanoid | 22:a14c19b97d0b | 337 | #endif |
whismanoid | 22:a14c19b97d0b | 338 | #ifndef D9 |
whismanoid | 22:a14c19b97d0b | 339 | #define D9 P1_5 |
whismanoid | 22:a14c19b97d0b | 340 | #endif |
whismanoid | 22:a14c19b97d0b | 341 | #ifndef D10 |
whismanoid | 22:a14c19b97d0b | 342 | #define D10 P1_3 |
whismanoid | 22:a14c19b97d0b | 343 | #endif |
whismanoid | 22:a14c19b97d0b | 344 | #ifndef D11 |
whismanoid | 22:a14c19b97d0b | 345 | #define D11 P1_1 |
whismanoid | 22:a14c19b97d0b | 346 | #endif |
whismanoid | 22:a14c19b97d0b | 347 | #ifndef D12 |
whismanoid | 22:a14c19b97d0b | 348 | #define D12 P1_2 |
whismanoid | 22:a14c19b97d0b | 349 | #endif |
whismanoid | 22:a14c19b97d0b | 350 | #ifndef D13 |
whismanoid | 22:a14c19b97d0b | 351 | #define D13 P1_0 |
whismanoid | 22:a14c19b97d0b | 352 | #endif |
whismanoid | 22:a14c19b97d0b | 353 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 354 | #elif defined(TARGET_MAX32600) |
whismanoid | 22:a14c19b97d0b | 355 | // target MAX32600 |
whismanoid | 22:a14c19b97d0b | 356 | // |
whismanoid | 22:a14c19b97d0b | 357 | #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 0 |
whismanoid | 22:a14c19b97d0b | 358 | const float ADC_FULL_SCALE_VOLTAGE = 1.500; |
whismanoid | 22:a14c19b97d0b | 359 | // |
whismanoid | 22:a14c19b97d0b | 360 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 361 | #elif defined(TARGET_MAX32620FTHR) |
whismanoid | 22:a14c19b97d0b | 362 | #warning "TARGET_MAX32620FTHR not previously tested; need to define pins..." |
whismanoid | 22:a14c19b97d0b | 363 | #include "MAX32620FTHR.h" |
whismanoid | 22:a14c19b97d0b | 364 | // Initialize I/O voltages on MAX32620FTHR board |
whismanoid | 22:a14c19b97d0b | 365 | MAX32620FTHR fthr(MAX32620FTHR::VIO_3V3); |
whismanoid | 22:a14c19b97d0b | 366 | //#define USE_LEDS 0 ? |
whismanoid | 22:a14c19b97d0b | 367 | #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 1 |
whismanoid | 22:a14c19b97d0b | 368 | #warning "TARGET_MAX32620FTHR not previously tested; need to verify ADC_FULL_SCALE_VOLTAGE..." |
whismanoid | 22:a14c19b97d0b | 369 | const float ADC_FULL_SCALE_VOLTAGE = 1.200; |
whismanoid | 22:a14c19b97d0b | 370 | // |
whismanoid | 22:a14c19b97d0b | 371 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 372 | #elif defined(TARGET_MAX32625PICO) |
whismanoid | 22:a14c19b97d0b | 373 | #warning "TARGET_MAX32625PICO not previously tested; need to define pins..." |
whismanoid | 22:a14c19b97d0b | 374 | //#define USE_LEDS 0 ? |
whismanoid | 22:a14c19b97d0b | 375 | #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 1 |
whismanoid | 22:a14c19b97d0b | 376 | #warning "TARGET_MAX32625PICO not previously tested; need to verify ADC_FULL_SCALE_VOLTAGE..." |
whismanoid | 22:a14c19b97d0b | 377 | const float ADC_FULL_SCALE_VOLTAGE = 1.200; |
whismanoid | 22:a14c19b97d0b | 378 | // |
whismanoid | 22:a14c19b97d0b | 379 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 380 | #elif defined(TARGET_NUCLEO_F446RE) || defined(TARGET_NUCLEO_F401RE) |
whismanoid | 22:a14c19b97d0b | 381 | // TODO1: target NUCLEO_F446RE |
whismanoid | 22:a14c19b97d0b | 382 | // |
whismanoid | 22:a14c19b97d0b | 383 | // USER_BUTTON PC13 |
whismanoid | 22:a14c19b97d0b | 384 | // LED1 is shared with SPI_SCK on NUCLEO_F446RE PA_5, so don't use LED1. |
whismanoid | 22:a14c19b97d0b | 385 | #define USE_LEDS 0 |
whismanoid | 22:a14c19b97d0b | 386 | // SPI spi(SPI_MOSI, SPI_MISO, SPI_SCK); |
whismanoid | 22:a14c19b97d0b | 387 | // Serial serial(SERIAL_TX, SERIAL_RX); |
whismanoid | 22:a14c19b97d0b | 388 | #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 0 |
whismanoid | 22:a14c19b97d0b | 389 | const float ADC_FULL_SCALE_VOLTAGE = 3.300; // TODO: ADC_FULL_SCALE_VOLTAGE Pico? |
whismanoid | 22:a14c19b97d0b | 390 | // |
whismanoid | 22:a14c19b97d0b | 391 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 392 | #elif defined(TARGET_LPC1768) |
whismanoid | 22:a14c19b97d0b | 393 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 394 | // TARGET=LPC1768 ARM Cortex-M3 100 MHz 512kB flash 64kB SRAM |
whismanoid | 22:a14c19b97d0b | 395 | // +-------------[microUSB]-------------+ |
whismanoid | 22:a14c19b97d0b | 396 | // ______ | [ ] GND +3.3V VOUT [ ] | ______ |
whismanoid | 22:a14c19b97d0b | 397 | // ______ | [ ] 4.5V<VIN<9.0V +5.0V VU [ ] | ______ |
whismanoid | 22:a14c19b97d0b | 398 | // ______ | [ ] VB USB.IF- [ ] | ______ |
whismanoid | 22:a14c19b97d0b | 399 | // ______ | [ ] nR USB.IF+ [ ] | ______ |
whismanoid | 22:a14c19b97d0b | 400 | // digitalInOut0 | [ ] p5 MOSI ETHERNET.RD- [ ] | ______ |
whismanoid | 22:a14c19b97d0b | 401 | // digitalInOut1 | [ ] p6 MISO ETHERNET.RD+ [ ] | ______ |
whismanoid | 22:a14c19b97d0b | 402 | // digitalInOut2 | [ ] p7 SCLK ETHERNET.TD- [ ] | ______ |
whismanoid | 22:a14c19b97d0b | 403 | // digitalInOut3 | [ ] p8 ETHERNET.TD+ [ ] | ______ |
whismanoid | 22:a14c19b97d0b | 404 | // digitalInOut4 | [ ] p9 TX SDA USB.D- [ ] | ______ |
whismanoid | 22:a14c19b97d0b | 405 | // digitalInOut5 | [ ] p10 RX SCL USB.D+ [ ] | ______ |
whismanoid | 22:a14c19b97d0b | 406 | // digitalInOut6 | [ ] p11 MOSI CAN-RD p30 [ ] | digitalInOut13 |
whismanoid | 22:a14c19b97d0b | 407 | // digitalInOut7 | [ ] p12 MISO CAN-TD p29 [ ] | digitalInOut12 |
whismanoid | 22:a14c19b97d0b | 408 | // digitalInOut8 | [ ] p13 TX SCLK SDA TX p28 [ ] | digitalInOut11 |
whismanoid | 22:a14c19b97d0b | 409 | // digitalInOut9 | [ ] p14 RX SCL RX p27 [ ] | digitalInOut10 |
whismanoid | 22:a14c19b97d0b | 410 | // analogIn0 | [ ] p15 AIN0 3.3Vfs PWM1 p26 [ ] | pwmDriver1 |
whismanoid | 22:a14c19b97d0b | 411 | // analogIn1 | [ ] p16 AIN1 3.3Vfs PWM2 p25 [ ] | pwmDriver2 |
whismanoid | 22:a14c19b97d0b | 412 | // analogIn2 | [ ] p17 AIN2 3.3Vfs PWM3 p24 [ ] | pwmDriver3 |
whismanoid | 22:a14c19b97d0b | 413 | // analogIn3 | [ ] p18 AIN3 AOUT PWM4 p23 [ ] | pwmDriver4 |
whismanoid | 22:a14c19b97d0b | 414 | // analogIn4 | [ ] p19 AIN4 3.3Vfs PWM5 p22 [ ] | pwmDriver5 |
whismanoid | 22:a14c19b97d0b | 415 | // analogIn5 | [ ] p20 AIN5 3.3Vfs PWM6 p21 [ ] | pwmDriver6 |
whismanoid | 22:a14c19b97d0b | 416 | // +------------------------------------+ |
whismanoid | 22:a14c19b97d0b | 417 | // AIN6 = P0.3 = TGT_SBL_RXD? |
whismanoid | 22:a14c19b97d0b | 418 | // AIN7 = P0.2 = TGT_SBL_TXD? |
whismanoid | 22:a14c19b97d0b | 419 | // |
whismanoid | 22:a14c19b97d0b | 420 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 421 | // LPC1768 board uses VREF = 3.300V +A3,3V thru L1 to bypass capacitor C14 |
whismanoid | 22:a14c19b97d0b | 422 | #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 0 |
whismanoid | 22:a14c19b97d0b | 423 | const float ADC_FULL_SCALE_VOLTAGE = 3.300; |
whismanoid | 22:a14c19b97d0b | 424 | #else // not defined(TARGET_LPC1768 etc.) |
whismanoid | 22:a14c19b97d0b | 425 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 426 | // unknown target |
whismanoid | 22:a14c19b97d0b | 427 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 428 | #endif // target definition |
whismanoid | 22:a14c19b97d0b | 429 | |
whismanoid | 22:a14c19b97d0b | 430 | |
whismanoid | 22:a14c19b97d0b | 431 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 432 | // Option to dedicate SPI port pins |
whismanoid | 22:a14c19b97d0b | 433 | // |
whismanoid | 22:a14c19b97d0b | 434 | // SPI2_MOSI = P5_1 |
whismanoid | 22:a14c19b97d0b | 435 | // SPI2_MISO = P5_2 |
whismanoid | 22:a14c19b97d0b | 436 | // SPI2_SCK = P5_0 |
whismanoid | 22:a14c19b97d0b | 437 | // On this board I'm using P3_0 as spi_cs |
whismanoid | 22:a14c19b97d0b | 438 | // SPI2_SS = P5_3 |
whismanoid | 22:a14c19b97d0b | 439 | // SPI2_SDIO2 = P5_4 |
whismanoid | 22:a14c19b97d0b | 440 | // SPI2_SDIO3 = P5_5 |
whismanoid | 22:a14c19b97d0b | 441 | // SPI2_SRN = P5_6 |
whismanoid | 22:a14c19b97d0b | 442 | // |
whismanoid | 22:a14c19b97d0b | 443 | #ifndef HAS_SPI |
whismanoid | 22:a14c19b97d0b | 444 | #define HAS_SPI 1 |
whismanoid | 22:a14c19b97d0b | 445 | #endif |
whismanoid | 22:a14c19b97d0b | 446 | #if HAS_SPI |
whismanoid | 22:a14c19b97d0b | 447 | #define SPI_MODE0 0 |
whismanoid | 22:a14c19b97d0b | 448 | #define SPI_MODE1 1 |
whismanoid | 22:a14c19b97d0b | 449 | #define SPI_MODE2 2 |
whismanoid | 22:a14c19b97d0b | 450 | #define SPI_MODE3 3 |
whismanoid | 22:a14c19b97d0b | 451 | // |
whismanoid | 22:a14c19b97d0b | 452 | #if defined(TARGET_MAX32630) |
whismanoid | 22:a14c19b97d0b | 453 | // Before setting global variables g_SPI_SCLK_Hz and g_SPI_dataMode, |
whismanoid | 22:a14c19b97d0b | 454 | // workaround for TARGET_MAX32630 SPI_MODE2 SPI_MODE3 problem (issue #30) |
whismanoid | 22:a14c19b97d0b | 455 | #warning "MAX32630 SPI workaround..." |
whismanoid | 22:a14c19b97d0b | 456 | // replace SPI_MODE2 (CPOL=1,CPHA=0) with SPI_MODE1 (CPOL=0,CPHA=1) Falling Edge stable |
whismanoid | 22:a14c19b97d0b | 457 | // replace SPI_MODE3 (CPOL=1,CPHA=1) with SPI_MODE0 (CPOL=0,CPHA=0) Rising Edge stable |
whismanoid | 22:a14c19b97d0b | 458 | # if ((SPI_dataMode) == (SPI_MODE2)) |
whismanoid | 22:a14c19b97d0b | 459 | #warning "MAX32630 SPI_MODE2 workaround, changing SPI_dataMode to SPI_MODE1..." |
whismanoid | 22:a14c19b97d0b | 460 | // SPI_dataMode SPI_MODE2 // CPOL=1,CPHA=0: Falling Edge stable; SCLK idle High |
whismanoid | 22:a14c19b97d0b | 461 | # undef SPI_dataMode |
whismanoid | 22:a14c19b97d0b | 462 | # define SPI_dataMode SPI_MODE1 // CPOL=0,CPHA=1: Falling Edge stable; SCLK idle Low |
whismanoid | 22:a14c19b97d0b | 463 | # elif ((SPI_dataMode) == (SPI_MODE3)) |
whismanoid | 22:a14c19b97d0b | 464 | #warning "MAX32630 SPI_MODE3 workaround, changing SPI_dataMode to SPI_MODE0..." |
whismanoid | 22:a14c19b97d0b | 465 | // SPI_dataMode SPI_MODE3 // CPOL=1,CPHA=1: Rising Edge stable; SCLK idle High |
whismanoid | 22:a14c19b97d0b | 466 | # undef SPI_dataMode |
whismanoid | 22:a14c19b97d0b | 467 | # define SPI_dataMode SPI_MODE0 // CPOL=0,CPHA=0: Rising Edge stable; SCLK idle Low |
whismanoid | 22:a14c19b97d0b | 468 | # endif // workaround for TARGET_MAX32630 SPI_MODE2 SPI_MODE3 problem |
whismanoid | 22:a14c19b97d0b | 469 | // workaround for TARGET_MAX32630 SPI_MODE2 SPI_MODE3 problem (issue #30) |
whismanoid | 22:a14c19b97d0b | 470 | // limit SPI SCLK speed to 6MHz or less |
whismanoid | 22:a14c19b97d0b | 471 | # if ((SPI_SCLK_Hz) > (6000000)) |
whismanoid | 22:a14c19b97d0b | 472 | #warning "MAX32630 SPI speed workaround, changing SPI_SCLK_Hz to 6000000 or 6MHz..." |
whismanoid | 22:a14c19b97d0b | 473 | # undef SPI_SCLK_Hz |
whismanoid | 22:a14c19b97d0b | 474 | # define SPI_SCLK_Hz 6000000 // 6MHz |
whismanoid | 22:a14c19b97d0b | 475 | # endif |
whismanoid | 22:a14c19b97d0b | 476 | #endif |
whismanoid | 22:a14c19b97d0b | 477 | // |
whismanoid | 22:a14c19b97d0b | 478 | uint32_t g_SPI_SCLK_Hz = 24000000; // platform limit 24MHz intSPI_SCLK_Platform_Max_MHz * 1000000 |
whismanoid | 22:a14c19b97d0b | 479 | // TODO1: validate g_SPI_SCLK_Hz against system clock frequency SystemCoreClock F_CPU |
whismanoid | 22:a14c19b97d0b | 480 | #if defined(TARGET_NUCLEO_F446RE) || defined(TARGET_NUCLEO_F401RE) |
whismanoid | 22:a14c19b97d0b | 481 | // Nucleo SPI frequency isn't working quite as expected... |
whismanoid | 22:a14c19b97d0b | 482 | // Looks like STMF4 has an spi clock prescaler (2,4,8,16,32,64,128,256) |
whismanoid | 22:a14c19b97d0b | 483 | // so 180MHz->[90.0, 45.0, 22.5, 11.25, 5.625, 2.8125, 1.40625, 0.703125] |
whismanoid | 22:a14c19b97d0b | 484 | // %SC SCLK=1MHz sets spi frequency 703.125kHz |
whismanoid | 22:a14c19b97d0b | 485 | // %SC SCLK=2MHz sets spi frequency 1.40625MHz |
whismanoid | 22:a14c19b97d0b | 486 | // %SC SCLK=3MHz sets spi frequency 2.8125MHz |
whismanoid | 22:a14c19b97d0b | 487 | // %SC SCLK=6MHz sets spi frequency 5.625MHz |
whismanoid | 22:a14c19b97d0b | 488 | // %SC SCLK=12MHz sets spi frequency 11.25MHz |
whismanoid | 22:a14c19b97d0b | 489 | // %SC SCLK=23MHz sets spi frequency 22.5MHz |
whismanoid | 22:a14c19b97d0b | 490 | // %SC SCLK=45MHz sets spi frequency 45.0MHz |
whismanoid | 22:a14c19b97d0b | 491 | // Don't know why I can't reach spi frequency 90.0MHz, but ok whatever. |
whismanoid | 22:a14c19b97d0b | 492 | const uint32_t limit_min_SPI_SCLK_divisor = 2; |
whismanoid | 22:a14c19b97d0b | 493 | const uint32_t limit_max_SPI_SCLK_divisor = 256; |
whismanoid | 22:a14c19b97d0b | 494 | // not really a divisor, just a powers-of-two prescaler with no intermediate divisors. |
whismanoid | 22:a14c19b97d0b | 495 | #else |
whismanoid | 22:a14c19b97d0b | 496 | const uint32_t limit_min_SPI_SCLK_divisor = 2; |
whismanoid | 22:a14c19b97d0b | 497 | const uint32_t limit_max_SPI_SCLK_divisor = 8191; |
whismanoid | 22:a14c19b97d0b | 498 | #endif |
whismanoid | 22:a14c19b97d0b | 499 | const uint32_t limit_max_SPI_SCLK_Hz = (SystemCoreClock / limit_min_SPI_SCLK_divisor); // F_CPU / 2; // 8MHz / 2 = 4MHz |
whismanoid | 22:a14c19b97d0b | 500 | const uint32_t limit_min_SPI_SCLK_Hz = (SystemCoreClock / limit_max_SPI_SCLK_divisor); // F_CPU / 128; // 8MHz / 128 = 62.5kHz |
whismanoid | 22:a14c19b97d0b | 501 | // |
whismanoid | 22:a14c19b97d0b | 502 | uint8_t g_SPI_dataMode = SPI_MODE0; // TODO: missing definition SPI_dataMode; |
whismanoid | 22:a14c19b97d0b | 503 | uint8_t g_SPI_cs_state = 1; |
whismanoid | 22:a14c19b97d0b | 504 | // |
whismanoid | 22:a14c19b97d0b | 505 | #endif |
whismanoid | 22:a14c19b97d0b | 506 | |
whismanoid | 22:a14c19b97d0b | 507 | |
whismanoid | 22:a14c19b97d0b | 508 | // uncrustify-0.66.1 *INDENT-OFF* |
whismanoid | 22:a14c19b97d0b | 509 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 510 | // Declare the DigitalInOut GPIO pins |
whismanoid | 22:a14c19b97d0b | 511 | // Optional digitalInOut support. If there is only one it should be digitalInOut1. |
whismanoid | 22:a14c19b97d0b | 512 | // D) Digital High/Low/Input Pin |
whismanoid | 22:a14c19b97d0b | 513 | #if defined(TARGET_MAX32630) |
whismanoid | 22:a14c19b97d0b | 514 | // +-------------[microUSB]-------------+ |
whismanoid | 22:a14c19b97d0b | 515 | // | J1 MAX32630FTHR J2 | |
whismanoid | 22:a14c19b97d0b | 516 | // | [ ] RST GND [ ] | |
whismanoid | 22:a14c19b97d0b | 517 | // | [ ] 3V3 BAT+[ ] | |
whismanoid | 22:a14c19b97d0b | 518 | // | [ ] 1V8 reset SW1 | |
whismanoid | 22:a14c19b97d0b | 519 | // | [ ] GND J4 J3 | |
whismanoid | 22:a14c19b97d0b | 520 | // | [ ] AIN_0 1.2Vfs (bat) SYS [ ] | |
whismanoid | 22:a14c19b97d0b | 521 | // | [ ] AIN_1 1.2Vfs PWR [ ] | |
whismanoid | 22:a14c19b97d0b | 522 | // | [ ] AIN_2 1.2Vfs +5V VBUS [ ] | |
whismanoid | 22:a14c19b97d0b | 523 | // | [ ] AIN_3 1.2Vfs 1-WIRE P4_0 [ ] | dig9 |
whismanoid | 22:a14c19b97d0b | 524 | // dig10 | [x] P5_7 SDA2 SRN P5_6 [ ] | dig8 |
whismanoid | 22:a14c19b97d0b | 525 | // dig11 | [x] P6_0 SCL2 SDIO3 P5_5 [ ] | dig7 |
whismanoid | 22:a14c19b97d0b | 526 | // dig12 | [x] P5_0 SCLK SDIO2 P5_4 [ ] | dig6 |
whismanoid | 22:a14c19b97d0b | 527 | // dig13 | [x] P5_1 MOSI SSEL P5_3 [x] | dig5 |
whismanoid | 22:a14c19b97d0b | 528 | // dig14 | [ ] P5_2 MISO RTS P3_3 [ ] | dig4 |
whismanoid | 22:a14c19b97d0b | 529 | // dig15 | [ ] P3_0 RX CTS P3_2 [ ] | dig3 |
whismanoid | 22:a14c19b97d0b | 530 | // dig0 | [ ] P3_1 TX SCL P3_5 [x] | dig2 |
whismanoid | 22:a14c19b97d0b | 531 | // | [ ] GND SDA P3_4 [x] | dig1 |
whismanoid | 22:a14c19b97d0b | 532 | // +------------------------------------+ |
whismanoid | 22:a14c19b97d0b | 533 | #define HAS_digitalInOut0 1 // P3_1 TARGET_MAX32630 J1.15 |
whismanoid | 22:a14c19b97d0b | 534 | #define HAS_digitalInOut1 1 // P3_4 TARGET_MAX32630 J3.12 |
whismanoid | 22:a14c19b97d0b | 535 | #define HAS_digitalInOut2 1 // P3_5 TARGET_MAX32630 J3.11 |
whismanoid | 22:a14c19b97d0b | 536 | #define HAS_digitalInOut3 1 // P3_2 TARGET_MAX32630 J3.10 |
whismanoid | 22:a14c19b97d0b | 537 | #define HAS_digitalInOut4 1 // P3_3 TARGET_MAX32630 J3.9 |
whismanoid | 22:a14c19b97d0b | 538 | #define HAS_digitalInOut5 1 // P5_3 TARGET_MAX32630 J3.8 |
whismanoid | 22:a14c19b97d0b | 539 | #define HAS_digitalInOut6 1 // P5_4 TARGET_MAX32630 J3.7 |
whismanoid | 22:a14c19b97d0b | 540 | #define HAS_digitalInOut7 1 // P5_5 TARGET_MAX32630 J3.6 |
whismanoid | 22:a14c19b97d0b | 541 | #define HAS_digitalInOut8 1 // P5_6 TARGET_MAX32630 J3.5 |
whismanoid | 22:a14c19b97d0b | 542 | #define HAS_digitalInOut9 1 // P4_0 TARGET_MAX32630 J3.4 |
whismanoid | 22:a14c19b97d0b | 543 | #if HAS_I2C |
whismanoid | 22:a14c19b97d0b | 544 | // avoid resource conflict between P5_7, P6_0 I2C and DigitalInOut |
whismanoid | 22:a14c19b97d0b | 545 | #define HAS_digitalInOut10 0 // P5_7 TARGET_MAX32630 J1.9 |
whismanoid | 22:a14c19b97d0b | 546 | #define HAS_digitalInOut11 0 // P6_0 TARGET_MAX32630 J1.10 |
whismanoid | 22:a14c19b97d0b | 547 | #else // HAS_I2C |
whismanoid | 22:a14c19b97d0b | 548 | #define HAS_digitalInOut10 1 // P5_7 TARGET_MAX32630 J1.9 |
whismanoid | 22:a14c19b97d0b | 549 | #define HAS_digitalInOut11 1 // P6_0 TARGET_MAX32630 J1.10 |
whismanoid | 22:a14c19b97d0b | 550 | #endif // HAS_I2C |
whismanoid | 22:a14c19b97d0b | 551 | #if HAS_SPI |
whismanoid | 22:a14c19b97d0b | 552 | // avoid resource conflict between P5_0, P5_1, P5_2 SPI and DigitalInOut |
whismanoid | 22:a14c19b97d0b | 553 | #define HAS_digitalInOut12 0 // P5_0 TARGET_MAX32630 J1.11 |
whismanoid | 22:a14c19b97d0b | 554 | #define HAS_digitalInOut13 0 // P5_1 TARGET_MAX32630 J1.12 |
whismanoid | 22:a14c19b97d0b | 555 | #define HAS_digitalInOut14 0 // P5_2 TARGET_MAX32630 J1.13 |
whismanoid | 22:a14c19b97d0b | 556 | #define HAS_digitalInOut15 0 // P3_0 TARGET_MAX32630 J1.14 |
whismanoid | 22:a14c19b97d0b | 557 | #else // HAS_SPI |
whismanoid | 22:a14c19b97d0b | 558 | #define HAS_digitalInOut12 1 // P5_0 TARGET_MAX32630 J1.11 |
whismanoid | 22:a14c19b97d0b | 559 | #define HAS_digitalInOut13 1 // P5_1 TARGET_MAX32630 J1.12 |
whismanoid | 22:a14c19b97d0b | 560 | #define HAS_digitalInOut14 1 // P5_2 TARGET_MAX32630 J1.13 |
whismanoid | 22:a14c19b97d0b | 561 | #define HAS_digitalInOut15 1 // P3_0 TARGET_MAX32630 J1.14 |
whismanoid | 22:a14c19b97d0b | 562 | #endif // HAS_SPI |
whismanoid | 22:a14c19b97d0b | 563 | #if HAS_digitalInOut0 |
whismanoid | 22:a14c19b97d0b | 564 | DigitalInOut digitalInOut0(P3_1, PIN_INPUT, PullUp, 1); // P3_1 TARGET_MAX32630 J1.15 |
whismanoid | 22:a14c19b97d0b | 565 | #endif |
whismanoid | 22:a14c19b97d0b | 566 | #if HAS_digitalInOut1 |
whismanoid | 22:a14c19b97d0b | 567 | DigitalInOut digitalInOut1(P3_4, PIN_INPUT, PullUp, 1); // P3_4 TARGET_MAX32630 J3.12 |
whismanoid | 22:a14c19b97d0b | 568 | #endif |
whismanoid | 22:a14c19b97d0b | 569 | #if HAS_digitalInOut2 |
whismanoid | 22:a14c19b97d0b | 570 | DigitalInOut digitalInOut2(P3_5, PIN_INPUT, PullUp, 1); // P3_5 TARGET_MAX32630 J3.11 |
whismanoid | 22:a14c19b97d0b | 571 | #endif |
whismanoid | 22:a14c19b97d0b | 572 | #if HAS_digitalInOut3 |
whismanoid | 22:a14c19b97d0b | 573 | DigitalInOut digitalInOut3(P3_2, PIN_INPUT, PullUp, 1); // P3_2 TARGET_MAX32630 J3.10 |
whismanoid | 22:a14c19b97d0b | 574 | #endif |
whismanoid | 22:a14c19b97d0b | 575 | #if HAS_digitalInOut4 |
whismanoid | 22:a14c19b97d0b | 576 | DigitalInOut digitalInOut4(P3_3, PIN_INPUT, PullUp, 1); // P3_3 TARGET_MAX32630 J3.9 |
whismanoid | 22:a14c19b97d0b | 577 | #endif |
whismanoid | 22:a14c19b97d0b | 578 | #if HAS_digitalInOut5 |
whismanoid | 22:a14c19b97d0b | 579 | DigitalInOut digitalInOut5(P5_3, PIN_INPUT, PullUp, 1); // P5_3 TARGET_MAX32630 J3.8 |
whismanoid | 22:a14c19b97d0b | 580 | #endif |
whismanoid | 22:a14c19b97d0b | 581 | #if HAS_digitalInOut6 |
whismanoid | 22:a14c19b97d0b | 582 | DigitalInOut digitalInOut6(P5_4, PIN_INPUT, PullUp, 1); // P5_4 TARGET_MAX32630 J3.7 |
whismanoid | 22:a14c19b97d0b | 583 | #endif |
whismanoid | 22:a14c19b97d0b | 584 | #if HAS_digitalInOut7 |
whismanoid | 22:a14c19b97d0b | 585 | DigitalInOut digitalInOut7(P5_5, PIN_INPUT, PullUp, 1); // P5_5 TARGET_MAX32630 J3.6 |
whismanoid | 22:a14c19b97d0b | 586 | #endif |
whismanoid | 22:a14c19b97d0b | 587 | #if HAS_digitalInOut8 |
whismanoid | 22:a14c19b97d0b | 588 | DigitalInOut digitalInOut8(P5_6, PIN_INPUT, PullUp, 1); // P5_6 TARGET_MAX32630 J3.5 |
whismanoid | 22:a14c19b97d0b | 589 | #endif |
whismanoid | 22:a14c19b97d0b | 590 | #if HAS_digitalInOut9 |
whismanoid | 22:a14c19b97d0b | 591 | DigitalInOut digitalInOut9(P4_0, PIN_INPUT, PullUp, 1); // P4_0 TARGET_MAX32630 J3.4 |
whismanoid | 22:a14c19b97d0b | 592 | #endif |
whismanoid | 22:a14c19b97d0b | 593 | #if HAS_digitalInOut10 |
whismanoid | 22:a14c19b97d0b | 594 | DigitalInOut digitalInOut10(P5_7, PIN_INPUT, PullUp, 1); // P5_7 TARGET_MAX32630 J1.9 |
whismanoid | 22:a14c19b97d0b | 595 | #endif |
whismanoid | 22:a14c19b97d0b | 596 | #if HAS_digitalInOut11 |
whismanoid | 22:a14c19b97d0b | 597 | DigitalInOut digitalInOut11(P6_0, PIN_INPUT, PullUp, 1); // P6_0 TARGET_MAX32630 J1.10 |
whismanoid | 22:a14c19b97d0b | 598 | #endif |
whismanoid | 22:a14c19b97d0b | 599 | #if HAS_digitalInOut12 |
whismanoid | 22:a14c19b97d0b | 600 | DigitalInOut digitalInOut12(P5_0, PIN_INPUT, PullUp, 1); // P5_0 TARGET_MAX32630 J1.11 |
whismanoid | 22:a14c19b97d0b | 601 | #endif |
whismanoid | 22:a14c19b97d0b | 602 | #if HAS_digitalInOut13 |
whismanoid | 22:a14c19b97d0b | 603 | DigitalInOut digitalInOut13(P5_1, PIN_INPUT, PullUp, 1); // P5_1 TARGET_MAX32630 J1.12 |
whismanoid | 22:a14c19b97d0b | 604 | #endif |
whismanoid | 22:a14c19b97d0b | 605 | #if HAS_digitalInOut14 |
whismanoid | 22:a14c19b97d0b | 606 | DigitalInOut digitalInOut14(P5_2, PIN_INPUT, PullUp, 1); // P5_2 TARGET_MAX32630 J1.13 |
whismanoid | 22:a14c19b97d0b | 607 | #endif |
whismanoid | 22:a14c19b97d0b | 608 | #if HAS_digitalInOut15 |
whismanoid | 22:a14c19b97d0b | 609 | DigitalInOut digitalInOut15(P3_0, PIN_INPUT, PullUp, 1); // P3_0 TARGET_MAX32630 J1.14 |
whismanoid | 22:a14c19b97d0b | 610 | #endif |
whismanoid | 22:a14c19b97d0b | 611 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 612 | #elif defined(TARGET_MAX32625MBED) |
whismanoid | 22:a14c19b97d0b | 613 | // TARGET=MAX32625MBED ARM Cortex-M4F 96MHz 512kB Flash 160kB SRAM |
whismanoid | 22:a14c19b97d0b | 614 | // +-------------------------------------+ |
whismanoid | 22:a14c19b97d0b | 615 | // | MAX32625MBED Arduino UNO header | |
whismanoid | 22:a14c19b97d0b | 616 | // | | |
whismanoid | 22:a14c19b97d0b | 617 | // | A5/SCL[ ] | P1_7 dig15 |
whismanoid | 22:a14c19b97d0b | 618 | // | A4/SDA[ ] | P1_6 dig14 |
whismanoid | 22:a14c19b97d0b | 619 | // | AREF=N/C[ ] | |
whismanoid | 22:a14c19b97d0b | 620 | // | GND[ ] | |
whismanoid | 22:a14c19b97d0b | 621 | // | [ ]N/C SCK/13[ ] | P1_0 dig13 |
whismanoid | 22:a14c19b97d0b | 622 | // | [ ]IOREF=3V3 MISO/12[ ] | P1_2 dig12 |
whismanoid | 22:a14c19b97d0b | 623 | // | [ ]RST MOSI/11[ ]~| P1_1 dig11 |
whismanoid | 22:a14c19b97d0b | 624 | // | [ ]3V3 CS/10[ ]~| P1_3 dig10 |
whismanoid | 22:a14c19b97d0b | 625 | // | [ ]5V0 9[ ]~| P1_5 dig9 |
whismanoid | 22:a14c19b97d0b | 626 | // | [ ]GND 8[ ] | P1_4 dig8 |
whismanoid | 22:a14c19b97d0b | 627 | // | [ ]GND | |
whismanoid | 22:a14c19b97d0b | 628 | // | [ ]Vin 7[ ] | P0_7 dig7 |
whismanoid | 22:a14c19b97d0b | 629 | // | 6[ ]~| P0_6 dig6 |
whismanoid | 22:a14c19b97d0b | 630 | // AIN_0 | [ ]A0 5[ ]~| P0_5 dig5 |
whismanoid | 22:a14c19b97d0b | 631 | // AIN_1 | [ ]A1 4[ ] | P0_4 dig4 |
whismanoid | 22:a14c19b97d0b | 632 | // AIN_2 | [ ]A2 INT1/3[ ]~| P0_3 dig3 |
whismanoid | 22:a14c19b97d0b | 633 | // AIN_3 | [ ]A3 INT0/2[ ] | P0_2 dig2 |
whismanoid | 22:a14c19b97d0b | 634 | // dig16 P3_4 | [ ]A4/SDA RST SCK MISO TX>1[ ] | P0_1 dig1 |
whismanoid | 22:a14c19b97d0b | 635 | // dig17 P3_5 | [ ]A5/SCL [ ] [ ] [ ] RX<0[ ] | P0_0 dig0 |
whismanoid | 22:a14c19b97d0b | 636 | // | [ ] [ ] [ ] | |
whismanoid | 22:a14c19b97d0b | 637 | // | UNO_R3 GND MOSI 5V ____________/ |
whismanoid | 22:a14c19b97d0b | 638 | // \_______________________/ |
whismanoid | 22:a14c19b97d0b | 639 | // |
whismanoid | 22:a14c19b97d0b | 640 | #define HAS_digitalInOut0 1 // P0_0 TARGET_MAX32625MBED D0 |
whismanoid | 22:a14c19b97d0b | 641 | #define HAS_digitalInOut1 1 // P0_1 TARGET_MAX32625MBED D1 |
whismanoid | 22:a14c19b97d0b | 642 | #if APPLICATION_MAX11131 |
whismanoid | 22:a14c19b97d0b | 643 | #define HAS_digitalInOut2 0 // P0_2 TARGET_MAX32625MBED D2 -- MAX11131 EOC DigitalIn |
whismanoid | 22:a14c19b97d0b | 644 | #else |
whismanoid | 22:a14c19b97d0b | 645 | #define HAS_digitalInOut2 1 // P0_2 TARGET_MAX32625MBED D2 |
whismanoid | 22:a14c19b97d0b | 646 | #endif |
whismanoid | 22:a14c19b97d0b | 647 | #define HAS_digitalInOut3 1 // P0_3 TARGET_MAX32625MBED D3 |
whismanoid | 22:a14c19b97d0b | 648 | #define HAS_digitalInOut4 1 // P0_4 TARGET_MAX32625MBED D4 |
whismanoid | 22:a14c19b97d0b | 649 | #define HAS_digitalInOut5 1 // P0_5 TARGET_MAX32625MBED D5 |
whismanoid | 22:a14c19b97d0b | 650 | #define HAS_digitalInOut6 1 // P0_6 TARGET_MAX32625MBED D6 |
whismanoid | 22:a14c19b97d0b | 651 | #define HAS_digitalInOut7 1 // P0_7 TARGET_MAX32625MBED D7 |
whismanoid | 22:a14c19b97d0b | 652 | #define HAS_digitalInOut8 1 // P1_4 TARGET_MAX32625MBED D8 |
whismanoid | 22:a14c19b97d0b | 653 | #if APPLICATION_MAX11131 |
whismanoid | 22:a14c19b97d0b | 654 | #define HAS_digitalInOut9 0 // P1_5 TARGET_MAX32625MBED D9 -- MAX11131 CNVST DigitalOut |
whismanoid | 22:a14c19b97d0b | 655 | #else |
whismanoid | 22:a14c19b97d0b | 656 | #define HAS_digitalInOut9 1 // P1_5 TARGET_MAX32625MBED D9 |
whismanoid | 22:a14c19b97d0b | 657 | #endif |
whismanoid | 22:a14c19b97d0b | 658 | #if HAS_SPI |
whismanoid | 22:a14c19b97d0b | 659 | // avoid resource conflict between P5_0, P5_1, P5_2 SPI and DigitalInOut |
whismanoid | 22:a14c19b97d0b | 660 | #define HAS_digitalInOut10 0 // P1_3 TARGET_MAX32635MBED CS/10 |
whismanoid | 22:a14c19b97d0b | 661 | #define HAS_digitalInOut11 0 // P1_1 TARGET_MAX32635MBED MOSI/11 |
whismanoid | 22:a14c19b97d0b | 662 | #define HAS_digitalInOut12 0 // P1_2 TARGET_MAX32635MBED MISO/12 |
whismanoid | 22:a14c19b97d0b | 663 | #define HAS_digitalInOut13 0 // P1_0 TARGET_MAX32635MBED SCK/13 |
whismanoid | 22:a14c19b97d0b | 664 | #else // HAS_SPI |
whismanoid | 22:a14c19b97d0b | 665 | #define HAS_digitalInOut10 1 // P1_3 TARGET_MAX32635MBED CS/10 |
whismanoid | 22:a14c19b97d0b | 666 | #define HAS_digitalInOut11 1 // P1_1 TARGET_MAX32635MBED MOSI/11 |
whismanoid | 22:a14c19b97d0b | 667 | #define HAS_digitalInOut12 1 // P1_2 TARGET_MAX32635MBED MISO/12 |
whismanoid | 22:a14c19b97d0b | 668 | #define HAS_digitalInOut13 1 // P1_0 TARGET_MAX32635MBED SCK/13 |
whismanoid | 22:a14c19b97d0b | 669 | #endif // HAS_SPI |
whismanoid | 22:a14c19b97d0b | 670 | #if HAS_I2C |
whismanoid | 22:a14c19b97d0b | 671 | // avoid resource conflict between P5_7, P6_0 I2C and DigitalInOut |
whismanoid | 22:a14c19b97d0b | 672 | #define HAS_digitalInOut14 0 // P1_6 TARGET_MAX32635MBED A4/SDA (10pin digital connector) |
whismanoid | 22:a14c19b97d0b | 673 | #define HAS_digitalInOut15 0 // P1_7 TARGET_MAX32635MBED A5/SCL (10pin digital connector) |
whismanoid | 22:a14c19b97d0b | 674 | #define HAS_digitalInOut16 0 // P3_4 TARGET_MAX32635MBED A4/SDA (6pin analog connector) |
whismanoid | 22:a14c19b97d0b | 675 | #define HAS_digitalInOut17 0 // P3_5 TARGET_MAX32635MBED A5/SCL (6pin analog connector) |
whismanoid | 22:a14c19b97d0b | 676 | #else // HAS_I2C |
whismanoid | 22:a14c19b97d0b | 677 | #define HAS_digitalInOut14 1 // P1_6 TARGET_MAX32635MBED A4/SDA (10pin digital connector) |
whismanoid | 22:a14c19b97d0b | 678 | #define HAS_digitalInOut15 1 // P1_7 TARGET_MAX32635MBED A5/SCL (10pin digital connector) |
whismanoid | 22:a14c19b97d0b | 679 | #define HAS_digitalInOut16 1 // P3_4 TARGET_MAX32635MBED A4/SDA (6pin analog connector) |
whismanoid | 22:a14c19b97d0b | 680 | #define HAS_digitalInOut17 1 // P3_5 TARGET_MAX32635MBED A5/SCL (6pin analog connector) |
whismanoid | 22:a14c19b97d0b | 681 | #endif // HAS_I2C |
whismanoid | 22:a14c19b97d0b | 682 | #if HAS_digitalInOut0 |
whismanoid | 22:a14c19b97d0b | 683 | DigitalInOut digitalInOut0(P0_0, PIN_INPUT, PullUp, 1); // P0_0 TARGET_MAX32625MBED D0 |
whismanoid | 22:a14c19b97d0b | 684 | #endif |
whismanoid | 22:a14c19b97d0b | 685 | #if HAS_digitalInOut1 |
whismanoid | 22:a14c19b97d0b | 686 | DigitalInOut digitalInOut1(P0_1, PIN_INPUT, PullUp, 1); // P0_1 TARGET_MAX32625MBED D1 |
whismanoid | 22:a14c19b97d0b | 687 | #endif |
whismanoid | 22:a14c19b97d0b | 688 | #if HAS_digitalInOut2 |
whismanoid | 22:a14c19b97d0b | 689 | DigitalInOut digitalInOut2(P0_2, PIN_INPUT, PullUp, 1); // P0_2 TARGET_MAX32625MBED D2 |
whismanoid | 22:a14c19b97d0b | 690 | #endif |
whismanoid | 22:a14c19b97d0b | 691 | #if HAS_digitalInOut3 |
whismanoid | 22:a14c19b97d0b | 692 | DigitalInOut digitalInOut3(P0_3, PIN_INPUT, PullUp, 1); // P0_3 TARGET_MAX32625MBED D3 |
whismanoid | 22:a14c19b97d0b | 693 | #endif |
whismanoid | 22:a14c19b97d0b | 694 | #if HAS_digitalInOut4 |
whismanoid | 22:a14c19b97d0b | 695 | DigitalInOut digitalInOut4(P0_4, PIN_INPUT, PullUp, 1); // P0_4 TARGET_MAX32625MBED D4 |
whismanoid | 22:a14c19b97d0b | 696 | #endif |
whismanoid | 22:a14c19b97d0b | 697 | #if HAS_digitalInOut5 |
whismanoid | 22:a14c19b97d0b | 698 | DigitalInOut digitalInOut5(P0_5, PIN_INPUT, PullUp, 1); // P0_5 TARGET_MAX32625MBED D5 |
whismanoid | 22:a14c19b97d0b | 699 | #endif |
whismanoid | 22:a14c19b97d0b | 700 | #if HAS_digitalInOut6 |
whismanoid | 22:a14c19b97d0b | 701 | DigitalInOut digitalInOut6(P0_6, PIN_INPUT, PullUp, 1); // P0_6 TARGET_MAX32625MBED D6 |
whismanoid | 22:a14c19b97d0b | 702 | #endif |
whismanoid | 22:a14c19b97d0b | 703 | #if HAS_digitalInOut7 |
whismanoid | 22:a14c19b97d0b | 704 | DigitalInOut digitalInOut7(P0_7, PIN_INPUT, PullUp, 1); // P0_7 TARGET_MAX32625MBED D7 |
whismanoid | 22:a14c19b97d0b | 705 | #endif |
whismanoid | 22:a14c19b97d0b | 706 | #if HAS_digitalInOut8 |
whismanoid | 22:a14c19b97d0b | 707 | DigitalInOut digitalInOut8(P1_4, PIN_INPUT, PullUp, 1); // P1_4 TARGET_MAX32625MBED D8 |
whismanoid | 22:a14c19b97d0b | 708 | #endif |
whismanoid | 22:a14c19b97d0b | 709 | #if HAS_digitalInOut9 |
whismanoid | 22:a14c19b97d0b | 710 | DigitalInOut digitalInOut9(P1_5, PIN_INPUT, PullUp, 1); // P1_5 TARGET_MAX32625MBED D9 |
whismanoid | 22:a14c19b97d0b | 711 | #endif |
whismanoid | 22:a14c19b97d0b | 712 | #if HAS_digitalInOut10 |
whismanoid | 22:a14c19b97d0b | 713 | DigitalInOut digitalInOut10(P1_3, PIN_INPUT, PullUp, 1); // P1_3 TARGET_MAX32635MBED CS/10 |
whismanoid | 22:a14c19b97d0b | 714 | #endif |
whismanoid | 22:a14c19b97d0b | 715 | #if HAS_digitalInOut11 |
whismanoid | 22:a14c19b97d0b | 716 | DigitalInOut digitalInOut11(P1_1, PIN_INPUT, PullUp, 1); // P1_1 TARGET_MAX32635MBED MOSI/11 |
whismanoid | 22:a14c19b97d0b | 717 | #endif |
whismanoid | 22:a14c19b97d0b | 718 | #if HAS_digitalInOut12 |
whismanoid | 22:a14c19b97d0b | 719 | DigitalInOut digitalInOut12(P1_2, PIN_INPUT, PullUp, 1); // P1_2 TARGET_MAX32635MBED MISO/12 |
whismanoid | 22:a14c19b97d0b | 720 | #endif |
whismanoid | 22:a14c19b97d0b | 721 | #if HAS_digitalInOut13 |
whismanoid | 22:a14c19b97d0b | 722 | DigitalInOut digitalInOut13(P1_0, PIN_INPUT, PullUp, 1); // P1_0 TARGET_MAX32635MBED SCK/13 |
whismanoid | 22:a14c19b97d0b | 723 | #endif |
whismanoid | 22:a14c19b97d0b | 724 | #if HAS_digitalInOut14 |
whismanoid | 22:a14c19b97d0b | 725 | // Ensure that the unused I2C pins do not interfere with analog inputs A4 and A5 |
whismanoid | 22:a14c19b97d0b | 726 | // DigitalInOut mode can be one of PullUp, PullDown, PullNone, OpenDrain |
whismanoid | 22:a14c19b97d0b | 727 | DigitalInOut digitalInOut14(P1_6, PIN_INPUT, OpenDrain, 1); // P1_6 TARGET_MAX32635MBED A4/SDA (10pin digital connector) |
whismanoid | 22:a14c19b97d0b | 728 | #endif |
whismanoid | 22:a14c19b97d0b | 729 | #if HAS_digitalInOut15 |
whismanoid | 22:a14c19b97d0b | 730 | // Ensure that the unused I2C pins do not interfere with analog inputs A4 and A5 |
whismanoid | 22:a14c19b97d0b | 731 | DigitalInOut digitalInOut15(P1_7, PIN_INPUT, OpenDrain, 1); // P1_7 TARGET_MAX32635MBED A5/SCL (10pin digital connector) |
whismanoid | 22:a14c19b97d0b | 732 | #endif |
whismanoid | 22:a14c19b97d0b | 733 | #if HAS_digitalInOut16 |
whismanoid | 22:a14c19b97d0b | 734 | // Ensure that the unused I2C pins do not interfere with analog inputs A4 and A5 |
whismanoid | 22:a14c19b97d0b | 735 | // DigitalInOut mode can be one of PullUp, PullDown, PullNone, OpenDrain |
whismanoid | 22:a14c19b97d0b | 736 | // PullUp-->3.4V, PullDown-->1.7V, PullNone-->3.5V, OpenDrain-->0.00V |
whismanoid | 22:a14c19b97d0b | 737 | DigitalInOut digitalInOut16(P3_4, PIN_INPUT, OpenDrain, 0); // P3_4 TARGET_MAX32635MBED A4/SDA (6pin analog connector) |
whismanoid | 22:a14c19b97d0b | 738 | #endif |
whismanoid | 22:a14c19b97d0b | 739 | #if HAS_digitalInOut17 |
whismanoid | 22:a14c19b97d0b | 740 | // Ensure that the unused I2C pins do not interfere with analog inputs A4 and A5 |
whismanoid | 22:a14c19b97d0b | 741 | DigitalInOut digitalInOut17(P3_5, PIN_INPUT, OpenDrain, 0); // P3_5 TARGET_MAX32635MBED A5/SCL (6pin analog connector) |
whismanoid | 22:a14c19b97d0b | 742 | #endif |
whismanoid | 22:a14c19b97d0b | 743 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 744 | #elif defined(TARGET_NUCLEO_F446RE) || defined(TARGET_NUCLEO_F401RE) |
whismanoid | 23:abd02fed1ae4 | 745 | #define HAS_digitalInOut0 0 |
whismanoid | 23:abd02fed1ae4 | 746 | #define HAS_digitalInOut1 0 |
whismanoid | 22:a14c19b97d0b | 747 | #if APPLICATION_MAX11131 |
whismanoid | 23:abd02fed1ae4 | 748 | // D2 -- MAX11131 EOC DigitalIn |
whismanoid | 23:abd02fed1ae4 | 749 | #define HAS_digitalInOut2 0 |
whismanoid | 22:a14c19b97d0b | 750 | #else |
whismanoid | 23:abd02fed1ae4 | 751 | #define HAS_digitalInOut2 1 |
whismanoid | 23:abd02fed1ae4 | 752 | #endif |
whismanoid | 23:abd02fed1ae4 | 753 | #define HAS_digitalInOut3 1 |
whismanoid | 23:abd02fed1ae4 | 754 | #define HAS_digitalInOut4 1 |
whismanoid | 23:abd02fed1ae4 | 755 | #define HAS_digitalInOut5 1 |
whismanoid | 23:abd02fed1ae4 | 756 | #define HAS_digitalInOut6 1 |
whismanoid | 23:abd02fed1ae4 | 757 | #define HAS_digitalInOut7 1 |
whismanoid | 22:a14c19b97d0b | 758 | #if APPLICATION_MAX5715 |
whismanoid | 23:abd02fed1ae4 | 759 | // D8 -- MAX5715 CLRb DigitalOut |
whismanoid | 23:abd02fed1ae4 | 760 | #define HAS_digitalInOut8 0 |
whismanoid | 22:a14c19b97d0b | 761 | #else |
whismanoid | 23:abd02fed1ae4 | 762 | #define HAS_digitalInOut8 1 |
whismanoid | 22:a14c19b97d0b | 763 | #endif |
whismanoid | 22:a14c19b97d0b | 764 | #if APPLICATION_MAX5715 |
whismanoid | 23:abd02fed1ae4 | 765 | // D9 -- MAX5715 LDACb DigitalOut |
whismanoid | 23:abd02fed1ae4 | 766 | #define HAS_digitalInOut9 0 |
whismanoid | 22:a14c19b97d0b | 767 | #elif APPLICATION_MAX11131 |
whismanoid | 23:abd02fed1ae4 | 768 | // D9 -- MAX11131 CNVST DigitalOut |
whismanoid | 23:abd02fed1ae4 | 769 | #define HAS_digitalInOut9 0 |
whismanoid | 22:a14c19b97d0b | 770 | #else |
whismanoid | 23:abd02fed1ae4 | 771 | #define HAS_digitalInOut9 1 |
whismanoid | 22:a14c19b97d0b | 772 | #endif |
whismanoid | 22:a14c19b97d0b | 773 | #if HAS_SPI |
whismanoid | 22:a14c19b97d0b | 774 | // avoid resource conflict between P5_0, P5_1, P5_2 SPI and DigitalInOut |
whismanoid | 22:a14c19b97d0b | 775 | // Arduino digital pin D10 SPI function is CS/10 |
whismanoid | 22:a14c19b97d0b | 776 | // Arduino digital pin D11 SPI function is MOSI/11 |
whismanoid | 22:a14c19b97d0b | 777 | // Arduino digital pin D12 SPI function is MISO/12 |
whismanoid | 22:a14c19b97d0b | 778 | // Arduino digital pin D13 SPI function is SCK/13 |
whismanoid | 22:a14c19b97d0b | 779 | #define HAS_digitalInOut10 0 |
whismanoid | 22:a14c19b97d0b | 780 | #define HAS_digitalInOut11 0 |
whismanoid | 22:a14c19b97d0b | 781 | #define HAS_digitalInOut12 0 |
whismanoid | 22:a14c19b97d0b | 782 | #define HAS_digitalInOut13 0 |
whismanoid | 22:a14c19b97d0b | 783 | #else // HAS_SPI |
whismanoid | 22:a14c19b97d0b | 784 | #define HAS_digitalInOut10 1 |
whismanoid | 22:a14c19b97d0b | 785 | #define HAS_digitalInOut11 1 |
whismanoid | 22:a14c19b97d0b | 786 | #define HAS_digitalInOut12 1 |
whismanoid | 22:a14c19b97d0b | 787 | #define HAS_digitalInOut13 1 |
whismanoid | 22:a14c19b97d0b | 788 | #endif // HAS_SPI |
whismanoid | 22:a14c19b97d0b | 789 | #if HAS_I2C |
whismanoid | 22:a14c19b97d0b | 790 | // avoid resource conflict between P5_7, P6_0 I2C and DigitalInOut |
whismanoid | 22:a14c19b97d0b | 791 | // Arduino digital pin D14 I2C function is A4/SDA (10pin digital connector) |
whismanoid | 22:a14c19b97d0b | 792 | // Arduino digital pin D15 I2C function is A5/SCL (10pin digital connector) |
whismanoid | 22:a14c19b97d0b | 793 | // Arduino digital pin D16 I2C function is A4/SDA (6pin analog connector) |
whismanoid | 22:a14c19b97d0b | 794 | // Arduino digital pin D17 I2C function is A5/SCL (6pin analog connector) |
whismanoid | 22:a14c19b97d0b | 795 | #define HAS_digitalInOut14 0 |
whismanoid | 22:a14c19b97d0b | 796 | #define HAS_digitalInOut15 0 |
whismanoid | 22:a14c19b97d0b | 797 | #define HAS_digitalInOut16 0 |
whismanoid | 22:a14c19b97d0b | 798 | #define HAS_digitalInOut17 0 |
whismanoid | 22:a14c19b97d0b | 799 | #else // HAS_I2C |
whismanoid | 22:a14c19b97d0b | 800 | #define HAS_digitalInOut14 1 |
whismanoid | 22:a14c19b97d0b | 801 | #define HAS_digitalInOut15 1 |
whismanoid | 22:a14c19b97d0b | 802 | #define HAS_digitalInOut16 0 |
whismanoid | 22:a14c19b97d0b | 803 | #define HAS_digitalInOut17 0 |
whismanoid | 22:a14c19b97d0b | 804 | #endif // HAS_I2C |
whismanoid | 22:a14c19b97d0b | 805 | #if HAS_digitalInOut0 |
whismanoid | 22:a14c19b97d0b | 806 | DigitalInOut digitalInOut0(D0, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 807 | #endif |
whismanoid | 22:a14c19b97d0b | 808 | #if HAS_digitalInOut1 |
whismanoid | 22:a14c19b97d0b | 809 | DigitalInOut digitalInOut1(D1, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 810 | #endif |
whismanoid | 22:a14c19b97d0b | 811 | #if HAS_digitalInOut2 |
whismanoid | 22:a14c19b97d0b | 812 | DigitalInOut digitalInOut2(D2, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 813 | #endif |
whismanoid | 22:a14c19b97d0b | 814 | #if HAS_digitalInOut3 |
whismanoid | 22:a14c19b97d0b | 815 | DigitalInOut digitalInOut3(D3, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 816 | #endif |
whismanoid | 22:a14c19b97d0b | 817 | #if HAS_digitalInOut4 |
whismanoid | 22:a14c19b97d0b | 818 | DigitalInOut digitalInOut4(D4, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 819 | #endif |
whismanoid | 22:a14c19b97d0b | 820 | #if HAS_digitalInOut5 |
whismanoid | 22:a14c19b97d0b | 821 | DigitalInOut digitalInOut5(D5, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 822 | #endif |
whismanoid | 22:a14c19b97d0b | 823 | #if HAS_digitalInOut6 |
whismanoid | 22:a14c19b97d0b | 824 | DigitalInOut digitalInOut6(D6, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 825 | #endif |
whismanoid | 22:a14c19b97d0b | 826 | #if HAS_digitalInOut7 |
whismanoid | 22:a14c19b97d0b | 827 | DigitalInOut digitalInOut7(D7, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 828 | #endif |
whismanoid | 22:a14c19b97d0b | 829 | #if HAS_digitalInOut8 |
whismanoid | 22:a14c19b97d0b | 830 | DigitalInOut digitalInOut8(D8, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 831 | #endif |
whismanoid | 22:a14c19b97d0b | 832 | #if HAS_digitalInOut9 |
whismanoid | 22:a14c19b97d0b | 833 | DigitalInOut digitalInOut9(D9, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 834 | #endif |
whismanoid | 22:a14c19b97d0b | 835 | #if HAS_digitalInOut10 |
whismanoid | 22:a14c19b97d0b | 836 | // Arduino digital pin D10 SPI function is CS/10 |
whismanoid | 22:a14c19b97d0b | 837 | DigitalInOut digitalInOut10(D10, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 838 | #endif |
whismanoid | 22:a14c19b97d0b | 839 | #if HAS_digitalInOut11 |
whismanoid | 22:a14c19b97d0b | 840 | // Arduino digital pin D11 SPI function is MOSI/11 |
whismanoid | 22:a14c19b97d0b | 841 | DigitalInOut digitalInOut11(D11, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 842 | #endif |
whismanoid | 22:a14c19b97d0b | 843 | #if HAS_digitalInOut12 |
whismanoid | 22:a14c19b97d0b | 844 | // Arduino digital pin D12 SPI function is MISO/12 |
whismanoid | 22:a14c19b97d0b | 845 | DigitalInOut digitalInOut12(D12, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 846 | #endif |
whismanoid | 22:a14c19b97d0b | 847 | #if HAS_digitalInOut13 |
whismanoid | 22:a14c19b97d0b | 848 | // Arduino digital pin D13 SPI function is SCK/13 |
whismanoid | 22:a14c19b97d0b | 849 | DigitalInOut digitalInOut13(D13, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 850 | #endif |
whismanoid | 22:a14c19b97d0b | 851 | #if HAS_digitalInOut14 |
whismanoid | 22:a14c19b97d0b | 852 | // Arduino digital pin D14 I2C function is A4/SDA (10pin digital connector) |
whismanoid | 22:a14c19b97d0b | 853 | DigitalInOut digitalInOut14(D14, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 854 | #endif |
whismanoid | 22:a14c19b97d0b | 855 | #if HAS_digitalInOut15 |
whismanoid | 22:a14c19b97d0b | 856 | // Arduino digital pin D15 I2C function is A5/SCL (10pin digital connector) |
whismanoid | 22:a14c19b97d0b | 857 | DigitalInOut digitalInOut15(D15, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 858 | #endif |
whismanoid | 22:a14c19b97d0b | 859 | #if HAS_digitalInOut16 |
whismanoid | 22:a14c19b97d0b | 860 | // Arduino digital pin D16 I2C function is A4/SDA (6pin analog connector) |
whismanoid | 22:a14c19b97d0b | 861 | DigitalInOut digitalInOut16(D16, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 862 | #endif |
whismanoid | 22:a14c19b97d0b | 863 | #if HAS_digitalInOut17 |
whismanoid | 22:a14c19b97d0b | 864 | // Arduino digital pin D17 I2C function is A5/SCL (6pin analog connector) |
whismanoid | 22:a14c19b97d0b | 865 | DigitalInOut digitalInOut17(D17, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 866 | #endif |
whismanoid | 22:a14c19b97d0b | 867 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 868 | #elif defined(TARGET_LPC1768) |
whismanoid | 22:a14c19b97d0b | 869 | #define HAS_digitalInOut0 1 |
whismanoid | 22:a14c19b97d0b | 870 | #define HAS_digitalInOut1 1 |
whismanoid | 22:a14c19b97d0b | 871 | #define HAS_digitalInOut2 1 |
whismanoid | 22:a14c19b97d0b | 872 | #define HAS_digitalInOut3 1 |
whismanoid | 22:a14c19b97d0b | 873 | #define HAS_digitalInOut4 1 |
whismanoid | 22:a14c19b97d0b | 874 | #define HAS_digitalInOut5 1 |
whismanoid | 22:a14c19b97d0b | 875 | #define HAS_digitalInOut6 1 |
whismanoid | 22:a14c19b97d0b | 876 | #define HAS_digitalInOut7 1 |
whismanoid | 22:a14c19b97d0b | 877 | #define HAS_digitalInOut8 1 |
whismanoid | 22:a14c19b97d0b | 878 | #define HAS_digitalInOut9 1 |
whismanoid | 22:a14c19b97d0b | 879 | // #define HAS_digitalInOut10 1 |
whismanoid | 22:a14c19b97d0b | 880 | // #define HAS_digitalInOut11 1 |
whismanoid | 22:a14c19b97d0b | 881 | // #define HAS_digitalInOut12 1 |
whismanoid | 22:a14c19b97d0b | 882 | // #define HAS_digitalInOut13 1 |
whismanoid | 22:a14c19b97d0b | 883 | // #define HAS_digitalInOut14 1 |
whismanoid | 22:a14c19b97d0b | 884 | // #define HAS_digitalInOut15 1 |
whismanoid | 22:a14c19b97d0b | 885 | #if HAS_digitalInOut0 |
whismanoid | 22:a14c19b97d0b | 886 | DigitalInOut digitalInOut0(p5, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.9/I2STX_SDA/MOSI1/MAT2.3 |
whismanoid | 22:a14c19b97d0b | 887 | #endif |
whismanoid | 22:a14c19b97d0b | 888 | #if HAS_digitalInOut1 |
whismanoid | 22:a14c19b97d0b | 889 | DigitalInOut digitalInOut1(p6, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.8/I2STX_WS/MISO1/MAT2.2 |
whismanoid | 22:a14c19b97d0b | 890 | #endif |
whismanoid | 22:a14c19b97d0b | 891 | #if HAS_digitalInOut2 |
whismanoid | 22:a14c19b97d0b | 892 | DigitalInOut digitalInOut2(p7, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.7/I2STX_CLK/SCK1/MAT2.1 |
whismanoid | 22:a14c19b97d0b | 893 | #endif |
whismanoid | 22:a14c19b97d0b | 894 | #if HAS_digitalInOut3 |
whismanoid | 22:a14c19b97d0b | 895 | DigitalInOut digitalInOut3(p8, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.6/I2SRX_SDA/SSEL1/MAT2.0 |
whismanoid | 22:a14c19b97d0b | 896 | #endif |
whismanoid | 22:a14c19b97d0b | 897 | #if HAS_digitalInOut4 |
whismanoid | 22:a14c19b97d0b | 898 | DigitalInOut digitalInOut4(p9, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.0/CAN_RX1/TXD3/SDA1 |
whismanoid | 22:a14c19b97d0b | 899 | #endif |
whismanoid | 22:a14c19b97d0b | 900 | #if HAS_digitalInOut5 |
whismanoid | 22:a14c19b97d0b | 901 | DigitalInOut digitalInOut5(p10, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.1/CAN_TX1/RXD3/SCL1 |
whismanoid | 22:a14c19b97d0b | 902 | #endif |
whismanoid | 22:a14c19b97d0b | 903 | #if HAS_digitalInOut6 |
whismanoid | 22:a14c19b97d0b | 904 | DigitalInOut digitalInOut6(p11, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.18/DCD1/MOSI0/MOSI1 |
whismanoid | 22:a14c19b97d0b | 905 | #endif |
whismanoid | 22:a14c19b97d0b | 906 | #if HAS_digitalInOut7 |
whismanoid | 22:a14c19b97d0b | 907 | DigitalInOut digitalInOut7(p12, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.17/CTS1/MISO0/MISO |
whismanoid | 22:a14c19b97d0b | 908 | #endif |
whismanoid | 22:a14c19b97d0b | 909 | #if HAS_digitalInOut8 |
whismanoid | 22:a14c19b97d0b | 910 | DigitalInOut digitalInOut8(p13, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.15/TXD1/SCK0/SCK |
whismanoid | 22:a14c19b97d0b | 911 | #endif |
whismanoid | 22:a14c19b97d0b | 912 | #if HAS_digitalInOut9 |
whismanoid | 22:a14c19b97d0b | 913 | DigitalInOut digitalInOut9(p14, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.16/RXD1/SSEL0/SSEL |
whismanoid | 22:a14c19b97d0b | 914 | #endif |
whismanoid | 22:a14c19b97d0b | 915 | // |
whismanoid | 22:a14c19b97d0b | 916 | // these pins support analog input analogIn0 .. analogIn5 |
whismanoid | 22:a14c19b97d0b | 917 | //DigitalInOut digitalInOut_(p15, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.23/AD0.0/I2SRX_CLK/CAP3.0 |
whismanoid | 22:a14c19b97d0b | 918 | //DigitalInOut digitalInOut_(p16, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.24/AD0.1/I2SRX_WS/CAP3.1 |
whismanoid | 22:a14c19b97d0b | 919 | //DigitalInOut digitalInOut_(p17, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.25/AD0.2/I2SRX_SDA/TXD3 |
whismanoid | 22:a14c19b97d0b | 920 | //DigitalInOut digitalInOut_(p18, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.26/AD0.3/AOUT/RXD3 |
whismanoid | 22:a14c19b97d0b | 921 | //DigitalInOut digitalInOut_(p19, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P1.30/VBUS/AD0.4 |
whismanoid | 22:a14c19b97d0b | 922 | //DigitalInOut digitalInOut_(p20, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P1.31/SCK1/AD0.5 |
whismanoid | 22:a14c19b97d0b | 923 | // |
whismanoid | 22:a14c19b97d0b | 924 | // these pins support PWM pwmDriver1 .. pwmDriver6 |
whismanoid | 22:a14c19b97d0b | 925 | //DigitalInOut digitalInOut_(p21, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P2.5/PWM1.6/DTR1/TRACEDATA0 |
whismanoid | 22:a14c19b97d0b | 926 | //DigitalInOut digitalInOut_(p22, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P2.4/PWM1.5/DSR1/TRACEDATA1 |
whismanoid | 22:a14c19b97d0b | 927 | //DigitalInOut digitalInOut_(p23, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P2.3/PWM1.4/DCD1/TRACEDATA2 |
whismanoid | 22:a14c19b97d0b | 928 | //DigitalInOut digitalInOut_(p24, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P2.2/PWM1.3/CTS1/TRACEDATA3 |
whismanoid | 22:a14c19b97d0b | 929 | //DigitalInOut digitalInOut_(p25, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P2.1/PWM1.2/RXD1 |
whismanoid | 22:a14c19b97d0b | 930 | //DigitalInOut digitalInOut_(p26, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P2.0/PWM1.1/TXD1/TRACECLK |
whismanoid | 22:a14c19b97d0b | 931 | // |
whismanoid | 22:a14c19b97d0b | 932 | // these could be additional digitalInOut pins |
whismanoid | 22:a14c19b97d0b | 933 | #if HAS_digitalInOut10 |
whismanoid | 22:a14c19b97d0b | 934 | DigitalInOut digitalInOut10(p27, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.11/RXD2/SCL2/MAT3.1 |
whismanoid | 22:a14c19b97d0b | 935 | #endif |
whismanoid | 22:a14c19b97d0b | 936 | #if HAS_digitalInOut11 |
whismanoid | 22:a14c19b97d0b | 937 | DigitalInOut digitalInOut11(p28, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.10/TXD2/SDA2/MAT3.0 |
whismanoid | 22:a14c19b97d0b | 938 | #endif |
whismanoid | 22:a14c19b97d0b | 939 | #if HAS_digitalInOut12 |
whismanoid | 22:a14c19b97d0b | 940 | DigitalInOut digitalInOut12(p29, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.5/I2SRX_WS/CAN_TX2/CAP2.1 |
whismanoid | 22:a14c19b97d0b | 941 | #endif |
whismanoid | 22:a14c19b97d0b | 942 | #if HAS_digitalInOut13 |
whismanoid | 22:a14c19b97d0b | 943 | DigitalInOut digitalInOut13(p30, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.4/I2SRX_CLK/CAN_RX2/CAP2.0 |
whismanoid | 22:a14c19b97d0b | 944 | #endif |
whismanoid | 22:a14c19b97d0b | 945 | #if HAS_digitalInOut14 |
whismanoid | 22:a14c19b97d0b | 946 | DigitalInOut digitalInOut14(___, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 947 | #endif |
whismanoid | 22:a14c19b97d0b | 948 | #if HAS_digitalInOut15 |
whismanoid | 22:a14c19b97d0b | 949 | DigitalInOut digitalInOut15(___, PIN_INPUT, PullUp, 1); |
whismanoid | 22:a14c19b97d0b | 950 | #endif |
whismanoid | 22:a14c19b97d0b | 951 | #else |
whismanoid | 22:a14c19b97d0b | 952 | // unknown target |
whismanoid | 22:a14c19b97d0b | 953 | #endif |
whismanoid | 22:a14c19b97d0b | 954 | // uncrustify-0.66.1 *INDENT-ON* |
whismanoid | 22:a14c19b97d0b | 955 | #if HAS_digitalInOut0 || HAS_digitalInOut1 \ |
whismanoid | 22:a14c19b97d0b | 956 | || HAS_digitalInOut2 || HAS_digitalInOut3 \ |
whismanoid | 22:a14c19b97d0b | 957 | || HAS_digitalInOut4 || HAS_digitalInOut5 \ |
whismanoid | 22:a14c19b97d0b | 958 | || HAS_digitalInOut6 || HAS_digitalInOut7 \ |
whismanoid | 22:a14c19b97d0b | 959 | || HAS_digitalInOut8 || HAS_digitalInOut9 \ |
whismanoid | 22:a14c19b97d0b | 960 | || HAS_digitalInOut10 || HAS_digitalInOut11 \ |
whismanoid | 22:a14c19b97d0b | 961 | || HAS_digitalInOut12 || HAS_digitalInOut13 \ |
whismanoid | 22:a14c19b97d0b | 962 | || HAS_digitalInOut14 || HAS_digitalInOut15 \ |
whismanoid | 22:a14c19b97d0b | 963 | || HAS_digitalInOut16 || HAS_digitalInOut17 |
whismanoid | 22:a14c19b97d0b | 964 | #define HAS_digitalInOuts 1 |
whismanoid | 23:abd02fed1ae4 | 965 | #else |
whismanoid | 23:abd02fed1ae4 | 966 | #warning "Note: There are no digitalInOut resources defined" |
whismanoid | 22:a14c19b97d0b | 967 | #endif |
whismanoid | 22:a14c19b97d0b | 968 | |
whismanoid | 22:a14c19b97d0b | 969 | // uncrustify-0.66.1 *INDENT-OFF* |
whismanoid | 22:a14c19b97d0b | 970 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 971 | // Declare the AnalogIn driver |
whismanoid | 22:a14c19b97d0b | 972 | // Optional analogIn support. If there is only one it should be analogIn1. |
whismanoid | 22:a14c19b97d0b | 973 | // A) analog input |
whismanoid | 22:a14c19b97d0b | 974 | #if defined(TARGET_MAX32630) |
whismanoid | 22:a14c19b97d0b | 975 | #define HAS_analogIn0 1 |
whismanoid | 22:a14c19b97d0b | 976 | #define HAS_analogIn1 1 |
whismanoid | 22:a14c19b97d0b | 977 | #define HAS_analogIn2 1 |
whismanoid | 22:a14c19b97d0b | 978 | #define HAS_analogIn3 1 |
whismanoid | 22:a14c19b97d0b | 979 | #define HAS_analogIn4 1 |
whismanoid | 22:a14c19b97d0b | 980 | #define HAS_analogIn5 1 |
whismanoid | 22:a14c19b97d0b | 981 | #define HAS_analogIn6 1 |
whismanoid | 22:a14c19b97d0b | 982 | #define HAS_analogIn7 1 |
whismanoid | 22:a14c19b97d0b | 983 | #define HAS_analogIn8 1 |
whismanoid | 22:a14c19b97d0b | 984 | #define HAS_analogIn9 1 |
whismanoid | 22:a14c19b97d0b | 985 | // #define HAS_analogIn10 0 |
whismanoid | 22:a14c19b97d0b | 986 | // #define HAS_analogIn11 0 |
whismanoid | 22:a14c19b97d0b | 987 | // #define HAS_analogIn12 0 |
whismanoid | 22:a14c19b97d0b | 988 | // #define HAS_analogIn13 0 |
whismanoid | 22:a14c19b97d0b | 989 | // #define HAS_analogIn14 0 |
whismanoid | 22:a14c19b97d0b | 990 | // #define HAS_analogIn15 0 |
whismanoid | 22:a14c19b97d0b | 991 | #if HAS_analogIn0 |
whismanoid | 22:a14c19b97d0b | 992 | AnalogIn analogIn0(AIN_0); // TARGET_MAX32630 J1.5 AIN_0 = AIN0 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 993 | #endif |
whismanoid | 22:a14c19b97d0b | 994 | #if HAS_analogIn1 |
whismanoid | 22:a14c19b97d0b | 995 | AnalogIn analogIn1(AIN_1); // TARGET_MAX32630 J1.6 AIN_1 = AIN1 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 996 | #endif |
whismanoid | 22:a14c19b97d0b | 997 | #if HAS_analogIn2 |
whismanoid | 22:a14c19b97d0b | 998 | AnalogIn analogIn2(AIN_2); // TARGET_MAX32630 J1.7 AIN_2 = AIN2 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 999 | #endif |
whismanoid | 22:a14c19b97d0b | 1000 | #if HAS_analogIn3 |
whismanoid | 22:a14c19b97d0b | 1001 | AnalogIn analogIn3(AIN_3); // TARGET_MAX32630 J1.8 AIN_3 = AIN3 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1002 | #endif |
whismanoid | 22:a14c19b97d0b | 1003 | #if HAS_analogIn4 |
whismanoid | 22:a14c19b97d0b | 1004 | AnalogIn analogIn4(AIN_4); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 1005 | #endif |
whismanoid | 22:a14c19b97d0b | 1006 | #if HAS_analogIn5 |
whismanoid | 22:a14c19b97d0b | 1007 | AnalogIn analogIn5(AIN_5); // TARGET_MAX32630 J1.6 AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 1008 | #endif |
whismanoid | 22:a14c19b97d0b | 1009 | #if HAS_analogIn6 |
whismanoid | 22:a14c19b97d0b | 1010 | AnalogIn analogIn6(AIN_6); // TARGET_MAX32630 AIN_6 = VDDB / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1011 | #endif |
whismanoid | 22:a14c19b97d0b | 1012 | #if HAS_analogIn7 |
whismanoid | 22:a14c19b97d0b | 1013 | AnalogIn analogIn7(AIN_7); // TARGET_MAX32630 AIN_7 = VDD18 fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1014 | #endif |
whismanoid | 22:a14c19b97d0b | 1015 | #if HAS_analogIn8 |
whismanoid | 22:a14c19b97d0b | 1016 | AnalogIn analogIn8(AIN_8); // TARGET_MAX32630 AIN_8 = VDD12 fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1017 | #endif |
whismanoid | 22:a14c19b97d0b | 1018 | #if HAS_analogIn9 |
whismanoid | 22:a14c19b97d0b | 1019 | AnalogIn analogIn9(AIN_9); // TARGET_MAX32630 AIN_9 = VRTC / 2.0 fullscale is 2.4V |
whismanoid | 22:a14c19b97d0b | 1020 | #endif |
whismanoid | 22:a14c19b97d0b | 1021 | #if HAS_analogIn10 |
whismanoid | 22:a14c19b97d0b | 1022 | AnalogIn analogIn10(____); // TARGET_MAX32630 AIN_10 = x undefined? |
whismanoid | 22:a14c19b97d0b | 1023 | #endif |
whismanoid | 22:a14c19b97d0b | 1024 | #if HAS_analogIn11 |
whismanoid | 22:a14c19b97d0b | 1025 | AnalogIn analogIn11(____); // TARGET_MAX32630 AIN_11 = VDDIO / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1026 | #endif |
whismanoid | 22:a14c19b97d0b | 1027 | #if HAS_analogIn12 |
whismanoid | 22:a14c19b97d0b | 1028 | AnalogIn analogIn12(____); // TARGET_MAX32630 AIN_12 = VDDIOH / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1029 | #endif |
whismanoid | 22:a14c19b97d0b | 1030 | #if HAS_analogIn13 |
whismanoid | 22:a14c19b97d0b | 1031 | AnalogIn analogIn13(____); |
whismanoid | 22:a14c19b97d0b | 1032 | #endif |
whismanoid | 22:a14c19b97d0b | 1033 | #if HAS_analogIn14 |
whismanoid | 22:a14c19b97d0b | 1034 | AnalogIn analogIn14(____); |
whismanoid | 22:a14c19b97d0b | 1035 | #endif |
whismanoid | 22:a14c19b97d0b | 1036 | #if HAS_analogIn15 |
whismanoid | 22:a14c19b97d0b | 1037 | AnalogIn analogIn15(____); |
whismanoid | 22:a14c19b97d0b | 1038 | #endif |
whismanoid | 22:a14c19b97d0b | 1039 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1040 | #elif defined(TARGET_MAX32625MBED) |
whismanoid | 22:a14c19b97d0b | 1041 | #define HAS_analogIn0 1 |
whismanoid | 22:a14c19b97d0b | 1042 | #define HAS_analogIn1 1 |
whismanoid | 22:a14c19b97d0b | 1043 | #define HAS_analogIn2 1 |
whismanoid | 22:a14c19b97d0b | 1044 | #define HAS_analogIn3 1 |
whismanoid | 22:a14c19b97d0b | 1045 | #define HAS_analogIn4 1 |
whismanoid | 22:a14c19b97d0b | 1046 | #define HAS_analogIn5 1 |
whismanoid | 22:a14c19b97d0b | 1047 | #if HAS_analogIn0 |
whismanoid | 22:a14c19b97d0b | 1048 | AnalogIn analogIn0(AIN_0); // TARGET_MAX32630 J1.5 AIN_0 = AIN0 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1049 | #endif |
whismanoid | 22:a14c19b97d0b | 1050 | #if HAS_analogIn1 |
whismanoid | 22:a14c19b97d0b | 1051 | AnalogIn analogIn1(AIN_1); // TARGET_MAX32630 J1.6 AIN_1 = AIN1 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1052 | #endif |
whismanoid | 22:a14c19b97d0b | 1053 | #if HAS_analogIn2 |
whismanoid | 22:a14c19b97d0b | 1054 | AnalogIn analogIn2(AIN_2); // TARGET_MAX32630 J1.7 AIN_2 = AIN2 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1055 | #endif |
whismanoid | 22:a14c19b97d0b | 1056 | #if HAS_analogIn3 |
whismanoid | 22:a14c19b97d0b | 1057 | AnalogIn analogIn3(AIN_3); // TARGET_MAX32630 J1.8 AIN_3 = AIN3 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1058 | #endif |
whismanoid | 22:a14c19b97d0b | 1059 | #if HAS_analogIn4 |
whismanoid | 22:a14c19b97d0b | 1060 | AnalogIn analogIn4(AIN_4); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 1061 | #endif |
whismanoid | 22:a14c19b97d0b | 1062 | #if HAS_analogIn5 |
whismanoid | 22:a14c19b97d0b | 1063 | AnalogIn analogIn5(AIN_5); // TARGET_MAX32630 J1.6 AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 1064 | #endif |
whismanoid | 22:a14c19b97d0b | 1065 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1066 | #elif defined(TARGET_MAX32620FTHR) |
whismanoid | 22:a14c19b97d0b | 1067 | #warning "TARGET_MAX32620FTHR not previously tested; need to verify analogIn0..." |
whismanoid | 22:a14c19b97d0b | 1068 | #define HAS_analogIn0 1 |
whismanoid | 22:a14c19b97d0b | 1069 | #define HAS_analogIn1 1 |
whismanoid | 22:a14c19b97d0b | 1070 | #define HAS_analogIn2 1 |
whismanoid | 22:a14c19b97d0b | 1071 | #define HAS_analogIn3 1 |
whismanoid | 22:a14c19b97d0b | 1072 | #define HAS_analogIn4 1 |
whismanoid | 22:a14c19b97d0b | 1073 | #define HAS_analogIn5 1 |
whismanoid | 22:a14c19b97d0b | 1074 | #define HAS_analogIn6 1 |
whismanoid | 22:a14c19b97d0b | 1075 | #define HAS_analogIn7 1 |
whismanoid | 22:a14c19b97d0b | 1076 | #define HAS_analogIn8 1 |
whismanoid | 22:a14c19b97d0b | 1077 | #define HAS_analogIn9 1 |
whismanoid | 22:a14c19b97d0b | 1078 | // #define HAS_analogIn10 0 |
whismanoid | 22:a14c19b97d0b | 1079 | // #define HAS_analogIn11 0 |
whismanoid | 22:a14c19b97d0b | 1080 | // #define HAS_analogIn12 0 |
whismanoid | 22:a14c19b97d0b | 1081 | // #define HAS_analogIn13 0 |
whismanoid | 22:a14c19b97d0b | 1082 | // #define HAS_analogIn14 0 |
whismanoid | 22:a14c19b97d0b | 1083 | // #define HAS_analogIn15 0 |
whismanoid | 22:a14c19b97d0b | 1084 | #if HAS_analogIn0 |
whismanoid | 22:a14c19b97d0b | 1085 | AnalogIn analogIn0(AIN_0); // TARGET_MAX32620FTHR J1.5 AIN_0 = AIN0 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1086 | #endif |
whismanoid | 22:a14c19b97d0b | 1087 | #if HAS_analogIn1 |
whismanoid | 22:a14c19b97d0b | 1088 | AnalogIn analogIn1(AIN_1); // TARGET_MAX32620FTHR J1.6 AIN_1 = AIN1 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1089 | #endif |
whismanoid | 22:a14c19b97d0b | 1090 | #if HAS_analogIn2 |
whismanoid | 22:a14c19b97d0b | 1091 | AnalogIn analogIn2(AIN_2); // TARGET_MAX32620FTHR J1.7 AIN_2 = AIN2 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1092 | #endif |
whismanoid | 22:a14c19b97d0b | 1093 | #if HAS_analogIn3 |
whismanoid | 22:a14c19b97d0b | 1094 | AnalogIn analogIn3(AIN_3); // TARGET_MAX32620FTHR J1.8 AIN_3 = AIN3 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1095 | #endif |
whismanoid | 22:a14c19b97d0b | 1096 | #if HAS_analogIn4 |
whismanoid | 22:a14c19b97d0b | 1097 | AnalogIn analogIn4(AIN_4); // TARGET_MAX32620FTHR J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 1098 | #endif |
whismanoid | 22:a14c19b97d0b | 1099 | #if HAS_analogIn5 |
whismanoid | 22:a14c19b97d0b | 1100 | AnalogIn analogIn5(AIN_5); // TARGET_MAX32620FTHR J1.6 AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 1101 | #endif |
whismanoid | 22:a14c19b97d0b | 1102 | #if HAS_analogIn6 |
whismanoid | 22:a14c19b97d0b | 1103 | AnalogIn analogIn6(AIN_6); // TARGET_MAX32620FTHR AIN_6 = VDDB / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1104 | #endif |
whismanoid | 22:a14c19b97d0b | 1105 | #if HAS_analogIn7 |
whismanoid | 22:a14c19b97d0b | 1106 | AnalogIn analogIn7(AIN_7); // TARGET_MAX32620FTHR AIN_7 = VDD18 fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1107 | #endif |
whismanoid | 22:a14c19b97d0b | 1108 | #if HAS_analogIn8 |
whismanoid | 22:a14c19b97d0b | 1109 | AnalogIn analogIn8(AIN_8); // TARGET_MAX32620FTHR AIN_8 = VDD12 fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1110 | #endif |
whismanoid | 22:a14c19b97d0b | 1111 | #if HAS_analogIn9 |
whismanoid | 22:a14c19b97d0b | 1112 | AnalogIn analogIn9(AIN_9); // TARGET_MAX32620FTHR AIN_9 = VRTC / 2.0 fullscale is 2.4V |
whismanoid | 22:a14c19b97d0b | 1113 | #endif |
whismanoid | 22:a14c19b97d0b | 1114 | #if HAS_analogIn10 |
whismanoid | 22:a14c19b97d0b | 1115 | AnalogIn analogIn10(____); // TARGET_MAX32620FTHR AIN_10 = x undefined? |
whismanoid | 22:a14c19b97d0b | 1116 | #endif |
whismanoid | 22:a14c19b97d0b | 1117 | #if HAS_analogIn11 |
whismanoid | 22:a14c19b97d0b | 1118 | AnalogIn analogIn11(____); // TARGET_MAX32620FTHR AIN_11 = VDDIO / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1119 | #endif |
whismanoid | 22:a14c19b97d0b | 1120 | #if HAS_analogIn12 |
whismanoid | 22:a14c19b97d0b | 1121 | AnalogIn analogIn12(____); // TARGET_MAX32620FTHR AIN_12 = VDDIOH / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1122 | #endif |
whismanoid | 22:a14c19b97d0b | 1123 | #if HAS_analogIn13 |
whismanoid | 22:a14c19b97d0b | 1124 | AnalogIn analogIn13(____); |
whismanoid | 22:a14c19b97d0b | 1125 | #endif |
whismanoid | 22:a14c19b97d0b | 1126 | #if HAS_analogIn14 |
whismanoid | 22:a14c19b97d0b | 1127 | AnalogIn analogIn14(____); |
whismanoid | 22:a14c19b97d0b | 1128 | #endif |
whismanoid | 22:a14c19b97d0b | 1129 | #if HAS_analogIn15 |
whismanoid | 22:a14c19b97d0b | 1130 | AnalogIn analogIn15(____); |
whismanoid | 22:a14c19b97d0b | 1131 | #endif |
whismanoid | 22:a14c19b97d0b | 1132 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1133 | #elif defined(TARGET_MAX32625PICO) |
whismanoid | 22:a14c19b97d0b | 1134 | #warning "TARGET_MAX32625PICO not previously tested; need to verify analogIn0..." |
whismanoid | 22:a14c19b97d0b | 1135 | #define HAS_analogIn0 1 |
whismanoid | 22:a14c19b97d0b | 1136 | #define HAS_analogIn1 1 |
whismanoid | 22:a14c19b97d0b | 1137 | #define HAS_analogIn2 1 |
whismanoid | 22:a14c19b97d0b | 1138 | #define HAS_analogIn3 1 |
whismanoid | 22:a14c19b97d0b | 1139 | #define HAS_analogIn4 1 |
whismanoid | 22:a14c19b97d0b | 1140 | #define HAS_analogIn5 1 |
whismanoid | 22:a14c19b97d0b | 1141 | #if HAS_analogIn0 |
whismanoid | 22:a14c19b97d0b | 1142 | AnalogIn analogIn0(AIN_0); // TARGET_MAX32630 J1.5 AIN_0 = AIN0 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1143 | #endif |
whismanoid | 22:a14c19b97d0b | 1144 | #if HAS_analogIn1 |
whismanoid | 22:a14c19b97d0b | 1145 | AnalogIn analogIn1(AIN_1); // TARGET_MAX32630 J1.6 AIN_1 = AIN1 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1146 | #endif |
whismanoid | 22:a14c19b97d0b | 1147 | #if HAS_analogIn2 |
whismanoid | 22:a14c19b97d0b | 1148 | AnalogIn analogIn2(AIN_2); // TARGET_MAX32630 J1.7 AIN_2 = AIN2 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1149 | #endif |
whismanoid | 22:a14c19b97d0b | 1150 | #if HAS_analogIn3 |
whismanoid | 22:a14c19b97d0b | 1151 | AnalogIn analogIn3(AIN_3); // TARGET_MAX32630 J1.8 AIN_3 = AIN3 pin fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1152 | #endif |
whismanoid | 22:a14c19b97d0b | 1153 | #if HAS_analogIn4 |
whismanoid | 22:a14c19b97d0b | 1154 | AnalogIn analogIn4(AIN_4); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 1155 | #endif |
whismanoid | 22:a14c19b97d0b | 1156 | #if HAS_analogIn5 |
whismanoid | 22:a14c19b97d0b | 1157 | AnalogIn analogIn5(AIN_5); // TARGET_MAX32630 J1.6 AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 1158 | #endif |
whismanoid | 22:a14c19b97d0b | 1159 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1160 | #elif defined(TARGET_MAX32600) |
whismanoid | 22:a14c19b97d0b | 1161 | #define HAS_analogIn0 1 |
whismanoid | 22:a14c19b97d0b | 1162 | #define HAS_analogIn1 1 |
whismanoid | 22:a14c19b97d0b | 1163 | #define HAS_analogIn2 1 |
whismanoid | 22:a14c19b97d0b | 1164 | #define HAS_analogIn3 1 |
whismanoid | 22:a14c19b97d0b | 1165 | #define HAS_analogIn4 1 |
whismanoid | 22:a14c19b97d0b | 1166 | #define HAS_analogIn5 1 |
whismanoid | 22:a14c19b97d0b | 1167 | #if HAS_analogIn0 |
whismanoid | 22:a14c19b97d0b | 1168 | AnalogIn analogIn0(A0); |
whismanoid | 22:a14c19b97d0b | 1169 | #endif |
whismanoid | 22:a14c19b97d0b | 1170 | #if HAS_analogIn1 |
whismanoid | 22:a14c19b97d0b | 1171 | AnalogIn analogIn1(A1); |
whismanoid | 22:a14c19b97d0b | 1172 | #endif |
whismanoid | 22:a14c19b97d0b | 1173 | #if HAS_analogIn2 |
whismanoid | 22:a14c19b97d0b | 1174 | AnalogIn analogIn2(A2); |
whismanoid | 22:a14c19b97d0b | 1175 | #endif |
whismanoid | 22:a14c19b97d0b | 1176 | #if HAS_analogIn3 |
whismanoid | 22:a14c19b97d0b | 1177 | AnalogIn analogIn3(A3); |
whismanoid | 22:a14c19b97d0b | 1178 | #endif |
whismanoid | 22:a14c19b97d0b | 1179 | #if HAS_analogIn4 |
whismanoid | 22:a14c19b97d0b | 1180 | AnalogIn analogIn4(A4); |
whismanoid | 22:a14c19b97d0b | 1181 | #endif |
whismanoid | 22:a14c19b97d0b | 1182 | #if HAS_analogIn5 |
whismanoid | 22:a14c19b97d0b | 1183 | AnalogIn analogIn5(A5); |
whismanoid | 22:a14c19b97d0b | 1184 | #endif |
whismanoid | 22:a14c19b97d0b | 1185 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1186 | #elif defined(TARGET_NUCLEO_F446RE) |
whismanoid | 22:a14c19b97d0b | 1187 | #define HAS_analogIn0 1 |
whismanoid | 22:a14c19b97d0b | 1188 | #define HAS_analogIn1 1 |
whismanoid | 22:a14c19b97d0b | 1189 | #define HAS_analogIn2 1 |
whismanoid | 22:a14c19b97d0b | 1190 | #define HAS_analogIn3 1 |
whismanoid | 22:a14c19b97d0b | 1191 | #define HAS_analogIn4 1 |
whismanoid | 22:a14c19b97d0b | 1192 | #define HAS_analogIn5 1 |
whismanoid | 22:a14c19b97d0b | 1193 | #if HAS_analogIn0 |
whismanoid | 22:a14c19b97d0b | 1194 | AnalogIn analogIn0(A0); |
whismanoid | 22:a14c19b97d0b | 1195 | #endif |
whismanoid | 22:a14c19b97d0b | 1196 | #if HAS_analogIn1 |
whismanoid | 22:a14c19b97d0b | 1197 | AnalogIn analogIn1(A1); |
whismanoid | 22:a14c19b97d0b | 1198 | #endif |
whismanoid | 22:a14c19b97d0b | 1199 | #if HAS_analogIn2 |
whismanoid | 22:a14c19b97d0b | 1200 | AnalogIn analogIn2(A2); |
whismanoid | 22:a14c19b97d0b | 1201 | #endif |
whismanoid | 22:a14c19b97d0b | 1202 | #if HAS_analogIn3 |
whismanoid | 22:a14c19b97d0b | 1203 | AnalogIn analogIn3(A3); |
whismanoid | 22:a14c19b97d0b | 1204 | #endif |
whismanoid | 22:a14c19b97d0b | 1205 | #if HAS_analogIn4 |
whismanoid | 22:a14c19b97d0b | 1206 | AnalogIn analogIn4(A4); |
whismanoid | 22:a14c19b97d0b | 1207 | #endif |
whismanoid | 22:a14c19b97d0b | 1208 | #if HAS_analogIn5 |
whismanoid | 22:a14c19b97d0b | 1209 | AnalogIn analogIn5(A5); |
whismanoid | 22:a14c19b97d0b | 1210 | #endif |
whismanoid | 22:a14c19b97d0b | 1211 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1212 | #elif defined(TARGET_NUCLEO_F401RE) |
whismanoid | 22:a14c19b97d0b | 1213 | #define HAS_analogIn0 1 |
whismanoid | 22:a14c19b97d0b | 1214 | #define HAS_analogIn1 1 |
whismanoid | 22:a14c19b97d0b | 1215 | #define HAS_analogIn2 1 |
whismanoid | 22:a14c19b97d0b | 1216 | #define HAS_analogIn3 1 |
whismanoid | 22:a14c19b97d0b | 1217 | #define HAS_analogIn4 1 |
whismanoid | 22:a14c19b97d0b | 1218 | #define HAS_analogIn5 1 |
whismanoid | 22:a14c19b97d0b | 1219 | #if HAS_analogIn0 |
whismanoid | 22:a14c19b97d0b | 1220 | AnalogIn analogIn0(A0); |
whismanoid | 22:a14c19b97d0b | 1221 | #endif |
whismanoid | 22:a14c19b97d0b | 1222 | #if HAS_analogIn1 |
whismanoid | 22:a14c19b97d0b | 1223 | AnalogIn analogIn1(A1); |
whismanoid | 22:a14c19b97d0b | 1224 | #endif |
whismanoid | 22:a14c19b97d0b | 1225 | #if HAS_analogIn2 |
whismanoid | 22:a14c19b97d0b | 1226 | AnalogIn analogIn2(A2); |
whismanoid | 22:a14c19b97d0b | 1227 | #endif |
whismanoid | 22:a14c19b97d0b | 1228 | #if HAS_analogIn3 |
whismanoid | 22:a14c19b97d0b | 1229 | AnalogIn analogIn3(A3); |
whismanoid | 22:a14c19b97d0b | 1230 | #endif |
whismanoid | 22:a14c19b97d0b | 1231 | #if HAS_analogIn4 |
whismanoid | 22:a14c19b97d0b | 1232 | AnalogIn analogIn4(A4); |
whismanoid | 22:a14c19b97d0b | 1233 | #endif |
whismanoid | 22:a14c19b97d0b | 1234 | #if HAS_analogIn5 |
whismanoid | 22:a14c19b97d0b | 1235 | AnalogIn analogIn5(A5); |
whismanoid | 22:a14c19b97d0b | 1236 | #endif |
whismanoid | 22:a14c19b97d0b | 1237 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1238 | // TODO1: TARGET=MAX32625MBED ARM Cortex-M4F 96MHz 512kB Flash 160kB SRAM |
whismanoid | 22:a14c19b97d0b | 1239 | #elif defined(TARGET_LPC1768) |
whismanoid | 22:a14c19b97d0b | 1240 | #define HAS_analogIn0 1 |
whismanoid | 22:a14c19b97d0b | 1241 | #define HAS_analogIn1 1 |
whismanoid | 22:a14c19b97d0b | 1242 | #define HAS_analogIn2 1 |
whismanoid | 22:a14c19b97d0b | 1243 | #define HAS_analogIn3 1 |
whismanoid | 22:a14c19b97d0b | 1244 | #define HAS_analogIn4 1 |
whismanoid | 22:a14c19b97d0b | 1245 | #define HAS_analogIn5 1 |
whismanoid | 22:a14c19b97d0b | 1246 | // #define HAS_analogIn6 1 |
whismanoid | 22:a14c19b97d0b | 1247 | // #define HAS_analogIn7 1 |
whismanoid | 22:a14c19b97d0b | 1248 | // #define HAS_analogIn8 1 |
whismanoid | 22:a14c19b97d0b | 1249 | // #define HAS_analogIn9 1 |
whismanoid | 22:a14c19b97d0b | 1250 | // #define HAS_analogIn10 1 |
whismanoid | 22:a14c19b97d0b | 1251 | // #define HAS_analogIn11 1 |
whismanoid | 22:a14c19b97d0b | 1252 | // #define HAS_analogIn12 1 |
whismanoid | 22:a14c19b97d0b | 1253 | // #define HAS_analogIn13 1 |
whismanoid | 22:a14c19b97d0b | 1254 | // #define HAS_analogIn14 1 |
whismanoid | 22:a14c19b97d0b | 1255 | // #define HAS_analogIn15 1 |
whismanoid | 22:a14c19b97d0b | 1256 | #if HAS_analogIn0 |
whismanoid | 22:a14c19b97d0b | 1257 | AnalogIn analogIn0(p15); // TARGET_LPC1768 P0.23/AD0.0/I2SRX_CLK/CAP3.0 |
whismanoid | 22:a14c19b97d0b | 1258 | #endif |
whismanoid | 22:a14c19b97d0b | 1259 | #if HAS_analogIn1 |
whismanoid | 22:a14c19b97d0b | 1260 | AnalogIn analogIn1(p16); // TARGET_LPC1768 P0.24/AD0.1/I2SRX_WS/CAP3.1 |
whismanoid | 22:a14c19b97d0b | 1261 | #endif |
whismanoid | 22:a14c19b97d0b | 1262 | #if HAS_analogIn2 |
whismanoid | 22:a14c19b97d0b | 1263 | AnalogIn analogIn2(p17); // TARGET_LPC1768 P0.25/AD0.2/I2SRX_SDA/TXD3 |
whismanoid | 22:a14c19b97d0b | 1264 | #endif |
whismanoid | 22:a14c19b97d0b | 1265 | #if HAS_analogIn3 |
whismanoid | 22:a14c19b97d0b | 1266 | AnalogIn analogIn3(p18); // TARGET_LPC1768 P0.26/AD0.3/AOUT/RXD3 |
whismanoid | 22:a14c19b97d0b | 1267 | #endif |
whismanoid | 22:a14c19b97d0b | 1268 | #if HAS_analogIn4 |
whismanoid | 22:a14c19b97d0b | 1269 | AnalogIn analogIn4(p19); // TARGET_LPC1768 P1.30/VBUS/AD0.4 |
whismanoid | 22:a14c19b97d0b | 1270 | #endif |
whismanoid | 22:a14c19b97d0b | 1271 | #if HAS_analogIn5 |
whismanoid | 22:a14c19b97d0b | 1272 | AnalogIn analogIn5(p20); // TARGET_LPC1768 P1.31/SCK1/AD0.5 |
whismanoid | 22:a14c19b97d0b | 1273 | #endif |
whismanoid | 22:a14c19b97d0b | 1274 | #if HAS_analogIn6 |
whismanoid | 22:a14c19b97d0b | 1275 | AnalogIn analogIn6(____); |
whismanoid | 22:a14c19b97d0b | 1276 | #endif |
whismanoid | 22:a14c19b97d0b | 1277 | #if HAS_analogIn7 |
whismanoid | 22:a14c19b97d0b | 1278 | AnalogIn analogIn7(____); |
whismanoid | 22:a14c19b97d0b | 1279 | #endif |
whismanoid | 22:a14c19b97d0b | 1280 | #if HAS_analogIn8 |
whismanoid | 22:a14c19b97d0b | 1281 | AnalogIn analogIn8(____); |
whismanoid | 22:a14c19b97d0b | 1282 | #endif |
whismanoid | 22:a14c19b97d0b | 1283 | #if HAS_analogIn9 |
whismanoid | 22:a14c19b97d0b | 1284 | AnalogIn analogIn9(____); |
whismanoid | 22:a14c19b97d0b | 1285 | #endif |
whismanoid | 22:a14c19b97d0b | 1286 | #if HAS_analogIn10 |
whismanoid | 22:a14c19b97d0b | 1287 | AnalogIn analogIn10(____); |
whismanoid | 22:a14c19b97d0b | 1288 | #endif |
whismanoid | 22:a14c19b97d0b | 1289 | #if HAS_analogIn11 |
whismanoid | 22:a14c19b97d0b | 1290 | AnalogIn analogIn11(____); |
whismanoid | 22:a14c19b97d0b | 1291 | #endif |
whismanoid | 22:a14c19b97d0b | 1292 | #if HAS_analogIn12 |
whismanoid | 22:a14c19b97d0b | 1293 | AnalogIn analogIn12(____); |
whismanoid | 22:a14c19b97d0b | 1294 | #endif |
whismanoid | 22:a14c19b97d0b | 1295 | #if HAS_analogIn13 |
whismanoid | 22:a14c19b97d0b | 1296 | AnalogIn analogIn13(____); |
whismanoid | 22:a14c19b97d0b | 1297 | #endif |
whismanoid | 22:a14c19b97d0b | 1298 | #if HAS_analogIn14 |
whismanoid | 22:a14c19b97d0b | 1299 | AnalogIn analogIn14(____); |
whismanoid | 22:a14c19b97d0b | 1300 | #endif |
whismanoid | 22:a14c19b97d0b | 1301 | #if HAS_analogIn15 |
whismanoid | 22:a14c19b97d0b | 1302 | AnalogIn analogIn15(____); |
whismanoid | 22:a14c19b97d0b | 1303 | #endif |
whismanoid | 22:a14c19b97d0b | 1304 | #else |
whismanoid | 22:a14c19b97d0b | 1305 | // unknown target |
whismanoid | 22:a14c19b97d0b | 1306 | #endif |
whismanoid | 22:a14c19b97d0b | 1307 | // uncrustify-0.66.1 *INDENT-ON* |
whismanoid | 22:a14c19b97d0b | 1308 | #if HAS_analogIn0 || HAS_analogIn1 \ |
whismanoid | 22:a14c19b97d0b | 1309 | || HAS_analogIn2 || HAS_analogIn3 \ |
whismanoid | 22:a14c19b97d0b | 1310 | || HAS_analogIn4 || HAS_analogIn5 \ |
whismanoid | 22:a14c19b97d0b | 1311 | || HAS_analogIn6 || HAS_analogIn7 \ |
whismanoid | 22:a14c19b97d0b | 1312 | || HAS_analogIn8 || HAS_analogIn9 \ |
whismanoid | 22:a14c19b97d0b | 1313 | || HAS_analogIn10 || HAS_analogIn11 \ |
whismanoid | 22:a14c19b97d0b | 1314 | || HAS_analogIn12 || HAS_analogIn13 \ |
whismanoid | 22:a14c19b97d0b | 1315 | || HAS_analogIn14 || HAS_analogIn15 |
whismanoid | 22:a14c19b97d0b | 1316 | #define HAS_analogIns 1 |
whismanoid | 23:abd02fed1ae4 | 1317 | #else |
whismanoid | 23:abd02fed1ae4 | 1318 | #warning "Note: There are no analogIn resources defined" |
whismanoid | 22:a14c19b97d0b | 1319 | #endif |
whismanoid | 22:a14c19b97d0b | 1320 | |
whismanoid | 22:a14c19b97d0b | 1321 | // DigitalInOut pin resource: print the pin index names to serial |
whismanoid | 22:a14c19b97d0b | 1322 | #if HAS_digitalInOuts |
whismanoid | 22:a14c19b97d0b | 1323 | void list_digitalInOutPins(Stream& serialStream) |
whismanoid | 22:a14c19b97d0b | 1324 | { |
whismanoid | 22:a14c19b97d0b | 1325 | #if HAS_digitalInOut0 |
whismanoid | 22:a14c19b97d0b | 1326 | serialStream.printf(" 0"); |
whismanoid | 22:a14c19b97d0b | 1327 | #endif |
whismanoid | 22:a14c19b97d0b | 1328 | #if HAS_digitalInOut1 |
whismanoid | 22:a14c19b97d0b | 1329 | serialStream.printf(" 1"); |
whismanoid | 22:a14c19b97d0b | 1330 | #endif |
whismanoid | 22:a14c19b97d0b | 1331 | #if HAS_digitalInOut2 |
whismanoid | 22:a14c19b97d0b | 1332 | serialStream.printf(" 2"); |
whismanoid | 22:a14c19b97d0b | 1333 | #endif |
whismanoid | 22:a14c19b97d0b | 1334 | #if HAS_digitalInOut3 |
whismanoid | 22:a14c19b97d0b | 1335 | serialStream.printf(" 3"); |
whismanoid | 22:a14c19b97d0b | 1336 | #endif |
whismanoid | 22:a14c19b97d0b | 1337 | #if HAS_digitalInOut4 |
whismanoid | 22:a14c19b97d0b | 1338 | serialStream.printf(" 4"); |
whismanoid | 22:a14c19b97d0b | 1339 | #endif |
whismanoid | 22:a14c19b97d0b | 1340 | #if HAS_digitalInOut5 |
whismanoid | 22:a14c19b97d0b | 1341 | serialStream.printf(" 5"); |
whismanoid | 22:a14c19b97d0b | 1342 | #endif |
whismanoid | 22:a14c19b97d0b | 1343 | #if HAS_digitalInOut6 |
whismanoid | 22:a14c19b97d0b | 1344 | serialStream.printf(" 6"); |
whismanoid | 22:a14c19b97d0b | 1345 | #endif |
whismanoid | 22:a14c19b97d0b | 1346 | #if HAS_digitalInOut7 |
whismanoid | 22:a14c19b97d0b | 1347 | serialStream.printf(" 7"); |
whismanoid | 22:a14c19b97d0b | 1348 | #endif |
whismanoid | 22:a14c19b97d0b | 1349 | #if HAS_digitalInOut8 |
whismanoid | 22:a14c19b97d0b | 1350 | serialStream.printf(" 8"); |
whismanoid | 22:a14c19b97d0b | 1351 | #endif |
whismanoid | 22:a14c19b97d0b | 1352 | #if HAS_digitalInOut9 |
whismanoid | 22:a14c19b97d0b | 1353 | serialStream.printf(" 9"); |
whismanoid | 22:a14c19b97d0b | 1354 | #endif |
whismanoid | 22:a14c19b97d0b | 1355 | #if HAS_digitalInOut10 |
whismanoid | 22:a14c19b97d0b | 1356 | serialStream.printf(" 10"); |
whismanoid | 22:a14c19b97d0b | 1357 | #endif |
whismanoid | 22:a14c19b97d0b | 1358 | #if HAS_digitalInOut11 |
whismanoid | 22:a14c19b97d0b | 1359 | serialStream.printf(" 11"); |
whismanoid | 22:a14c19b97d0b | 1360 | #endif |
whismanoid | 22:a14c19b97d0b | 1361 | #if HAS_digitalInOut12 |
whismanoid | 22:a14c19b97d0b | 1362 | serialStream.printf(" 12"); |
whismanoid | 22:a14c19b97d0b | 1363 | #endif |
whismanoid | 22:a14c19b97d0b | 1364 | #if HAS_digitalInOut13 |
whismanoid | 22:a14c19b97d0b | 1365 | serialStream.printf(" 13"); |
whismanoid | 22:a14c19b97d0b | 1366 | #endif |
whismanoid | 22:a14c19b97d0b | 1367 | #if HAS_digitalInOut14 |
whismanoid | 22:a14c19b97d0b | 1368 | serialStream.printf(" 14"); |
whismanoid | 22:a14c19b97d0b | 1369 | #endif |
whismanoid | 22:a14c19b97d0b | 1370 | #if HAS_digitalInOut15 |
whismanoid | 22:a14c19b97d0b | 1371 | serialStream.printf(" 15"); |
whismanoid | 22:a14c19b97d0b | 1372 | #endif |
whismanoid | 22:a14c19b97d0b | 1373 | #if HAS_digitalInOut16 |
whismanoid | 22:a14c19b97d0b | 1374 | serialStream.printf(" 16"); |
whismanoid | 22:a14c19b97d0b | 1375 | #endif |
whismanoid | 22:a14c19b97d0b | 1376 | #if HAS_digitalInOut17 |
whismanoid | 22:a14c19b97d0b | 1377 | serialStream.printf(" 17"); |
whismanoid | 22:a14c19b97d0b | 1378 | #endif |
whismanoid | 22:a14c19b97d0b | 1379 | } |
whismanoid | 22:a14c19b97d0b | 1380 | #endif |
whismanoid | 22:a14c19b97d0b | 1381 | |
whismanoid | 22:a14c19b97d0b | 1382 | |
whismanoid | 22:a14c19b97d0b | 1383 | // DigitalInOut pin resource: search index |
whismanoid | 22:a14c19b97d0b | 1384 | #if HAS_digitalInOuts |
whismanoid | 22:a14c19b97d0b | 1385 | DigitalInOut& find_digitalInOutPin(int cPinIndex) |
whismanoid | 22:a14c19b97d0b | 1386 | { |
whismanoid | 22:a14c19b97d0b | 1387 | switch (cPinIndex) |
whismanoid | 22:a14c19b97d0b | 1388 | { |
whismanoid | 22:a14c19b97d0b | 1389 | default: // default to the first defined digitalInOut pin |
whismanoid | 22:a14c19b97d0b | 1390 | #if HAS_digitalInOut0 |
whismanoid | 22:a14c19b97d0b | 1391 | case '0': case 0x00: return digitalInOut0; |
whismanoid | 22:a14c19b97d0b | 1392 | #endif |
whismanoid | 22:a14c19b97d0b | 1393 | #if HAS_digitalInOut1 |
whismanoid | 22:a14c19b97d0b | 1394 | case '1': case 0x01: return digitalInOut1; |
whismanoid | 22:a14c19b97d0b | 1395 | #endif |
whismanoid | 22:a14c19b97d0b | 1396 | #if HAS_digitalInOut2 |
whismanoid | 22:a14c19b97d0b | 1397 | case '2': case 0x02: return digitalInOut2; |
whismanoid | 22:a14c19b97d0b | 1398 | #endif |
whismanoid | 22:a14c19b97d0b | 1399 | #if HAS_digitalInOut3 |
whismanoid | 22:a14c19b97d0b | 1400 | case '3': case 0x03: return digitalInOut3; |
whismanoid | 22:a14c19b97d0b | 1401 | #endif |
whismanoid | 22:a14c19b97d0b | 1402 | #if HAS_digitalInOut4 |
whismanoid | 22:a14c19b97d0b | 1403 | case '4': case 0x04: return digitalInOut4; |
whismanoid | 22:a14c19b97d0b | 1404 | #endif |
whismanoid | 22:a14c19b97d0b | 1405 | #if HAS_digitalInOut5 |
whismanoid | 22:a14c19b97d0b | 1406 | case '5': case 0x05: return digitalInOut5; |
whismanoid | 22:a14c19b97d0b | 1407 | #endif |
whismanoid | 22:a14c19b97d0b | 1408 | #if HAS_digitalInOut6 |
whismanoid | 22:a14c19b97d0b | 1409 | case '6': case 0x06: return digitalInOut6; |
whismanoid | 22:a14c19b97d0b | 1410 | #endif |
whismanoid | 22:a14c19b97d0b | 1411 | #if HAS_digitalInOut7 |
whismanoid | 22:a14c19b97d0b | 1412 | case '7': case 0x07: return digitalInOut7; |
whismanoid | 22:a14c19b97d0b | 1413 | #endif |
whismanoid | 22:a14c19b97d0b | 1414 | #if HAS_digitalInOut8 |
whismanoid | 22:a14c19b97d0b | 1415 | case '8': case 0x08: return digitalInOut8; |
whismanoid | 22:a14c19b97d0b | 1416 | #endif |
whismanoid | 22:a14c19b97d0b | 1417 | #if HAS_digitalInOut9 |
whismanoid | 22:a14c19b97d0b | 1418 | case '9': case 0x09: return digitalInOut9; |
whismanoid | 22:a14c19b97d0b | 1419 | #endif |
whismanoid | 22:a14c19b97d0b | 1420 | #if HAS_digitalInOut10 |
whismanoid | 22:a14c19b97d0b | 1421 | case 'a': case 0x0a: return digitalInOut10; |
whismanoid | 22:a14c19b97d0b | 1422 | #endif |
whismanoid | 22:a14c19b97d0b | 1423 | #if HAS_digitalInOut11 |
whismanoid | 22:a14c19b97d0b | 1424 | case 'b': case 0x0b: return digitalInOut11; |
whismanoid | 22:a14c19b97d0b | 1425 | #endif |
whismanoid | 22:a14c19b97d0b | 1426 | #if HAS_digitalInOut12 |
whismanoid | 22:a14c19b97d0b | 1427 | case 'c': case 0x0c: return digitalInOut12; |
whismanoid | 22:a14c19b97d0b | 1428 | #endif |
whismanoid | 22:a14c19b97d0b | 1429 | #if HAS_digitalInOut13 |
whismanoid | 22:a14c19b97d0b | 1430 | case 'd': case 0x0d: return digitalInOut13; |
whismanoid | 22:a14c19b97d0b | 1431 | #endif |
whismanoid | 22:a14c19b97d0b | 1432 | #if HAS_digitalInOut14 |
whismanoid | 22:a14c19b97d0b | 1433 | case 'e': case 0x0e: return digitalInOut14; |
whismanoid | 22:a14c19b97d0b | 1434 | #endif |
whismanoid | 22:a14c19b97d0b | 1435 | #if HAS_digitalInOut15 |
whismanoid | 22:a14c19b97d0b | 1436 | case 'f': case 0x0f: return digitalInOut15; |
whismanoid | 22:a14c19b97d0b | 1437 | #endif |
whismanoid | 22:a14c19b97d0b | 1438 | #if HAS_digitalInOut16 |
whismanoid | 22:a14c19b97d0b | 1439 | case 'g': case 0x10: return digitalInOut16; |
whismanoid | 22:a14c19b97d0b | 1440 | #endif |
whismanoid | 22:a14c19b97d0b | 1441 | #if HAS_digitalInOut17 |
whismanoid | 22:a14c19b97d0b | 1442 | case 'h': case 0x11: return digitalInOut17; |
whismanoid | 22:a14c19b97d0b | 1443 | #endif |
whismanoid | 22:a14c19b97d0b | 1444 | } |
whismanoid | 22:a14c19b97d0b | 1445 | } |
whismanoid | 22:a14c19b97d0b | 1446 | #endif |
whismanoid | 22:a14c19b97d0b | 1447 | |
whismanoid | 22:a14c19b97d0b | 1448 | |
whismanoid | 22:a14c19b97d0b | 1449 | // AnalogIn pin resource: search index |
whismanoid | 22:a14c19b97d0b | 1450 | #if HAS_analogIns |
whismanoid | 22:a14c19b97d0b | 1451 | AnalogIn& find_analogInPin(int cPinIndex) |
whismanoid | 22:a14c19b97d0b | 1452 | { |
whismanoid | 22:a14c19b97d0b | 1453 | switch (cPinIndex) |
whismanoid | 22:a14c19b97d0b | 1454 | { |
whismanoid | 22:a14c19b97d0b | 1455 | default: // default to the first defined analogIn pin |
whismanoid | 22:a14c19b97d0b | 1456 | #if HAS_analogIn0 |
whismanoid | 22:a14c19b97d0b | 1457 | case '0': case 0x00: return analogIn0; |
whismanoid | 22:a14c19b97d0b | 1458 | #endif |
whismanoid | 22:a14c19b97d0b | 1459 | #if HAS_analogIn1 |
whismanoid | 22:a14c19b97d0b | 1460 | case '1': case 0x01: return analogIn1; |
whismanoid | 22:a14c19b97d0b | 1461 | #endif |
whismanoid | 22:a14c19b97d0b | 1462 | #if HAS_analogIn2 |
whismanoid | 22:a14c19b97d0b | 1463 | case '2': case 0x02: return analogIn2; |
whismanoid | 22:a14c19b97d0b | 1464 | #endif |
whismanoid | 22:a14c19b97d0b | 1465 | #if HAS_analogIn3 |
whismanoid | 22:a14c19b97d0b | 1466 | case '3': case 0x03: return analogIn3; |
whismanoid | 22:a14c19b97d0b | 1467 | #endif |
whismanoid | 22:a14c19b97d0b | 1468 | #if HAS_analogIn4 |
whismanoid | 22:a14c19b97d0b | 1469 | case '4': case 0x04: return analogIn4; |
whismanoid | 22:a14c19b97d0b | 1470 | #endif |
whismanoid | 22:a14c19b97d0b | 1471 | #if HAS_analogIn5 |
whismanoid | 22:a14c19b97d0b | 1472 | case '5': case 0x05: return analogIn5; |
whismanoid | 22:a14c19b97d0b | 1473 | #endif |
whismanoid | 22:a14c19b97d0b | 1474 | #if HAS_analogIn6 |
whismanoid | 22:a14c19b97d0b | 1475 | case '6': case 0x06: return analogIn6; |
whismanoid | 22:a14c19b97d0b | 1476 | #endif |
whismanoid | 22:a14c19b97d0b | 1477 | #if HAS_analogIn7 |
whismanoid | 22:a14c19b97d0b | 1478 | case '7': case 0x07: return analogIn7; |
whismanoid | 22:a14c19b97d0b | 1479 | #endif |
whismanoid | 22:a14c19b97d0b | 1480 | #if HAS_analogIn8 |
whismanoid | 22:a14c19b97d0b | 1481 | case '8': case 0x08: return analogIn8; |
whismanoid | 22:a14c19b97d0b | 1482 | #endif |
whismanoid | 22:a14c19b97d0b | 1483 | #if HAS_analogIn9 |
whismanoid | 22:a14c19b97d0b | 1484 | case '9': case 0x09: return analogIn9; |
whismanoid | 22:a14c19b97d0b | 1485 | #endif |
whismanoid | 22:a14c19b97d0b | 1486 | #if HAS_analogIn10 |
whismanoid | 22:a14c19b97d0b | 1487 | case 'a': case 0x0a: return analogIn10; |
whismanoid | 22:a14c19b97d0b | 1488 | #endif |
whismanoid | 22:a14c19b97d0b | 1489 | #if HAS_analogIn11 |
whismanoid | 22:a14c19b97d0b | 1490 | case 'b': case 0x0b: return analogIn11; |
whismanoid | 22:a14c19b97d0b | 1491 | #endif |
whismanoid | 22:a14c19b97d0b | 1492 | #if HAS_analogIn12 |
whismanoid | 22:a14c19b97d0b | 1493 | case 'c': case 0x0c: return analogIn12; |
whismanoid | 22:a14c19b97d0b | 1494 | #endif |
whismanoid | 22:a14c19b97d0b | 1495 | #if HAS_analogIn13 |
whismanoid | 22:a14c19b97d0b | 1496 | case 'd': case 0x0d: return analogIn13; |
whismanoid | 22:a14c19b97d0b | 1497 | #endif |
whismanoid | 22:a14c19b97d0b | 1498 | #if HAS_analogIn14 |
whismanoid | 22:a14c19b97d0b | 1499 | case 'e': case 0x0e: return analogIn14; |
whismanoid | 22:a14c19b97d0b | 1500 | #endif |
whismanoid | 22:a14c19b97d0b | 1501 | #if HAS_analogIn15 |
whismanoid | 22:a14c19b97d0b | 1502 | case 'f': case 0x0f: return analogIn15; |
whismanoid | 22:a14c19b97d0b | 1503 | #endif |
whismanoid | 22:a14c19b97d0b | 1504 | } |
whismanoid | 22:a14c19b97d0b | 1505 | } |
whismanoid | 22:a14c19b97d0b | 1506 | #endif |
whismanoid | 22:a14c19b97d0b | 1507 | |
whismanoid | 22:a14c19b97d0b | 1508 | #if HAS_analogIns |
whismanoid | 22:a14c19b97d0b | 1509 | const float analogInPin_fullScaleVoltage[] = { |
whismanoid | 22:a14c19b97d0b | 1510 | # if defined(TARGET_MAX32630) |
whismanoid | 22:a14c19b97d0b | 1511 | ADC_FULL_SCALE_VOLTAGE, // analogIn0 |
whismanoid | 22:a14c19b97d0b | 1512 | ADC_FULL_SCALE_VOLTAGE, // analogIn1 |
whismanoid | 22:a14c19b97d0b | 1513 | ADC_FULL_SCALE_VOLTAGE, // analogIn2 |
whismanoid | 22:a14c19b97d0b | 1514 | ADC_FULL_SCALE_VOLTAGE, // analogIn3 |
whismanoid | 22:a14c19b97d0b | 1515 | ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 1516 | ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 1517 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn6 // AIN_6 = VDDB / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1518 | ADC_FULL_SCALE_VOLTAGE, // analogIn7 // AIN_7 = VDD18 fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1519 | ADC_FULL_SCALE_VOLTAGE, // analogIn8 // AIN_8 = VDD12 fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1520 | ADC_FULL_SCALE_VOLTAGE * 2.0f, // analogIn9 // AIN_9 = VRTC / 2.0 fullscale is 2.4V |
whismanoid | 22:a14c19b97d0b | 1521 | ADC_FULL_SCALE_VOLTAGE, // analogIn10 // AIN_10 = x undefined? |
whismanoid | 22:a14c19b97d0b | 1522 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn11 // AIN_11 = VDDIO / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1523 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn12 // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1524 | ADC_FULL_SCALE_VOLTAGE, // analogIn13 |
whismanoid | 22:a14c19b97d0b | 1525 | ADC_FULL_SCALE_VOLTAGE, // analogIn14 |
whismanoid | 22:a14c19b97d0b | 1526 | ADC_FULL_SCALE_VOLTAGE // analogIn15 |
whismanoid | 22:a14c19b97d0b | 1527 | # elif defined(TARGET_MAX32620FTHR) |
whismanoid | 22:a14c19b97d0b | 1528 | #warning "TARGET_MAX32620FTHR not previously tested; need to verify analogIn0..." |
whismanoid | 22:a14c19b97d0b | 1529 | ADC_FULL_SCALE_VOLTAGE, // analogIn0 |
whismanoid | 22:a14c19b97d0b | 1530 | ADC_FULL_SCALE_VOLTAGE, // analogIn1 |
whismanoid | 22:a14c19b97d0b | 1531 | ADC_FULL_SCALE_VOLTAGE, // analogIn2 |
whismanoid | 22:a14c19b97d0b | 1532 | ADC_FULL_SCALE_VOLTAGE, // analogIn3 |
whismanoid | 22:a14c19b97d0b | 1533 | ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 1534 | ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 1535 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn6 // AIN_6 = VDDB / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1536 | ADC_FULL_SCALE_VOLTAGE, // analogIn7 // AIN_7 = VDD18 fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1537 | ADC_FULL_SCALE_VOLTAGE, // analogIn8 // AIN_8 = VDD12 fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1538 | ADC_FULL_SCALE_VOLTAGE * 2.0f, // analogIn9 // AIN_9 = VRTC / 2.0 fullscale is 2.4V |
whismanoid | 22:a14c19b97d0b | 1539 | ADC_FULL_SCALE_VOLTAGE, // analogIn10 // AIN_10 = x undefined? |
whismanoid | 22:a14c19b97d0b | 1540 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn11 // AIN_11 = VDDIO / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1541 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn12 // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1542 | ADC_FULL_SCALE_VOLTAGE, // analogIn13 |
whismanoid | 22:a14c19b97d0b | 1543 | ADC_FULL_SCALE_VOLTAGE, // analogIn14 |
whismanoid | 22:a14c19b97d0b | 1544 | ADC_FULL_SCALE_VOLTAGE // analogIn15 |
whismanoid | 22:a14c19b97d0b | 1545 | #elif defined(TARGET_MAX32625MBED) |
whismanoid | 22:a14c19b97d0b | 1546 | ADC_FULL_SCALE_VOLTAGE * 1.0f, // analogIn0 // fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1547 | ADC_FULL_SCALE_VOLTAGE * 1.0f, // analogIn1 // fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1548 | ADC_FULL_SCALE_VOLTAGE * 1.0f, // analogIn2 // fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1549 | ADC_FULL_SCALE_VOLTAGE * 1.0f, // analogIn3 // fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1550 | ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 1551 | ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_5 = AIN1 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 1552 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn6 // AIN_6 = VDDB / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1553 | ADC_FULL_SCALE_VOLTAGE, // analogIn7 // AIN_7 = VDD18 fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1554 | ADC_FULL_SCALE_VOLTAGE, // analogIn8 // AIN_8 = VDD12 fullscale is 1.2V |
whismanoid | 22:a14c19b97d0b | 1555 | ADC_FULL_SCALE_VOLTAGE * 2.0f, // analogIn9 // AIN_9 = VRTC / 2.0 fullscale is 2.4V |
whismanoid | 22:a14c19b97d0b | 1556 | ADC_FULL_SCALE_VOLTAGE, // analogIn10 // AIN_10 = x undefined? |
whismanoid | 22:a14c19b97d0b | 1557 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn11 // AIN_11 = VDDIO / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1558 | ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn12 // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V |
whismanoid | 22:a14c19b97d0b | 1559 | ADC_FULL_SCALE_VOLTAGE, // analogIn13 |
whismanoid | 22:a14c19b97d0b | 1560 | ADC_FULL_SCALE_VOLTAGE, // analogIn14 |
whismanoid | 22:a14c19b97d0b | 1561 | ADC_FULL_SCALE_VOLTAGE // analogIn15 |
whismanoid | 22:a14c19b97d0b | 1562 | #elif defined(TARGET_NUCLEO_F446RE) |
whismanoid | 22:a14c19b97d0b | 1563 | ADC_FULL_SCALE_VOLTAGE, // analogIn0 |
whismanoid | 22:a14c19b97d0b | 1564 | ADC_FULL_SCALE_VOLTAGE, // analogIn1 |
whismanoid | 22:a14c19b97d0b | 1565 | ADC_FULL_SCALE_VOLTAGE, // analogIn2 |
whismanoid | 22:a14c19b97d0b | 1566 | ADC_FULL_SCALE_VOLTAGE, // analogIn3 |
whismanoid | 22:a14c19b97d0b | 1567 | ADC_FULL_SCALE_VOLTAGE, // analogIn4 |
whismanoid | 22:a14c19b97d0b | 1568 | ADC_FULL_SCALE_VOLTAGE, // analogIn5 |
whismanoid | 22:a14c19b97d0b | 1569 | ADC_FULL_SCALE_VOLTAGE, // analogIn6 |
whismanoid | 22:a14c19b97d0b | 1570 | ADC_FULL_SCALE_VOLTAGE, // analogIn7 |
whismanoid | 22:a14c19b97d0b | 1571 | ADC_FULL_SCALE_VOLTAGE, // analogIn8 |
whismanoid | 22:a14c19b97d0b | 1572 | ADC_FULL_SCALE_VOLTAGE, // analogIn9 |
whismanoid | 22:a14c19b97d0b | 1573 | ADC_FULL_SCALE_VOLTAGE, // analogIn10 |
whismanoid | 22:a14c19b97d0b | 1574 | ADC_FULL_SCALE_VOLTAGE, // analogIn11 |
whismanoid | 22:a14c19b97d0b | 1575 | ADC_FULL_SCALE_VOLTAGE, // analogIn12 |
whismanoid | 22:a14c19b97d0b | 1576 | ADC_FULL_SCALE_VOLTAGE, // analogIn13 |
whismanoid | 22:a14c19b97d0b | 1577 | ADC_FULL_SCALE_VOLTAGE, // analogIn14 |
whismanoid | 22:a14c19b97d0b | 1578 | ADC_FULL_SCALE_VOLTAGE // analogIn15 |
whismanoid | 22:a14c19b97d0b | 1579 | #elif defined(TARGET_NUCLEO_F401RE) |
whismanoid | 22:a14c19b97d0b | 1580 | ADC_FULL_SCALE_VOLTAGE, // analogIn0 |
whismanoid | 22:a14c19b97d0b | 1581 | ADC_FULL_SCALE_VOLTAGE, // analogIn1 |
whismanoid | 22:a14c19b97d0b | 1582 | ADC_FULL_SCALE_VOLTAGE, // analogIn2 |
whismanoid | 22:a14c19b97d0b | 1583 | ADC_FULL_SCALE_VOLTAGE, // analogIn3 |
whismanoid | 22:a14c19b97d0b | 1584 | ADC_FULL_SCALE_VOLTAGE, // analogIn4 |
whismanoid | 22:a14c19b97d0b | 1585 | ADC_FULL_SCALE_VOLTAGE, // analogIn5 |
whismanoid | 22:a14c19b97d0b | 1586 | ADC_FULL_SCALE_VOLTAGE, // analogIn6 |
whismanoid | 22:a14c19b97d0b | 1587 | ADC_FULL_SCALE_VOLTAGE, // analogIn7 |
whismanoid | 22:a14c19b97d0b | 1588 | ADC_FULL_SCALE_VOLTAGE, // analogIn8 |
whismanoid | 22:a14c19b97d0b | 1589 | ADC_FULL_SCALE_VOLTAGE, // analogIn9 |
whismanoid | 22:a14c19b97d0b | 1590 | ADC_FULL_SCALE_VOLTAGE, // analogIn10 |
whismanoid | 22:a14c19b97d0b | 1591 | ADC_FULL_SCALE_VOLTAGE, // analogIn11 |
whismanoid | 22:a14c19b97d0b | 1592 | ADC_FULL_SCALE_VOLTAGE, // analogIn12 |
whismanoid | 22:a14c19b97d0b | 1593 | ADC_FULL_SCALE_VOLTAGE, // analogIn13 |
whismanoid | 22:a14c19b97d0b | 1594 | ADC_FULL_SCALE_VOLTAGE, // analogIn14 |
whismanoid | 22:a14c19b97d0b | 1595 | ADC_FULL_SCALE_VOLTAGE // analogIn15 |
whismanoid | 22:a14c19b97d0b | 1596 | //#elif defined(TARGET_LPC1768) |
whismanoid | 22:a14c19b97d0b | 1597 | #else |
whismanoid | 22:a14c19b97d0b | 1598 | // unknown target |
whismanoid | 22:a14c19b97d0b | 1599 | ADC_FULL_SCALE_VOLTAGE, // analogIn0 |
whismanoid | 22:a14c19b97d0b | 1600 | ADC_FULL_SCALE_VOLTAGE, // analogIn1 |
whismanoid | 22:a14c19b97d0b | 1601 | ADC_FULL_SCALE_VOLTAGE, // analogIn2 |
whismanoid | 22:a14c19b97d0b | 1602 | ADC_FULL_SCALE_VOLTAGE, // analogIn3 |
whismanoid | 22:a14c19b97d0b | 1603 | ADC_FULL_SCALE_VOLTAGE, // analogIn4 |
whismanoid | 22:a14c19b97d0b | 1604 | ADC_FULL_SCALE_VOLTAGE, // analogIn5 |
whismanoid | 22:a14c19b97d0b | 1605 | ADC_FULL_SCALE_VOLTAGE, // analogIn6 |
whismanoid | 22:a14c19b97d0b | 1606 | ADC_FULL_SCALE_VOLTAGE, // analogIn7 |
whismanoid | 22:a14c19b97d0b | 1607 | ADC_FULL_SCALE_VOLTAGE, // analogIn8 |
whismanoid | 22:a14c19b97d0b | 1608 | ADC_FULL_SCALE_VOLTAGE, // analogIn9 |
whismanoid | 22:a14c19b97d0b | 1609 | ADC_FULL_SCALE_VOLTAGE, // analogIn10 |
whismanoid | 22:a14c19b97d0b | 1610 | ADC_FULL_SCALE_VOLTAGE, // analogIn11 |
whismanoid | 22:a14c19b97d0b | 1611 | ADC_FULL_SCALE_VOLTAGE, // analogIn12 |
whismanoid | 22:a14c19b97d0b | 1612 | ADC_FULL_SCALE_VOLTAGE, // analogIn13 |
whismanoid | 22:a14c19b97d0b | 1613 | ADC_FULL_SCALE_VOLTAGE, // analogIn14 |
whismanoid | 22:a14c19b97d0b | 1614 | ADC_FULL_SCALE_VOLTAGE // analogIn15 |
whismanoid | 22:a14c19b97d0b | 1615 | # endif |
whismanoid | 22:a14c19b97d0b | 1616 | }; |
whismanoid | 22:a14c19b97d0b | 1617 | #endif |
whismanoid | 22:a14c19b97d0b | 1618 | |
whismanoid | 22:a14c19b97d0b | 1619 | |
whismanoid | 22:a14c19b97d0b | 1620 | |
whismanoid | 22:a14c19b97d0b | 1621 | |
whismanoid | 22:a14c19b97d0b | 1622 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1623 | // Option to use LEDs to show status |
whismanoid | 22:a14c19b97d0b | 1624 | #ifndef USE_LEDS |
whismanoid | 22:a14c19b97d0b | 1625 | #define USE_LEDS 1 |
whismanoid | 22:a14c19b97d0b | 1626 | #endif |
whismanoid | 22:a14c19b97d0b | 1627 | #if USE_LEDS |
whismanoid | 22:a14c19b97d0b | 1628 | #if defined(TARGET_MAX32630) |
whismanoid | 22:a14c19b97d0b | 1629 | # define LED_ON 0 |
whismanoid | 22:a14c19b97d0b | 1630 | # define LED_OFF 1 |
whismanoid | 22:a14c19b97d0b | 1631 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1632 | #elif defined(TARGET_MAX32625MBED) |
whismanoid | 22:a14c19b97d0b | 1633 | # define LED_ON 0 |
whismanoid | 22:a14c19b97d0b | 1634 | # define LED_OFF 1 |
whismanoid | 22:a14c19b97d0b | 1635 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1636 | // TODO1: TARGET=MAX32625MBED ARM Cortex-M4F 96MHz 512kB Flash 160kB SRAM |
whismanoid | 22:a14c19b97d0b | 1637 | #elif defined(TARGET_LPC1768) |
whismanoid | 22:a14c19b97d0b | 1638 | # define LED_ON 1 |
whismanoid | 22:a14c19b97d0b | 1639 | # define LED_OFF 0 |
whismanoid | 22:a14c19b97d0b | 1640 | #else // not defined(TARGET_LPC1768 etc.) |
whismanoid | 22:a14c19b97d0b | 1641 | // USE_LEDS with some platform other than MAX32630, MAX32625MBED, LPC1768 |
whismanoid | 22:a14c19b97d0b | 1642 | // bugfix for MAX32600MBED LED blink pattern: check if LED_ON/LED_OFF already defined |
whismanoid | 22:a14c19b97d0b | 1643 | # ifndef LED_ON |
whismanoid | 22:a14c19b97d0b | 1644 | # define LED_ON 0 |
whismanoid | 22:a14c19b97d0b | 1645 | # endif |
whismanoid | 22:a14c19b97d0b | 1646 | # ifndef LED_OFF |
whismanoid | 22:a14c19b97d0b | 1647 | # define LED_OFF 1 |
whismanoid | 22:a14c19b97d0b | 1648 | # endif |
whismanoid | 22:a14c19b97d0b | 1649 | //# define LED_ON 1 |
whismanoid | 22:a14c19b97d0b | 1650 | //# define LED_OFF 0 |
whismanoid | 22:a14c19b97d0b | 1651 | #endif // target definition |
whismanoid | 22:a14c19b97d0b | 1652 | DigitalOut led1(LED1, LED_OFF); // MAX32630FTHR: LED1 = LED_RED |
whismanoid | 22:a14c19b97d0b | 1653 | DigitalOut led2(LED2, LED_OFF); // MAX32630FTHR: LED2 = LED_GREEN |
whismanoid | 22:a14c19b97d0b | 1654 | DigitalOut led3(LED3, LED_OFF); // MAX32630FTHR: LED3 = LED_BLUE |
whismanoid | 22:a14c19b97d0b | 1655 | DigitalOut led4(LED4, LED_OFF); |
whismanoid | 22:a14c19b97d0b | 1656 | #else // USE_LEDS=0 |
whismanoid | 22:a14c19b97d0b | 1657 | // issue #41 support Nucleo_F446RE |
whismanoid | 22:a14c19b97d0b | 1658 | // there are no LED indicators on the board, LED1 interferes with SPI; |
whismanoid | 22:a14c19b97d0b | 1659 | // but we still need placeholders led1 led2 led3 led4. |
whismanoid | 22:a14c19b97d0b | 1660 | // Declare DigitalOut led1 led2 led3 led4 targeting safe pins. |
whismanoid | 22:a14c19b97d0b | 1661 | // PinName NC means NOT_CONNECTED; DigitalOut::is_connected() returns false |
whismanoid | 22:a14c19b97d0b | 1662 | # define LED_ON 0 |
whismanoid | 22:a14c19b97d0b | 1663 | # define LED_OFF 1 |
whismanoid | 22:a14c19b97d0b | 1664 | DigitalOut led1(NC, LED_OFF); |
whismanoid | 22:a14c19b97d0b | 1665 | DigitalOut led2(NC, LED_OFF); |
whismanoid | 22:a14c19b97d0b | 1666 | DigitalOut led3(NC, LED_OFF); |
whismanoid | 22:a14c19b97d0b | 1667 | DigitalOut led4(NC, LED_OFF); |
whismanoid | 22:a14c19b97d0b | 1668 | #endif // USE_LEDS |
whismanoid | 22:a14c19b97d0b | 1669 | #define led1_RFailLED led1 |
whismanoid | 22:a14c19b97d0b | 1670 | #define led2_GPassLED led2 |
whismanoid | 22:a14c19b97d0b | 1671 | #define led3_BBusyLED led3 |
whismanoid | 22:a14c19b97d0b | 1672 | |
whismanoid | 22:a14c19b97d0b | 1673 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1674 | |
whismanoid | 22:a14c19b97d0b | 1675 | |
whismanoid | 22:a14c19b97d0b | 1676 | // example code board support |
whismanoid | 22:a14c19b97d0b | 1677 | //MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3); |
whismanoid | 22:a14c19b97d0b | 1678 | //DigitalOut rLED(LED1); |
whismanoid | 22:a14c19b97d0b | 1679 | //DigitalOut gLED(LED2); |
whismanoid | 22:a14c19b97d0b | 1680 | //DigitalOut bLED(LED3); |
whismanoid | 22:a14c19b97d0b | 1681 | // |
whismanoid | 22:a14c19b97d0b | 1682 | // Arduino "shield" connector port definitions (MAX32625MBED shown) |
whismanoid | 22:a14c19b97d0b | 1683 | #if defined(TARGET_MAX32625MBED) |
whismanoid | 22:a14c19b97d0b | 1684 | #define A0 AIN_0 |
whismanoid | 22:a14c19b97d0b | 1685 | #define A1 AIN_1 |
whismanoid | 22:a14c19b97d0b | 1686 | #define A2 AIN_2 |
whismanoid | 22:a14c19b97d0b | 1687 | #define A3 AIN_3 |
whismanoid | 22:a14c19b97d0b | 1688 | #define D0 P0_0 |
whismanoid | 22:a14c19b97d0b | 1689 | #define D1 P0_1 |
whismanoid | 22:a14c19b97d0b | 1690 | #define D2 P0_2 |
whismanoid | 22:a14c19b97d0b | 1691 | #define D3 P0_3 |
whismanoid | 22:a14c19b97d0b | 1692 | #define D4 P0_4 |
whismanoid | 22:a14c19b97d0b | 1693 | #define D5 P0_5 |
whismanoid | 22:a14c19b97d0b | 1694 | #define D6 P0_6 |
whismanoid | 22:a14c19b97d0b | 1695 | #define D7 P0_7 |
whismanoid | 22:a14c19b97d0b | 1696 | #define D8 P1_4 |
whismanoid | 22:a14c19b97d0b | 1697 | #define D9 P1_5 |
whismanoid | 22:a14c19b97d0b | 1698 | #define D10 P1_3 |
whismanoid | 22:a14c19b97d0b | 1699 | #define D11 P1_1 |
whismanoid | 22:a14c19b97d0b | 1700 | #define D12 P1_2 |
whismanoid | 22:a14c19b97d0b | 1701 | #define D13 P1_0 |
whismanoid | 22:a14c19b97d0b | 1702 | #endif |
whismanoid | 22:a14c19b97d0b | 1703 | |
whismanoid | 23:abd02fed1ae4 | 1704 | // example code declare SPI interface (GPIO controlled CS) |
whismanoid | 22:a14c19b97d0b | 1705 | #if defined(TARGET_MAX32625MBED) |
whismanoid | 22:a14c19b97d0b | 1706 | 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 | 22:a14c19b97d0b | 1707 | DigitalOut spi_cs(SPI1_SS); // TARGET_MAX32625MBED: P1_3 Arduino 10-pin header D10 |
whismanoid | 22:a14c19b97d0b | 1708 | #elif defined(TARGET_MAX32600MBED) |
whismanoid | 22:a14c19b97d0b | 1709 | SPI spi(SPI2_MOSI, SPI2_MISO, SPI2_SCK); // mosi, miso, sclk spi1 TARGET_MAX32600MBED: Arduino 10-pin header D11 D12 D13 |
whismanoid | 22:a14c19b97d0b | 1710 | DigitalOut spi_cs(SPI2_SS); // Generic: Arduino 10-pin header D10 |
whismanoid | 23:abd02fed1ae4 | 1711 | #elif defined(TARGET_NUCLEO_F446RE) || defined(TARGET_NUCLEO_F401RE) |
whismanoid | 23:abd02fed1ae4 | 1712 | // TODO1: avoid resource conflict between P5_0, P5_1, P5_2 SPI and DigitalInOut |
whismanoid | 23:abd02fed1ae4 | 1713 | // void spi_init(spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel) |
whismanoid | 23:abd02fed1ae4 | 1714 | // |
whismanoid | 23:abd02fed1ae4 | 1715 | // TODO1: NUCLEO_F446RE SPI not working; CS and MOSI data looks OK but no SCLK clock pulses. |
whismanoid | 23:abd02fed1ae4 | 1716 | SPI spi(SPI_MOSI, SPI_MISO, SPI_SCK); // mosi, miso, sclk spi1 TARGET_NUCLEO_F446RE: Arduino 10-pin header D11 D12 D13 |
whismanoid | 23:abd02fed1ae4 | 1717 | DigitalOut spi_cs(SPI_CS); // TARGET_NUCLEO_F446RE: PB_6 Arduino 10-pin header D10 |
whismanoid | 23:abd02fed1ae4 | 1718 | // |
whismanoid | 22:a14c19b97d0b | 1719 | #else |
whismanoid | 22:a14c19b97d0b | 1720 | SPI spi(D11, D12, D13); // mosi, miso, sclk spi1 TARGET_MAX32600MBED: Arduino 10-pin header D11 D12 D13 |
whismanoid | 22:a14c19b97d0b | 1721 | DigitalOut spi_cs(D10); // Generic: Arduino 10-pin header D10 |
whismanoid | 22:a14c19b97d0b | 1722 | #endif |
whismanoid | 22:a14c19b97d0b | 1723 | |
whismanoid | 22:a14c19b97d0b | 1724 | // example code declare GPIO interface pins |
whismanoid | 22:a14c19b97d0b | 1725 | // AnalogOut FB_pin(Px_x_PortName_To_Be_Determined); // Analog Input to MAX5171 device |
whismanoid | 22:a14c19b97d0b | 1726 | DigitalOut RS_pin(D9); // Digital Configuration Input to MAX5171 device |
whismanoid | 22:a14c19b97d0b | 1727 | DigitalOut PDLb_pin(D8); // Digital Configuration Input to MAX5171 device |
whismanoid | 22:a14c19b97d0b | 1728 | DigitalOut CLRb_pin(D7); // Digital Configuration Input to MAX5171 device |
whismanoid | 22:a14c19b97d0b | 1729 | DigitalOut SHDN_pin(D6); // Digital Configuration Input to MAX5171 device |
whismanoid | 22:a14c19b97d0b | 1730 | // AnalogIn OUT_pin(A0); // Analog Output from MAX5171 device |
whismanoid | 22:a14c19b97d0b | 1731 | DigitalIn UPO_pin(D5); // Digital General-Purpose Output from MAX5171 device |
whismanoid | 22:a14c19b97d0b | 1732 | // example code declare device instance |
whismanoid | 22:a14c19b97d0b | 1733 | MAX5171 g_MAX5171_device(spi, spi_cs, RS_pin, PDLb_pin, CLRb_pin, SHDN_pin, UPO_pin, MAX5171::MAX5171_IC); |
whismanoid | 22:a14c19b97d0b | 1734 | |
whismanoid | 22:a14c19b97d0b | 1735 | |
whismanoid | 22:a14c19b97d0b | 1736 | //---------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1737 | // Global SPI options |
whismanoid | 22:a14c19b97d0b | 1738 | // |
whismanoid | 22:a14c19b97d0b | 1739 | |
whismanoid | 22:a14c19b97d0b | 1740 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1741 | // Optional Diagnostic function to print SPI transactions |
whismanoid | 22:a14c19b97d0b | 1742 | #ifndef MAX5171_ONSPIPRINT |
whismanoid | 22:a14c19b97d0b | 1743 | #define MAX5171_ONSPIPRINT 1 |
whismanoid | 22:a14c19b97d0b | 1744 | #endif // MAX5171_ONSPIPRINT |
whismanoid | 22:a14c19b97d0b | 1745 | |
whismanoid | 22:a14c19b97d0b | 1746 | #define APPLICATION_ArduinoPinsMonitor 1 |
whismanoid | 22:a14c19b97d0b | 1747 | |
whismanoid | 22:a14c19b97d0b | 1748 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1749 | // use BUTTON1 trigger some action |
whismanoid | 22:a14c19b97d0b | 1750 | #if defined(TARGET_MAX32630) |
whismanoid | 22:a14c19b97d0b | 1751 | #define HAS_BUTTON1_DEMO_INTERRUPT 1 |
whismanoid | 22:a14c19b97d0b | 1752 | #define HAS_BUTTON2_DEMO 0 |
whismanoid | 22:a14c19b97d0b | 1753 | #define HAS_BUTTON2_DEMO_INTERRUPT 0 |
whismanoid | 22:a14c19b97d0b | 1754 | #elif defined(TARGET_MAX32625PICO) |
whismanoid | 22:a14c19b97d0b | 1755 | #warning "TARGET_MAX32625PICO not previously tested; need to define buttons..." |
whismanoid | 22:a14c19b97d0b | 1756 | #define HAS_BUTTON1_DEMO_INTERRUPT 1 |
whismanoid | 22:a14c19b97d0b | 1757 | #define HAS_BUTTON2_DEMO 0 |
whismanoid | 22:a14c19b97d0b | 1758 | #define HAS_BUTTON2_DEMO_INTERRUPT 0 |
whismanoid | 22:a14c19b97d0b | 1759 | #elif defined(TARGET_MAX32625) |
whismanoid | 22:a14c19b97d0b | 1760 | #define HAS_BUTTON1_DEMO_INTERRUPT 1 |
whismanoid | 22:a14c19b97d0b | 1761 | #define HAS_BUTTON2_DEMO_INTERRUPT 1 |
whismanoid | 22:a14c19b97d0b | 1762 | #elif defined(TARGET_MAX32620FTHR) |
whismanoid | 22:a14c19b97d0b | 1763 | #warning "TARGET_MAX32620FTHR not previously tested; need to define buttons..." |
whismanoid | 22:a14c19b97d0b | 1764 | #define BUTTON1 SW1 |
whismanoid | 22:a14c19b97d0b | 1765 | #define HAS_BUTTON1_DEMO_INTERRUPT 1 |
whismanoid | 22:a14c19b97d0b | 1766 | #define HAS_BUTTON2_DEMO 0 |
whismanoid | 22:a14c19b97d0b | 1767 | #define HAS_BUTTON2_DEMO_INTERRUPT 0 |
whismanoid | 22:a14c19b97d0b | 1768 | #elif defined(TARGET_NUCLEO_F446RE) |
whismanoid | 22:a14c19b97d0b | 1769 | #define HAS_BUTTON1_DEMO_INTERRUPT 0 |
whismanoid | 22:a14c19b97d0b | 1770 | #define HAS_BUTTON2_DEMO_INTERRUPT 0 |
whismanoid | 22:a14c19b97d0b | 1771 | #elif defined(TARGET_NUCLEO_F401RE) |
whismanoid | 22:a14c19b97d0b | 1772 | #define HAS_BUTTON1_DEMO_INTERRUPT 0 |
whismanoid | 22:a14c19b97d0b | 1773 | #define HAS_BUTTON2_DEMO_INTERRUPT 0 |
whismanoid | 22:a14c19b97d0b | 1774 | #else |
whismanoid | 22:a14c19b97d0b | 1775 | #warning "target not previously tested; need to define buttons..." |
whismanoid | 22:a14c19b97d0b | 1776 | #endif |
whismanoid | 22:a14c19b97d0b | 1777 | // |
whismanoid | 22:a14c19b97d0b | 1778 | #ifndef HAS_BUTTON1_DEMO |
whismanoid | 22:a14c19b97d0b | 1779 | #define HAS_BUTTON1_DEMO 0 |
whismanoid | 22:a14c19b97d0b | 1780 | #endif |
whismanoid | 22:a14c19b97d0b | 1781 | #ifndef HAS_BUTTON2_DEMO |
whismanoid | 22:a14c19b97d0b | 1782 | #define HAS_BUTTON2_DEMO 0 |
whismanoid | 22:a14c19b97d0b | 1783 | #endif |
whismanoid | 22:a14c19b97d0b | 1784 | // |
whismanoid | 22:a14c19b97d0b | 1785 | // avoid runtime error on button1 press [mbed-os-5.11] |
whismanoid | 22:a14c19b97d0b | 1786 | // instead of using InterruptIn, use DigitalIn and poll in main while(1) |
whismanoid | 22:a14c19b97d0b | 1787 | #ifndef HAS_BUTTON1_DEMO_INTERRUPT_POLLING |
whismanoid | 22:a14c19b97d0b | 1788 | #define HAS_BUTTON1_DEMO_INTERRUPT_POLLING 1 |
whismanoid | 22:a14c19b97d0b | 1789 | #endif |
whismanoid | 22:a14c19b97d0b | 1790 | // |
whismanoid | 22:a14c19b97d0b | 1791 | #ifndef HAS_BUTTON1_DEMO_INTERRUPT |
whismanoid | 22:a14c19b97d0b | 1792 | #define HAS_BUTTON1_DEMO_INTERRUPT 1 |
whismanoid | 22:a14c19b97d0b | 1793 | #endif |
whismanoid | 22:a14c19b97d0b | 1794 | #ifndef HAS_BUTTON2_DEMO_INTERRUPT |
whismanoid | 22:a14c19b97d0b | 1795 | #define HAS_BUTTON2_DEMO_INTERRUPT 1 |
whismanoid | 22:a14c19b97d0b | 1796 | #endif |
whismanoid | 22:a14c19b97d0b | 1797 | // |
whismanoid | 22:a14c19b97d0b | 1798 | #if HAS_BUTTON1_DEMO_INTERRUPT |
whismanoid | 22:a14c19b97d0b | 1799 | # if HAS_BUTTON1_DEMO_INTERRUPT_POLLING |
whismanoid | 22:a14c19b97d0b | 1800 | // avoid runtime error on button1 press [mbed-os-5.11] |
whismanoid | 22:a14c19b97d0b | 1801 | // instead of using InterruptIn, use DigitalIn and poll in main while(1) |
whismanoid | 22:a14c19b97d0b | 1802 | DigitalIn button1(BUTTON1); |
whismanoid | 22:a14c19b97d0b | 1803 | # else |
whismanoid | 22:a14c19b97d0b | 1804 | InterruptIn button1(BUTTON1); |
whismanoid | 22:a14c19b97d0b | 1805 | # endif |
whismanoid | 22:a14c19b97d0b | 1806 | #elif HAS_BUTTON1_DEMO |
whismanoid | 22:a14c19b97d0b | 1807 | DigitalIn button1(BUTTON1); |
whismanoid | 22:a14c19b97d0b | 1808 | #endif |
whismanoid | 22:a14c19b97d0b | 1809 | #if HAS_BUTTON2_DEMO_INTERRUPT |
whismanoid | 22:a14c19b97d0b | 1810 | # if HAS_BUTTON1_DEMO_INTERRUPT_POLLING |
whismanoid | 22:a14c19b97d0b | 1811 | // avoid runtime error on button1 press [mbed-os-5.11] |
whismanoid | 22:a14c19b97d0b | 1812 | // instead of using InterruptIn, use DigitalIn and poll in main while(1) |
whismanoid | 22:a14c19b97d0b | 1813 | DigitalIn button2(BUTTON2); |
whismanoid | 22:a14c19b97d0b | 1814 | # else |
whismanoid | 22:a14c19b97d0b | 1815 | InterruptIn button2(BUTTON2); |
whismanoid | 22:a14c19b97d0b | 1816 | # endif |
whismanoid | 22:a14c19b97d0b | 1817 | #elif HAS_BUTTON2_DEMO |
whismanoid | 22:a14c19b97d0b | 1818 | DigitalIn button2(BUTTON2); |
whismanoid | 22:a14c19b97d0b | 1819 | #endif |
whismanoid | 22:a14c19b97d0b | 1820 | |
whismanoid | 22:a14c19b97d0b | 1821 | //-------------------------------------------------- |
whismanoid | 23:abd02fed1ae4 | 1822 | // functions tested by SelfTest() |
whismanoid | 23:abd02fed1ae4 | 1823 | extern uint16_t fn_MAX5171_DACCodeOfVoltage(double voltageV); |
whismanoid | 23:abd02fed1ae4 | 1824 | extern double fn_MAX5171_VoltageOfCode(int value_u14); |
whismanoid | 23:abd02fed1ae4 | 1825 | extern void fn_MAX5171_Init(void); |
whismanoid | 23:abd02fed1ae4 | 1826 | extern uint8_t fn_MAX5171_CODE_LOAD(int dacCodeLsbs); |
whismanoid | 23:abd02fed1ae4 | 1827 | extern uint8_t fn_MAX5171_UPO_HIGH(void); |
whismanoid | 23:abd02fed1ae4 | 1828 | extern uint8_t fn_MAX5171_UPO_LOW(void); |
whismanoid | 23:abd02fed1ae4 | 1829 | |
whismanoid | 23:abd02fed1ae4 | 1830 | //-------------------------------------------------- |
whismanoid | 23:abd02fed1ae4 | 1831 | // optional self-test groups for self test function SelfTest() |
whismanoid | 23:abd02fed1ae4 | 1832 | // enable by changing the #define value from 0 to 1 |
whismanoid | 23:abd02fed1ae4 | 1833 | |
whismanoid | 23:abd02fed1ae4 | 1834 | // SelfTest group DACCodeOfVoltage description: |
whismanoid | 23:abd02fed1ae4 | 1835 | // Verify function DACCodeOfVoltage (enabled by default) |
whismanoid | 23:abd02fed1ae4 | 1836 | #ifndef MAX5171_SELFTEST_DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 1837 | #define MAX5171_SELFTEST_DACCodeOfVoltage 1 |
whismanoid | 23:abd02fed1ae4 | 1838 | #endif |
whismanoid | 23:abd02fed1ae4 | 1839 | |
whismanoid | 23:abd02fed1ae4 | 1840 | // SelfTest group VoltageOfCode description: |
whismanoid | 23:abd02fed1ae4 | 1841 | // Verify function VoltageOfCode (enabled by default) |
whismanoid | 23:abd02fed1ae4 | 1842 | #ifndef MAX5171_SELFTEST_VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 1843 | #define MAX5171_SELFTEST_VoltageOfCode 1 |
whismanoid | 23:abd02fed1ae4 | 1844 | #endif |
whismanoid | 23:abd02fed1ae4 | 1845 | |
whismanoid | 23:abd02fed1ae4 | 1846 | // SelfTest group CODE_LOAD description: |
whismanoid | 23:abd02fed1ae4 | 1847 | // Verify function CODE_LOAD (enabled by default) |
whismanoid | 23:abd02fed1ae4 | 1848 | #ifndef MAX5171_SELFTEST_CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 1849 | #define MAX5171_SELFTEST_CODE_LOAD 1 |
whismanoid | 23:abd02fed1ae4 | 1850 | #endif |
whismanoid | 23:abd02fed1ae4 | 1851 | |
whismanoid | 23:abd02fed1ae4 | 1852 | // SelfTest group UPO description: |
whismanoid | 23:abd02fed1ae4 | 1853 | // Verify User Programmable Output functions UPO_HIGH and UPO_LOW (enabled by default) |
whismanoid | 23:abd02fed1ae4 | 1854 | #ifndef MAX5171_SELFTEST_UPO |
whismanoid | 23:abd02fed1ae4 | 1855 | #define MAX5171_SELFTEST_UPO 1 |
whismanoid | 23:abd02fed1ae4 | 1856 | #endif |
whismanoid | 23:abd02fed1ae4 | 1857 | |
whismanoid | 23:abd02fed1ae4 | 1858 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1859 | // When user presses button BUTTON1, perform self test |
whismanoid | 22:a14c19b97d0b | 1860 | #if HAS_BUTTON1_DEMO_INTERRUPT |
whismanoid | 22:a14c19b97d0b | 1861 | void onButton1FallingEdge(void) |
whismanoid | 22:a14c19b97d0b | 1862 | { |
whismanoid | 22:a14c19b97d0b | 1863 | void SelfTest(CmdLine & cmdLine); |
whismanoid | 22:a14c19b97d0b | 1864 | SelfTest(cmdLine_serial); |
whismanoid | 22:a14c19b97d0b | 1865 | } |
whismanoid | 22:a14c19b97d0b | 1866 | #endif // HAS_BUTTON1_DEMO_INTERRUPT |
whismanoid | 22:a14c19b97d0b | 1867 | |
whismanoid | 22:a14c19b97d0b | 1868 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1869 | // When user presses button BUTTON2, perform demo configuration |
whismanoid | 22:a14c19b97d0b | 1870 | #if HAS_BUTTON2_DEMO_INTERRUPT |
whismanoid | 22:a14c19b97d0b | 1871 | void onButton2FallingEdge(void) |
whismanoid | 22:a14c19b97d0b | 1872 | { |
whismanoid | 22:a14c19b97d0b | 1873 | // TBD demo configuration |
whismanoid | 22:a14c19b97d0b | 1874 | // TODO diagnostic LED |
whismanoid | 22:a14c19b97d0b | 1875 | led1 = LED_OFF; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led BLUE |
whismanoid | 22:a14c19b97d0b | 1876 | } |
whismanoid | 22:a14c19b97d0b | 1877 | #endif // HAS_BUTTON2_DEMO_INTERRUPT |
whismanoid | 22:a14c19b97d0b | 1878 | |
whismanoid | 22:a14c19b97d0b | 1879 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1880 | void SelfTest(CmdLine & cmdLine) |
whismanoid | 22:a14c19b97d0b | 1881 | { |
whismanoid | 22:a14c19b97d0b | 1882 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 1883 | #if analogIn4_IS_HIGH_RANGE_OF_analogIn0 |
whismanoid | 22:a14c19b97d0b | 1884 | // Platform board uses AIN4,AIN5,.. as high range of AIN0,AIN1,.. |
whismanoid | 22:a14c19b97d0b | 1885 | MaximTinyTester tinyTester(cmdLine, analogIn4, analogIn5, analogIn2, analogIn3, analogIn0, analogIn4, led1_RFailLED, led2_GPassLED, led3_BBusyLED); |
whismanoid | 22:a14c19b97d0b | 1886 | tinyTester.analogInPin_fullScaleVoltage[0] = analogInPin_fullScaleVoltage[4]; // board support |
whismanoid | 22:a14c19b97d0b | 1887 | tinyTester.analogInPin_fullScaleVoltage[1] = analogInPin_fullScaleVoltage[5]; // board support |
whismanoid | 22:a14c19b97d0b | 1888 | tinyTester.analogInPin_fullScaleVoltage[2] = analogInPin_fullScaleVoltage[2]; // board support |
whismanoid | 22:a14c19b97d0b | 1889 | tinyTester.analogInPin_fullScaleVoltage[3] = analogInPin_fullScaleVoltage[3]; // board support |
whismanoid | 22:a14c19b97d0b | 1890 | tinyTester.analogInPin_fullScaleVoltage[4] = analogInPin_fullScaleVoltage[0]; // board support |
whismanoid | 22:a14c19b97d0b | 1891 | tinyTester.analogInPin_fullScaleVoltage[5] = analogInPin_fullScaleVoltage[1]; // board support |
whismanoid | 22:a14c19b97d0b | 1892 | // low range channels AIN0, AIN1, AIN2, AIN3 |
whismanoid | 22:a14c19b97d0b | 1893 | #else // analogIn4_IS_HIGH_RANGE_OF_analogIn0 |
whismanoid | 22:a14c19b97d0b | 1894 | // Platform board uses simple analog inputs |
whismanoid | 22:a14c19b97d0b | 1895 | MaximTinyTester tinyTester(cmdLine, analogIn0, analogIn1, analogIn2, analogIn3, analogIn4, analogIn5, led1_RFailLED, led2_GPassLED, led3_BBusyLED); |
whismanoid | 22:a14c19b97d0b | 1896 | tinyTester.analogInPin_fullScaleVoltage[0] = analogInPin_fullScaleVoltage[0]; // board support |
whismanoid | 22:a14c19b97d0b | 1897 | tinyTester.analogInPin_fullScaleVoltage[1] = analogInPin_fullScaleVoltage[1]; // board support |
whismanoid | 22:a14c19b97d0b | 1898 | tinyTester.analogInPin_fullScaleVoltage[2] = analogInPin_fullScaleVoltage[2]; // board support |
whismanoid | 22:a14c19b97d0b | 1899 | tinyTester.analogInPin_fullScaleVoltage[3] = analogInPin_fullScaleVoltage[3]; // board support |
whismanoid | 22:a14c19b97d0b | 1900 | tinyTester.analogInPin_fullScaleVoltage[4] = analogInPin_fullScaleVoltage[4]; // board support |
whismanoid | 22:a14c19b97d0b | 1901 | tinyTester.analogInPin_fullScaleVoltage[5] = analogInPin_fullScaleVoltage[5]; // board support |
whismanoid | 22:a14c19b97d0b | 1902 | #endif |
whismanoid | 22:a14c19b97d0b | 1903 | tinyTester.clear(); |
whismanoid | 22:a14c19b97d0b | 1904 | |
whismanoid | 23:abd02fed1ae4 | 1905 | // @test group DACCodeOfVoltage // Verify function DACCodeOfVoltage (enabled by default) |
whismanoid | 23:abd02fed1ae4 | 1906 | // @test group DACCodeOfVoltage tinyTester.blink_time_msec = 20 // quickly speed through the software verification |
whismanoid | 23:abd02fed1ae4 | 1907 | // docTest_item['actionType'] = 'assign-propname-value' |
whismanoid | 23:abd02fed1ae4 | 1908 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 1909 | // docTest_item['action'] = 'tinyTester.blink_time_msec = 20' |
whismanoid | 23:abd02fed1ae4 | 1910 | // docTest_item['remarks'] = 'quickly speed through the software verification' |
whismanoid | 23:abd02fed1ae4 | 1911 | // docTest_item['propName'] = 'tinyTester.blink_time_msec' |
whismanoid | 23:abd02fed1ae4 | 1912 | // docTest_item['propValue'] = '20' |
whismanoid | 23:abd02fed1ae4 | 1913 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage None quickly speed through the software verification |
whismanoid | 23:abd02fed1ae4 | 1914 | // assign-propname-value |
whismanoid | 23:abd02fed1ae4 | 1915 | // tinyTesterPropName = "tinyTester.blink_time_msec" |
whismanoid | 23:abd02fed1ae4 | 1916 | // tinyTesterPropValue = "20" |
whismanoid | 23:abd02fed1ae4 | 1917 | tinyTester.blink_time_msec = 20; |
whismanoid | 23:abd02fed1ae4 | 1918 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 1919 | |
whismanoid | 23:abd02fed1ae4 | 1920 | // @test group DACCodeOfVoltage tinyTester.print("VRef = 2.500 MAX5171 14-bit LSB = 0.00015V") |
whismanoid | 23:abd02fed1ae4 | 1921 | // docTest_item['actionType'] = 'print-string' |
whismanoid | 23:abd02fed1ae4 | 1922 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 1923 | // docTest_item['action'] = 'tinyTester.print("VRef = 2.500 MAX5171 14-bit LSB = 0.00015V")' |
whismanoid | 23:abd02fed1ae4 | 1924 | // docTest_item['arglist'] = 'VRef = 2.500 MAX5171 14-bit LSB = 0.00015V' |
whismanoid | 23:abd02fed1ae4 | 1925 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage None |
whismanoid | 23:abd02fed1ae4 | 1926 | // print-string |
whismanoid | 23:abd02fed1ae4 | 1927 | // tinyTesterFuncName = "tinyTester.print" |
whismanoid | 23:abd02fed1ae4 | 1928 | // tinyTesterPrintStringLiteral = "VRef = 2.500 MAX5171 14-bit LSB = 0.00015V" |
whismanoid | 23:abd02fed1ae4 | 1929 | tinyTester.print("VRef = 2.500 MAX5171 14-bit LSB = 0.00015V"); |
whismanoid | 23:abd02fed1ae4 | 1930 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 1931 | |
whismanoid | 23:abd02fed1ae4 | 1932 | // @test group DACCodeOfVoltage VRef = 2.500 |
whismanoid | 23:abd02fed1ae4 | 1933 | // docTest_item['actionType'] = 'assign-propname-value' |
whismanoid | 23:abd02fed1ae4 | 1934 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 1935 | // docTest_item['action'] = 'VRef = 2.500' |
whismanoid | 23:abd02fed1ae4 | 1936 | // docTest_item['propName'] = 'VRef' |
whismanoid | 23:abd02fed1ae4 | 1937 | // docTest_item['propValue'] = '2.500' |
whismanoid | 23:abd02fed1ae4 | 1938 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage None |
whismanoid | 23:abd02fed1ae4 | 1939 | // assign-propname-value |
whismanoid | 23:abd02fed1ae4 | 1940 | // tinyTesterPropName = "VRef" |
whismanoid | 23:abd02fed1ae4 | 1941 | // tinyTesterPropValue = "2.500" |
whismanoid | 23:abd02fed1ae4 | 1942 | g_MAX5171_device.VRef = 2.500; |
whismanoid | 23:abd02fed1ae4 | 1943 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 1944 | |
whismanoid | 23:abd02fed1ae4 | 1945 | // @test group DACCodeOfVoltage tinyTester.err_threshold = 0.00015259720441921504 // 14-bit LSB (2.500/16383) |
whismanoid | 23:abd02fed1ae4 | 1946 | // docTest_item['actionType'] = 'assign-propname-value' |
whismanoid | 23:abd02fed1ae4 | 1947 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 1948 | // docTest_item['action'] = 'tinyTester.err_threshold = 0.00015259720441921504' |
whismanoid | 23:abd02fed1ae4 | 1949 | // docTest_item['remarks'] = '14-bit LSB (2.500/16383)' |
whismanoid | 23:abd02fed1ae4 | 1950 | // docTest_item['propName'] = 'tinyTester.err_threshold' |
whismanoid | 23:abd02fed1ae4 | 1951 | // docTest_item['propValue'] = '0.00015259720441921504' |
whismanoid | 23:abd02fed1ae4 | 1952 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage None 14-bit LSB (2.500/16383) |
whismanoid | 23:abd02fed1ae4 | 1953 | // assign-propname-value |
whismanoid | 23:abd02fed1ae4 | 1954 | // tinyTesterPropName = "tinyTester.err_threshold" |
whismanoid | 23:abd02fed1ae4 | 1955 | // tinyTesterPropValue = "0.00015259720441921504" |
whismanoid | 23:abd02fed1ae4 | 1956 | tinyTester.err_threshold = 0.00015259720441921504; |
whismanoid | 23:abd02fed1ae4 | 1957 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 1958 | |
whismanoid | 23:abd02fed1ae4 | 1959 | // @test group DACCodeOfVoltage DACCodeOfVoltage(2.499847412109375) expect 0x3FFF |
whismanoid | 23:abd02fed1ae4 | 1960 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 1961 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 1962 | // docTest_item['action'] = 'DACCodeOfVoltage(2.499847412109375) expect 0x3FFF' |
whismanoid | 23:abd02fed1ae4 | 1963 | // docTest_item['funcName'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 1964 | // docTest_item['arglist'] = '2.499847412109375' |
whismanoid | 23:abd02fed1ae4 | 1965 | // docTest_item['expect-value'] = '0x3FFF' |
whismanoid | 23:abd02fed1ae4 | 1966 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 1967 | // call-function |
whismanoid | 23:abd02fed1ae4 | 1968 | // ASSERT_EQ(g_MAX5171_device.DACCodeOfVoltage((double)2.499847412109375), (uint16_t)0x3FFF); // |
whismanoid | 23:abd02fed1ae4 | 1969 | tinyTester.FunctionCall_Expect("MAX5171.DACCodeOfVoltage", fn_MAX5171_DACCodeOfVoltage, (double)2.499847412109375, /* expect: */ (uint16_t)0x3FFF); // |
whismanoid | 23:abd02fed1ae4 | 1970 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 1971 | |
whismanoid | 23:abd02fed1ae4 | 1972 | // @test group DACCodeOfVoltage DACCodeOfVoltage(2.49969482421875) expect 0x3FFE |
whismanoid | 23:abd02fed1ae4 | 1973 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 1974 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 1975 | // docTest_item['action'] = 'DACCodeOfVoltage(2.49969482421875) expect 0x3FFE' |
whismanoid | 23:abd02fed1ae4 | 1976 | // docTest_item['funcName'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 1977 | // docTest_item['arglist'] = '2.49969482421875' |
whismanoid | 23:abd02fed1ae4 | 1978 | // docTest_item['expect-value'] = '0x3FFE' |
whismanoid | 23:abd02fed1ae4 | 1979 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 1980 | // call-function |
whismanoid | 23:abd02fed1ae4 | 1981 | // ASSERT_EQ(g_MAX5171_device.DACCodeOfVoltage((double)2.49969482421875), (uint16_t)0x3FFE); // |
whismanoid | 23:abd02fed1ae4 | 1982 | tinyTester.FunctionCall_Expect("MAX5171.DACCodeOfVoltage", fn_MAX5171_DACCodeOfVoltage, (double)2.49969482421875, /* expect: */ (uint16_t)0x3FFE); // |
whismanoid | 23:abd02fed1ae4 | 1983 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 1984 | |
whismanoid | 23:abd02fed1ae4 | 1985 | // @test group DACCodeOfVoltage DACCodeOfVoltage(2.499542236328125) expect 0x3FFD |
whismanoid | 23:abd02fed1ae4 | 1986 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 1987 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 1988 | // docTest_item['action'] = 'DACCodeOfVoltage(2.499542236328125) expect 0x3FFD' |
whismanoid | 23:abd02fed1ae4 | 1989 | // docTest_item['funcName'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 1990 | // docTest_item['arglist'] = '2.499542236328125' |
whismanoid | 23:abd02fed1ae4 | 1991 | // docTest_item['expect-value'] = '0x3FFD' |
whismanoid | 23:abd02fed1ae4 | 1992 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 1993 | // call-function |
whismanoid | 23:abd02fed1ae4 | 1994 | // ASSERT_EQ(g_MAX5171_device.DACCodeOfVoltage((double)2.499542236328125), (uint16_t)0x3FFD); // |
whismanoid | 23:abd02fed1ae4 | 1995 | tinyTester.FunctionCall_Expect("MAX5171.DACCodeOfVoltage", fn_MAX5171_DACCodeOfVoltage, (double)2.499542236328125, /* expect: */ (uint16_t)0x3FFD); // |
whismanoid | 23:abd02fed1ae4 | 1996 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 1997 | |
whismanoid | 23:abd02fed1ae4 | 1998 | // @test group DACCodeOfVoltage DACCodeOfVoltage(2.4993896484375) expect 0x3FFC |
whismanoid | 23:abd02fed1ae4 | 1999 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2000 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2001 | // docTest_item['action'] = 'DACCodeOfVoltage(2.4993896484375) expect 0x3FFC' |
whismanoid | 23:abd02fed1ae4 | 2002 | // docTest_item['funcName'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2003 | // docTest_item['arglist'] = '2.4993896484375' |
whismanoid | 23:abd02fed1ae4 | 2004 | // docTest_item['expect-value'] = '0x3FFC' |
whismanoid | 23:abd02fed1ae4 | 2005 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2006 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2007 | // ASSERT_EQ(g_MAX5171_device.DACCodeOfVoltage((double)2.4993896484375), (uint16_t)0x3FFC); // |
whismanoid | 23:abd02fed1ae4 | 2008 | tinyTester.FunctionCall_Expect("MAX5171.DACCodeOfVoltage", fn_MAX5171_DACCodeOfVoltage, (double)2.4993896484375, /* expect: */ (uint16_t)0x3FFC); // |
whismanoid | 23:abd02fed1ae4 | 2009 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2010 | |
whismanoid | 23:abd02fed1ae4 | 2011 | // @test group DACCodeOfVoltage DACCodeOfVoltage(1.250152587890625) expect 0x2001 |
whismanoid | 23:abd02fed1ae4 | 2012 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2013 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2014 | // docTest_item['action'] = 'DACCodeOfVoltage(1.250152587890625) expect 0x2001' |
whismanoid | 23:abd02fed1ae4 | 2015 | // docTest_item['funcName'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2016 | // docTest_item['arglist'] = '1.250152587890625' |
whismanoid | 23:abd02fed1ae4 | 2017 | // docTest_item['expect-value'] = '0x2001' |
whismanoid | 23:abd02fed1ae4 | 2018 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2019 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2020 | // ASSERT_EQ(g_MAX5171_device.DACCodeOfVoltage((double)1.250152587890625), (uint16_t)0x2001); // |
whismanoid | 23:abd02fed1ae4 | 2021 | tinyTester.FunctionCall_Expect("MAX5171.DACCodeOfVoltage", fn_MAX5171_DACCodeOfVoltage, (double)1.250152587890625, /* expect: */ (uint16_t)0x2001); // |
whismanoid | 23:abd02fed1ae4 | 2022 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2023 | |
whismanoid | 23:abd02fed1ae4 | 2024 | // @test group DACCodeOfVoltage DACCodeOfVoltage(1.25) expect 0x2000 |
whismanoid | 23:abd02fed1ae4 | 2025 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2026 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2027 | // docTest_item['action'] = 'DACCodeOfVoltage(1.25) expect 0x2000' |
whismanoid | 23:abd02fed1ae4 | 2028 | // docTest_item['funcName'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2029 | // docTest_item['arglist'] = '1.25' |
whismanoid | 23:abd02fed1ae4 | 2030 | // docTest_item['expect-value'] = '0x2000' |
whismanoid | 23:abd02fed1ae4 | 2031 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2032 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2033 | // ASSERT_EQ(g_MAX5171_device.DACCodeOfVoltage((double)1.25), (uint16_t)0x2000); // |
whismanoid | 23:abd02fed1ae4 | 2034 | tinyTester.FunctionCall_Expect("MAX5171.DACCodeOfVoltage", fn_MAX5171_DACCodeOfVoltage, (double)1.25, /* expect: */ (uint16_t)0x2000); // |
whismanoid | 23:abd02fed1ae4 | 2035 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2036 | |
whismanoid | 23:abd02fed1ae4 | 2037 | // @test group DACCodeOfVoltage DACCodeOfVoltage(1.249847412109375) expect 0x1FFF |
whismanoid | 23:abd02fed1ae4 | 2038 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2039 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2040 | // docTest_item['action'] = 'DACCodeOfVoltage(1.249847412109375) expect 0x1FFF' |
whismanoid | 23:abd02fed1ae4 | 2041 | // docTest_item['funcName'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2042 | // docTest_item['arglist'] = '1.249847412109375' |
whismanoid | 23:abd02fed1ae4 | 2043 | // docTest_item['expect-value'] = '0x1FFF' |
whismanoid | 23:abd02fed1ae4 | 2044 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2045 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2046 | // ASSERT_EQ(g_MAX5171_device.DACCodeOfVoltage((double)1.249847412109375), (uint16_t)0x1FFF); // |
whismanoid | 23:abd02fed1ae4 | 2047 | tinyTester.FunctionCall_Expect("MAX5171.DACCodeOfVoltage", fn_MAX5171_DACCodeOfVoltage, (double)1.249847412109375, /* expect: */ (uint16_t)0x1FFF); // |
whismanoid | 23:abd02fed1ae4 | 2048 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2049 | |
whismanoid | 23:abd02fed1ae4 | 2050 | // @test group DACCodeOfVoltage DACCodeOfVoltage(1.24969482421875) expect 0x1FFE |
whismanoid | 23:abd02fed1ae4 | 2051 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2052 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2053 | // docTest_item['action'] = 'DACCodeOfVoltage(1.24969482421875) expect 0x1FFE' |
whismanoid | 23:abd02fed1ae4 | 2054 | // docTest_item['funcName'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2055 | // docTest_item['arglist'] = '1.24969482421875' |
whismanoid | 23:abd02fed1ae4 | 2056 | // docTest_item['expect-value'] = '0x1FFE' |
whismanoid | 23:abd02fed1ae4 | 2057 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2058 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2059 | // ASSERT_EQ(g_MAX5171_device.DACCodeOfVoltage((double)1.24969482421875), (uint16_t)0x1FFE); // |
whismanoid | 23:abd02fed1ae4 | 2060 | tinyTester.FunctionCall_Expect("MAX5171.DACCodeOfVoltage", fn_MAX5171_DACCodeOfVoltage, (double)1.24969482421875, /* expect: */ (uint16_t)0x1FFE); // |
whismanoid | 23:abd02fed1ae4 | 2061 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2062 | |
whismanoid | 23:abd02fed1ae4 | 2063 | // @test group DACCodeOfVoltage DACCodeOfVoltage(0.000457763671875) expect 0x0003 |
whismanoid | 23:abd02fed1ae4 | 2064 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2065 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2066 | // docTest_item['action'] = 'DACCodeOfVoltage(0.000457763671875) expect 0x0003' |
whismanoid | 23:abd02fed1ae4 | 2067 | // docTest_item['funcName'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2068 | // docTest_item['arglist'] = '0.000457763671875' |
whismanoid | 23:abd02fed1ae4 | 2069 | // docTest_item['expect-value'] = '0x0003' |
whismanoid | 23:abd02fed1ae4 | 2070 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2071 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2072 | // ASSERT_EQ(g_MAX5171_device.DACCodeOfVoltage((double)0.000457763671875), (uint16_t)0x0003); // |
whismanoid | 23:abd02fed1ae4 | 2073 | tinyTester.FunctionCall_Expect("MAX5171.DACCodeOfVoltage", fn_MAX5171_DACCodeOfVoltage, (double)0.000457763671875, /* expect: */ (uint16_t)0x0003); // |
whismanoid | 23:abd02fed1ae4 | 2074 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2075 | |
whismanoid | 23:abd02fed1ae4 | 2076 | // @test group DACCodeOfVoltage DACCodeOfVoltage(0.00030517578125) expect 0x0002 |
whismanoid | 23:abd02fed1ae4 | 2077 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2078 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2079 | // docTest_item['action'] = 'DACCodeOfVoltage(0.00030517578125) expect 0x0002' |
whismanoid | 23:abd02fed1ae4 | 2080 | // docTest_item['funcName'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2081 | // docTest_item['arglist'] = '0.00030517578125' |
whismanoid | 23:abd02fed1ae4 | 2082 | // docTest_item['expect-value'] = '0x0002' |
whismanoid | 23:abd02fed1ae4 | 2083 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2084 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2085 | // ASSERT_EQ(g_MAX5171_device.DACCodeOfVoltage((double)0.00030517578125), (uint16_t)0x0002); // |
whismanoid | 23:abd02fed1ae4 | 2086 | tinyTester.FunctionCall_Expect("MAX5171.DACCodeOfVoltage", fn_MAX5171_DACCodeOfVoltage, (double)0.00030517578125, /* expect: */ (uint16_t)0x0002); // |
whismanoid | 23:abd02fed1ae4 | 2087 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2088 | |
whismanoid | 23:abd02fed1ae4 | 2089 | // @test group DACCodeOfVoltage DACCodeOfVoltage(0.000152587890625) expect 0x0001 |
whismanoid | 23:abd02fed1ae4 | 2090 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2091 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2092 | // docTest_item['action'] = 'DACCodeOfVoltage(0.000152587890625) expect 0x0001' |
whismanoid | 23:abd02fed1ae4 | 2093 | // docTest_item['funcName'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2094 | // docTest_item['arglist'] = '0.000152587890625' |
whismanoid | 23:abd02fed1ae4 | 2095 | // docTest_item['expect-value'] = '0x0001' |
whismanoid | 23:abd02fed1ae4 | 2096 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2097 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2098 | // ASSERT_EQ(g_MAX5171_device.DACCodeOfVoltage((double)0.000152587890625), (uint16_t)0x0001); // |
whismanoid | 23:abd02fed1ae4 | 2099 | tinyTester.FunctionCall_Expect("MAX5171.DACCodeOfVoltage", fn_MAX5171_DACCodeOfVoltage, (double)0.000152587890625, /* expect: */ (uint16_t)0x0001); // |
whismanoid | 23:abd02fed1ae4 | 2100 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2101 | |
whismanoid | 23:abd02fed1ae4 | 2102 | // @test group DACCodeOfVoltage DACCodeOfVoltage(0.00000) expect 0x0000 |
whismanoid | 23:abd02fed1ae4 | 2103 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2104 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2105 | // docTest_item['action'] = 'DACCodeOfVoltage(0.00000) expect 0x0000' |
whismanoid | 23:abd02fed1ae4 | 2106 | // docTest_item['funcName'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2107 | // docTest_item['arglist'] = '0.00000' |
whismanoid | 23:abd02fed1ae4 | 2108 | // docTest_item['expect-value'] = '0x0000' |
whismanoid | 23:abd02fed1ae4 | 2109 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2110 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2111 | // ASSERT_EQ(g_MAX5171_device.DACCodeOfVoltage((double)0.00000), (uint16_t)0x0000); // |
whismanoid | 23:abd02fed1ae4 | 2112 | tinyTester.FunctionCall_Expect("MAX5171.DACCodeOfVoltage", fn_MAX5171_DACCodeOfVoltage, (double)0.00000, /* expect: */ (uint16_t)0x0000); // |
whismanoid | 23:abd02fed1ae4 | 2113 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2114 | |
whismanoid | 23:abd02fed1ae4 | 2115 | // @test group DACCodeOfVoltage tinyTester.blink_time_msec = 75 // default 75 resume hardware self test |
whismanoid | 23:abd02fed1ae4 | 2116 | // docTest_item['actionType'] = 'assign-propname-value' |
whismanoid | 23:abd02fed1ae4 | 2117 | // docTest_item['group-id-value'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2118 | // docTest_item['action'] = 'tinyTester.blink_time_msec = 75' |
whismanoid | 23:abd02fed1ae4 | 2119 | // docTest_item['remarks'] = 'default 75 resume hardware self test' |
whismanoid | 23:abd02fed1ae4 | 2120 | // docTest_item['propName'] = 'tinyTester.blink_time_msec' |
whismanoid | 23:abd02fed1ae4 | 2121 | // docTest_item['propValue'] = '75' |
whismanoid | 23:abd02fed1ae4 | 2122 | #if MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage None default 75 resume hardware self test |
whismanoid | 23:abd02fed1ae4 | 2123 | // assign-propname-value |
whismanoid | 23:abd02fed1ae4 | 2124 | // tinyTesterPropName = "tinyTester.blink_time_msec" |
whismanoid | 23:abd02fed1ae4 | 2125 | // tinyTesterPropValue = "75" |
whismanoid | 23:abd02fed1ae4 | 2126 | tinyTester.blink_time_msec = 75; |
whismanoid | 23:abd02fed1ae4 | 2127 | #endif // MAX5171_SELFTEST_DACCodeOfVoltage // group DACCodeOfVoltage |
whismanoid | 23:abd02fed1ae4 | 2128 | |
whismanoid | 23:abd02fed1ae4 | 2129 | // @test group VoltageOfCode // Verify function VoltageOfCode (enabled by default) |
whismanoid | 23:abd02fed1ae4 | 2130 | // @test group VoltageOfCode tinyTester.blink_time_msec = 20 // quickly speed through the software verification |
whismanoid | 23:abd02fed1ae4 | 2131 | // docTest_item['actionType'] = 'assign-propname-value' |
whismanoid | 23:abd02fed1ae4 | 2132 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2133 | // docTest_item['action'] = 'tinyTester.blink_time_msec = 20' |
whismanoid | 23:abd02fed1ae4 | 2134 | // docTest_item['remarks'] = 'quickly speed through the software verification' |
whismanoid | 23:abd02fed1ae4 | 2135 | // docTest_item['propName'] = 'tinyTester.blink_time_msec' |
whismanoid | 23:abd02fed1ae4 | 2136 | // docTest_item['propValue'] = '20' |
whismanoid | 23:abd02fed1ae4 | 2137 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode None quickly speed through the software verification |
whismanoid | 23:abd02fed1ae4 | 2138 | // assign-propname-value |
whismanoid | 23:abd02fed1ae4 | 2139 | // tinyTesterPropName = "tinyTester.blink_time_msec" |
whismanoid | 23:abd02fed1ae4 | 2140 | // tinyTesterPropValue = "20" |
whismanoid | 23:abd02fed1ae4 | 2141 | tinyTester.blink_time_msec = 20; |
whismanoid | 23:abd02fed1ae4 | 2142 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2143 | |
whismanoid | 23:abd02fed1ae4 | 2144 | // @test group VoltageOfCode tinyTester.print("VRef = 2.500 MAX5171 14-bit LSB = 0.00015V") |
whismanoid | 23:abd02fed1ae4 | 2145 | // docTest_item['actionType'] = 'print-string' |
whismanoid | 23:abd02fed1ae4 | 2146 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2147 | // docTest_item['action'] = 'tinyTester.print("VRef = 2.500 MAX5171 14-bit LSB = 0.00015V")' |
whismanoid | 23:abd02fed1ae4 | 2148 | // docTest_item['arglist'] = 'VRef = 2.500 MAX5171 14-bit LSB = 0.00015V' |
whismanoid | 23:abd02fed1ae4 | 2149 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode None |
whismanoid | 23:abd02fed1ae4 | 2150 | // print-string |
whismanoid | 23:abd02fed1ae4 | 2151 | // tinyTesterFuncName = "tinyTester.print" |
whismanoid | 23:abd02fed1ae4 | 2152 | // tinyTesterPrintStringLiteral = "VRef = 2.500 MAX5171 14-bit LSB = 0.00015V" |
whismanoid | 23:abd02fed1ae4 | 2153 | tinyTester.print("VRef = 2.500 MAX5171 14-bit LSB = 0.00015V"); |
whismanoid | 23:abd02fed1ae4 | 2154 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2155 | |
whismanoid | 23:abd02fed1ae4 | 2156 | // @test group VoltageOfCode VRef = 2.500 |
whismanoid | 23:abd02fed1ae4 | 2157 | // docTest_item['actionType'] = 'assign-propname-value' |
whismanoid | 23:abd02fed1ae4 | 2158 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2159 | // docTest_item['action'] = 'VRef = 2.500' |
whismanoid | 23:abd02fed1ae4 | 2160 | // docTest_item['propName'] = 'VRef' |
whismanoid | 23:abd02fed1ae4 | 2161 | // docTest_item['propValue'] = '2.500' |
whismanoid | 23:abd02fed1ae4 | 2162 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode None |
whismanoid | 23:abd02fed1ae4 | 2163 | // assign-propname-value |
whismanoid | 23:abd02fed1ae4 | 2164 | // tinyTesterPropName = "VRef" |
whismanoid | 23:abd02fed1ae4 | 2165 | // tinyTesterPropValue = "2.500" |
whismanoid | 23:abd02fed1ae4 | 2166 | g_MAX5171_device.VRef = 2.500; |
whismanoid | 23:abd02fed1ae4 | 2167 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2168 | |
whismanoid | 23:abd02fed1ae4 | 2169 | // @test group VoltageOfCode tinyTester.err_threshold = 0.00015259720441921504 // 14-bit LSB (2.500/16383) |
whismanoid | 23:abd02fed1ae4 | 2170 | // docTest_item['actionType'] = 'assign-propname-value' |
whismanoid | 23:abd02fed1ae4 | 2171 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2172 | // docTest_item['action'] = 'tinyTester.err_threshold = 0.00015259720441921504' |
whismanoid | 23:abd02fed1ae4 | 2173 | // docTest_item['remarks'] = '14-bit LSB (2.500/16383)' |
whismanoid | 23:abd02fed1ae4 | 2174 | // docTest_item['propName'] = 'tinyTester.err_threshold' |
whismanoid | 23:abd02fed1ae4 | 2175 | // docTest_item['propValue'] = '0.00015259720441921504' |
whismanoid | 23:abd02fed1ae4 | 2176 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode None 14-bit LSB (2.500/16383) |
whismanoid | 23:abd02fed1ae4 | 2177 | // assign-propname-value |
whismanoid | 23:abd02fed1ae4 | 2178 | // tinyTesterPropName = "tinyTester.err_threshold" |
whismanoid | 23:abd02fed1ae4 | 2179 | // tinyTesterPropValue = "0.00015259720441921504" |
whismanoid | 23:abd02fed1ae4 | 2180 | tinyTester.err_threshold = 0.00015259720441921504; |
whismanoid | 23:abd02fed1ae4 | 2181 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2182 | |
whismanoid | 23:abd02fed1ae4 | 2183 | // @test group VoltageOfCode VoltageOfCode(0x3FFF) expect 2.499847412109375 |
whismanoid | 23:abd02fed1ae4 | 2184 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2185 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2186 | // docTest_item['action'] = 'VoltageOfCode(0x3FFF) expect 2.499847412109375' |
whismanoid | 23:abd02fed1ae4 | 2187 | // docTest_item['funcName'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2188 | // docTest_item['arglist'] = '0x3FFF' |
whismanoid | 23:abd02fed1ae4 | 2189 | // docTest_item['expect-value'] = '2.499847412109375' |
whismanoid | 23:abd02fed1ae4 | 2190 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2191 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2192 | // ASSERT_EQ(g_MAX5171_device.VoltageOfCode((uint16_t)0x3FFF), (double)2.499847412109375); // |
whismanoid | 23:abd02fed1ae4 | 2193 | tinyTester.FunctionCall_Expect("MAX5171.VoltageOfCode", fn_MAX5171_VoltageOfCode, (uint16_t)0x3FFF, /* expect: */ (double)2.499847412109375); // |
whismanoid | 23:abd02fed1ae4 | 2194 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2195 | |
whismanoid | 23:abd02fed1ae4 | 2196 | // @test group VoltageOfCode VoltageOfCode(0x3FFE) expect 2.49969482421875 |
whismanoid | 23:abd02fed1ae4 | 2197 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2198 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2199 | // docTest_item['action'] = 'VoltageOfCode(0x3FFE) expect 2.49969482421875' |
whismanoid | 23:abd02fed1ae4 | 2200 | // docTest_item['funcName'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2201 | // docTest_item['arglist'] = '0x3FFE' |
whismanoid | 23:abd02fed1ae4 | 2202 | // docTest_item['expect-value'] = '2.49969482421875' |
whismanoid | 23:abd02fed1ae4 | 2203 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2204 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2205 | // ASSERT_EQ(g_MAX5171_device.VoltageOfCode((uint16_t)0x3FFE), (double)2.49969482421875); // |
whismanoid | 23:abd02fed1ae4 | 2206 | tinyTester.FunctionCall_Expect("MAX5171.VoltageOfCode", fn_MAX5171_VoltageOfCode, (uint16_t)0x3FFE, /* expect: */ (double)2.49969482421875); // |
whismanoid | 23:abd02fed1ae4 | 2207 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2208 | |
whismanoid | 23:abd02fed1ae4 | 2209 | // @test group VoltageOfCode VoltageOfCode(0x3FFD) expect 2.499542236328125 |
whismanoid | 23:abd02fed1ae4 | 2210 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2211 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2212 | // docTest_item['action'] = 'VoltageOfCode(0x3FFD) expect 2.499542236328125' |
whismanoid | 23:abd02fed1ae4 | 2213 | // docTest_item['funcName'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2214 | // docTest_item['arglist'] = '0x3FFD' |
whismanoid | 23:abd02fed1ae4 | 2215 | // docTest_item['expect-value'] = '2.499542236328125' |
whismanoid | 23:abd02fed1ae4 | 2216 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2217 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2218 | // ASSERT_EQ(g_MAX5171_device.VoltageOfCode((uint16_t)0x3FFD), (double)2.499542236328125); // |
whismanoid | 23:abd02fed1ae4 | 2219 | tinyTester.FunctionCall_Expect("MAX5171.VoltageOfCode", fn_MAX5171_VoltageOfCode, (uint16_t)0x3FFD, /* expect: */ (double)2.499542236328125); // |
whismanoid | 23:abd02fed1ae4 | 2220 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2221 | |
whismanoid | 23:abd02fed1ae4 | 2222 | // @test group VoltageOfCode VoltageOfCode(0x3FFC) expect 2.4993896484375 |
whismanoid | 23:abd02fed1ae4 | 2223 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2224 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2225 | // docTest_item['action'] = 'VoltageOfCode(0x3FFC) expect 2.4993896484375' |
whismanoid | 23:abd02fed1ae4 | 2226 | // docTest_item['funcName'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2227 | // docTest_item['arglist'] = '0x3FFC' |
whismanoid | 23:abd02fed1ae4 | 2228 | // docTest_item['expect-value'] = '2.4993896484375' |
whismanoid | 23:abd02fed1ae4 | 2229 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2230 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2231 | // ASSERT_EQ(g_MAX5171_device.VoltageOfCode((uint16_t)0x3FFC), (double)2.4993896484375); // |
whismanoid | 23:abd02fed1ae4 | 2232 | tinyTester.FunctionCall_Expect("MAX5171.VoltageOfCode", fn_MAX5171_VoltageOfCode, (uint16_t)0x3FFC, /* expect: */ (double)2.4993896484375); // |
whismanoid | 23:abd02fed1ae4 | 2233 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2234 | |
whismanoid | 23:abd02fed1ae4 | 2235 | // @test group VoltageOfCode VoltageOfCode(0x2001) expect 1.250152587890625 |
whismanoid | 23:abd02fed1ae4 | 2236 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2237 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2238 | // docTest_item['action'] = 'VoltageOfCode(0x2001) expect 1.250152587890625' |
whismanoid | 23:abd02fed1ae4 | 2239 | // docTest_item['funcName'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2240 | // docTest_item['arglist'] = '0x2001' |
whismanoid | 23:abd02fed1ae4 | 2241 | // docTest_item['expect-value'] = '1.250152587890625' |
whismanoid | 23:abd02fed1ae4 | 2242 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2243 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2244 | // ASSERT_EQ(g_MAX5171_device.VoltageOfCode((uint16_t)0x2001), (double)1.250152587890625); // |
whismanoid | 23:abd02fed1ae4 | 2245 | tinyTester.FunctionCall_Expect("MAX5171.VoltageOfCode", fn_MAX5171_VoltageOfCode, (uint16_t)0x2001, /* expect: */ (double)1.250152587890625); // |
whismanoid | 23:abd02fed1ae4 | 2246 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2247 | |
whismanoid | 23:abd02fed1ae4 | 2248 | // @test group VoltageOfCode VoltageOfCode(0x2000) expect 1.25 |
whismanoid | 23:abd02fed1ae4 | 2249 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2250 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2251 | // docTest_item['action'] = 'VoltageOfCode(0x2000) expect 1.25' |
whismanoid | 23:abd02fed1ae4 | 2252 | // docTest_item['funcName'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2253 | // docTest_item['arglist'] = '0x2000' |
whismanoid | 23:abd02fed1ae4 | 2254 | // docTest_item['expect-value'] = '1.25' |
whismanoid | 23:abd02fed1ae4 | 2255 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2256 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2257 | // ASSERT_EQ(g_MAX5171_device.VoltageOfCode((uint16_t)0x2000), (double)1.25); // |
whismanoid | 23:abd02fed1ae4 | 2258 | tinyTester.FunctionCall_Expect("MAX5171.VoltageOfCode", fn_MAX5171_VoltageOfCode, (uint16_t)0x2000, /* expect: */ (double)1.25); // |
whismanoid | 23:abd02fed1ae4 | 2259 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2260 | |
whismanoid | 23:abd02fed1ae4 | 2261 | // @test group VoltageOfCode VoltageOfCode(0x1FFF) expect 1.249847412109375 |
whismanoid | 23:abd02fed1ae4 | 2262 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2263 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2264 | // docTest_item['action'] = 'VoltageOfCode(0x1FFF) expect 1.249847412109375' |
whismanoid | 23:abd02fed1ae4 | 2265 | // docTest_item['funcName'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2266 | // docTest_item['arglist'] = '0x1FFF' |
whismanoid | 23:abd02fed1ae4 | 2267 | // docTest_item['expect-value'] = '1.249847412109375' |
whismanoid | 23:abd02fed1ae4 | 2268 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2269 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2270 | // ASSERT_EQ(g_MAX5171_device.VoltageOfCode((uint16_t)0x1FFF), (double)1.249847412109375); // |
whismanoid | 23:abd02fed1ae4 | 2271 | tinyTester.FunctionCall_Expect("MAX5171.VoltageOfCode", fn_MAX5171_VoltageOfCode, (uint16_t)0x1FFF, /* expect: */ (double)1.249847412109375); // |
whismanoid | 23:abd02fed1ae4 | 2272 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2273 | |
whismanoid | 23:abd02fed1ae4 | 2274 | // @test group VoltageOfCode VoltageOfCode(0x1FFE) expect 1.24969482421875 |
whismanoid | 23:abd02fed1ae4 | 2275 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2276 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2277 | // docTest_item['action'] = 'VoltageOfCode(0x1FFE) expect 1.24969482421875' |
whismanoid | 23:abd02fed1ae4 | 2278 | // docTest_item['funcName'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2279 | // docTest_item['arglist'] = '0x1FFE' |
whismanoid | 23:abd02fed1ae4 | 2280 | // docTest_item['expect-value'] = '1.24969482421875' |
whismanoid | 23:abd02fed1ae4 | 2281 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2282 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2283 | // ASSERT_EQ(g_MAX5171_device.VoltageOfCode((uint16_t)0x1FFE), (double)1.24969482421875); // |
whismanoid | 23:abd02fed1ae4 | 2284 | tinyTester.FunctionCall_Expect("MAX5171.VoltageOfCode", fn_MAX5171_VoltageOfCode, (uint16_t)0x1FFE, /* expect: */ (double)1.24969482421875); // |
whismanoid | 23:abd02fed1ae4 | 2285 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2286 | |
whismanoid | 23:abd02fed1ae4 | 2287 | // @test group VoltageOfCode VoltageOfCode(0x0003) expect 0.000457763671875 |
whismanoid | 23:abd02fed1ae4 | 2288 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2289 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2290 | // docTest_item['action'] = 'VoltageOfCode(0x0003) expect 0.000457763671875' |
whismanoid | 23:abd02fed1ae4 | 2291 | // docTest_item['funcName'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2292 | // docTest_item['arglist'] = '0x0003' |
whismanoid | 23:abd02fed1ae4 | 2293 | // docTest_item['expect-value'] = '0.000457763671875' |
whismanoid | 23:abd02fed1ae4 | 2294 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2295 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2296 | // ASSERT_EQ(g_MAX5171_device.VoltageOfCode((uint16_t)0x0003), (double)0.000457763671875); // |
whismanoid | 23:abd02fed1ae4 | 2297 | tinyTester.FunctionCall_Expect("MAX5171.VoltageOfCode", fn_MAX5171_VoltageOfCode, (uint16_t)0x0003, /* expect: */ (double)0.000457763671875); // |
whismanoid | 23:abd02fed1ae4 | 2298 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2299 | |
whismanoid | 23:abd02fed1ae4 | 2300 | // @test group VoltageOfCode VoltageOfCode(0x0002) expect 0.00030517578125 |
whismanoid | 23:abd02fed1ae4 | 2301 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2302 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2303 | // docTest_item['action'] = 'VoltageOfCode(0x0002) expect 0.00030517578125' |
whismanoid | 23:abd02fed1ae4 | 2304 | // docTest_item['funcName'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2305 | // docTest_item['arglist'] = '0x0002' |
whismanoid | 23:abd02fed1ae4 | 2306 | // docTest_item['expect-value'] = '0.00030517578125' |
whismanoid | 23:abd02fed1ae4 | 2307 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2308 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2309 | // ASSERT_EQ(g_MAX5171_device.VoltageOfCode((uint16_t)0x0002), (double)0.00030517578125); // |
whismanoid | 23:abd02fed1ae4 | 2310 | tinyTester.FunctionCall_Expect("MAX5171.VoltageOfCode", fn_MAX5171_VoltageOfCode, (uint16_t)0x0002, /* expect: */ (double)0.00030517578125); // |
whismanoid | 23:abd02fed1ae4 | 2311 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2312 | |
whismanoid | 23:abd02fed1ae4 | 2313 | // @test group VoltageOfCode VoltageOfCode(0x0001) expect 0.000152587890625 |
whismanoid | 23:abd02fed1ae4 | 2314 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2315 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2316 | // docTest_item['action'] = 'VoltageOfCode(0x0001) expect 0.000152587890625' |
whismanoid | 23:abd02fed1ae4 | 2317 | // docTest_item['funcName'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2318 | // docTest_item['arglist'] = '0x0001' |
whismanoid | 23:abd02fed1ae4 | 2319 | // docTest_item['expect-value'] = '0.000152587890625' |
whismanoid | 23:abd02fed1ae4 | 2320 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2321 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2322 | // ASSERT_EQ(g_MAX5171_device.VoltageOfCode((uint16_t)0x0001), (double)0.000152587890625); // |
whismanoid | 23:abd02fed1ae4 | 2323 | tinyTester.FunctionCall_Expect("MAX5171.VoltageOfCode", fn_MAX5171_VoltageOfCode, (uint16_t)0x0001, /* expect: */ (double)0.000152587890625); // |
whismanoid | 23:abd02fed1ae4 | 2324 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2325 | |
whismanoid | 23:abd02fed1ae4 | 2326 | // @test group VoltageOfCode VoltageOfCode(0x0000) expect 0.00000 |
whismanoid | 23:abd02fed1ae4 | 2327 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2328 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2329 | // docTest_item['action'] = 'VoltageOfCode(0x0000) expect 0.00000' |
whismanoid | 23:abd02fed1ae4 | 2330 | // docTest_item['funcName'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2331 | // docTest_item['arglist'] = '0x0000' |
whismanoid | 23:abd02fed1ae4 | 2332 | // docTest_item['expect-value'] = '0.00000' |
whismanoid | 23:abd02fed1ae4 | 2333 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2334 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2335 | // ASSERT_EQ(g_MAX5171_device.VoltageOfCode((uint16_t)0x0000), (double)0.00000); // |
whismanoid | 23:abd02fed1ae4 | 2336 | tinyTester.FunctionCall_Expect("MAX5171.VoltageOfCode", fn_MAX5171_VoltageOfCode, (uint16_t)0x0000, /* expect: */ (double)0.00000); // |
whismanoid | 23:abd02fed1ae4 | 2337 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2338 | |
whismanoid | 23:abd02fed1ae4 | 2339 | // @test group VoltageOfCode tinyTester.blink_time_msec = 75 // default 75 resume hardware self test |
whismanoid | 23:abd02fed1ae4 | 2340 | // docTest_item['actionType'] = 'assign-propname-value' |
whismanoid | 23:abd02fed1ae4 | 2341 | // docTest_item['group-id-value'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2342 | // docTest_item['action'] = 'tinyTester.blink_time_msec = 75' |
whismanoid | 23:abd02fed1ae4 | 2343 | // docTest_item['remarks'] = 'default 75 resume hardware self test' |
whismanoid | 23:abd02fed1ae4 | 2344 | // docTest_item['propName'] = 'tinyTester.blink_time_msec' |
whismanoid | 23:abd02fed1ae4 | 2345 | // docTest_item['propValue'] = '75' |
whismanoid | 23:abd02fed1ae4 | 2346 | #if MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode None default 75 resume hardware self test |
whismanoid | 23:abd02fed1ae4 | 2347 | // assign-propname-value |
whismanoid | 23:abd02fed1ae4 | 2348 | // tinyTesterPropName = "tinyTester.blink_time_msec" |
whismanoid | 23:abd02fed1ae4 | 2349 | // tinyTesterPropValue = "75" |
whismanoid | 23:abd02fed1ae4 | 2350 | tinyTester.blink_time_msec = 75; |
whismanoid | 23:abd02fed1ae4 | 2351 | #endif // MAX5171_SELFTEST_VoltageOfCode // group VoltageOfCode |
whismanoid | 23:abd02fed1ae4 | 2352 | |
whismanoid | 23:abd02fed1ae4 | 2353 | // @test group CODE_LOAD // Verify function CODE_LOAD (enabled by default) |
whismanoid | 23:abd02fed1ae4 | 2354 | // @test group CODE_LOAD tinyTester.blink_time_msec = 75 // default 75 resume hardware self test |
whismanoid | 23:abd02fed1ae4 | 2355 | // docTest_item['actionType'] = 'assign-propname-value' |
whismanoid | 23:abd02fed1ae4 | 2356 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2357 | // docTest_item['action'] = 'tinyTester.blink_time_msec = 75' |
whismanoid | 23:abd02fed1ae4 | 2358 | // docTest_item['remarks'] = 'default 75 resume hardware self test' |
whismanoid | 23:abd02fed1ae4 | 2359 | // docTest_item['propName'] = 'tinyTester.blink_time_msec' |
whismanoid | 23:abd02fed1ae4 | 2360 | // docTest_item['propValue'] = '75' |
whismanoid | 23:abd02fed1ae4 | 2361 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None default 75 resume hardware self test |
whismanoid | 23:abd02fed1ae4 | 2362 | // assign-propname-value |
whismanoid | 23:abd02fed1ae4 | 2363 | // tinyTesterPropName = "tinyTester.blink_time_msec" |
whismanoid | 23:abd02fed1ae4 | 2364 | // tinyTesterPropValue = "75" |
whismanoid | 23:abd02fed1ae4 | 2365 | tinyTester.blink_time_msec = 75; |
whismanoid | 23:abd02fed1ae4 | 2366 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2367 | |
whismanoid | 23:abd02fed1ae4 | 2368 | // @test group CODE_LOAD tinyTester.settle_time_msec = 500 |
whismanoid | 23:abd02fed1ae4 | 2369 | // docTest_item['actionType'] = 'assign-propname-value' |
whismanoid | 23:abd02fed1ae4 | 2370 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2371 | // docTest_item['action'] = 'tinyTester.settle_time_msec = 500' |
whismanoid | 23:abd02fed1ae4 | 2372 | // docTest_item['propName'] = 'tinyTester.settle_time_msec' |
whismanoid | 23:abd02fed1ae4 | 2373 | // docTest_item['propValue'] = '500' |
whismanoid | 23:abd02fed1ae4 | 2374 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None |
whismanoid | 23:abd02fed1ae4 | 2375 | // assign-propname-value |
whismanoid | 23:abd02fed1ae4 | 2376 | // tinyTesterPropName = "tinyTester.settle_time_msec" |
whismanoid | 23:abd02fed1ae4 | 2377 | // tinyTesterPropValue = "500" |
whismanoid | 23:abd02fed1ae4 | 2378 | tinyTester.settle_time_msec = 500; |
whismanoid | 23:abd02fed1ae4 | 2379 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2380 | |
whismanoid | 23:abd02fed1ae4 | 2381 | // @test Init() |
whismanoid | 23:abd02fed1ae4 | 2382 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2383 | // docTest_item['action'] = 'Init()' |
whismanoid | 23:abd02fed1ae4 | 2384 | // docTest_item['funcName'] = 'Init' |
whismanoid | 23:abd02fed1ae4 | 2385 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2386 | // ASSERT_EQ(g_MAX5171_device.Init(()), (void)None); // |
whismanoid | 23:abd02fed1ae4 | 2387 | // tinyTester.FunctionCall_Expect("MAX5171.Init", fn_MAX5171_Init, /* empty docTest_argList */ /* empty expect: */ (void)None); // |
whismanoid | 23:abd02fed1ae4 | 2388 | g_MAX5171_device.Init(); // |
whismanoid | 23:abd02fed1ae4 | 2389 | |
whismanoid | 23:abd02fed1ae4 | 2390 | // @test VRef expect 2.500 // Nominal Full-Scale Voltage Reference |
whismanoid | 23:abd02fed1ae4 | 2391 | // docTest_item['actionType'] = 'test-propname-expect-value' |
whismanoid | 23:abd02fed1ae4 | 2392 | // docTest_item['action'] = 'VRef expect 2.500' |
whismanoid | 23:abd02fed1ae4 | 2393 | // docTest_item['remarks'] = 'Nominal Full-Scale Voltage Reference' |
whismanoid | 23:abd02fed1ae4 | 2394 | // docTest_item['expect-value'] = '2.500' |
whismanoid | 23:abd02fed1ae4 | 2395 | // docTest_item['propName'] = 'VRef' |
whismanoid | 23:abd02fed1ae4 | 2396 | // test-propname-expect-value |
whismanoid | 23:abd02fed1ae4 | 2397 | tinyTester.Expect("MAX5171.VRef", g_MAX5171_device.VRef, /* expect: */ 2.500); // Nominal Full-Scale Voltage Reference |
whismanoid | 23:abd02fed1ae4 | 2398 | |
whismanoid | 23:abd02fed1ae4 | 2399 | // @test group CODE_LOAD tinyTester.err_threshold = 0.050 |
whismanoid | 23:abd02fed1ae4 | 2400 | // docTest_item['actionType'] = 'assign-propname-value' |
whismanoid | 23:abd02fed1ae4 | 2401 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2402 | // docTest_item['action'] = 'tinyTester.err_threshold = 0.050' |
whismanoid | 23:abd02fed1ae4 | 2403 | // docTest_item['propName'] = 'tinyTester.err_threshold' |
whismanoid | 23:abd02fed1ae4 | 2404 | // docTest_item['propValue'] = '0.050' |
whismanoid | 23:abd02fed1ae4 | 2405 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None |
whismanoid | 23:abd02fed1ae4 | 2406 | // assign-propname-value |
whismanoid | 23:abd02fed1ae4 | 2407 | // tinyTesterPropName = "tinyTester.err_threshold" |
whismanoid | 23:abd02fed1ae4 | 2408 | // tinyTesterPropValue = "0.050" |
whismanoid | 23:abd02fed1ae4 | 2409 | tinyTester.err_threshold = 0.050; |
whismanoid | 23:abd02fed1ae4 | 2410 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2411 | |
whismanoid | 23:abd02fed1ae4 | 2412 | // @test group CODE_LOAD tinyTester.print("100.0% of full scale REF(2.50V) = 2.50V Jumper FB=1-2") |
whismanoid | 23:abd02fed1ae4 | 2413 | // docTest_item['actionType'] = 'print-string' |
whismanoid | 23:abd02fed1ae4 | 2414 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2415 | // docTest_item['action'] = 'tinyTester.print("100.0% of full scale REF(2.50V) = 2.50V Jumper FB=1-2")' |
whismanoid | 23:abd02fed1ae4 | 2416 | // docTest_item['arglist'] = '100.0% of full scale REF(2.50V) = 2.50V Jumper FB=1-2' |
whismanoid | 23:abd02fed1ae4 | 2417 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None |
whismanoid | 23:abd02fed1ae4 | 2418 | // print-string |
whismanoid | 23:abd02fed1ae4 | 2419 | // tinyTesterFuncName = "tinyTester.print" |
whismanoid | 23:abd02fed1ae4 | 2420 | // tinyTesterPrintStringLiteral = "100.0% of full scale REF(2.50V) = 2.50V Jumper FB=1-2" |
whismanoid | 23:abd02fed1ae4 | 2421 | tinyTester.print("100.0% of full scale REF(2.50V) = 2.50V Jumper FB=1-2"); |
whismanoid | 23:abd02fed1ae4 | 2422 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2423 | |
whismanoid | 23:abd02fed1ae4 | 2424 | // @test group CODE_LOAD CODE_LOAD(0x3FFF) // 100.0% of full scale REF(2.50V) = 2.50V |
whismanoid | 23:abd02fed1ae4 | 2425 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2426 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2427 | // docTest_item['action'] = 'CODE_LOAD(0x3FFF)' |
whismanoid | 23:abd02fed1ae4 | 2428 | // docTest_item['remarks'] = '100.0% of full scale REF(2.50V) = 2.50V' |
whismanoid | 23:abd02fed1ae4 | 2429 | // docTest_item['funcName'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2430 | // docTest_item['arglist'] = '0x3FFF' |
whismanoid | 23:abd02fed1ae4 | 2431 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD CODE_LOAD 100.0% of full scale REF(2.50V) = 2.50V |
whismanoid | 23:abd02fed1ae4 | 2432 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2433 | // ASSERT_EQ(g_MAX5171_device.CODE_LOAD((uint16_t)0x3FFF), (uint8_t)None); // 100.0% of full scale REF(2.50V) = 2.50V |
whismanoid | 23:abd02fed1ae4 | 2434 | // tinyTester.FunctionCall_Expect("MAX5171.CODE_LOAD", fn_MAX5171_CODE_LOAD, (uint16_t)0x3FFF, /* empty expect: */ (uint8_t)None); // 100.0% of full scale REF(2.50V) = 2.50V |
whismanoid | 23:abd02fed1ae4 | 2435 | g_MAX5171_device.CODE_LOAD((uint16_t)0x3FFF); // 100.0% of full scale REF(2.50V) = 2.50V |
whismanoid | 23:abd02fed1ae4 | 2436 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2437 | |
whismanoid | 23:abd02fed1ae4 | 2438 | // @test group CODE_LOAD tinyTester.Wait_Output_Settling() |
whismanoid | 23:abd02fed1ae4 | 2439 | // docTest_item['actionType'] = 'call-tinytester-function' |
whismanoid | 23:abd02fed1ae4 | 2440 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2441 | // docTest_item['action'] = 'tinyTester.Wait_Output_Settling()' |
whismanoid | 23:abd02fed1ae4 | 2442 | // docTest_item['propName'] = 'Wait_Output_Settling' |
whismanoid | 23:abd02fed1ae4 | 2443 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None |
whismanoid | 23:abd02fed1ae4 | 2444 | // call-tinytester-function |
whismanoid | 23:abd02fed1ae4 | 2445 | // tinyTesterFuncName = "tinyTester.Wait_Output_Settling" |
whismanoid | 23:abd02fed1ae4 | 2446 | // docTest_argList = "" |
whismanoid | 23:abd02fed1ae4 | 2447 | tinyTester.Wait_Output_Settling(); // |
whismanoid | 23:abd02fed1ae4 | 2448 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2449 | |
whismanoid | 23:abd02fed1ae4 | 2450 | // @test group CODE_LOAD tinyTester.AnalogIn0_Read_Expect_voltageV(2.500) |
whismanoid | 23:abd02fed1ae4 | 2451 | // docTest_item['actionType'] = 'call-tinytester-function' |
whismanoid | 23:abd02fed1ae4 | 2452 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2453 | // docTest_item['action'] = 'tinyTester.AnalogIn0_Read_Expect_voltageV(2.500)' |
whismanoid | 23:abd02fed1ae4 | 2454 | // docTest_item['arglist'] = '2.500' |
whismanoid | 23:abd02fed1ae4 | 2455 | // docTest_item['propName'] = 'AnalogIn0_Read_Expect_voltageV' |
whismanoid | 23:abd02fed1ae4 | 2456 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None |
whismanoid | 23:abd02fed1ae4 | 2457 | // call-tinytester-function |
whismanoid | 23:abd02fed1ae4 | 2458 | // tinyTesterFuncName = "tinyTester.AnalogIn0_Read_Expect_voltageV" |
whismanoid | 23:abd02fed1ae4 | 2459 | // docTest_argList = "2.500" |
whismanoid | 23:abd02fed1ae4 | 2460 | tinyTester.AnalogIn0_Read_Expect_voltageV(2.500); // |
whismanoid | 23:abd02fed1ae4 | 2461 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2462 | |
whismanoid | 23:abd02fed1ae4 | 2463 | // @test group CODE_LOAD tinyTester.print("0.0% of full scale REF(2.50V) = 0.000V") |
whismanoid | 23:abd02fed1ae4 | 2464 | // docTest_item['actionType'] = 'print-string' |
whismanoid | 23:abd02fed1ae4 | 2465 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2466 | // docTest_item['action'] = 'tinyTester.print("0.0% of full scale REF(2.50V) = 0.000V")' |
whismanoid | 23:abd02fed1ae4 | 2467 | // docTest_item['arglist'] = '0.0% of full scale REF(2.50V) = 0.000V' |
whismanoid | 23:abd02fed1ae4 | 2468 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None |
whismanoid | 23:abd02fed1ae4 | 2469 | // print-string |
whismanoid | 23:abd02fed1ae4 | 2470 | // tinyTesterFuncName = "tinyTester.print" |
whismanoid | 23:abd02fed1ae4 | 2471 | // tinyTesterPrintStringLiteral = "0.0% of full scale REF(2.50V) = 0.000V" |
whismanoid | 23:abd02fed1ae4 | 2472 | tinyTester.print("0.0% of full scale REF(2.50V) = 0.000V"); |
whismanoid | 23:abd02fed1ae4 | 2473 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2474 | |
whismanoid | 23:abd02fed1ae4 | 2475 | // @test group CODE_LOAD CODE_LOAD(0x0000) // 0.0% of full scale REF(2.50V) = 0.000V |
whismanoid | 23:abd02fed1ae4 | 2476 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2477 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2478 | // docTest_item['action'] = 'CODE_LOAD(0x0000)' |
whismanoid | 23:abd02fed1ae4 | 2479 | // docTest_item['remarks'] = '0.0% of full scale REF(2.50V) = 0.000V' |
whismanoid | 23:abd02fed1ae4 | 2480 | // docTest_item['funcName'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2481 | // docTest_item['arglist'] = '0x0000' |
whismanoid | 23:abd02fed1ae4 | 2482 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD CODE_LOAD 0.0% of full scale REF(2.50V) = 0.000V |
whismanoid | 23:abd02fed1ae4 | 2483 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2484 | // ASSERT_EQ(g_MAX5171_device.CODE_LOAD((uint16_t)0x0000), (uint8_t)None); // 0.0% of full scale REF(2.50V) = 0.000V |
whismanoid | 23:abd02fed1ae4 | 2485 | // tinyTester.FunctionCall_Expect("MAX5171.CODE_LOAD", fn_MAX5171_CODE_LOAD, (uint16_t)0x0000, /* empty expect: */ (uint8_t)None); // 0.0% of full scale REF(2.50V) = 0.000V |
whismanoid | 23:abd02fed1ae4 | 2486 | g_MAX5171_device.CODE_LOAD((uint16_t)0x0000); // 0.0% of full scale REF(2.50V) = 0.000V |
whismanoid | 23:abd02fed1ae4 | 2487 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2488 | |
whismanoid | 23:abd02fed1ae4 | 2489 | // @test group CODE_LOAD tinyTester.Wait_Output_Settling() |
whismanoid | 23:abd02fed1ae4 | 2490 | // docTest_item['actionType'] = 'call-tinytester-function' |
whismanoid | 23:abd02fed1ae4 | 2491 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2492 | // docTest_item['action'] = 'tinyTester.Wait_Output_Settling()' |
whismanoid | 23:abd02fed1ae4 | 2493 | // docTest_item['propName'] = 'Wait_Output_Settling' |
whismanoid | 23:abd02fed1ae4 | 2494 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None |
whismanoid | 23:abd02fed1ae4 | 2495 | // call-tinytester-function |
whismanoid | 23:abd02fed1ae4 | 2496 | // tinyTesterFuncName = "tinyTester.Wait_Output_Settling" |
whismanoid | 23:abd02fed1ae4 | 2497 | // docTest_argList = "" |
whismanoid | 23:abd02fed1ae4 | 2498 | tinyTester.Wait_Output_Settling(); // |
whismanoid | 23:abd02fed1ae4 | 2499 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2500 | |
whismanoid | 23:abd02fed1ae4 | 2501 | // @test group CODE_LOAD tinyTester.AnalogIn0_Read_Expect_voltageV(0.0000) |
whismanoid | 23:abd02fed1ae4 | 2502 | // docTest_item['actionType'] = 'call-tinytester-function' |
whismanoid | 23:abd02fed1ae4 | 2503 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2504 | // docTest_item['action'] = 'tinyTester.AnalogIn0_Read_Expect_voltageV(0.0000)' |
whismanoid | 23:abd02fed1ae4 | 2505 | // docTest_item['arglist'] = '0.0000' |
whismanoid | 23:abd02fed1ae4 | 2506 | // docTest_item['propName'] = 'AnalogIn0_Read_Expect_voltageV' |
whismanoid | 23:abd02fed1ae4 | 2507 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None |
whismanoid | 23:abd02fed1ae4 | 2508 | // call-tinytester-function |
whismanoid | 23:abd02fed1ae4 | 2509 | // tinyTesterFuncName = "tinyTester.AnalogIn0_Read_Expect_voltageV" |
whismanoid | 23:abd02fed1ae4 | 2510 | // docTest_argList = "0.0000" |
whismanoid | 23:abd02fed1ae4 | 2511 | tinyTester.AnalogIn0_Read_Expect_voltageV(0.0000); // |
whismanoid | 23:abd02fed1ae4 | 2512 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2513 | |
whismanoid | 23:abd02fed1ae4 | 2514 | // @test group CODE_LOAD tinyTester.print("50.0% of full scale REF(2.50V) = 1.25V") |
whismanoid | 23:abd02fed1ae4 | 2515 | // docTest_item['actionType'] = 'print-string' |
whismanoid | 23:abd02fed1ae4 | 2516 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2517 | // docTest_item['action'] = 'tinyTester.print("50.0% of full scale REF(2.50V) = 1.25V")' |
whismanoid | 23:abd02fed1ae4 | 2518 | // docTest_item['arglist'] = '50.0% of full scale REF(2.50V) = 1.25V' |
whismanoid | 23:abd02fed1ae4 | 2519 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None |
whismanoid | 23:abd02fed1ae4 | 2520 | // print-string |
whismanoid | 23:abd02fed1ae4 | 2521 | // tinyTesterFuncName = "tinyTester.print" |
whismanoid | 23:abd02fed1ae4 | 2522 | // tinyTesterPrintStringLiteral = "50.0% of full scale REF(2.50V) = 1.25V" |
whismanoid | 23:abd02fed1ae4 | 2523 | tinyTester.print("50.0% of full scale REF(2.50V) = 1.25V"); |
whismanoid | 23:abd02fed1ae4 | 2524 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2525 | |
whismanoid | 23:abd02fed1ae4 | 2526 | // @test group CODE_LOAD CODE_LOAD(0x1FFF) // 50.0% of full scale REF(2.50V) = 1.25V |
whismanoid | 23:abd02fed1ae4 | 2527 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2528 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2529 | // docTest_item['action'] = 'CODE_LOAD(0x1FFF)' |
whismanoid | 23:abd02fed1ae4 | 2530 | // docTest_item['remarks'] = '50.0% of full scale REF(2.50V) = 1.25V' |
whismanoid | 23:abd02fed1ae4 | 2531 | // docTest_item['funcName'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2532 | // docTest_item['arglist'] = '0x1FFF' |
whismanoid | 23:abd02fed1ae4 | 2533 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD CODE_LOAD 50.0% of full scale REF(2.50V) = 1.25V |
whismanoid | 23:abd02fed1ae4 | 2534 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2535 | // ASSERT_EQ(g_MAX5171_device.CODE_LOAD((uint16_t)0x1FFF), (uint8_t)None); // 50.0% of full scale REF(2.50V) = 1.25V |
whismanoid | 23:abd02fed1ae4 | 2536 | // tinyTester.FunctionCall_Expect("MAX5171.CODE_LOAD", fn_MAX5171_CODE_LOAD, (uint16_t)0x1FFF, /* empty expect: */ (uint8_t)None); // 50.0% of full scale REF(2.50V) = 1.25V |
whismanoid | 23:abd02fed1ae4 | 2537 | g_MAX5171_device.CODE_LOAD((uint16_t)0x1FFF); // 50.0% of full scale REF(2.50V) = 1.25V |
whismanoid | 23:abd02fed1ae4 | 2538 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2539 | |
whismanoid | 23:abd02fed1ae4 | 2540 | // @test group CODE_LOAD tinyTester.Wait_Output_Settling() |
whismanoid | 23:abd02fed1ae4 | 2541 | // docTest_item['actionType'] = 'call-tinytester-function' |
whismanoid | 23:abd02fed1ae4 | 2542 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2543 | // docTest_item['action'] = 'tinyTester.Wait_Output_Settling()' |
whismanoid | 23:abd02fed1ae4 | 2544 | // docTest_item['propName'] = 'Wait_Output_Settling' |
whismanoid | 23:abd02fed1ae4 | 2545 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None |
whismanoid | 23:abd02fed1ae4 | 2546 | // call-tinytester-function |
whismanoid | 23:abd02fed1ae4 | 2547 | // tinyTesterFuncName = "tinyTester.Wait_Output_Settling" |
whismanoid | 23:abd02fed1ae4 | 2548 | // docTest_argList = "" |
whismanoid | 23:abd02fed1ae4 | 2549 | tinyTester.Wait_Output_Settling(); // |
whismanoid | 23:abd02fed1ae4 | 2550 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2551 | |
whismanoid | 23:abd02fed1ae4 | 2552 | // @test group CODE_LOAD tinyTester.AnalogIn0_Read_Expect_voltageV(1.2500) |
whismanoid | 23:abd02fed1ae4 | 2553 | // docTest_item['actionType'] = 'call-tinytester-function' |
whismanoid | 23:abd02fed1ae4 | 2554 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2555 | // docTest_item['action'] = 'tinyTester.AnalogIn0_Read_Expect_voltageV(1.2500)' |
whismanoid | 23:abd02fed1ae4 | 2556 | // docTest_item['arglist'] = '1.2500' |
whismanoid | 23:abd02fed1ae4 | 2557 | // docTest_item['propName'] = 'AnalogIn0_Read_Expect_voltageV' |
whismanoid | 23:abd02fed1ae4 | 2558 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None |
whismanoid | 23:abd02fed1ae4 | 2559 | // call-tinytester-function |
whismanoid | 23:abd02fed1ae4 | 2560 | // tinyTesterFuncName = "tinyTester.AnalogIn0_Read_Expect_voltageV" |
whismanoid | 23:abd02fed1ae4 | 2561 | // docTest_argList = "1.2500" |
whismanoid | 23:abd02fed1ae4 | 2562 | tinyTester.AnalogIn0_Read_Expect_voltageV(1.2500); // |
whismanoid | 23:abd02fed1ae4 | 2563 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2564 | |
whismanoid | 23:abd02fed1ae4 | 2565 | // @test group UPO // Verify User Programmable Output functions UPO_HIGH and UPO_LOW (enabled by default) |
whismanoid | 23:abd02fed1ae4 | 2566 | // @test group UPO tinyTester.blink_time_msec = 75 // default 75 resume hardware self test |
whismanoid | 23:abd02fed1ae4 | 2567 | // docTest_item['actionType'] = 'assign-propname-value' |
whismanoid | 23:abd02fed1ae4 | 2568 | // docTest_item['group-id-value'] = 'UPO' |
whismanoid | 23:abd02fed1ae4 | 2569 | // docTest_item['action'] = 'tinyTester.blink_time_msec = 75' |
whismanoid | 23:abd02fed1ae4 | 2570 | // docTest_item['remarks'] = 'default 75 resume hardware self test' |
whismanoid | 23:abd02fed1ae4 | 2571 | // docTest_item['propName'] = 'tinyTester.blink_time_msec' |
whismanoid | 23:abd02fed1ae4 | 2572 | // docTest_item['propValue'] = '75' |
whismanoid | 23:abd02fed1ae4 | 2573 | #if MAX5171_SELFTEST_UPO // group UPO None default 75 resume hardware self test |
whismanoid | 23:abd02fed1ae4 | 2574 | // assign-propname-value |
whismanoid | 23:abd02fed1ae4 | 2575 | // tinyTesterPropName = "tinyTester.blink_time_msec" |
whismanoid | 23:abd02fed1ae4 | 2576 | // tinyTesterPropValue = "75" |
whismanoid | 23:abd02fed1ae4 | 2577 | tinyTester.blink_time_msec = 75; |
whismanoid | 23:abd02fed1ae4 | 2578 | #endif // MAX5171_SELFTEST_UPO // group UPO |
whismanoid | 23:abd02fed1ae4 | 2579 | |
whismanoid | 23:abd02fed1ae4 | 2580 | // @test group UPO tinyTester.settle_time_msec = 500 // default 250 |
whismanoid | 23:abd02fed1ae4 | 2581 | // docTest_item['actionType'] = 'assign-propname-value' |
whismanoid | 23:abd02fed1ae4 | 2582 | // docTest_item['group-id-value'] = 'UPO' |
whismanoid | 23:abd02fed1ae4 | 2583 | // docTest_item['action'] = 'tinyTester.settle_time_msec = 500' |
whismanoid | 23:abd02fed1ae4 | 2584 | // docTest_item['remarks'] = 'default 250' |
whismanoid | 23:abd02fed1ae4 | 2585 | // docTest_item['propName'] = 'tinyTester.settle_time_msec' |
whismanoid | 23:abd02fed1ae4 | 2586 | // docTest_item['propValue'] = '500' |
whismanoid | 23:abd02fed1ae4 | 2587 | #if MAX5171_SELFTEST_UPO // group UPO None default 250 |
whismanoid | 23:abd02fed1ae4 | 2588 | // assign-propname-value |
whismanoid | 23:abd02fed1ae4 | 2589 | // tinyTesterPropName = "tinyTester.settle_time_msec" |
whismanoid | 23:abd02fed1ae4 | 2590 | // tinyTesterPropValue = "500" |
whismanoid | 23:abd02fed1ae4 | 2591 | tinyTester.settle_time_msec = 500; |
whismanoid | 23:abd02fed1ae4 | 2592 | #endif // MAX5171_SELFTEST_UPO // group UPO |
whismanoid | 23:abd02fed1ae4 | 2593 | |
whismanoid | 23:abd02fed1ae4 | 2594 | // @test group UPO UPO_HIGH() |
whismanoid | 23:abd02fed1ae4 | 2595 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2596 | // docTest_item['group-id-value'] = 'UPO' |
whismanoid | 23:abd02fed1ae4 | 2597 | // docTest_item['action'] = 'UPO_HIGH()' |
whismanoid | 23:abd02fed1ae4 | 2598 | // docTest_item['funcName'] = 'UPO_HIGH' |
whismanoid | 23:abd02fed1ae4 | 2599 | #if MAX5171_SELFTEST_UPO // group UPO UPO_HIGH |
whismanoid | 23:abd02fed1ae4 | 2600 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2601 | // ASSERT_EQ(g_MAX5171_device.UPO_HIGH(()), (uint8_t)None); // |
whismanoid | 23:abd02fed1ae4 | 2602 | // tinyTester.FunctionCall_Expect("MAX5171.UPO_HIGH", fn_MAX5171_UPO_HIGH, /* empty docTest_argList */ /* empty expect: */ (uint8_t)None); // |
whismanoid | 23:abd02fed1ae4 | 2603 | g_MAX5171_device.UPO_HIGH(); // |
whismanoid | 23:abd02fed1ae4 | 2604 | #endif // MAX5171_SELFTEST_UPO // group UPO |
whismanoid | 23:abd02fed1ae4 | 2605 | |
whismanoid | 23:abd02fed1ae4 | 2606 | // @test group UPO tinyTester.Wait_Output_Settling() |
whismanoid | 23:abd02fed1ae4 | 2607 | // docTest_item['actionType'] = 'call-tinytester-function' |
whismanoid | 23:abd02fed1ae4 | 2608 | // docTest_item['group-id-value'] = 'UPO' |
whismanoid | 23:abd02fed1ae4 | 2609 | // docTest_item['action'] = 'tinyTester.Wait_Output_Settling()' |
whismanoid | 23:abd02fed1ae4 | 2610 | // docTest_item['propName'] = 'Wait_Output_Settling' |
whismanoid | 23:abd02fed1ae4 | 2611 | #if MAX5171_SELFTEST_UPO // group UPO None |
whismanoid | 23:abd02fed1ae4 | 2612 | // call-tinytester-function |
whismanoid | 23:abd02fed1ae4 | 2613 | // tinyTesterFuncName = "tinyTester.Wait_Output_Settling" |
whismanoid | 23:abd02fed1ae4 | 2614 | // docTest_argList = "" |
whismanoid | 23:abd02fed1ae4 | 2615 | tinyTester.Wait_Output_Settling(); // |
whismanoid | 23:abd02fed1ae4 | 2616 | #endif // MAX5171_SELFTEST_UPO // group UPO |
whismanoid | 23:abd02fed1ae4 | 2617 | |
whismanoid | 23:abd02fed1ae4 | 2618 | // @test group CODE_LOAD tinyTester.DigitalIn_Read_Expect_WarnOnly(UPO_pin, "UPO", 1, "UPO_pin is high after MAX5171 UPO_HIGH command") |
whismanoid | 23:abd02fed1ae4 | 2619 | // docTest_item['actionType'] = 'call-tinytester-function' |
whismanoid | 23:abd02fed1ae4 | 2620 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2621 | // docTest_item['action'] = 'tinyTester.DigitalIn_Read_Expect_WarnOnly(UPO_pin, "UPO", 1, "UPO_pin is high after MAX5171 UPO_HIGH command")' |
whismanoid | 23:abd02fed1ae4 | 2622 | // docTest_item['arglist'] = 'UPO_pin, "UPO", 1, "UPO_pin is high after MAX5171 UPO_HIGH command"' |
whismanoid | 23:abd02fed1ae4 | 2623 | // docTest_item['propName'] = 'DigitalIn_Read_Expect_WarnOnly' |
whismanoid | 23:abd02fed1ae4 | 2624 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None |
whismanoid | 23:abd02fed1ae4 | 2625 | // call-tinytester-function |
whismanoid | 23:abd02fed1ae4 | 2626 | // tinyTesterFuncName = "tinyTester.DigitalIn_Read_Expect_WarnOnly" |
whismanoid | 23:abd02fed1ae4 | 2627 | // docTest_argList = "UPO_pin, "UPO", 1, "UPO_pin is high after MAX5171 UPO_HIGH command"" |
whismanoid | 23:abd02fed1ae4 | 2628 | tinyTester.DigitalIn_Read_Expect_WarnOnly(UPO_pin, "UPO", 1, "UPO_pin is high after MAX5171 UPO_HIGH command"); // |
whismanoid | 23:abd02fed1ae4 | 2629 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2630 | |
whismanoid | 23:abd02fed1ae4 | 2631 | // @test group UPO UPO_LOW() |
whismanoid | 23:abd02fed1ae4 | 2632 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2633 | // docTest_item['group-id-value'] = 'UPO' |
whismanoid | 23:abd02fed1ae4 | 2634 | // docTest_item['action'] = 'UPO_LOW()' |
whismanoid | 23:abd02fed1ae4 | 2635 | // docTest_item['funcName'] = 'UPO_LOW' |
whismanoid | 23:abd02fed1ae4 | 2636 | #if MAX5171_SELFTEST_UPO // group UPO UPO_LOW |
whismanoid | 23:abd02fed1ae4 | 2637 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2638 | // ASSERT_EQ(g_MAX5171_device.UPO_LOW(()), (uint8_t)None); // |
whismanoid | 23:abd02fed1ae4 | 2639 | // tinyTester.FunctionCall_Expect("MAX5171.UPO_LOW", fn_MAX5171_UPO_LOW, /* empty docTest_argList */ /* empty expect: */ (uint8_t)None); // |
whismanoid | 23:abd02fed1ae4 | 2640 | g_MAX5171_device.UPO_LOW(); // |
whismanoid | 23:abd02fed1ae4 | 2641 | #endif // MAX5171_SELFTEST_UPO // group UPO |
whismanoid | 23:abd02fed1ae4 | 2642 | |
whismanoid | 23:abd02fed1ae4 | 2643 | // @test group UPO tinyTester.Wait_Output_Settling() |
whismanoid | 23:abd02fed1ae4 | 2644 | // docTest_item['actionType'] = 'call-tinytester-function' |
whismanoid | 23:abd02fed1ae4 | 2645 | // docTest_item['group-id-value'] = 'UPO' |
whismanoid | 23:abd02fed1ae4 | 2646 | // docTest_item['action'] = 'tinyTester.Wait_Output_Settling()' |
whismanoid | 23:abd02fed1ae4 | 2647 | // docTest_item['propName'] = 'Wait_Output_Settling' |
whismanoid | 23:abd02fed1ae4 | 2648 | #if MAX5171_SELFTEST_UPO // group UPO None |
whismanoid | 23:abd02fed1ae4 | 2649 | // call-tinytester-function |
whismanoid | 23:abd02fed1ae4 | 2650 | // tinyTesterFuncName = "tinyTester.Wait_Output_Settling" |
whismanoid | 23:abd02fed1ae4 | 2651 | // docTest_argList = "" |
whismanoid | 23:abd02fed1ae4 | 2652 | tinyTester.Wait_Output_Settling(); // |
whismanoid | 23:abd02fed1ae4 | 2653 | #endif // MAX5171_SELFTEST_UPO // group UPO |
whismanoid | 23:abd02fed1ae4 | 2654 | |
whismanoid | 23:abd02fed1ae4 | 2655 | // @test group CODE_LOAD tinyTester.DigitalIn_Read_Expect_WarnOnly(UPO_pin, "UPO", 0, "UPO_pin is low after MAX5171 UPO_LOW command") |
whismanoid | 23:abd02fed1ae4 | 2656 | // docTest_item['actionType'] = 'call-tinytester-function' |
whismanoid | 23:abd02fed1ae4 | 2657 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2658 | // docTest_item['action'] = 'tinyTester.DigitalIn_Read_Expect_WarnOnly(UPO_pin, "UPO", 0, "UPO_pin is low after MAX5171 UPO_LOW command")' |
whismanoid | 23:abd02fed1ae4 | 2659 | // docTest_item['arglist'] = 'UPO_pin, "UPO", 0, "UPO_pin is low after MAX5171 UPO_LOW command"' |
whismanoid | 23:abd02fed1ae4 | 2660 | // docTest_item['propName'] = 'DigitalIn_Read_Expect_WarnOnly' |
whismanoid | 23:abd02fed1ae4 | 2661 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None |
whismanoid | 23:abd02fed1ae4 | 2662 | // call-tinytester-function |
whismanoid | 23:abd02fed1ae4 | 2663 | // tinyTesterFuncName = "tinyTester.DigitalIn_Read_Expect_WarnOnly" |
whismanoid | 23:abd02fed1ae4 | 2664 | // docTest_argList = "UPO_pin, "UPO", 0, "UPO_pin is low after MAX5171 UPO_LOW command"" |
whismanoid | 23:abd02fed1ae4 | 2665 | tinyTester.DigitalIn_Read_Expect_WarnOnly(UPO_pin, "UPO", 0, "UPO_pin is low after MAX5171 UPO_LOW command"); // |
whismanoid | 23:abd02fed1ae4 | 2666 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2667 | |
whismanoid | 23:abd02fed1ae4 | 2668 | // @test group UPO UPO_HIGH() |
whismanoid | 23:abd02fed1ae4 | 2669 | // docTest_item['actionType'] = 'call-function' |
whismanoid | 23:abd02fed1ae4 | 2670 | // docTest_item['group-id-value'] = 'UPO' |
whismanoid | 23:abd02fed1ae4 | 2671 | // docTest_item['action'] = 'UPO_HIGH()' |
whismanoid | 23:abd02fed1ae4 | 2672 | // docTest_item['funcName'] = 'UPO_HIGH' |
whismanoid | 23:abd02fed1ae4 | 2673 | #if MAX5171_SELFTEST_UPO // group UPO UPO_HIGH |
whismanoid | 23:abd02fed1ae4 | 2674 | // call-function |
whismanoid | 23:abd02fed1ae4 | 2675 | // ASSERT_EQ(g_MAX5171_device.UPO_HIGH(()), (uint8_t)None); // |
whismanoid | 23:abd02fed1ae4 | 2676 | // tinyTester.FunctionCall_Expect("MAX5171.UPO_HIGH", fn_MAX5171_UPO_HIGH, /* empty docTest_argList */ /* empty expect: */ (uint8_t)None); // |
whismanoid | 23:abd02fed1ae4 | 2677 | g_MAX5171_device.UPO_HIGH(); // |
whismanoid | 23:abd02fed1ae4 | 2678 | #endif // MAX5171_SELFTEST_UPO // group UPO |
whismanoid | 23:abd02fed1ae4 | 2679 | |
whismanoid | 23:abd02fed1ae4 | 2680 | // @test group UPO tinyTester.Wait_Output_Settling() |
whismanoid | 23:abd02fed1ae4 | 2681 | // docTest_item['actionType'] = 'call-tinytester-function' |
whismanoid | 23:abd02fed1ae4 | 2682 | // docTest_item['group-id-value'] = 'UPO' |
whismanoid | 23:abd02fed1ae4 | 2683 | // docTest_item['action'] = 'tinyTester.Wait_Output_Settling()' |
whismanoid | 23:abd02fed1ae4 | 2684 | // docTest_item['propName'] = 'Wait_Output_Settling' |
whismanoid | 23:abd02fed1ae4 | 2685 | #if MAX5171_SELFTEST_UPO // group UPO None |
whismanoid | 23:abd02fed1ae4 | 2686 | // call-tinytester-function |
whismanoid | 23:abd02fed1ae4 | 2687 | // tinyTesterFuncName = "tinyTester.Wait_Output_Settling" |
whismanoid | 23:abd02fed1ae4 | 2688 | // docTest_argList = "" |
whismanoid | 23:abd02fed1ae4 | 2689 | tinyTester.Wait_Output_Settling(); // |
whismanoid | 23:abd02fed1ae4 | 2690 | #endif // MAX5171_SELFTEST_UPO // group UPO |
whismanoid | 23:abd02fed1ae4 | 2691 | |
whismanoid | 23:abd02fed1ae4 | 2692 | // @test group CODE_LOAD tinyTester.DigitalIn_Read_Expect_WarnOnly(UPO_pin, "UPO", 1, "UPO_pin is high after MAX5171 UPO_HIGH command") |
whismanoid | 23:abd02fed1ae4 | 2693 | // docTest_item['actionType'] = 'call-tinytester-function' |
whismanoid | 23:abd02fed1ae4 | 2694 | // docTest_item['group-id-value'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2695 | // docTest_item['action'] = 'tinyTester.DigitalIn_Read_Expect_WarnOnly(UPO_pin, "UPO", 1, "UPO_pin is high after MAX5171 UPO_HIGH command")' |
whismanoid | 23:abd02fed1ae4 | 2696 | // docTest_item['arglist'] = 'UPO_pin, "UPO", 1, "UPO_pin is high after MAX5171 UPO_HIGH command"' |
whismanoid | 23:abd02fed1ae4 | 2697 | // docTest_item['propName'] = 'DigitalIn_Read_Expect_WarnOnly' |
whismanoid | 23:abd02fed1ae4 | 2698 | #if MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD None |
whismanoid | 23:abd02fed1ae4 | 2699 | // call-tinytester-function |
whismanoid | 23:abd02fed1ae4 | 2700 | // tinyTesterFuncName = "tinyTester.DigitalIn_Read_Expect_WarnOnly" |
whismanoid | 23:abd02fed1ae4 | 2701 | // docTest_argList = "UPO_pin, "UPO", 1, "UPO_pin is high after MAX5171 UPO_HIGH command"" |
whismanoid | 23:abd02fed1ae4 | 2702 | tinyTester.DigitalIn_Read_Expect_WarnOnly(UPO_pin, "UPO", 1, "UPO_pin is high after MAX5171 UPO_HIGH command"); // |
whismanoid | 23:abd02fed1ae4 | 2703 | #endif // MAX5171_SELFTEST_CODE_LOAD // group CODE_LOAD |
whismanoid | 23:abd02fed1ae4 | 2704 | |
whismanoid | 22:a14c19b97d0b | 2705 | // |
whismanoid | 22:a14c19b97d0b | 2706 | #if INJECT_SELFTEST_FAIL |
whismanoid | 22:a14c19b97d0b | 2707 | // Test of the pass/fail report mechanism |
whismanoid | 22:a14c19b97d0b | 2708 | tinyTester.FAIL(); |
whismanoid | 22:a14c19b97d0b | 2709 | cmdLine.serial().print(F("injecting one false failure for test reporting")); |
whismanoid | 22:a14c19b97d0b | 2710 | #endif |
whismanoid | 22:a14c19b97d0b | 2711 | // |
whismanoid | 22:a14c19b97d0b | 2712 | // Report number of pass and number of fail test results |
whismanoid | 22:a14c19b97d0b | 2713 | tinyTester.Report_Summary(); |
whismanoid | 22:a14c19b97d0b | 2714 | } |
whismanoid | 22:a14c19b97d0b | 2715 | |
whismanoid | 23:abd02fed1ae4 | 2716 | //-------------------------------------------------- |
whismanoid | 23:abd02fed1ae4 | 2717 | // selfTestFunctionClosures[functionName]['functionName'] = 'DACCodeOfVoltage' |
whismanoid | 23:abd02fed1ae4 | 2718 | // selfTestFunctionClosures[functionName]['argListDeclaration'] = 'double voltageV' |
whismanoid | 23:abd02fed1ae4 | 2719 | // selfTestFunctionClosures[functionName]['returnType'] = 'uint16_t' |
whismanoid | 23:abd02fed1ae4 | 2720 | // selfTestFunctionClosures[functionName]['argNames'] = 'voltageV' |
whismanoid | 23:abd02fed1ae4 | 2721 | // CommandParamIn_declaration = 'double voltageV' |
whismanoid | 23:abd02fed1ae4 | 2722 | // argNames_recast_implementation = '(double)voltageV' |
whismanoid | 23:abd02fed1ae4 | 2723 | //-------------------------------------------------- |
whismanoid | 23:abd02fed1ae4 | 2724 | // selftest: define function under test |
whismanoid | 23:abd02fed1ae4 | 2725 | // uint16_t MAX5171::DACCodeOfVoltage(double voltageV) |
whismanoid | 23:abd02fed1ae4 | 2726 | uint16_t fn_MAX5171_DACCodeOfVoltage(double voltageV) |
whismanoid | 23:abd02fed1ae4 | 2727 | { |
whismanoid | 23:abd02fed1ae4 | 2728 | return g_MAX5171_device.DACCodeOfVoltage((double)voltageV); |
whismanoid | 23:abd02fed1ae4 | 2729 | } |
whismanoid | 23:abd02fed1ae4 | 2730 | |
whismanoid | 23:abd02fed1ae4 | 2731 | //-------------------------------------------------- |
whismanoid | 23:abd02fed1ae4 | 2732 | // selfTestFunctionClosures[functionName]['functionName'] = 'VoltageOfCode' |
whismanoid | 23:abd02fed1ae4 | 2733 | // selfTestFunctionClosures[functionName]['argListDeclaration'] = 'uint16_t value_u14' |
whismanoid | 23:abd02fed1ae4 | 2734 | // selfTestFunctionClosures[functionName]['returnType'] = 'double' |
whismanoid | 23:abd02fed1ae4 | 2735 | // selfTestFunctionClosures[functionName]['argNames'] = 'value_u14' |
whismanoid | 23:abd02fed1ae4 | 2736 | // CommandParamIn_declaration = 'int value_u14' |
whismanoid | 23:abd02fed1ae4 | 2737 | // argNames_recast_implementation = '(uint16_t)value_u14' |
whismanoid | 23:abd02fed1ae4 | 2738 | //-------------------------------------------------- |
whismanoid | 23:abd02fed1ae4 | 2739 | // selftest: define function under test |
whismanoid | 23:abd02fed1ae4 | 2740 | // double MAX5171::VoltageOfCode(uint16_t value_u14) |
whismanoid | 23:abd02fed1ae4 | 2741 | double fn_MAX5171_VoltageOfCode(int value_u14) |
whismanoid | 23:abd02fed1ae4 | 2742 | { |
whismanoid | 23:abd02fed1ae4 | 2743 | return g_MAX5171_device.VoltageOfCode((uint16_t)value_u14); |
whismanoid | 23:abd02fed1ae4 | 2744 | } |
whismanoid | 23:abd02fed1ae4 | 2745 | |
whismanoid | 23:abd02fed1ae4 | 2746 | //-------------------------------------------------- |
whismanoid | 23:abd02fed1ae4 | 2747 | // selfTestFunctionClosures[functionName]['functionName'] = 'Init' |
whismanoid | 23:abd02fed1ae4 | 2748 | // selfTestFunctionClosures[functionName]['argListDeclaration'] = 'void' |
whismanoid | 23:abd02fed1ae4 | 2749 | // selfTestFunctionClosures[functionName]['returnType'] = 'void' |
whismanoid | 23:abd02fed1ae4 | 2750 | // selfTestFunctionClosures[functionName]['argNames'] = '' |
whismanoid | 23:abd02fed1ae4 | 2751 | // CommandParamIn_declaration = 'void' |
whismanoid | 23:abd02fed1ae4 | 2752 | // argNames_recast_implementation = '' |
whismanoid | 23:abd02fed1ae4 | 2753 | //-------------------------------------------------- |
whismanoid | 23:abd02fed1ae4 | 2754 | // selftest: define function under test |
whismanoid | 23:abd02fed1ae4 | 2755 | // void MAX5171::Init(void) |
whismanoid | 23:abd02fed1ae4 | 2756 | void fn_MAX5171_Init(void) |
whismanoid | 23:abd02fed1ae4 | 2757 | { |
whismanoid | 23:abd02fed1ae4 | 2758 | return g_MAX5171_device.Init(); |
whismanoid | 23:abd02fed1ae4 | 2759 | } |
whismanoid | 23:abd02fed1ae4 | 2760 | |
whismanoid | 23:abd02fed1ae4 | 2761 | //-------------------------------------------------- |
whismanoid | 23:abd02fed1ae4 | 2762 | // selfTestFunctionClosures[functionName]['functionName'] = 'CODE_LOAD' |
whismanoid | 23:abd02fed1ae4 | 2763 | // selfTestFunctionClosures[functionName]['argListDeclaration'] = 'uint16_t dacCodeLsbs' |
whismanoid | 23:abd02fed1ae4 | 2764 | // selfTestFunctionClosures[functionName]['returnType'] = 'uint8_t' |
whismanoid | 23:abd02fed1ae4 | 2765 | // selfTestFunctionClosures[functionName]['argNames'] = 'dacCodeLsbs' |
whismanoid | 23:abd02fed1ae4 | 2766 | // CommandParamIn_declaration = 'int dacCodeLsbs' |
whismanoid | 23:abd02fed1ae4 | 2767 | // argNames_recast_implementation = '(uint16_t)dacCodeLsbs' |
whismanoid | 23:abd02fed1ae4 | 2768 | //-------------------------------------------------- |
whismanoid | 23:abd02fed1ae4 | 2769 | // selftest: define function under test |
whismanoid | 23:abd02fed1ae4 | 2770 | // uint8_t MAX5171::CODE_LOAD(uint16_t dacCodeLsbs) |
whismanoid | 23:abd02fed1ae4 | 2771 | uint8_t fn_MAX5171_CODE_LOAD(int dacCodeLsbs) |
whismanoid | 23:abd02fed1ae4 | 2772 | { |
whismanoid | 23:abd02fed1ae4 | 2773 | return g_MAX5171_device.CODE_LOAD((uint16_t)dacCodeLsbs); |
whismanoid | 23:abd02fed1ae4 | 2774 | } |
whismanoid | 23:abd02fed1ae4 | 2775 | |
whismanoid | 23:abd02fed1ae4 | 2776 | //-------------------------------------------------- |
whismanoid | 23:abd02fed1ae4 | 2777 | // selfTestFunctionClosures[functionName]['functionName'] = 'UPO_HIGH' |
whismanoid | 23:abd02fed1ae4 | 2778 | // selfTestFunctionClosures[functionName]['argListDeclaration'] = 'void' |
whismanoid | 23:abd02fed1ae4 | 2779 | // selfTestFunctionClosures[functionName]['returnType'] = 'uint8_t' |
whismanoid | 23:abd02fed1ae4 | 2780 | // selfTestFunctionClosures[functionName]['argNames'] = '' |
whismanoid | 23:abd02fed1ae4 | 2781 | // CommandParamIn_declaration = 'void' |
whismanoid | 23:abd02fed1ae4 | 2782 | // argNames_recast_implementation = '' |
whismanoid | 23:abd02fed1ae4 | 2783 | //-------------------------------------------------- |
whismanoid | 23:abd02fed1ae4 | 2784 | // selftest: define function under test |
whismanoid | 23:abd02fed1ae4 | 2785 | // uint8_t MAX5171::UPO_HIGH(void) |
whismanoid | 23:abd02fed1ae4 | 2786 | uint8_t fn_MAX5171_UPO_HIGH(void) |
whismanoid | 23:abd02fed1ae4 | 2787 | { |
whismanoid | 23:abd02fed1ae4 | 2788 | return g_MAX5171_device.UPO_HIGH(); |
whismanoid | 23:abd02fed1ae4 | 2789 | } |
whismanoid | 23:abd02fed1ae4 | 2790 | |
whismanoid | 23:abd02fed1ae4 | 2791 | //-------------------------------------------------- |
whismanoid | 23:abd02fed1ae4 | 2792 | // selfTestFunctionClosures[functionName]['functionName'] = 'UPO_LOW' |
whismanoid | 23:abd02fed1ae4 | 2793 | // selfTestFunctionClosures[functionName]['argListDeclaration'] = 'void' |
whismanoid | 23:abd02fed1ae4 | 2794 | // selfTestFunctionClosures[functionName]['returnType'] = 'uint8_t' |
whismanoid | 23:abd02fed1ae4 | 2795 | // selfTestFunctionClosures[functionName]['argNames'] = '' |
whismanoid | 23:abd02fed1ae4 | 2796 | // CommandParamIn_declaration = 'void' |
whismanoid | 23:abd02fed1ae4 | 2797 | // argNames_recast_implementation = '' |
whismanoid | 23:abd02fed1ae4 | 2798 | //-------------------------------------------------- |
whismanoid | 23:abd02fed1ae4 | 2799 | // selftest: define function under test |
whismanoid | 23:abd02fed1ae4 | 2800 | // uint8_t MAX5171::UPO_LOW(void) |
whismanoid | 23:abd02fed1ae4 | 2801 | uint8_t fn_MAX5171_UPO_LOW(void) |
whismanoid | 23:abd02fed1ae4 | 2802 | { |
whismanoid | 23:abd02fed1ae4 | 2803 | return g_MAX5171_device.UPO_LOW(); |
whismanoid | 23:abd02fed1ae4 | 2804 | } |
whismanoid | 23:abd02fed1ae4 | 2805 | |
whismanoid | 22:a14c19b97d0b | 2806 | |
whismanoid | 22:a14c19b97d0b | 2807 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 2808 | inline void print_command_prompt() |
whismanoid | 22:a14c19b97d0b | 2809 | { |
whismanoid | 22:a14c19b97d0b | 2810 | cmdLine_serial.serial().printf("\r\n> "); |
whismanoid | 22:a14c19b97d0b | 2811 | |
whismanoid | 22:a14c19b97d0b | 2812 | } |
whismanoid | 22:a14c19b97d0b | 2813 | |
whismanoid | 22:a14c19b97d0b | 2814 | |
whismanoid | 22:a14c19b97d0b | 2815 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 2816 | void pinsMonitor_submenu_onEOLcommandParser(CmdLine& cmdLine) |
whismanoid | 22:a14c19b97d0b | 2817 | { |
whismanoid | 22:a14c19b97d0b | 2818 | // % diagnostic commands submenu |
whismanoid | 22:a14c19b97d0b | 2819 | // %Hpin -- digital output high |
whismanoid | 22:a14c19b97d0b | 2820 | // %Lpin -- digital output low |
whismanoid | 22:a14c19b97d0b | 2821 | // %?pin -- digital input |
whismanoid | 22:a14c19b97d0b | 2822 | // %A %Apin -- analog input |
whismanoid | 22:a14c19b97d0b | 2823 | // %Ppin df=xx -- pwm output |
whismanoid | 22:a14c19b97d0b | 2824 | // %Wpin -- measure high pulsewidth input in usec |
whismanoid | 22:a14c19b97d0b | 2825 | // %wpin -- measure low pulsewidth input in usec |
whismanoid | 22:a14c19b97d0b | 2826 | // %I... -- I2C diagnostics |
whismanoid | 22:a14c19b97d0b | 2827 | // %IP -- I2C probe |
whismanoid | 22:a14c19b97d0b | 2828 | // %IC scl=100khz ADDR=? -- I2C configure |
whismanoid | 22:a14c19b97d0b | 2829 | // %IW byte byte ... byte RD=? ADDR=0x -- write |
whismanoid | 22:a14c19b97d0b | 2830 | // %IR ADDR=? RD=? -- read |
whismanoid | 22:a14c19b97d0b | 2831 | // %I^ cmd=? -- i2c_smbus_read_word_data |
whismanoid | 22:a14c19b97d0b | 2832 | // %S... -- SPI diagnostics |
whismanoid | 22:a14c19b97d0b | 2833 | // %SC sclk=1Mhz -- SPI configure |
whismanoid | 22:a14c19b97d0b | 2834 | // %SW -- write (write and read) |
whismanoid | 22:a14c19b97d0b | 2835 | // %SR -- read (alias for %SW because SPI always write and read) |
whismanoid | 22:a14c19b97d0b | 2836 | // A-Z,a-z,0-9 reserved for application use |
whismanoid | 22:a14c19b97d0b | 2837 | // |
whismanoid | 22:a14c19b97d0b | 2838 | char strPinIndex[3]; |
whismanoid | 22:a14c19b97d0b | 2839 | strPinIndex[0] = cmdLine[2]; |
whismanoid | 22:a14c19b97d0b | 2840 | strPinIndex[1] = cmdLine[3]; |
whismanoid | 22:a14c19b97d0b | 2841 | strPinIndex[2] = '\0'; |
whismanoid | 22:a14c19b97d0b | 2842 | int pinIndex = strtoul(strPinIndex, NULL, 10); // strtol(str, NULL, 10): get decimal value |
whismanoid | 22:a14c19b97d0b | 2843 | //cmdLine.serial().printf(" pinIndex=%d ", pinIndex); |
whismanoid | 22:a14c19b97d0b | 2844 | // |
whismanoid | 22:a14c19b97d0b | 2845 | // get next character |
whismanoid | 22:a14c19b97d0b | 2846 | switch (cmdLine[1]) |
whismanoid | 22:a14c19b97d0b | 2847 | { |
whismanoid | 22:a14c19b97d0b | 2848 | #if HAS_digitalInOuts |
whismanoid | 22:a14c19b97d0b | 2849 | case 'H': case 'h': |
whismanoid | 22:a14c19b97d0b | 2850 | { |
whismanoid | 22:a14c19b97d0b | 2851 | // %Hpin -- digital output high |
whismanoid | 22:a14c19b97d0b | 2852 | #if ARDUINO_STYLE |
whismanoid | 22:a14c19b97d0b | 2853 | pinMode(pinIndex, OUTPUT); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 |
whismanoid | 22:a14c19b97d0b | 2854 | digitalWrite(pinIndex, HIGH); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 |
whismanoid | 22:a14c19b97d0b | 2855 | #else |
whismanoid | 22:a14c19b97d0b | 2856 | DigitalInOut& digitalInOutPin = find_digitalInOutPin(pinIndex); |
whismanoid | 22:a14c19b97d0b | 2857 | digitalInOutPin.output(); |
whismanoid | 22:a14c19b97d0b | 2858 | digitalInOutPin.write(1); |
whismanoid | 22:a14c19b97d0b | 2859 | #endif |
whismanoid | 22:a14c19b97d0b | 2860 | cmdLine.serial().printf(" digitalInOutPin %d Output High ", pinIndex); |
whismanoid | 22:a14c19b97d0b | 2861 | } |
whismanoid | 22:a14c19b97d0b | 2862 | break; |
whismanoid | 22:a14c19b97d0b | 2863 | case 'L': case 'l': |
whismanoid | 22:a14c19b97d0b | 2864 | { |
whismanoid | 22:a14c19b97d0b | 2865 | // %Lpin -- digital output low |
whismanoid | 22:a14c19b97d0b | 2866 | #if ARDUINO_STYLE |
whismanoid | 22:a14c19b97d0b | 2867 | pinMode(pinIndex, OUTPUT); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 |
whismanoid | 22:a14c19b97d0b | 2868 | digitalWrite(pinIndex, LOW); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 |
whismanoid | 22:a14c19b97d0b | 2869 | #else |
whismanoid | 22:a14c19b97d0b | 2870 | DigitalInOut& digitalInOutPin = find_digitalInOutPin(pinIndex); |
whismanoid | 22:a14c19b97d0b | 2871 | digitalInOutPin.output(); |
whismanoid | 22:a14c19b97d0b | 2872 | digitalInOutPin.write(0); |
whismanoid | 22:a14c19b97d0b | 2873 | #endif |
whismanoid | 22:a14c19b97d0b | 2874 | cmdLine.serial().printf(" digitalInOutPin %d Output Low ", pinIndex); |
whismanoid | 22:a14c19b97d0b | 2875 | } |
whismanoid | 22:a14c19b97d0b | 2876 | break; |
whismanoid | 22:a14c19b97d0b | 2877 | case '?': |
whismanoid | 22:a14c19b97d0b | 2878 | { |
whismanoid | 22:a14c19b97d0b | 2879 | // %?pin -- digital input |
whismanoid | 22:a14c19b97d0b | 2880 | #if ARDUINO_STYLE |
whismanoid | 22:a14c19b97d0b | 2881 | pinMode(pinIndex, INPUT); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 |
whismanoid | 22:a14c19b97d0b | 2882 | #else |
whismanoid | 22:a14c19b97d0b | 2883 | DigitalInOut& digitalInOutPin = find_digitalInOutPin(pinIndex); |
whismanoid | 22:a14c19b97d0b | 2884 | digitalInOutPin.input(); |
whismanoid | 22:a14c19b97d0b | 2885 | #endif |
whismanoid | 22:a14c19b97d0b | 2886 | serial.printf(" digitalInOutPin %d Input ", pinIndex); |
whismanoid | 22:a14c19b97d0b | 2887 | #if ARDUINO_STYLE |
whismanoid | 22:a14c19b97d0b | 2888 | int value = digitalRead(pinIndex); |
whismanoid | 22:a14c19b97d0b | 2889 | #else |
whismanoid | 22:a14c19b97d0b | 2890 | int value = digitalInOutPin.read(); |
whismanoid | 22:a14c19b97d0b | 2891 | #endif |
whismanoid | 22:a14c19b97d0b | 2892 | cmdLine.serial().printf("%d ", value); |
whismanoid | 22:a14c19b97d0b | 2893 | } |
whismanoid | 22:a14c19b97d0b | 2894 | break; |
whismanoid | 22:a14c19b97d0b | 2895 | #endif |
whismanoid | 22:a14c19b97d0b | 2896 | // |
whismanoid | 22:a14c19b97d0b | 2897 | #if HAS_analogIns |
whismanoid | 22:a14c19b97d0b | 2898 | case 'A': case 'a': |
whismanoid | 22:a14c19b97d0b | 2899 | { |
whismanoid | 22:a14c19b97d0b | 2900 | // %A %Apin -- analog input |
whismanoid | 22:a14c19b97d0b | 2901 | #if analogIn4_IS_HIGH_RANGE_OF_analogIn0 |
whismanoid | 22:a14c19b97d0b | 2902 | // Platform board uses AIN4,AIN5,.. as high range of AIN0,AIN1,.. |
whismanoid | 22:a14c19b97d0b | 2903 | for (int pinIndex = 0; pinIndex < 2; pinIndex++) |
whismanoid | 22:a14c19b97d0b | 2904 | { |
whismanoid | 22:a14c19b97d0b | 2905 | int cPinIndex = '0' + pinIndex; |
whismanoid | 22:a14c19b97d0b | 2906 | AnalogIn& analogInPin = find_analogInPin(cPinIndex); |
whismanoid | 22:a14c19b97d0b | 2907 | float adc_full_scale_voltage = analogInPin_fullScaleVoltage[pinIndex]; |
whismanoid | 22:a14c19b97d0b | 2908 | float normValue_0_1 = analogInPin.read(); |
whismanoid | 22:a14c19b97d0b | 2909 | // |
whismanoid | 22:a14c19b97d0b | 2910 | int pinIndexH = pinIndex + 4; |
whismanoid | 22:a14c19b97d0b | 2911 | int cPinIndexH = '0' + pinIndexH; |
whismanoid | 22:a14c19b97d0b | 2912 | AnalogIn& analogInPinH = find_analogInPin(cPinIndexH); |
whismanoid | 22:a14c19b97d0b | 2913 | float adc_full_scale_voltageH = analogInPin_fullScaleVoltage[pinIndexH]; |
whismanoid | 22:a14c19b97d0b | 2914 | float normValueH_0_1 = analogInPinH.read(); |
whismanoid | 22:a14c19b97d0b | 2915 | // |
whismanoid | 22:a14c19b97d0b | 2916 | cmdLine.serial().printf("AIN%c = %7.3f%% = %1.3fV AIN%c = %7.3f%% = %1.3fV \r\n", |
whismanoid | 22:a14c19b97d0b | 2917 | cPinIndex, |
whismanoid | 22:a14c19b97d0b | 2918 | normValue_0_1 * 100.0, |
whismanoid | 22:a14c19b97d0b | 2919 | normValue_0_1 * adc_full_scale_voltage, |
whismanoid | 22:a14c19b97d0b | 2920 | cPinIndexH, |
whismanoid | 22:a14c19b97d0b | 2921 | normValueH_0_1 * 100.0, |
whismanoid | 22:a14c19b97d0b | 2922 | normValueH_0_1 * adc_full_scale_voltageH |
whismanoid | 22:a14c19b97d0b | 2923 | ); |
whismanoid | 22:a14c19b97d0b | 2924 | } |
whismanoid | 22:a14c19b97d0b | 2925 | for (int pinIndex = 2; pinIndex < 4; pinIndex++) |
whismanoid | 22:a14c19b97d0b | 2926 | { |
whismanoid | 22:a14c19b97d0b | 2927 | int cPinIndex = '0' + pinIndex; |
whismanoid | 22:a14c19b97d0b | 2928 | AnalogIn& analogInPin = find_analogInPin(cPinIndex); |
whismanoid | 22:a14c19b97d0b | 2929 | float adc_full_scale_voltage = analogInPin_fullScaleVoltage[pinIndex]; |
whismanoid | 22:a14c19b97d0b | 2930 | float normValue_0_1 = analogInPin.read(); |
whismanoid | 22:a14c19b97d0b | 2931 | // |
whismanoid | 22:a14c19b97d0b | 2932 | cmdLine.serial().printf("AIN%c = %7.3f%% = %1.3fV\r\n", |
whismanoid | 22:a14c19b97d0b | 2933 | cPinIndex, |
whismanoid | 22:a14c19b97d0b | 2934 | normValue_0_1 * 100.0, |
whismanoid | 22:a14c19b97d0b | 2935 | normValue_0_1 * adc_full_scale_voltage |
whismanoid | 22:a14c19b97d0b | 2936 | ); |
whismanoid | 22:a14c19b97d0b | 2937 | } |
whismanoid | 22:a14c19b97d0b | 2938 | #else // analogIn4_IS_HIGH_RANGE_OF_analogIn0 |
whismanoid | 22:a14c19b97d0b | 2939 | // Platform board uses simple analog inputs |
whismanoid | 22:a14c19b97d0b | 2940 | // assume standard Arduino analog inputs A0-A5 |
whismanoid | 22:a14c19b97d0b | 2941 | for (int pinIndex = 0; pinIndex < 6; pinIndex++) |
whismanoid | 22:a14c19b97d0b | 2942 | { |
whismanoid | 22:a14c19b97d0b | 2943 | int cPinIndex = '0' + pinIndex; |
whismanoid | 22:a14c19b97d0b | 2944 | AnalogIn& analogInPin = find_analogInPin(cPinIndex); |
whismanoid | 22:a14c19b97d0b | 2945 | float adc_full_scale_voltage = analogInPin_fullScaleVoltage[pinIndex]; |
whismanoid | 22:a14c19b97d0b | 2946 | float normValue_0_1 = analogInPin.read(); |
whismanoid | 22:a14c19b97d0b | 2947 | // |
whismanoid | 22:a14c19b97d0b | 2948 | cmdLine.serial().printf("AIN%c = %7.3f%% = %1.3fV\r\n", |
whismanoid | 22:a14c19b97d0b | 2949 | cPinIndex, |
whismanoid | 22:a14c19b97d0b | 2950 | normValue_0_1 * 100.0, |
whismanoid | 22:a14c19b97d0b | 2951 | normValue_0_1 * adc_full_scale_voltage |
whismanoid | 22:a14c19b97d0b | 2952 | ); |
whismanoid | 22:a14c19b97d0b | 2953 | } |
whismanoid | 22:a14c19b97d0b | 2954 | #endif // analogIn4_IS_HIGH_RANGE_OF_analogIn0 |
whismanoid | 22:a14c19b97d0b | 2955 | } |
whismanoid | 22:a14c19b97d0b | 2956 | break; |
whismanoid | 22:a14c19b97d0b | 2957 | #endif |
whismanoid | 22:a14c19b97d0b | 2958 | // |
whismanoid | 22:a14c19b97d0b | 2959 | #if HAS_SPI2_MAX541 |
whismanoid | 22:a14c19b97d0b | 2960 | case 'D': case 'd': |
whismanoid | 22:a14c19b97d0b | 2961 | { |
whismanoid | 22:a14c19b97d0b | 2962 | // %D -- DAC output MAX541 (SPI2) -- need cmdLine.parse_float(voltageV) |
whismanoid | 22:a14c19b97d0b | 2963 | // MAX541 max541(spi2_max541, spi2_max541_cs); |
whismanoid | 22:a14c19b97d0b | 2964 | float voltageV = max541.Get_Voltage(); |
whismanoid | 22:a14c19b97d0b | 2965 | // if (cmdLine[2] == '+') { |
whismanoid | 22:a14c19b97d0b | 2966 | // // %D+ |
whismanoid | 22:a14c19b97d0b | 2967 | // voltageV = voltageV * 1.25f; |
whismanoid | 22:a14c19b97d0b | 2968 | // if (voltageV >= max541.VRef) voltageV = max541.VRef; |
whismanoid | 22:a14c19b97d0b | 2969 | // SelfTest_MAX541_Voltage(cmdLine, max541, voltageV); |
whismanoid | 22:a14c19b97d0b | 2970 | // } |
whismanoid | 22:a14c19b97d0b | 2971 | // else if (cmdLine[2] == '-') { |
whismanoid | 22:a14c19b97d0b | 2972 | // // %D- |
whismanoid | 22:a14c19b97d0b | 2973 | // voltageV = voltageV * 0.75f; |
whismanoid | 22:a14c19b97d0b | 2974 | // if (voltageV < 0.1f) voltageV = 0.1f; |
whismanoid | 22:a14c19b97d0b | 2975 | // SelfTest_MAX541_Voltage(cmdLine, max541, voltageV); |
whismanoid | 22:a14c19b97d0b | 2976 | // } |
whismanoid | 22:a14c19b97d0b | 2977 | if (cmdLine.parse_float("V", voltageV)) |
whismanoid | 22:a14c19b97d0b | 2978 | { |
whismanoid | 22:a14c19b97d0b | 2979 | // %D V=1.234 -- set voltage |
whismanoid | 22:a14c19b97d0b | 2980 | max541.Set_Voltage(voltageV); |
whismanoid | 22:a14c19b97d0b | 2981 | } |
whismanoid | 22:a14c19b97d0b | 2982 | else if (cmdLine.parse_float("TEST", voltageV)) |
whismanoid | 22:a14c19b97d0b | 2983 | { |
whismanoid | 22:a14c19b97d0b | 2984 | // %D TEST=1.234 -- set voltage and compare with AIN0 |
whismanoid | 22:a14c19b97d0b | 2985 | SelfTest_MAX541_Voltage(cmdLine, max541, voltageV); |
whismanoid | 22:a14c19b97d0b | 2986 | } |
whismanoid | 22:a14c19b97d0b | 2987 | else if (cmdLine.parse_float("CAL", voltageV)) |
whismanoid | 22:a14c19b97d0b | 2988 | { |
whismanoid | 22:a14c19b97d0b | 2989 | // %D CAL=1.234 -- calibrate VRef and compare with AIN0 |
whismanoid | 22:a14c19b97d0b | 2990 | |
whismanoid | 22:a14c19b97d0b | 2991 | max541.Set_Code(0x8000); // we don't know the fullscale voltage yet, so set code to midscale |
whismanoid | 22:a14c19b97d0b | 2992 | double max541_midscale_V = analogInPin_fullScaleVoltage[4] * analogIn4.read(); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 2993 | const int average_count = 100; |
whismanoid | 22:a14c19b97d0b | 2994 | const double average_K = 0.25; |
whismanoid | 22:a14c19b97d0b | 2995 | for (int count = 0; count < average_count; count++) { |
whismanoid | 22:a14c19b97d0b | 2996 | double measurement_V = analogInPin_fullScaleVoltage[4] * analogIn4.read(); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V |
whismanoid | 22:a14c19b97d0b | 2997 | max541_midscale_V = ((1 - average_K) * max541_midscale_V) + (average_K * measurement_V); |
whismanoid | 22:a14c19b97d0b | 2998 | } |
whismanoid | 22:a14c19b97d0b | 2999 | max541.VRef = 2.0 * max541_midscale_V; |
whismanoid | 22:a14c19b97d0b | 3000 | cmdLine.serial().printf( |
whismanoid | 22:a14c19b97d0b | 3001 | "\r\n MAX541 midscale = %1.3fV, so fullscale = %1.3fV", |
whismanoid | 22:a14c19b97d0b | 3002 | max541_midscale_V, max541.VRef); |
whismanoid | 22:a14c19b97d0b | 3003 | // Detect whether MAX541 is really connected to MAX32625MBED.AIN0/AIN4 |
whismanoid | 22:a14c19b97d0b | 3004 | voltageV = 1.0f; |
whismanoid | 22:a14c19b97d0b | 3005 | SelfTest_MAX541_Voltage(cmdLine, max541, voltageV); |
whismanoid | 22:a14c19b97d0b | 3006 | } |
whismanoid | 22:a14c19b97d0b | 3007 | else { |
whismanoid | 22:a14c19b97d0b | 3008 | // %D -- print MAX541 DAC status |
whismanoid | 22:a14c19b97d0b | 3009 | cmdLine.serial().printf("MAX541 code=0x%4.4x = %1.3fV VRef=%1.3fV\r\n", |
whismanoid | 22:a14c19b97d0b | 3010 | max541.Get_Code(), max541.Get_Voltage(), max541.VRef); |
whismanoid | 22:a14c19b97d0b | 3011 | } |
whismanoid | 22:a14c19b97d0b | 3012 | } |
whismanoid | 22:a14c19b97d0b | 3013 | break; |
whismanoid | 22:a14c19b97d0b | 3014 | #endif |
whismanoid | 22:a14c19b97d0b | 3015 | |
whismanoid | 22:a14c19b97d0b | 3016 | // |
whismanoid | 22:a14c19b97d0b | 3017 | #if HAS_I2C // SUPPORT_I2C |
whismanoid | 22:a14c19b97d0b | 3018 | case 'I': case 'i': |
whismanoid | 22:a14c19b97d0b | 3019 | // %I... -- I2C diagnostics |
whismanoid | 22:a14c19b97d0b | 3020 | // %IP -- I2C probe |
whismanoid | 22:a14c19b97d0b | 3021 | // %IC scl=100khz ADDR=? -- I2C configure |
whismanoid | 22:a14c19b97d0b | 3022 | // %IW byte byte ... byte RD=? ADDR=0x -- write |
whismanoid | 22:a14c19b97d0b | 3023 | // %IR ADDR=? RD=? -- read |
whismanoid | 22:a14c19b97d0b | 3024 | // %I^ cmd=? -- i2c_smbus_read_word_data |
whismanoid | 22:a14c19b97d0b | 3025 | // get next character |
whismanoid | 22:a14c19b97d0b | 3026 | // TODO: parse cmdLine arg (ADDR=\d+)? --> g_I2C_deviceAddress7 |
whismanoid | 22:a14c19b97d0b | 3027 | cmdLine.parse_byte_hex("ADDR", g_I2C_deviceAddress7); |
whismanoid | 22:a14c19b97d0b | 3028 | // TODO: parse cmdLine arg (RD=\d)? --> g_I2C_read_count |
whismanoid | 22:a14c19b97d0b | 3029 | g_I2C_read_count = 0; // read count must be reset every command |
whismanoid | 22:a14c19b97d0b | 3030 | cmdLine.parse_byte_dec("RD", g_I2C_read_count); |
whismanoid | 22:a14c19b97d0b | 3031 | // TODO: parse cmdLine arg (CMD=\d)? --> g_I2C_command_regAddress |
whismanoid | 22:a14c19b97d0b | 3032 | cmdLine.parse_byte_hex("CMD", g_I2C_command_regAddress); |
whismanoid | 22:a14c19b97d0b | 3033 | switch (cmdLine[2]) |
whismanoid | 22:a14c19b97d0b | 3034 | { |
whismanoid | 22:a14c19b97d0b | 3035 | case 'P': case 'p': |
whismanoid | 22:a14c19b97d0b | 3036 | { |
whismanoid | 22:a14c19b97d0b | 3037 | // %IP -- I2C probe |
whismanoid | 22:a14c19b97d0b | 3038 | HuntAttachedI2CDevices(cmdLine, 0x03, 0x77); |
whismanoid | 22:a14c19b97d0b | 3039 | } |
whismanoid | 22:a14c19b97d0b | 3040 | break; |
whismanoid | 22:a14c19b97d0b | 3041 | case 'C': case 'c': |
whismanoid | 22:a14c19b97d0b | 3042 | { |
whismanoid | 22:a14c19b97d0b | 3043 | bool isUpdatedI2CConfig = false; |
whismanoid | 22:a14c19b97d0b | 3044 | // %IC scl=100khz ADDR=? -- I2C configure |
whismanoid | 22:a14c19b97d0b | 3045 | // parse cmdLine arg (SCL=\d+(kHZ|MHZ)?)? --> g_I2C_SCL_Hz |
whismanoid | 22:a14c19b97d0b | 3046 | if (cmdLine.parse_frequency_Hz("SCL", g_I2C_SCL_Hz)) |
whismanoid | 22:a14c19b97d0b | 3047 | { |
whismanoid | 22:a14c19b97d0b | 3048 | isUpdatedI2CConfig = true; |
whismanoid | 22:a14c19b97d0b | 3049 | // TODO1: validate g_I2C_SCL_Hz against system clock frequency F_CPU |
whismanoid | 22:a14c19b97d0b | 3050 | if (g_I2C_SCL_Hz > limit_max_I2C_SCL_Hz) |
whismanoid | 22:a14c19b97d0b | 3051 | { |
whismanoid | 22:a14c19b97d0b | 3052 | g_I2C_SCL_Hz = limit_max_I2C_SCL_Hz; |
whismanoid | 22:a14c19b97d0b | 3053 | } |
whismanoid | 22:a14c19b97d0b | 3054 | if (g_I2C_SCL_Hz < limit_min_I2C_SCL_Hz) |
whismanoid | 22:a14c19b97d0b | 3055 | { |
whismanoid | 22:a14c19b97d0b | 3056 | g_I2C_SCL_Hz = limit_min_I2C_SCL_Hz; |
whismanoid | 22:a14c19b97d0b | 3057 | } |
whismanoid | 22:a14c19b97d0b | 3058 | } |
whismanoid | 22:a14c19b97d0b | 3059 | if (isUpdatedI2CConfig) |
whismanoid | 22:a14c19b97d0b | 3060 | { |
whismanoid | 22:a14c19b97d0b | 3061 | // declare in narrower scope: MAX32625MBED I2C i2cMaster(...) |
whismanoid | 22:a14c19b97d0b | 3062 | I2C i2cMaster(I2C0_SDA, I2C0_SCL); // sda scl TARGET_MAX32635MBED: P1_6, P1_7 Arduino 10-pin header |
whismanoid | 22:a14c19b97d0b | 3063 | i2cMaster.frequency(g_I2C_SCL_Hz); |
whismanoid | 22:a14c19b97d0b | 3064 | i2cMaster.start(); |
whismanoid | 22:a14c19b97d0b | 3065 | i2cMaster.stop(); |
whismanoid | 22:a14c19b97d0b | 3066 | i2cMaster.frequency(g_I2C_SCL_Hz); |
whismanoid | 22:a14c19b97d0b | 3067 | cmdLine.serial().printf( |
whismanoid | 22:a14c19b97d0b | 3068 | "\r\n %%IC ADDR=0x%2.2x=(0x%2.2x>>1) SCL=%d=%1.3fkHz -- I2C config", |
whismanoid | 22:a14c19b97d0b | 3069 | g_I2C_deviceAddress7, (g_I2C_deviceAddress7 << 1), g_I2C_SCL_Hz, |
whismanoid | 22:a14c19b97d0b | 3070 | (g_I2C_SCL_Hz / 1000.)); |
whismanoid | 22:a14c19b97d0b | 3071 | i2cMaster.start(); |
whismanoid | 22:a14c19b97d0b | 3072 | i2cMaster.stop(); |
whismanoid | 22:a14c19b97d0b | 3073 | } |
whismanoid | 22:a14c19b97d0b | 3074 | } |
whismanoid | 22:a14c19b97d0b | 3075 | break; |
whismanoid | 22:a14c19b97d0b | 3076 | case 'W': case 'w': |
whismanoid | 22:a14c19b97d0b | 3077 | { |
whismanoid | 22:a14c19b97d0b | 3078 | // declare in narrower scope: MAX32625MBED I2C i2cMaster(...) |
whismanoid | 22:a14c19b97d0b | 3079 | I2C i2cMaster(I2C0_SDA, I2C0_SCL); // sda scl TARGET_MAX32635MBED: P1_6, P1_7 Arduino 10-pin header |
whismanoid | 22:a14c19b97d0b | 3080 | i2cMaster.frequency(g_I2C_SCL_Hz); |
whismanoid | 22:a14c19b97d0b | 3081 | // %IW byte byte ... byte RD=? ADDR=0x -- write |
whismanoid | 22:a14c19b97d0b | 3082 | // parse cmdLine byte list --> int byteCount; int mosiData[MAX_SPI_BYTE_COUNT]; |
whismanoid | 22:a14c19b97d0b | 3083 | #define MAX_I2C_BYTE_COUNT 32 |
whismanoid | 22:a14c19b97d0b | 3084 | size_t byteCount = byteCount; |
whismanoid | 22:a14c19b97d0b | 3085 | static char mosiData[MAX_I2C_BYTE_COUNT]; |
whismanoid | 22:a14c19b97d0b | 3086 | static char misoData[MAX_I2C_BYTE_COUNT]; |
whismanoid | 22:a14c19b97d0b | 3087 | if (cmdLine.parse_byteCount_byteList_hex(byteCount, mosiData, |
whismanoid | 22:a14c19b97d0b | 3088 | MAX_I2C_BYTE_COUNT)) |
whismanoid | 22:a14c19b97d0b | 3089 | { |
whismanoid | 22:a14c19b97d0b | 3090 | // hex dump mosiData[0..byteCount-1] |
whismanoid | 22:a14c19b97d0b | 3091 | cmdLine.serial().printf( |
whismanoid | 22:a14c19b97d0b | 3092 | "\r\nADDR=0x%2.2x=(0x%2.2x>>1) byteCount:%d RD=%d\r\nI2C MOSI->", |
whismanoid | 22:a14c19b97d0b | 3093 | g_I2C_deviceAddress7, |
whismanoid | 22:a14c19b97d0b | 3094 | (g_I2C_deviceAddress7 << 1), byteCount, g_I2C_read_count); |
whismanoid | 22:a14c19b97d0b | 3095 | for (unsigned int byteIndex = 0; byteIndex < byteCount; byteIndex++) |
whismanoid | 22:a14c19b97d0b | 3096 | { |
whismanoid | 22:a14c19b97d0b | 3097 | cmdLine.serial().printf(" 0x%2.2X", mosiData[byteIndex]); |
whismanoid | 22:a14c19b97d0b | 3098 | } |
whismanoid | 22:a14c19b97d0b | 3099 | // |
whismanoid | 22:a14c19b97d0b | 3100 | // TODO: i2c transfer |
whismanoid | 22:a14c19b97d0b | 3101 | //const int addr7bit = 0x48; // 7 bit I2C address |
whismanoid | 22:a14c19b97d0b | 3102 | //const int addr8bit = 0x48 << 1; // 8bit I2C address, 0x90 |
whismanoid | 22:a14c19b97d0b | 3103 | // /* int */ i2cMaster.read (int addr8bit, char *data, int length, bool repeated=false) // Read from an I2C slave. |
whismanoid | 22:a14c19b97d0b | 3104 | // /* int */ i2cMaster.read (int ack) // Read a single byte from the I2C bus. |
whismanoid | 22:a14c19b97d0b | 3105 | // /* int */ i2cMaster.write (int addr8bit, const char *data, int length, bool repeated=false) // Write to an I2C slave. |
whismanoid | 22:a14c19b97d0b | 3106 | // /* int */ i2cMaster.write (int data) // Write single byte out on the I2C bus. |
whismanoid | 22:a14c19b97d0b | 3107 | // /* void */ i2cMaster.start (void) // Creates a start condition on the I2C bus. |
whismanoid | 22:a14c19b97d0b | 3108 | // /* void */ i2cMaster.stop (void) // Creates a stop condition on the I2C bus. |
whismanoid | 22:a14c19b97d0b | 3109 | // /* 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 | 22:a14c19b97d0b | 3110 | // /* void */ i2cMaster.abort_transfer () // Abort the ongoing I2C transfer. More... |
whismanoid | 22:a14c19b97d0b | 3111 | const int addr8bit = g_I2C_deviceAddress7 << 1; // 8bit I2C address, 0x90 |
whismanoid | 22:a14c19b97d0b | 3112 | unsigned int misoLength = 0; |
whismanoid | 22:a14c19b97d0b | 3113 | bool repeated = (g_I2C_read_count > 0); |
whismanoid | 22:a14c19b97d0b | 3114 | // |
whismanoid | 22:a14c19b97d0b | 3115 | int writeStatus = i2cMaster.write (addr8bit, mosiData, byteCount, repeated); |
whismanoid | 22:a14c19b97d0b | 3116 | switch (writeStatus) |
whismanoid | 22:a14c19b97d0b | 3117 | { |
whismanoid | 22:a14c19b97d0b | 3118 | case 0: cmdLine.serial().printf(" ack "); break; |
whismanoid | 22:a14c19b97d0b | 3119 | case 1: cmdLine.serial().printf(" nack "); break; |
whismanoid | 22:a14c19b97d0b | 3120 | default: cmdLine.serial().printf(" {writeStatus 0x%2.2X} ", |
whismanoid | 22:a14c19b97d0b | 3121 | writeStatus); |
whismanoid | 22:a14c19b97d0b | 3122 | } |
whismanoid | 22:a14c19b97d0b | 3123 | if (repeated) |
whismanoid | 22:a14c19b97d0b | 3124 | { |
whismanoid | 22:a14c19b97d0b | 3125 | int readStatus = |
whismanoid | 22:a14c19b97d0b | 3126 | i2cMaster.read (addr8bit, misoData, g_I2C_read_count, false); |
whismanoid | 22:a14c19b97d0b | 3127 | switch (readStatus) |
whismanoid | 22:a14c19b97d0b | 3128 | { |
whismanoid | 22:a14c19b97d0b | 3129 | case 1: cmdLine.serial().printf(" nack "); break; |
whismanoid | 22:a14c19b97d0b | 3130 | case 0: cmdLine.serial().printf(" ack "); break; |
whismanoid | 22:a14c19b97d0b | 3131 | default: cmdLine.serial().printf(" {readStatus 0x%2.2X} ", |
whismanoid | 22:a14c19b97d0b | 3132 | readStatus); |
whismanoid | 22:a14c19b97d0b | 3133 | } |
whismanoid | 22:a14c19b97d0b | 3134 | } |
whismanoid | 22:a14c19b97d0b | 3135 | // |
whismanoid | 22:a14c19b97d0b | 3136 | if (misoLength > 0) |
whismanoid | 22:a14c19b97d0b | 3137 | { |
whismanoid | 22:a14c19b97d0b | 3138 | // hex dump misoData[0..byteCount-1] |
whismanoid | 22:a14c19b97d0b | 3139 | cmdLine.serial().printf(" MISO<-"); |
whismanoid | 22:a14c19b97d0b | 3140 | for (unsigned int byteIndex = 0; byteIndex < g_I2C_read_count; |
whismanoid | 22:a14c19b97d0b | 3141 | byteIndex++) |
whismanoid | 22:a14c19b97d0b | 3142 | { |
whismanoid | 22:a14c19b97d0b | 3143 | cmdLine.serial().printf(" 0x%2.2X", misoData[byteIndex]); |
whismanoid | 22:a14c19b97d0b | 3144 | } |
whismanoid | 22:a14c19b97d0b | 3145 | } |
whismanoid | 22:a14c19b97d0b | 3146 | cmdLine.serial().printf(" "); |
whismanoid | 22:a14c19b97d0b | 3147 | } |
whismanoid | 22:a14c19b97d0b | 3148 | } |
whismanoid | 22:a14c19b97d0b | 3149 | break; |
whismanoid | 22:a14c19b97d0b | 3150 | case 'R': case 'r': |
whismanoid | 22:a14c19b97d0b | 3151 | { |
whismanoid | 22:a14c19b97d0b | 3152 | // declare in narrower scope: MAX32625MBED I2C i2cMaster(...) |
whismanoid | 22:a14c19b97d0b | 3153 | I2C i2cMaster(I2C0_SDA, I2C0_SCL); // sda scl TARGET_MAX32635MBED: P1_6, P1_7 Arduino 10-pin header |
whismanoid | 22:a14c19b97d0b | 3154 | i2cMaster.frequency(g_I2C_SCL_Hz); |
whismanoid | 22:a14c19b97d0b | 3155 | // %IR ADDR=? RD=? -- read |
whismanoid | 22:a14c19b97d0b | 3156 | // TODO: i2c transfer |
whismanoid | 22:a14c19b97d0b | 3157 | //const int addr7bit = 0x48; // 7 bit I2C address |
whismanoid | 22:a14c19b97d0b | 3158 | //const int addr8bit = 0x48 << 1; // 8bit I2C address, 0x90 |
whismanoid | 22:a14c19b97d0b | 3159 | // /* int */ i2cMaster.read (int addr8bit, char *data, int length, bool repeated=false) // Read from an I2C slave. |
whismanoid | 22:a14c19b97d0b | 3160 | // /* int */ i2cMaster.read (int ack) // Read a single byte from the I2C bus. |
whismanoid | 22:a14c19b97d0b | 3161 | // /* int */ i2cMaster.write (int addr8bit, const char *data, int length, bool repeated=false) // Write to an I2C slave. |
whismanoid | 22:a14c19b97d0b | 3162 | // /* int */ i2cMaster.write (int data) // Write single byte out on the I2C bus. |
whismanoid | 22:a14c19b97d0b | 3163 | // /* void */ i2cMaster.start (void) // Creates a start condition on the I2C bus. |
whismanoid | 22:a14c19b97d0b | 3164 | // /* void */ i2cMaster.stop (void) // Creates a stop condition on the I2C bus. |
whismanoid | 22:a14c19b97d0b | 3165 | // /* 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 | 22:a14c19b97d0b | 3166 | // /* void */ i2cMaster.abort_transfer () // Abort the ongoing I2C transfer. More... |
whismanoid | 22:a14c19b97d0b | 3167 | } |
whismanoid | 22:a14c19b97d0b | 3168 | break; |
whismanoid | 22:a14c19b97d0b | 3169 | case '^': |
whismanoid | 22:a14c19b97d0b | 3170 | { |
whismanoid | 22:a14c19b97d0b | 3171 | // declare in narrower scope: MAX32625MBED I2C i2cMaster(...) |
whismanoid | 22:a14c19b97d0b | 3172 | I2C i2cMaster(I2C0_SDA, I2C0_SCL); // sda scl TARGET_MAX32635MBED: P1_6, P1_7 Arduino 10-pin header |
whismanoid | 22:a14c19b97d0b | 3173 | i2cMaster.frequency(g_I2C_SCL_Hz); |
whismanoid | 22:a14c19b97d0b | 3174 | // %I^ cmd=? -- i2c_smbus_read_word_data |
whismanoid | 22:a14c19b97d0b | 3175 | // TODO: i2c transfer |
whismanoid | 22:a14c19b97d0b | 3176 | //const int addr7bit = 0x48; // 7 bit I2C address |
whismanoid | 22:a14c19b97d0b | 3177 | //const int addr8bit = 0x48 << 1; // 8bit I2C address, 0x90 |
whismanoid | 22:a14c19b97d0b | 3178 | // /* int */ i2cMaster.read (int addr8bit, char *data, int length, bool repeated=false) // Read from an I2C slave. |
whismanoid | 22:a14c19b97d0b | 3179 | // /* int */ i2cMaster.read (int ack) // Read a single byte from the I2C bus. |
whismanoid | 22:a14c19b97d0b | 3180 | // /* int */ i2cMaster.write (int addr8bit, const char *data, int length, bool repeated=false) // Write to an I2C slave. |
whismanoid | 22:a14c19b97d0b | 3181 | // /* int */ i2cMaster.write (int data) // Write single byte out on the I2C bus. |
whismanoid | 22:a14c19b97d0b | 3182 | // /* void */ i2cMaster.start (void) // Creates a start condition on the I2C bus. |
whismanoid | 22:a14c19b97d0b | 3183 | // /* void */ i2cMaster.stop (void) // Creates a stop condition on the I2C bus. |
whismanoid | 22:a14c19b97d0b | 3184 | // /* 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 | 22:a14c19b97d0b | 3185 | // /* void */ i2cMaster.abort_transfer () // Abort the ongoing I2C transfer. More... |
whismanoid | 22:a14c19b97d0b | 3186 | } |
whismanoid | 22:a14c19b97d0b | 3187 | break; |
whismanoid | 22:a14c19b97d0b | 3188 | } // switch(cmdLine[2]) |
whismanoid | 22:a14c19b97d0b | 3189 | break; |
whismanoid | 22:a14c19b97d0b | 3190 | #endif |
whismanoid | 22:a14c19b97d0b | 3191 | // |
whismanoid | 22:a14c19b97d0b | 3192 | #if HAS_SPI // SUPPORT_SPI |
whismanoid | 22:a14c19b97d0b | 3193 | case 'S': case 's': |
whismanoid | 22:a14c19b97d0b | 3194 | { |
whismanoid | 22:a14c19b97d0b | 3195 | // %S... -- SPI diagnostics |
whismanoid | 22:a14c19b97d0b | 3196 | // %SC sclk=1Mhz -- SPI configure |
whismanoid | 22:a14c19b97d0b | 3197 | // %SW -- write (write and read) |
whismanoid | 22:a14c19b97d0b | 3198 | // %SR -- read (alias for %SW because SPI always write and read) |
whismanoid | 22:a14c19b97d0b | 3199 | // |
whismanoid | 22:a14c19b97d0b | 3200 | // Process arguments SCLK=\d+(kHZ|MHZ) CPOL=\d CPHA=\d |
whismanoid | 22:a14c19b97d0b | 3201 | bool isUpdatedSPIConfig = false; |
whismanoid | 22:a14c19b97d0b | 3202 | // parse cmdLine arg (CPOL=\d)? --> g_SPI_dataMode | SPI_MODE2 |
whismanoid | 22:a14c19b97d0b | 3203 | // parse cmdLine arg (CPHA=\d)? --> g_SPI_dataMode | SPI_MODE1 |
whismanoid | 22:a14c19b97d0b | 3204 | if (cmdLine.parse_flag("CPOL", g_SPI_dataMode, SPI_MODE2)) |
whismanoid | 22:a14c19b97d0b | 3205 | { |
whismanoid | 22:a14c19b97d0b | 3206 | isUpdatedSPIConfig = true; |
whismanoid | 22:a14c19b97d0b | 3207 | } |
whismanoid | 22:a14c19b97d0b | 3208 | if (cmdLine.parse_flag("CPHA", g_SPI_dataMode, SPI_MODE1)) |
whismanoid | 22:a14c19b97d0b | 3209 | { |
whismanoid | 22:a14c19b97d0b | 3210 | isUpdatedSPIConfig = true; |
whismanoid | 22:a14c19b97d0b | 3211 | } |
whismanoid | 22:a14c19b97d0b | 3212 | if (cmdLine.parse_flag("CS", g_SPI_cs_state, 1)) |
whismanoid | 22:a14c19b97d0b | 3213 | { |
whismanoid | 22:a14c19b97d0b | 3214 | isUpdatedSPIConfig = true; |
whismanoid | 22:a14c19b97d0b | 3215 | } |
whismanoid | 22:a14c19b97d0b | 3216 | // parse cmdLine arg (SCLK=\d+(kHZ|MHZ)?)? --> g_SPI_SCLK_Hz |
whismanoid | 22:a14c19b97d0b | 3217 | if (cmdLine.parse_frequency_Hz("SCLK", g_SPI_SCLK_Hz)) |
whismanoid | 22:a14c19b97d0b | 3218 | { |
whismanoid | 22:a14c19b97d0b | 3219 | isUpdatedSPIConfig = true; |
whismanoid | 22:a14c19b97d0b | 3220 | // TODO1: validate g_SPI_SCLK_Hz against system clock frequency F_CPU |
whismanoid | 22:a14c19b97d0b | 3221 | if (g_SPI_SCLK_Hz > limit_max_SPI_SCLK_Hz) |
whismanoid | 22:a14c19b97d0b | 3222 | { |
whismanoid | 22:a14c19b97d0b | 3223 | g_SPI_SCLK_Hz = limit_max_SPI_SCLK_Hz; |
whismanoid | 22:a14c19b97d0b | 3224 | } |
whismanoid | 22:a14c19b97d0b | 3225 | if (g_SPI_SCLK_Hz < limit_min_SPI_SCLK_Hz) |
whismanoid | 22:a14c19b97d0b | 3226 | { |
whismanoid | 22:a14c19b97d0b | 3227 | g_SPI_SCLK_Hz = limit_min_SPI_SCLK_Hz; |
whismanoid | 22:a14c19b97d0b | 3228 | } |
whismanoid | 22:a14c19b97d0b | 3229 | } |
whismanoid | 22:a14c19b97d0b | 3230 | // Update SPI configuration |
whismanoid | 22:a14c19b97d0b | 3231 | if (isUpdatedSPIConfig) |
whismanoid | 22:a14c19b97d0b | 3232 | { |
whismanoid | 22:a14c19b97d0b | 3233 | // %SC sclk=1Mhz -- SPI configure |
whismanoid | 22:a14c19b97d0b | 3234 | spi_cs = g_SPI_cs_state; |
whismanoid | 22:a14c19b97d0b | 3235 | spi.format(8,g_SPI_dataMode); // int bits_must_be_8, int mode=0_3 CPOL=0,CPHA=0 |
whismanoid | 22:a14c19b97d0b | 3236 | #if APPLICATION_MAX5715 |
whismanoid | 22:a14c19b97d0b | 3237 | g_MAX5715_device.spi_frequency(g_SPI_SCLK_Hz); |
whismanoid | 22:a14c19b97d0b | 3238 | #elif APPLICATION_MAX11131 |
whismanoid | 22:a14c19b97d0b | 3239 | g_MAX11131_device.spi_frequency(g_SPI_SCLK_Hz); |
whismanoid | 22:a14c19b97d0b | 3240 | #elif APPLICATION_MAX5171 |
whismanoid | 22:a14c19b97d0b | 3241 | g_MAX5171_device.spi_frequency(g_SPI_SCLK_Hz); |
whismanoid | 22:a14c19b97d0b | 3242 | #elif APPLICATION_MAX11410 |
whismanoid | 22:a14c19b97d0b | 3243 | g_MAX11410_device.spi_frequency(g_SPI_SCLK_Hz); |
whismanoid | 22:a14c19b97d0b | 3244 | #elif APPLICATION_MAX12345 |
whismanoid | 22:a14c19b97d0b | 3245 | g_MAX12345_device.spi_frequency(g_SPI_SCLK_Hz); |
whismanoid | 22:a14c19b97d0b | 3246 | #else |
whismanoid | 22:a14c19b97d0b | 3247 | spi.frequency(g_SPI_SCLK_Hz); // int SCLK_Hz=1000000 = 1MHz (initial default) |
whismanoid | 22:a14c19b97d0b | 3248 | #endif |
whismanoid | 22:a14c19b97d0b | 3249 | // |
whismanoid | 22:a14c19b97d0b | 3250 | double ideal_divisor = ((double)SystemCoreClock) / g_SPI_SCLK_Hz; |
whismanoid | 22:a14c19b97d0b | 3251 | int actual_divisor = (int)(ideal_divisor + 0.0); // frequency divisor truncate |
whismanoid | 22:a14c19b97d0b | 3252 | double actual_SCLK_Hz = SystemCoreClock / actual_divisor; |
whismanoid | 22:a14c19b97d0b | 3253 | // |
whismanoid | 22:a14c19b97d0b | 3254 | // 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 | 22:a14c19b97d0b | 3255 | cmdLine.serial().printf( |
whismanoid | 22:a14c19b97d0b | 3256 | "\r\n %%SC CPOL=%d CPHA=%d CS=%d SCLK=%ld=%1.3fMHz (%1.1fMHz/%1.2f = actual %1.3fMHz) -- SPI config", |
whismanoid | 22:a14c19b97d0b | 3257 | ((g_SPI_dataMode & SPI_MODE2) ? 1 : 0), |
whismanoid | 22:a14c19b97d0b | 3258 | ((g_SPI_dataMode & SPI_MODE1) ? 1 : 0), |
whismanoid | 22:a14c19b97d0b | 3259 | g_SPI_cs_state, |
whismanoid | 22:a14c19b97d0b | 3260 | g_SPI_SCLK_Hz, |
whismanoid | 22:a14c19b97d0b | 3261 | (g_SPI_SCLK_Hz / 1000000.), |
whismanoid | 22:a14c19b97d0b | 3262 | ((double)(SystemCoreClock / 1000000.)), |
whismanoid | 22:a14c19b97d0b | 3263 | ideal_divisor, |
whismanoid | 22:a14c19b97d0b | 3264 | (actual_SCLK_Hz / 1000000.) |
whismanoid | 22:a14c19b97d0b | 3265 | ); |
whismanoid | 22:a14c19b97d0b | 3266 | } |
whismanoid | 22:a14c19b97d0b | 3267 | // get next character |
whismanoid | 22:a14c19b97d0b | 3268 | switch (cmdLine[2]) |
whismanoid | 22:a14c19b97d0b | 3269 | { |
whismanoid | 22:a14c19b97d0b | 3270 | case 'C': case 's': |
whismanoid | 22:a14c19b97d0b | 3271 | // %SC sclk=1Mhz -- SPI configure |
whismanoid | 22:a14c19b97d0b | 3272 | break; |
whismanoid | 22:a14c19b97d0b | 3273 | case 'D': case 'd': |
whismanoid | 22:a14c19b97d0b | 3274 | // %SD -- SPI diagnostic messages enable |
whismanoid | 22:a14c19b97d0b | 3275 | if (g_MAX5171_device.onSPIprint) { |
whismanoid | 22:a14c19b97d0b | 3276 | g_MAX5171_device.onSPIprint = NULL; |
whismanoid | 23:abd02fed1ae4 | 3277 | // no g_MAX5171_device.futility_countdown_limit property; device_has_property(Device, 'futility_countdown_limit') != None is false |
whismanoid | 22:a14c19b97d0b | 3278 | } |
whismanoid | 22:a14c19b97d0b | 3279 | else { |
whismanoid | 22:a14c19b97d0b | 3280 | void onSPIprint_handler(size_t byteCount, uint8_t mosiData[], uint8_t misoData[]); |
whismanoid | 22:a14c19b97d0b | 3281 | g_MAX5171_device.onSPIprint = onSPIprint_handler; |
whismanoid | 23:abd02fed1ae4 | 3282 | // no g_MAX5171_device.futility_countdown_limit property; device_has_property(Device, 'futility_countdown_limit') is false |
whismanoid | 22:a14c19b97d0b | 3283 | } |
whismanoid | 22:a14c19b97d0b | 3284 | break; |
whismanoid | 22:a14c19b97d0b | 3285 | case 'W': case 'R': case 'w': case 'r': |
whismanoid | 22:a14c19b97d0b | 3286 | { |
whismanoid | 22:a14c19b97d0b | 3287 | // %SW -- write (write and read) |
whismanoid | 22:a14c19b97d0b | 3288 | // %SR -- read (alias for %SW because SPI always write and read) |
whismanoid | 22:a14c19b97d0b | 3289 | // parse cmdLine byte list --> int byteCount; int mosiData[MAX_SPI_BYTE_COUNT]; |
whismanoid | 22:a14c19b97d0b | 3290 | #define MAX_SPI_BYTE_COUNT 32 |
whismanoid | 22:a14c19b97d0b | 3291 | size_t byteCount = byteCount; |
whismanoid | 22:a14c19b97d0b | 3292 | static char mosiData[MAX_SPI_BYTE_COUNT]; |
whismanoid | 22:a14c19b97d0b | 3293 | static char misoData[MAX_SPI_BYTE_COUNT]; |
whismanoid | 22:a14c19b97d0b | 3294 | if (cmdLine.parse_byteCount_byteList_hex(byteCount, mosiData, |
whismanoid | 22:a14c19b97d0b | 3295 | MAX_SPI_BYTE_COUNT)) |
whismanoid | 22:a14c19b97d0b | 3296 | { |
whismanoid | 22:a14c19b97d0b | 3297 | // hex dump mosiData[0..byteCount-1] |
whismanoid | 22:a14c19b97d0b | 3298 | cmdLine.serial().printf("\r\nSPI"); |
whismanoid | 22:a14c19b97d0b | 3299 | if (byteCount > 7) { |
whismanoid | 22:a14c19b97d0b | 3300 | cmdLine.serial().printf(" byteCount:%d", byteCount); |
whismanoid | 22:a14c19b97d0b | 3301 | } |
whismanoid | 22:a14c19b97d0b | 3302 | cmdLine.serial().printf(" MOSI->"); |
whismanoid | 22:a14c19b97d0b | 3303 | for (unsigned int byteIndex = 0; byteIndex < byteCount; byteIndex++) |
whismanoid | 22:a14c19b97d0b | 3304 | { |
whismanoid | 22:a14c19b97d0b | 3305 | cmdLine.serial().printf(" 0x%2.2X", mosiData[byteIndex]); |
whismanoid | 22:a14c19b97d0b | 3306 | } |
whismanoid | 22:a14c19b97d0b | 3307 | spi_cs = 0; |
whismanoid | 22:a14c19b97d0b | 3308 | unsigned int numBytesTransferred = |
whismanoid | 22:a14c19b97d0b | 3309 | spi.write(mosiData, byteCount, misoData, byteCount); |
whismanoid | 22:a14c19b97d0b | 3310 | spi_cs = 1; |
whismanoid | 22:a14c19b97d0b | 3311 | // hex dump misoData[0..byteCount-1] |
whismanoid | 22:a14c19b97d0b | 3312 | cmdLine.serial().printf(" MISO<-"); |
whismanoid | 22:a14c19b97d0b | 3313 | for (unsigned int byteIndex = 0; byteIndex < numBytesTransferred; |
whismanoid | 22:a14c19b97d0b | 3314 | byteIndex++) |
whismanoid | 22:a14c19b97d0b | 3315 | { |
whismanoid | 22:a14c19b97d0b | 3316 | cmdLine.serial().printf(" 0x%2.2X", misoData[byteIndex]); |
whismanoid | 22:a14c19b97d0b | 3317 | } |
whismanoid | 22:a14c19b97d0b | 3318 | cmdLine.serial().printf(" "); |
whismanoid | 22:a14c19b97d0b | 3319 | } |
whismanoid | 22:a14c19b97d0b | 3320 | } |
whismanoid | 22:a14c19b97d0b | 3321 | break; |
whismanoid | 22:a14c19b97d0b | 3322 | } // switch(cmdLine[2]) |
whismanoid | 22:a14c19b97d0b | 3323 | } // case 'S': // %S... -- SPI diagnostics |
whismanoid | 22:a14c19b97d0b | 3324 | break; |
whismanoid | 22:a14c19b97d0b | 3325 | #endif |
whismanoid | 22:a14c19b97d0b | 3326 | // |
whismanoid | 22:a14c19b97d0b | 3327 | // A-Z,a-z,0-9 reserved for application use |
whismanoid | 22:a14c19b97d0b | 3328 | } // switch(cmdLine[1]) |
whismanoid | 22:a14c19b97d0b | 3329 | } // end void pinsMonitor_submenu_onEOLcommandParser(CmdLine & cmdLine) |
whismanoid | 22:a14c19b97d0b | 3330 | |
whismanoid | 22:a14c19b97d0b | 3331 | |
whismanoid | 22:a14c19b97d0b | 3332 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 3333 | void main_menu_status(CmdLine & cmdLine) |
whismanoid | 22:a14c19b97d0b | 3334 | { |
whismanoid | 22:a14c19b97d0b | 3335 | cmdLine.serial().printf("\r\nMain menu"); |
whismanoid | 22:a14c19b97d0b | 3336 | |
whismanoid | 22:a14c19b97d0b | 3337 | cmdLine.serial().printf(" MAX5171 14-bit Force/Sense DAC"); |
whismanoid | 22:a14c19b97d0b | 3338 | |
whismanoid | 22:a14c19b97d0b | 3339 | //cmdLine.serial().print(" %s", TARGET_NAME); |
whismanoid | 22:a14c19b97d0b | 3340 | if (cmdLine.nameStr()) |
whismanoid | 22:a14c19b97d0b | 3341 | { |
whismanoid | 22:a14c19b97d0b | 3342 | cmdLine.serial().printf(" [%s]", cmdLine.nameStr()); |
whismanoid | 22:a14c19b97d0b | 3343 | |
whismanoid | 22:a14c19b97d0b | 3344 | } |
whismanoid | 22:a14c19b97d0b | 3345 | cmdLine.serial().printf("\r\n ? -- help"); |
whismanoid | 22:a14c19b97d0b | 3346 | |
whismanoid | 22:a14c19b97d0b | 3347 | } |
whismanoid | 22:a14c19b97d0b | 3348 | |
whismanoid | 22:a14c19b97d0b | 3349 | |
whismanoid | 22:a14c19b97d0b | 3350 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 3351 | void main_menu_help(CmdLine & cmdLine) |
whismanoid | 22:a14c19b97d0b | 3352 | { |
whismanoid | 22:a14c19b97d0b | 3353 | // ? -- help |
whismanoid | 22:a14c19b97d0b | 3354 | //~ cmdLine.serial().print(F("\r\nMenu:")); |
whismanoid | 22:a14c19b97d0b | 3355 | cmdLine.serial().printf("\r\n # -- lines beginning with # are comments"); |
whismanoid | 22:a14c19b97d0b | 3356 | |
whismanoid | 22:a14c19b97d0b | 3357 | cmdLine.serial().printf("\r\n . -- SelfTest"); |
whismanoid | 22:a14c19b97d0b | 3358 | |
whismanoid | 22:a14c19b97d0b | 3359 | //cmdLine.serial().print(F("\r\n ! -- Initial Configuration")); |
whismanoid | 22:a14c19b97d0b | 3360 | // |
whismanoid | 22:a14c19b97d0b | 3361 | // % standardize diagnostic commands |
whismanoid | 22:a14c19b97d0b | 3362 | // %Hpin -- digital output high |
whismanoid | 22:a14c19b97d0b | 3363 | // %Lpin -- digital output low |
whismanoid | 22:a14c19b97d0b | 3364 | // %?pin -- digital input |
whismanoid | 22:a14c19b97d0b | 3365 | // %A %Apin -- analog input |
whismanoid | 22:a14c19b97d0b | 3366 | // %Ppin df=xx -- pwm output |
whismanoid | 22:a14c19b97d0b | 3367 | // %Wpin -- measure high pulsewidth input in usec |
whismanoid | 22:a14c19b97d0b | 3368 | // %wpin -- measure low pulsewidth input in usec |
whismanoid | 22:a14c19b97d0b | 3369 | // %I... -- I2C diagnostics |
whismanoid | 22:a14c19b97d0b | 3370 | // %IP -- I2C probe |
whismanoid | 22:a14c19b97d0b | 3371 | // %IC scl=100khz ADDR=? -- I2C configure |
whismanoid | 22:a14c19b97d0b | 3372 | // %IW ADDR=? cmd=? data,data,data -- write |
whismanoid | 22:a14c19b97d0b | 3373 | // %IR ADDR=? RD=? -- read |
whismanoid | 22:a14c19b97d0b | 3374 | // %I^ cmd=? -- i2c_smbus_read_word_data |
whismanoid | 22:a14c19b97d0b | 3375 | // %S... -- SPI diagnostics |
whismanoid | 22:a14c19b97d0b | 3376 | // %SC sclk=1Mhz -- SPI configure |
whismanoid | 22:a14c19b97d0b | 3377 | // %SW -- write (write and read) |
whismanoid | 22:a14c19b97d0b | 3378 | // %SR -- read (alias for %SW because SPI always write and read) |
whismanoid | 22:a14c19b97d0b | 3379 | // A-Z,a-z,0-9 reserved for application use |
whismanoid | 22:a14c19b97d0b | 3380 | // |
whismanoid | 22:a14c19b97d0b | 3381 | #if HAS_digitalInOuts |
whismanoid | 22:a14c19b97d0b | 3382 | // %Hpin -- digital output high |
whismanoid | 22:a14c19b97d0b | 3383 | // %Lpin -- digital output low |
whismanoid | 22:a14c19b97d0b | 3384 | // %?pin -- digital input |
whismanoid | 22:a14c19b97d0b | 3385 | cmdLine.serial().printf("\r\n %%Hn {pin:"); |
whismanoid | 22:a14c19b97d0b | 3386 | list_digitalInOutPins(cmdLine.serial()); |
whismanoid | 22:a14c19b97d0b | 3387 | cmdLine.serial().printf("} -- High Output"); |
whismanoid | 22:a14c19b97d0b | 3388 | cmdLine.serial().printf("\r\n %%Ln {pin:"); |
whismanoid | 22:a14c19b97d0b | 3389 | list_digitalInOutPins(cmdLine.serial()); |
whismanoid | 22:a14c19b97d0b | 3390 | cmdLine.serial().printf("} -- Low Output"); |
whismanoid | 22:a14c19b97d0b | 3391 | cmdLine.serial().printf("\r\n %%?n {pin:"); |
whismanoid | 22:a14c19b97d0b | 3392 | list_digitalInOutPins(cmdLine.serial()); |
whismanoid | 22:a14c19b97d0b | 3393 | cmdLine.serial().printf("} -- Input"); |
whismanoid | 22:a14c19b97d0b | 3394 | #endif |
whismanoid | 22:a14c19b97d0b | 3395 | |
whismanoid | 22:a14c19b97d0b | 3396 | #if HAS_analogIns |
whismanoid | 22:a14c19b97d0b | 3397 | // Menu A) analogRead A0..7 |
whismanoid | 22:a14c19b97d0b | 3398 | // %A %Apin -- analog input |
whismanoid | 22:a14c19b97d0b | 3399 | // analogRead(pinIndex) // analog input pins A0, A1, A2, A3, A4, A5; float voltage = analogRead(A0) * (5.0 / 1023.0) |
whismanoid | 22:a14c19b97d0b | 3400 | cmdLine.serial().printf("\r\n %%A -- analogRead"); |
whismanoid | 22:a14c19b97d0b | 3401 | #endif |
whismanoid | 22:a14c19b97d0b | 3402 | |
whismanoid | 22:a14c19b97d0b | 3403 | #if HAS_SPI2_MAX541 |
whismanoid | 22:a14c19b97d0b | 3404 | // TODO1: MAX541 max541(spi2_max541, spi2_max541_cs); |
whismanoid | 22:a14c19b97d0b | 3405 | cmdLine.serial().printf("\r\n %%D -- DAC output MAX541 (SPI2)"); |
whismanoid | 22:a14c19b97d0b | 3406 | #endif |
whismanoid | 22:a14c19b97d0b | 3407 | |
whismanoid | 22:a14c19b97d0b | 3408 | #if HAS_I2C // SUPPORT_I2C |
whismanoid | 22:a14c19b97d0b | 3409 | // TODO: support I2C HAS_I2C // SUPPORT_I2C |
whismanoid | 22:a14c19b97d0b | 3410 | // VERIFY: I2C utility commands SUPPORT_I2C |
whismanoid | 22:a14c19b97d0b | 3411 | // VERIFY: report g_I2C_SCL_Hz = (F_CPU / ((TWBR * 2) + 16)) from last Wire_Sr.setClock(I2C_SCL_Hz); |
whismanoid | 22:a14c19b97d0b | 3412 | // %I... -- I2C diagnostics |
whismanoid | 22:a14c19b97d0b | 3413 | // %IP -- I2C probe |
whismanoid | 22:a14c19b97d0b | 3414 | // %IC scl=100khz ADDR=? -- I2C configure |
whismanoid | 22:a14c19b97d0b | 3415 | // %IW byte byte ... byte RD=? ADDR=0x -- write |
whismanoid | 22:a14c19b97d0b | 3416 | // %IR ADDR=? RD=? -- read |
whismanoid | 22:a14c19b97d0b | 3417 | // %I^ cmd=? -- i2c_smbus_read_word_data |
whismanoid | 22:a14c19b97d0b | 3418 | //g_I2C_SCL_Hz = (F_CPU / ((TWBR * 2) + 16)); // 'F_CPU' 'TWBR' not declared in this scope |
whismanoid | 22:a14c19b97d0b | 3419 | cmdLine.serial().printf("\r\n %%IC ADDR=0x%2.2x=(0x%2.2x>>1) SCL=%d=%1.3fkHz -- I2C config", |
whismanoid | 22:a14c19b97d0b | 3420 | g_I2C_deviceAddress7, (g_I2C_deviceAddress7 << 1), g_I2C_SCL_Hz, |
whismanoid | 22:a14c19b97d0b | 3421 | (g_I2C_SCL_Hz / 1000.)); |
whismanoid | 22:a14c19b97d0b | 3422 | cmdLine.serial().printf("\r\n %%IW byte byte ... byte RD=? ADDR=0x%2.2x -- I2C write/read", |
whismanoid | 22:a14c19b97d0b | 3423 | g_I2C_deviceAddress7); |
whismanoid | 22:a14c19b97d0b | 3424 | // |
whismanoid | 22:a14c19b97d0b | 3425 | #if SUPPORT_I2C |
whismanoid | 22:a14c19b97d0b | 3426 | // Menu ^ cmd=?) i2c_smbus_read_word_data |
whismanoid | 22:a14c19b97d0b | 3427 | cmdLine.serial().printf("\r\n %%I^ cmd=? -- i2c_smbus_read_word_data"); |
whismanoid | 22:a14c19b97d0b | 3428 | // test low-level I2C i2c_smbus_read_word_data |
whismanoid | 22:a14c19b97d0b | 3429 | #endif // SUPPORT_I2C |
whismanoid | 22:a14c19b97d0b | 3430 | //cmdLine.serial().printf(" H) Hunt for attached I2C devices"); |
whismanoid | 22:a14c19b97d0b | 3431 | cmdLine.serial().printf("\r\n %%IP -- I2C Probe for attached devices"); |
whismanoid | 22:a14c19b97d0b | 3432 | // cmdLine.serial().printf(" s) search i2c address"); |
whismanoid | 22:a14c19b97d0b | 3433 | #endif // SUPPORT_I2C |
whismanoid | 22:a14c19b97d0b | 3434 | |
whismanoid | 22:a14c19b97d0b | 3435 | #if HAS_SPI // SUPPORT_SPI |
whismanoid | 22:a14c19b97d0b | 3436 | // TODO: support SPI HAS_SPI // SUPPORT_SPI |
whismanoid | 22:a14c19b97d0b | 3437 | // SPI test command S (mosiData)+ |
whismanoid | 22:a14c19b97d0b | 3438 | // %S... -- SPI diagnostics |
whismanoid | 22:a14c19b97d0b | 3439 | // %SC sclk=1Mhz -- SPI configure |
whismanoid | 22:a14c19b97d0b | 3440 | // %SW -- write (write and read) |
whismanoid | 22:a14c19b97d0b | 3441 | // %SR -- read (alias for %SW because SPI always write and read) |
whismanoid | 22:a14c19b97d0b | 3442 | // spi.format(8,0); // int bits_must_be_8, int mode=0_3 CPOL=0,CPHA=0 rising edge (initial default) |
whismanoid | 22:a14c19b97d0b | 3443 | // spi.format(8,1); // int bits_must_be_8, int mode=0_3 CPOL=0,CPHA=1 falling edge (initial default) |
whismanoid | 22:a14c19b97d0b | 3444 | // spi.format(8,2); // int bits_must_be_8, int mode=0_3 CPOL=1,CPHA=0 falling edge (initial default) |
whismanoid | 22:a14c19b97d0b | 3445 | // spi.format(8,3); // int bits_must_be_8, int mode=0_3 CPOL=1,CPHA=1 rising edge (initial default) |
whismanoid | 22:a14c19b97d0b | 3446 | // spi.frequency(1000000); // int SCLK_Hz=1000000 = 1MHz (initial default) |
whismanoid | 22:a14c19b97d0b | 3447 | // mode | POL PHA |
whismanoid | 22:a14c19b97d0b | 3448 | // -----+-------- |
whismanoid | 22:a14c19b97d0b | 3449 | // 0 | 0 0 |
whismanoid | 22:a14c19b97d0b | 3450 | // 1 | 0 1 |
whismanoid | 22:a14c19b97d0b | 3451 | // 2 | 1 0 |
whismanoid | 22:a14c19b97d0b | 3452 | // 3 | 1 1 |
whismanoid | 22:a14c19b97d0b | 3453 | //cmdLine.serial().printf(" S) SPI mosi,mosi,...mosi hex bytes SCLK=1000000 CPOL=0 CPHA=0"); |
whismanoid | 22:a14c19b97d0b | 3454 | // 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 | 22:a14c19b97d0b | 3455 | cmdLine.serial().printf("\r\n %%SC SCLK=%ld=%1.3fMHz CPOL=%d CPHA=%d -- SPI config", |
whismanoid | 22:a14c19b97d0b | 3456 | g_SPI_SCLK_Hz, (g_SPI_SCLK_Hz / 1000000.), |
whismanoid | 22:a14c19b97d0b | 3457 | ((g_SPI_dataMode & SPI_MODE2) ? 1 : 0), |
whismanoid | 22:a14c19b97d0b | 3458 | ((g_SPI_dataMode & SPI_MODE1) ? 1 : 0)); |
whismanoid | 22:a14c19b97d0b | 3459 | cmdLine.serial().printf("\r\n %%SD -- SPI diagnostic messages "); |
whismanoid | 22:a14c19b97d0b | 3460 | if (g_MAX5171_device.onSPIprint) { |
whismanoid | 22:a14c19b97d0b | 3461 | cmdLine.serial().printf("hide"); |
whismanoid | 22:a14c19b97d0b | 3462 | } |
whismanoid | 22:a14c19b97d0b | 3463 | else { |
whismanoid | 22:a14c19b97d0b | 3464 | cmdLine.serial().printf("show"); |
whismanoid | 22:a14c19b97d0b | 3465 | } |
whismanoid | 22:a14c19b97d0b | 3466 | cmdLine.serial().printf("\r\n %%SW mosi,mosi,...mosi -- SPI write hex bytes"); |
whismanoid | 22:a14c19b97d0b | 3467 | // VERIFY: parse new SPI settings parse_strCommandArgs() SCLK=1000000 CPOL=0 CPHA=0 |
whismanoid | 22:a14c19b97d0b | 3468 | #endif // SUPPORT_SPI |
whismanoid | 22:a14c19b97d0b | 3469 | // |
whismanoid | 22:a14c19b97d0b | 3470 | // Application-specific commands (help text) here |
whismanoid | 22:a14c19b97d0b | 3471 | // |
whismanoid | 22:a14c19b97d0b | 3472 | #if APPLICATION_ArduinoPinsMonitor |
whismanoid | 22:a14c19b97d0b | 3473 | cmdLine.serial().printf("\r\n A-Z,a-z,0-9 -- reserved for application use"); // ArduinoPinsMonitor |
whismanoid | 22:a14c19b97d0b | 3474 | #endif // APPLICATION_ArduinoPinsMonitor |
whismanoid | 22:a14c19b97d0b | 3475 | // |
whismanoid | 22:a14c19b97d0b | 3476 | |
whismanoid | 22:a14c19b97d0b | 3477 | extern void MAX5171_menu_help(CmdLine & cmdLine); // defined in Test_Menu_MAX5171.cpp\n |
whismanoid | 22:a14c19b97d0b | 3478 | MAX5171_menu_help(cmdLine); |
whismanoid | 22:a14c19b97d0b | 3479 | } |
whismanoid | 22:a14c19b97d0b | 3480 | |
whismanoid | 22:a14c19b97d0b | 3481 | |
whismanoid | 22:a14c19b97d0b | 3482 | |
whismanoid | 22:a14c19b97d0b | 3483 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 3484 | // main menu command-line parser |
whismanoid | 22:a14c19b97d0b | 3485 | // invoked by CmdLine::append(char ch) or CmdLine::idleAppendIfReadable() |
whismanoid | 22:a14c19b97d0b | 3486 | void main_menu_onEOLcommandParser(CmdLine & cmdLine) |
whismanoid | 22:a14c19b97d0b | 3487 | { |
whismanoid | 22:a14c19b97d0b | 3488 | // DIAGNOSTIC: print line buffer |
whismanoid | 22:a14c19b97d0b | 3489 | //~ cmdLine.serial().printf("\r\nmain_menu_onEOLcommandParser: ~%s~\r\n", cmdLine.str()); |
whismanoid | 22:a14c19b97d0b | 3490 | // |
whismanoid | 22:a14c19b97d0b | 3491 | switch (cmdLine[0]) |
whismanoid | 22:a14c19b97d0b | 3492 | { |
whismanoid | 22:a14c19b97d0b | 3493 | case '?': |
whismanoid | 22:a14c19b97d0b | 3494 | main_menu_status(cmdLine); |
whismanoid | 22:a14c19b97d0b | 3495 | main_menu_help(cmdLine); |
whismanoid | 22:a14c19b97d0b | 3496 | // print command prompt |
whismanoid | 22:a14c19b97d0b | 3497 | //cmdLine.serial().printf("\r\n>"); |
whismanoid | 22:a14c19b97d0b | 3498 | break; |
whismanoid | 22:a14c19b97d0b | 3499 | case '\r': case '\n': // ignore blank line |
whismanoid | 22:a14c19b97d0b | 3500 | case '\0': // ignore empty line |
whismanoid | 22:a14c19b97d0b | 3501 | case '#': // ignore comment line |
whismanoid | 22:a14c19b97d0b | 3502 | // # -- lines beginning with # are comments |
whismanoid | 22:a14c19b97d0b | 3503 | main_menu_status(cmdLine); |
whismanoid | 22:a14c19b97d0b | 3504 | //~ main_menu_help(cmdLine); |
whismanoid | 22:a14c19b97d0b | 3505 | // print command prompt |
whismanoid | 22:a14c19b97d0b | 3506 | //cmdLine.serial().printf("\r\n>"); |
whismanoid | 22:a14c19b97d0b | 3507 | break; |
whismanoid | 22:a14c19b97d0b | 3508 | #if ECHO_EOF_ON_EOL |
whismanoid | 22:a14c19b97d0b | 3509 | case '\x04': // Unicode (U+0004) EOT END OF TRANSMISSION = CTRL+D as EOF end of file |
whismanoid | 22:a14c19b97d0b | 3510 | cmdLine.serial().printf("\x04"); // immediately echo EOF for test scripting |
whismanoid | 22:a14c19b97d0b | 3511 | diagnostic_led_EOF(); |
whismanoid | 22:a14c19b97d0b | 3512 | break; |
whismanoid | 22:a14c19b97d0b | 3513 | case '\x1a': // Unicode (U+001A) SUB SUBSTITUTE = CTRL+Z as EOF end of file |
whismanoid | 22:a14c19b97d0b | 3514 | cmdLine.serial().printf("\x1a"); // immediately echo EOF for test scripting |
whismanoid | 22:a14c19b97d0b | 3515 | diagnostic_led_EOF(); |
whismanoid | 22:a14c19b97d0b | 3516 | break; |
whismanoid | 22:a14c19b97d0b | 3517 | #endif |
whismanoid | 22:a14c19b97d0b | 3518 | #if APPLICATION_ArduinoPinsMonitor |
whismanoid | 22:a14c19b97d0b | 3519 | case '.': |
whismanoid | 22:a14c19b97d0b | 3520 | { |
whismanoid | 22:a14c19b97d0b | 3521 | // . -- SelfTest |
whismanoid | 22:a14c19b97d0b | 3522 | cmdLine.serial().printf("SelfTest()"); |
whismanoid | 22:a14c19b97d0b | 3523 | SelfTest(cmdLine); |
whismanoid | 22:a14c19b97d0b | 3524 | } |
whismanoid | 22:a14c19b97d0b | 3525 | break; |
whismanoid | 22:a14c19b97d0b | 3526 | case '%': |
whismanoid | 22:a14c19b97d0b | 3527 | { |
whismanoid | 22:a14c19b97d0b | 3528 | pinsMonitor_submenu_onEOLcommandParser(cmdLine); |
whismanoid | 22:a14c19b97d0b | 3529 | } |
whismanoid | 22:a14c19b97d0b | 3530 | break; // case '%' |
whismanoid | 22:a14c19b97d0b | 3531 | #endif // APPLICATION_ArduinoPinsMonitor |
whismanoid | 22:a14c19b97d0b | 3532 | // |
whismanoid | 22:a14c19b97d0b | 3533 | // Application-specific commands here |
whismanoid | 22:a14c19b97d0b | 3534 | // alphanumeric command codes A-Z,a-z,0-9 reserved for application use |
whismanoid | 22:a14c19b97d0b | 3535 | // |
whismanoid | 22:a14c19b97d0b | 3536 | #if APPLICATION_ArduinoPinsMonitor |
whismanoid | 22:a14c19b97d0b | 3537 | #endif // APPLICATION_ArduinoPinsMonitor |
whismanoid | 22:a14c19b97d0b | 3538 | |
whismanoid | 22:a14c19b97d0b | 3539 | // |
whismanoid | 22:a14c19b97d0b | 3540 | // add new commands here |
whismanoid | 22:a14c19b97d0b | 3541 | // |
whismanoid | 22:a14c19b97d0b | 3542 | default: |
whismanoid | 22:a14c19b97d0b | 3543 | extern bool MAX5171_menu_onEOLcommandParser(CmdLine & cmdLine); // defined in Test_Menu_MAX5171.cpp |
whismanoid | 22:a14c19b97d0b | 3544 | if (!MAX5171_menu_onEOLcommandParser(cmdLine)) |
whismanoid | 22:a14c19b97d0b | 3545 | { // not_handled_by_device_submenu |
whismanoid | 22:a14c19b97d0b | 3546 | cmdLine.serial().printf("\r\n unknown command 0x%2.2x \"%s\"\r\n", cmdLine.str()[0], cmdLine.str()); |
whismanoid | 22:a14c19b97d0b | 3547 | |
whismanoid | 22:a14c19b97d0b | 3548 | # if HAS_DAPLINK_SERIAL |
whismanoid | 22:a14c19b97d0b | 3549 | cmdLine_DAPLINKserial.serial().printf("\r\n unknown command 0x%2.2x \"%s\"\r\n", cmdLine.str()[0], cmdLine.str()); |
whismanoid | 22:a14c19b97d0b | 3550 | |
whismanoid | 22:a14c19b97d0b | 3551 | # endif // HAS_DAPLINK_SERIAL |
whismanoid | 22:a14c19b97d0b | 3552 | } |
whismanoid | 22:a14c19b97d0b | 3553 | } // switch (cmdLine[0]) |
whismanoid | 22:a14c19b97d0b | 3554 | // |
whismanoid | 22:a14c19b97d0b | 3555 | // print command prompt |
whismanoid | 22:a14c19b97d0b | 3556 | cmdLine.serial().printf("\r\nMAX5171 > "); |
whismanoid | 22:a14c19b97d0b | 3557 | |
whismanoid | 22:a14c19b97d0b | 3558 | } // end void main_menu_onEOLcommandParser(CmdLine & cmdLine) |
whismanoid | 22:a14c19b97d0b | 3559 | |
whismanoid | 22:a14c19b97d0b | 3560 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 3561 | #if MAX5171_ONSPIPRINT |
whismanoid | 22:a14c19b97d0b | 3562 | // Optional Diagnostic function to print SPI transactions |
whismanoid | 22:a14c19b97d0b | 3563 | void onSPIprint_handler(size_t byteCount, uint8_t mosiData[], uint8_t misoData[]) |
whismanoid | 22:a14c19b97d0b | 3564 | { |
whismanoid | 23:abd02fed1ae4 | 3565 | cmdLine_serial.serial().printf("\r\n SPI MOSI->"); |
whismanoid | 22:a14c19b97d0b | 3566 | for (uint8_t index = 0; index < byteCount; index++) { |
whismanoid | 22:a14c19b97d0b | 3567 | cmdLine_serial.serial().printf(" 0x%2.2X", mosiData[index]); |
whismanoid | 22:a14c19b97d0b | 3568 | } |
whismanoid | 22:a14c19b97d0b | 3569 | cmdLine_serial.serial().printf(" MISO<-"); |
whismanoid | 22:a14c19b97d0b | 3570 | for (uint8_t index = 0; index < byteCount; index++) { |
whismanoid | 22:a14c19b97d0b | 3571 | cmdLine_serial.serial().printf(" 0x%2.2X", misoData[index]); |
whismanoid | 22:a14c19b97d0b | 3572 | } |
whismanoid | 22:a14c19b97d0b | 3573 | cmdLine_serial.serial().printf(" "); |
whismanoid | 22:a14c19b97d0b | 3574 | } |
whismanoid | 22:a14c19b97d0b | 3575 | #endif // MAX5171_ONSPIPRINT |
whismanoid | 22:a14c19b97d0b | 3576 | |
whismanoid | 22:a14c19b97d0b | 3577 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 3578 | void InitializeConfiguration() |
whismanoid | 22:a14c19b97d0b | 3579 | { |
whismanoid | 22:a14c19b97d0b | 3580 | // CODE GENERATOR: example code: member function Init |
whismanoid | 22:a14c19b97d0b | 3581 | # if HAS_DAPLINK_SERIAL |
whismanoid | 22:a14c19b97d0b | 3582 | cmdLine_DAPLINKserial.serial().printf("\r\nMAX5171_Init()"); |
whismanoid | 22:a14c19b97d0b | 3583 | |
whismanoid | 22:a14c19b97d0b | 3584 | # endif |
whismanoid | 22:a14c19b97d0b | 3585 | cmdLine_serial.serial().printf("\r\nMAX5171_Init()"); |
whismanoid | 22:a14c19b97d0b | 3586 | |
whismanoid | 23:abd02fed1ae4 | 3587 | g_MAX5171_device.Init(); // defined in #include MAX5171.h |
whismanoid | 22:a14c19b97d0b | 3588 | # if MAX5171_ONSPIPRINT |
whismanoid | 22:a14c19b97d0b | 3589 | // Optional Diagnostic function to print SPI transactions |
whismanoid | 22:a14c19b97d0b | 3590 | g_MAX5171_device.onSPIprint = onSPIprint_handler; |
whismanoid | 22:a14c19b97d0b | 3591 | # endif |
whismanoid | 22:a14c19b97d0b | 3592 | } |
whismanoid | 22:a14c19b97d0b | 3593 | |
whismanoid | 22:a14c19b97d0b | 3594 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 3595 | // diagnostic rbg led GREEN |
whismanoid | 22:a14c19b97d0b | 3596 | void diagnostic_led_EOF() |
whismanoid | 22:a14c19b97d0b | 3597 | { |
whismanoid | 22:a14c19b97d0b | 3598 | #if USE_LEDS |
whismanoid | 22:a14c19b97d0b | 3599 | led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW |
whismanoid | 22:a14c19b97d0b | 3600 | // 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 | 22:a14c19b97d0b | 3601 | ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250); |
whismanoid | 22:a14c19b97d0b | 3602 | led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN |
whismanoid | 22:a14c19b97d0b | 3603 | ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250); |
whismanoid | 22:a14c19b97d0b | 3604 | led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW |
whismanoid | 22:a14c19b97d0b | 3605 | ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250); |
whismanoid | 22:a14c19b97d0b | 3606 | led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN |
whismanoid | 22:a14c19b97d0b | 3607 | ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250); |
whismanoid | 22:a14c19b97d0b | 3608 | #endif // USE_LEDS |
whismanoid | 22:a14c19b97d0b | 3609 | } |
whismanoid | 22:a14c19b97d0b | 3610 | |
whismanoid | 22:a14c19b97d0b | 3611 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 3612 | // Support commands that get handled immediately w/o waiting for EOL |
whismanoid | 22:a14c19b97d0b | 3613 | // handled as immediate command, do not append to buffer |
whismanoid | 22:a14c19b97d0b | 3614 | void on_immediate_0x21() // Unicode (U+0021) ! EXCLAMATION MARK |
whismanoid | 22:a14c19b97d0b | 3615 | { |
whismanoid | 22:a14c19b97d0b | 3616 | #if USE_LEDS |
whismanoid | 22:a14c19b97d0b | 3617 | led1 = LED_OFF; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led BLUE |
whismanoid | 22:a14c19b97d0b | 3618 | #endif // USE_LEDS |
whismanoid | 22:a14c19b97d0b | 3619 | InitializeConfiguration(); |
whismanoid | 22:a14c19b97d0b | 3620 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3621 | } |
whismanoid | 22:a14c19b97d0b | 3622 | |
whismanoid | 22:a14c19b97d0b | 3623 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 3624 | // Support commands that get handled immediately w/o waiting for EOL |
whismanoid | 22:a14c19b97d0b | 3625 | // handled as immediate command, do not append to buffer |
whismanoid | 22:a14c19b97d0b | 3626 | void on_immediate_0x7b() // Unicode (U+007B) { LEFT CURLY BRACKET |
whismanoid | 22:a14c19b97d0b | 3627 | { |
whismanoid | 22:a14c19b97d0b | 3628 | #if HAS_BUTTON2_DEMO_INTERRUPT |
whismanoid | 22:a14c19b97d0b | 3629 | onButton2FallingEdge(); |
whismanoid | 22:a14c19b97d0b | 3630 | #endif |
whismanoid | 22:a14c19b97d0b | 3631 | } |
whismanoid | 22:a14c19b97d0b | 3632 | |
whismanoid | 22:a14c19b97d0b | 3633 | //-------------------------------------------------- |
whismanoid | 22:a14c19b97d0b | 3634 | // Support commands that get handled immediately w/o waiting for EOL |
whismanoid | 22:a14c19b97d0b | 3635 | // handled as immediate command, do not append to buffer |
whismanoid | 22:a14c19b97d0b | 3636 | void on_immediate_0x7d() // Unicode (U+007D) } RIGHT CURLY BRACKET |
whismanoid | 22:a14c19b97d0b | 3637 | { |
whismanoid | 22:a14c19b97d0b | 3638 | #if HAS_BUTTON1_DEMO_INTERRUPT |
whismanoid | 22:a14c19b97d0b | 3639 | onButton1FallingEdge(); |
whismanoid | 22:a14c19b97d0b | 3640 | #endif |
whismanoid | 22:a14c19b97d0b | 3641 | } |
whismanoid | 22:a14c19b97d0b | 3642 | |
whismanoid | 22:a14c19b97d0b | 3643 | //---------------------------------------- |
whismanoid | 22:a14c19b97d0b | 3644 | // example code main function |
whismanoid | 22:a14c19b97d0b | 3645 | int main() |
whismanoid | 22:a14c19b97d0b | 3646 | { |
whismanoid | 22:a14c19b97d0b | 3647 | // Configure serial ports |
whismanoid | 22:a14c19b97d0b | 3648 | cmdLine_serial.clear(); |
whismanoid | 22:a14c19b97d0b | 3649 | //~ cmdLine_serial.serial().printf("\r\n cmdLine_serial.serial().printf test\r\n"); |
whismanoid | 22:a14c19b97d0b | 3650 | cmdLine_serial.onEOLcommandParser = main_menu_onEOLcommandParser; |
whismanoid | 22:a14c19b97d0b | 3651 | cmdLine_serial.diagnostic_led_EOF = diagnostic_led_EOF; |
whismanoid | 22:a14c19b97d0b | 3652 | /// CmdLine::set_immediate_handler(char, functionPointer_void_void_on_immediate_0x21); |
whismanoid | 22:a14c19b97d0b | 3653 | cmdLine_serial.on_immediate_0x21 = on_immediate_0x21; |
whismanoid | 22:a14c19b97d0b | 3654 | cmdLine_serial.on_immediate_0x7b = on_immediate_0x7b; |
whismanoid | 22:a14c19b97d0b | 3655 | cmdLine_serial.on_immediate_0x7d = on_immediate_0x7d; |
whismanoid | 22:a14c19b97d0b | 3656 | # if HAS_DAPLINK_SERIAL |
whismanoid | 22:a14c19b97d0b | 3657 | cmdLine_DAPLINKserial.clear(); |
whismanoid | 22:a14c19b97d0b | 3658 | //~ cmdLine_DAPLINKserial.serial().printf("\r\n cmdLine_DAPLINKserial.serial().printf test\r\n"); |
whismanoid | 22:a14c19b97d0b | 3659 | cmdLine_DAPLINKserial.onEOLcommandParser = main_menu_onEOLcommandParser; |
whismanoid | 22:a14c19b97d0b | 3660 | /// @todo CmdLine::set_immediate_handler(char, functionPointer_void_void_on_immediate_0x21); |
whismanoid | 22:a14c19b97d0b | 3661 | cmdLine_DAPLINKserial.on_immediate_0x21 = on_immediate_0x21; |
whismanoid | 22:a14c19b97d0b | 3662 | cmdLine_DAPLINKserial.on_immediate_0x7b = on_immediate_0x7b; |
whismanoid | 22:a14c19b97d0b | 3663 | cmdLine_DAPLINKserial.on_immediate_0x7d = on_immediate_0x7d; |
whismanoid | 22:a14c19b97d0b | 3664 | # endif |
whismanoid | 22:a14c19b97d0b | 3665 | |
whismanoid | 22:a14c19b97d0b | 3666 | |
whismanoid | 22:a14c19b97d0b | 3667 | //print_banner(); |
whismanoid | 22:a14c19b97d0b | 3668 | |
whismanoid | 23:abd02fed1ae4 | 3669 | #if HAS_I2C |
whismanoid | 23:abd02fed1ae4 | 3670 | // i2c init |
whismanoid | 23:abd02fed1ae4 | 3671 | // declare in narrower scope: MAX32625MBED I2C i2cMaster(...) |
whismanoid | 23:abd02fed1ae4 | 3672 | // i2cMaster.frequency(g_I2C_SCL_Hz); |
whismanoid | 23:abd02fed1ae4 | 3673 | #else |
whismanoid | 23:abd02fed1ae4 | 3674 | // Ensure that the unused I2C pins do not interfere with analog inputs A4 and A5 |
whismanoid | 23:abd02fed1ae4 | 3675 | #if HAS_digitalInOut14 |
whismanoid | 23:abd02fed1ae4 | 3676 | // DigitalInOut digitalInOut14(P1_6, PIN_INPUT, PullUp, 1); // P1_6 TARGET_MAX32635MBED A4/SDA (10pin digital connector) |
whismanoid | 23:abd02fed1ae4 | 3677 | digitalInOut14.input(); |
whismanoid | 23:abd02fed1ae4 | 3678 | #endif |
whismanoid | 23:abd02fed1ae4 | 3679 | #if HAS_digitalInOut15 |
whismanoid | 23:abd02fed1ae4 | 3680 | // DigitalInOut digitalInOut15(P1_7, PIN_INPUT, PullUp, 1); // P1_7 TARGET_MAX32635MBED A5/SCL (10pin digital connector) |
whismanoid | 23:abd02fed1ae4 | 3681 | digitalInOut15.input(); |
whismanoid | 23:abd02fed1ae4 | 3682 | #endif |
whismanoid | 23:abd02fed1ae4 | 3683 | #if HAS_digitalInOut16 |
whismanoid | 23:abd02fed1ae4 | 3684 | // DigitalInOut mode can be one of PullUp, PullDown, PullNone, OpenDrain |
whismanoid | 23:abd02fed1ae4 | 3685 | // PullUp-->3.4V, PullDown-->1.7V, PullNone-->3.5V, OpenDrain-->0.00V |
whismanoid | 23:abd02fed1ae4 | 3686 | //DigitalInOut digitalInOut16(P3_4, PIN_INPUT, OpenDrain, 0); // P3_4 TARGET_MAX32635MBED A4/SDA (6pin analog connector) |
whismanoid | 23:abd02fed1ae4 | 3687 | digitalInOut16.input(); |
whismanoid | 23:abd02fed1ae4 | 3688 | #endif |
whismanoid | 23:abd02fed1ae4 | 3689 | #if HAS_digitalInOut17 |
whismanoid | 23:abd02fed1ae4 | 3690 | //DigitalInOut digitalInOut17(P3_5, PIN_INPUT, OpenDrain, 0); // P3_5 TARGET_MAX32635MBED A5/SCL (6pin analog connector) |
whismanoid | 23:abd02fed1ae4 | 3691 | digitalInOut17.input(); |
whismanoid | 23:abd02fed1ae4 | 3692 | #endif |
whismanoid | 23:abd02fed1ae4 | 3693 | #endif // HAS_I2C |
whismanoid | 22:a14c19b97d0b | 3694 | |
whismanoid | 22:a14c19b97d0b | 3695 | |
whismanoid | 22:a14c19b97d0b | 3696 | #if USE_LEDS |
whismanoid | 22:a14c19b97d0b | 3697 | #if defined(TARGET_MAX32630) |
whismanoid | 22:a14c19b97d0b | 3698 | led1 = LED_ON; led2 = LED_OFF; led3 = LED_OFF; // diagnostic rbg led RED |
whismanoid | 22:a14c19b97d0b | 3699 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3700 | led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN |
whismanoid | 22:a14c19b97d0b | 3701 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3702 | led1 = LED_OFF; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led BLUE |
whismanoid | 22:a14c19b97d0b | 3703 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3704 | led1 = LED_ON; led2 = LED_ON; led3 = LED_ON; // diagnostic rbg led RED+GREEN+BLUE=WHITE |
whismanoid | 22:a14c19b97d0b | 3705 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3706 | led1 = LED_OFF; led2 = LED_ON; led3 = LED_ON; // diagnostic rbg led GREEN+BLUE=CYAN |
whismanoid | 22:a14c19b97d0b | 3707 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3708 | led1 = LED_ON; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led RED+BLUE=MAGENTA |
whismanoid | 22:a14c19b97d0b | 3709 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3710 | led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW |
whismanoid | 22:a14c19b97d0b | 3711 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3712 | led1 = LED_OFF; led2 = LED_OFF; led3 = LED_OFF; // diagnostic rbg led BLACK |
whismanoid | 22:a14c19b97d0b | 3713 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3714 | #elif defined(TARGET_MAX32625MBED) |
whismanoid | 22:a14c19b97d0b | 3715 | led1 = LED_ON; led2 = LED_OFF; led3 = LED_OFF; // diagnostic rbg led RED |
whismanoid | 22:a14c19b97d0b | 3716 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3717 | led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN |
whismanoid | 22:a14c19b97d0b | 3718 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3719 | led1 = LED_OFF; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led BLUE |
whismanoid | 22:a14c19b97d0b | 3720 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3721 | led1 = LED_ON; led2 = LED_ON; led3 = LED_ON; // diagnostic rbg led RED+GREEN+BLUE=WHITE |
whismanoid | 22:a14c19b97d0b | 3722 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3723 | led1 = LED_OFF; led2 = LED_ON; led3 = LED_ON; // diagnostic rbg led GREEN+BLUE=CYAN |
whismanoid | 22:a14c19b97d0b | 3724 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3725 | led1 = LED_ON; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led RED+BLUE=MAGENTA |
whismanoid | 22:a14c19b97d0b | 3726 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3727 | led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW |
whismanoid | 22:a14c19b97d0b | 3728 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3729 | led1 = LED_OFF; led2 = LED_OFF; led3 = LED_OFF; // diagnostic rbg led BLACK |
whismanoid | 22:a14c19b97d0b | 3730 | ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); |
whismanoid | 22:a14c19b97d0b | 3731 | #else // not defined(TARGET_LPC1768 etc.) |
whismanoid | 22:a14c19b97d0b | 3732 | led1 = LED_ON; |
whismanoid | 22:a14c19b97d0b | 3733 | led2 = LED_OFF; |
whismanoid | 22:a14c19b97d0b | 3734 | led3 = LED_OFF; |
whismanoid | 22:a14c19b97d0b | 3735 | led4 = LED_OFF; |
whismanoid | 22:a14c19b97d0b | 3736 | ThisThread::sleep_for(75); // [since mbed-os-5.10] vs Thread::wait(75); |
whismanoid | 22:a14c19b97d0b | 3737 | //led1 = LED_ON; |
whismanoid | 22:a14c19b97d0b | 3738 | led2 = LED_ON; |
whismanoid | 22:a14c19b97d0b | 3739 | ThisThread::sleep_for(75); // [since mbed-os-5.10] vs Thread::wait(75); |
whismanoid | 22:a14c19b97d0b | 3740 | led1 = LED_OFF; |
whismanoid | 22:a14c19b97d0b | 3741 | //led2 = LED_ON; |
whismanoid | 22:a14c19b97d0b | 3742 | led3 = LED_ON; |
whismanoid | 22:a14c19b97d0b | 3743 | ThisThread::sleep_for(75); // [since mbed-os-5.10] vs Thread::wait(75); |
whismanoid | 22:a14c19b97d0b | 3744 | led2 = LED_OFF; |
whismanoid | 22:a14c19b97d0b | 3745 | //led3 = LED_ON; |
whismanoid | 22:a14c19b97d0b | 3746 | led4 = LED_ON; |
whismanoid | 22:a14c19b97d0b | 3747 | ThisThread::sleep_for(75); // [since mbed-os-5.10] vs Thread::wait(75); |
whismanoid | 22:a14c19b97d0b | 3748 | led3 = LED_OFF; |
whismanoid | 22:a14c19b97d0b | 3749 | led4 = LED_ON; |
whismanoid | 22:a14c19b97d0b | 3750 | // |
whismanoid | 22:a14c19b97d0b | 3751 | #endif // target definition |
whismanoid | 22:a14c19b97d0b | 3752 | #endif |
whismanoid | 22:a14c19b97d0b | 3753 | |
whismanoid | 22:a14c19b97d0b | 3754 | // cmd_TE(); |
whismanoid | 22:a14c19b97d0b | 3755 | |
whismanoid | 22:a14c19b97d0b | 3756 | // #if USE_LEDS |
whismanoid | 22:a14c19b97d0b | 3757 | // rgb_led.white(); // diagnostic rbg led RED+GREEN+BLUE=WHITE |
whismanoid | 22:a14c19b97d0b | 3758 | // #endif // USE_LEDS |
whismanoid | 23:abd02fed1ae4 | 3759 | if (led1.is_connected()) { |
whismanoid | 23:abd02fed1ae4 | 3760 | led1 = LED_ON; |
whismanoid | 23:abd02fed1ae4 | 3761 | } |
whismanoid | 23:abd02fed1ae4 | 3762 | if (led2.is_connected()) { |
whismanoid | 23:abd02fed1ae4 | 3763 | led2 = LED_ON; |
whismanoid | 23:abd02fed1ae4 | 3764 | } |
whismanoid | 23:abd02fed1ae4 | 3765 | if (led3.is_connected()) { |
whismanoid | 23:abd02fed1ae4 | 3766 | led3 = LED_ON; |
whismanoid | 23:abd02fed1ae4 | 3767 | } |
whismanoid | 22:a14c19b97d0b | 3768 | |
whismanoid | 22:a14c19b97d0b | 3769 | InitializeConfiguration(); |
whismanoid | 22:a14c19b97d0b | 3770 | // example code: serial port banner message |
whismanoid | 22:a14c19b97d0b | 3771 | #if defined(TARGET_MAX32625MBED) |
whismanoid | 22:a14c19b97d0b | 3772 | serial.printf("MAX32625MBED "); |
whismanoid | 22:a14c19b97d0b | 3773 | #elif defined(TARGET_MAX32600MBED) |
whismanoid | 22:a14c19b97d0b | 3774 | serial.printf("MAX32600MBED "); |
whismanoid | 22:a14c19b97d0b | 3775 | #elif defined(TARGET_NUCLEO_F446RE) |
whismanoid | 22:a14c19b97d0b | 3776 | serial.printf("NUCLEO_F446RE "); |
whismanoid | 22:a14c19b97d0b | 3777 | #endif |
whismanoid | 22:a14c19b97d0b | 3778 | serial.printf("MAX5171BOB\r\n"); |
whismanoid | 22:a14c19b97d0b | 3779 | |
whismanoid | 22:a14c19b97d0b | 3780 | |
whismanoid | 22:a14c19b97d0b | 3781 | while (1) { |
whismanoid | 22:a14c19b97d0b | 3782 | #if HAS_BUTTON1_DEMO_INTERRUPT_POLLING |
whismanoid | 22:a14c19b97d0b | 3783 | // avoid runtime error on button1 press [mbed-os-5.11] |
whismanoid | 22:a14c19b97d0b | 3784 | // instead of using InterruptIn, use DigitalIn and poll in main while(1) |
whismanoid | 22:a14c19b97d0b | 3785 | # if HAS_BUTTON1_DEMO_INTERRUPT |
whismanoid | 22:a14c19b97d0b | 3786 | static int button1_value_prev = 1; |
whismanoid | 22:a14c19b97d0b | 3787 | static int button1_value_now = 1; |
whismanoid | 22:a14c19b97d0b | 3788 | button1_value_prev = button1_value_now; |
whismanoid | 22:a14c19b97d0b | 3789 | button1_value_now = button1.read(); |
whismanoid | 22:a14c19b97d0b | 3790 | if ((button1_value_prev - button1_value_now) == 1) |
whismanoid | 22:a14c19b97d0b | 3791 | { |
whismanoid | 22:a14c19b97d0b | 3792 | // on button1 falling edge (button1 press) |
whismanoid | 22:a14c19b97d0b | 3793 | onButton1FallingEdge(); |
whismanoid | 22:a14c19b97d0b | 3794 | } |
whismanoid | 22:a14c19b97d0b | 3795 | # endif // HAS_BUTTON1_DEMO_INTERRUPT |
whismanoid | 22:a14c19b97d0b | 3796 | # if HAS_BUTTON2_DEMO_INTERRUPT |
whismanoid | 22:a14c19b97d0b | 3797 | static int button2_value_prev = 1; |
whismanoid | 22:a14c19b97d0b | 3798 | static int button2_value_now = 1; |
whismanoid | 22:a14c19b97d0b | 3799 | button2_value_prev = button2_value_now; |
whismanoid | 22:a14c19b97d0b | 3800 | button2_value_now = button2.read(); |
whismanoid | 22:a14c19b97d0b | 3801 | if ((button2_value_prev - button2_value_now) == 1) |
whismanoid | 22:a14c19b97d0b | 3802 | { |
whismanoid | 22:a14c19b97d0b | 3803 | // on button2 falling edge (button2 press) |
whismanoid | 22:a14c19b97d0b | 3804 | onButton2FallingEdge(); |
whismanoid | 22:a14c19b97d0b | 3805 | } |
whismanoid | 22:a14c19b97d0b | 3806 | # endif // HAS_BUTTON2_DEMO_INTERRUPT |
whismanoid | 22:a14c19b97d0b | 3807 | #endif |
whismanoid | 22:a14c19b97d0b | 3808 | # if HAS_DAPLINK_SERIAL |
whismanoid | 22:a14c19b97d0b | 3809 | if (DAPLINKserial.readable()) { |
whismanoid | 22:a14c19b97d0b | 3810 | cmdLine_DAPLINKserial.append(DAPLINKserial.getc()); |
whismanoid | 22:a14c19b97d0b | 3811 | } |
whismanoid | 22:a14c19b97d0b | 3812 | # endif // HAS_DAPLINK_SERIAL |
whismanoid | 22:a14c19b97d0b | 3813 | if (serial.readable()) { |
whismanoid | 22:a14c19b97d0b | 3814 | int c = serial.getc(); |
whismanoid | 22:a14c19b97d0b | 3815 | cmdLine_serial.append(c); |
whismanoid | 22:a14c19b97d0b | 3816 | #if IGNORE_AT_COMMANDS |
whismanoid | 22:a14c19b97d0b | 3817 | # if HAS_DAPLINK_SERIAL |
whismanoid | 22:a14c19b97d0b | 3818 | cmdLine_DAPLINKserial.serial().printf("%c", c); |
whismanoid | 22:a14c19b97d0b | 3819 | # endif // HAS_DAPLINK_SERIAL |
whismanoid | 22:a14c19b97d0b | 3820 | #endif // IGNORE_AT_COMMANDS |
whismanoid | 22:a14c19b97d0b | 3821 | // |
whismanoid | 22:a14c19b97d0b | 3822 | } |
whismanoid | 22:a14c19b97d0b | 3823 | } // while(1) |
whismanoid | 22:a14c19b97d0b | 3824 | } |