Maxim Integrated / Mbed OS MAX11131BOB_Serial_Tester

Dependencies:   MaximTinyTester MAX11131 CmdLine MAX541 USBDevice

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

Who changed what in which revision?

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