Test program running on MAX32625MBED. Control through USB Serial commands using a terminal emulator such as teraterm or putty.
Dependencies: MaximTinyTester MAX11131 CmdLine MAX541 USBDevice
Test_Main_MAX11131.cpp
- Committer:
- whismanoid
- Date:
- 2021-06-23
- Revision:
- 35:cea78ee8292b
- Parent:
- 34:e28c083ce03d
File content as of revision 35:cea78ee8292b:
// /******************************************************************************* // * Copyright (C) 2021 Maxim Integrated Products, Inc., All Rights Reserved. // * // * Permission is hereby granted, free of charge, to any person obtaining a // * copy of this software and associated documentation files (the "Software"), // * to deal in the Software without restriction, including without limitation // * the rights to use, copy, modify, merge, publish, distribute, sublicense, // * and/or sell copies of the Software, and to permit persons to whom the // * Software is furnished to do so, subject to the following conditions: // * // * The above copyright notice and this permission notice shall be included // * in all copies or substantial portions of the Software. // * // * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS // * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. // * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES // * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, // * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // * OTHER DEALINGS IN THE SOFTWARE. // * // * Except as contained in this notice, the name of Maxim Integrated // * Products, Inc. shall not be used except as stated in the Maxim Integrated // * Products, Inc. Branding Policy. // * // * The mere transfer of this software does not imply any licenses // * of trade secrets, proprietary technology, copyrights, patents, // * trademarks, maskwork rights, or any other form of intellectual // * property whatsoever. Maxim Integrated Products, Inc. retains all // * ownership rights. // ******************************************************************************* // */ // example code includes // standard include for target platform -- Platform_Include_Boilerplate #include "mbed.h" // Platforms: // - MAX32625MBED // - supports mbed-os-5.11, requires USBDevice library // - add https://developer.mbed.org/teams/MaximIntegrated/code/USBDevice/ // - remove max32630fthr library (if present) // - remove MAX32620FTHR library (if present) // - MAX32600MBED // - Please note the last supported version is Mbed OS 6.3. // - remove max32630fthr library (if present) // - remove MAX32620FTHR library (if present) // - Windows 10 note: Don't connect HDK until you are ready to load new firmware into the board. // - NUCLEO_F446RE // - remove USBDevice library // - remove max32630fthr library (if present) // - remove MAX32620FTHR library (if present) // - NUCLEO_F401RE // - remove USBDevice library // - remove max32630fthr library (if present) // - remove MAX32620FTHR library (if present) // - MAX32630FTHR // - #include "max32630fthr.h" // - add http://developer.mbed.org/teams/MaximIntegrated/code/max32630fthr/ // - remove MAX32620FTHR library (if present) // - MAX32620FTHR // - #include "MAX32620FTHR.h" // - remove max32630fthr library (if present) // - add https://os.mbed.com/teams/MaximIntegrated/code/MAX32620FTHR/ // - not tested yet // - MAX32625PICO // - #include "max32625pico.h" // - add https://os.mbed.com/users/switches/code/max32625pico/ // - remove max32630fthr library (if present) // - remove MAX32620FTHR library (if present) // - not tested yet // - see https://os.mbed.com/users/switches/code/max32625pico/ // - see https://os.mbed.com/users/switches/code/PICO_board_demo/ // - see https://os.mbed.com/users/switches/code/PICO_USB_I2C_SPI/ // - see https://os.mbed.com/users/switches/code/SerialInterface/ // - Note: To load the MAX32625PICO firmware, hold the button while // connecting the USB cable, then copy firmware bin file // to the MAINTENANCE drive. // - see https://os.mbed.com/platforms/MAX32625PICO/ // - see https://os.mbed.com/teams/MaximIntegrated/wiki/MAX32625PICO-Firmware-Updates // // end Platform_Include_Boilerplate #include "MAX11131.h" #include "CmdLine.h" #include "MaximTinyTester.h" // optional: serial port // note: some platforms such as Nucleo-F446RE do not support the USBSerial library. // In those cases, remove the USBDevice lib from the project and rebuild. #if defined(TARGET_MAX32625MBED) #include "USBSerial.h" USBSerial serial; // virtual serial port over USB (DEV connector) #elif defined(TARGET_MAX32625PICO) #include "USBSerial.h" USBSerial serial; // virtual serial port over USB (DEV connector) #elif defined(TARGET_MAX32600MBED) #include "USBSerial.h" USBSerial serial; // virtual serial port over USB (DEV connector) #elif defined(TARGET_MAX32630MBED) #include "USBSerial.h" USBSerial serial; // virtual serial port over USB (DEV connector) #else //#include "USBSerial.h" Serial serial(USBTX, USBRX); // tx, rx #endif void on_immediate_0x21(); // Unicode (U+0021) ! EXCLAMATION MARK void on_immediate_0x7b(); // Unicode (U+007B) { LEFT CURLY BRACKET void on_immediate_0x7d(); // Unicode (U+007D) } RIGHT CURLY BRACKET #include "CmdLine.h" # if HAS_DAPLINK_SERIAL CmdLine cmdLine_DAPLINKserial(DAPLINKserial, "DAPLINK"); # endif // HAS_DAPLINK_SERIAL CmdLine cmdLine_serial(serial, "serial"); //-------------------------------------------------- #if defined(TARGET) // TARGET_NAME macros from targets/TARGET_Maxim/TARGET_MAX32625/device/mxc_device.h // Create a string definition for the TARGET #define STRING_ARG(arg) #arg #define STRING_NAME(name) STRING_ARG(name) #define TARGET_NAME STRING_NAME(TARGET) #elif defined(TARGET_MAX32600) #define TARGET_NAME "MAX32600" #elif defined(TARGET_LPC1768) #define TARGET_NAME "LPC1768" #elif defined(TARGET_NUCLEO_F446RE) #define TARGET_NAME "NUCLEO_F446RE" #elif defined(TARGET_NUCLEO_F401RE) #define TARGET_NAME "NUCLEO_F401RE" #else #error TARGET NOT DEFINED #endif #if defined(TARGET_MAX32630) //-------------------------------------------------- // TARGET=MAX32630FTHR ARM Cortex-M4F 96MHz 2048kB Flash 512kB SRAM // +-------------[microUSB]-------------+ // | J1 MAX32630FTHR J2 | // ______ | [ ] RST GND [ ] | // ______ | [ ] 3V3 BAT+[ ] | // ______ | [ ] 1V8 reset SW1 | // ______ | [ ] GND J4 J3 | // analogIn0/4 | [a] AIN_0 1.2Vfs (bat) SYS [ ] | switched BAT+ // analogIn1/5 | [a] AIN_1 1.2Vfs PWR [ ] | external pwr btn // analogIn2 | [a] AIN_2 1.2Vfs +5V VBUS [ ] | USB +5V power // analogIn3 | [a] AIN_3 1.2Vfs 1-WIRE P4_0 [d] | D0 dig9 // (I2C2.SDA) | [d] P5_7 SDA2 SRN P5_6 [d] | D1 dig8 // (I2C2.SCL) | [d] P6_0 SCL2 SDIO3 P5_5 [d] | D2 dig7 // D13/SCLK | [s] P5_0 SCLK SDIO2 P5_4 [d] | D3 dig6 // D11/MOSI | [s] P5_1 MOSI SSEL P5_3 [d] | D4 dig5 // D12/MISO | [s] P5_2 MISO RTS P3_3 [d] | D5 dig4 // D10/CS | [s] P3_0 RX CTS P3_2 [d] | D6 dig3 // D9 dig0 | [d] P3_1 TX SCL P3_5 [d] | D7 dig2 // ______ | [ ] GND SDA P3_4 [d] | D8 dig1 // | | // | XIP Flash MAX14690N | // | XIP_SCLK P1_0 SDA2 P5_7 | // | XIP_MOSI P1_1 SCL2 P6_0 | // | XIP_MISO P1_2 PMIC_INIT P3_7 | // | XIP_SSEL P1_3 MPC P2_7 | // | XIP_DIO2 P1_4 MON AIN_0 | // | XIP_DIO3 P1_5 | // | | // | PAN1326B MicroSD LED | // | BT_RX P0_0 SD_SCLK P0_4 r P2_4 | // | BT_TX P0_1 SD_MOSI P0_5 g P2_5 | // | BT_CTS P0_2 SD_MISO P0_6 b P2_6 | // | BT_RTS P0_3 SD_SSEL P0_7 | // | BT_RST P1_6 DETECT P2_2 | // | BT_CLK P1_7 SW2 P2_3 | // +------------------------------------+ // 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). // 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). // AIN_0 = AIN0 pin fullscale is 1.2V // AIN_1 = AIN1 pin fullscale is 1.2V // AIN_2 = AIN2 pin fullscale is 1.2V // AIN_3 = AIN3 pin fullscale is 1.2V // AIN_4 = AIN0 / 5.0 fullscale is 6.0V // AIN_5 = AIN1 / 5.0 fullscale is 6.0V // AIN_6 = VDDB / 4.0 fullscale is 4.8V // AIN_7 = VDD18 fullscale is 1.2V // AIN_8 = VDD12 fullscale is 1.2V // AIN_9 = VRTC / 2.0 fullscale is 2.4V // AIN_10 = x undefined? // AIN_11 = VDDIO / 4.0 fullscale is 4.8V // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V // #include "max32630fthr.h" MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3); #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 1 // MAX32630FTHR board supports only internal VREF = 1.200V at bypass capacitor C15 const float ADC_FULL_SCALE_VOLTAGE = 1.200; // Arduino connector #ifndef A0 #define A0 AIN_0 #endif #ifndef A1 #define A1 AIN_1 #endif #ifndef A2 #define A2 AIN_2 #endif #ifndef A3 #define A3 AIN_3 #endif #ifndef D0 #define D0 P4_0 #endif #ifndef D1 #define D1 P5_6 #endif #ifndef D2 #define D2 P5_5 #endif #ifndef D3 #define D3 P5_4 #endif #ifndef D4 #define D4 P5_3 #endif #ifndef D5 #define D5 P3_3 #endif #ifndef D6 #define D6 P3_2 #endif #ifndef D7 #define D7 P3_5 #endif #ifndef D8 #define D8 P3_4 #endif #ifndef D9 #define D9 P3_1 #endif #ifndef D10 #define D10 P3_0 #endif #ifndef D11 #define D11 P5_1 #endif #ifndef D12 #define D12 P5_2 #endif #ifndef D13 #define D13 P5_0 #endif //-------------------------------------------------- #elif defined(TARGET_MAX32625MBED) //-------------------------------------------------- // TARGET=MAX32625MBED ARM Cortex-M4F 96MHz 512kB Flash 160kB SRAM // +-------------------------------------+ // | MAX32625MBED Arduino UNO header | // | | // | A5/SCL[ ] | P1_7 dig15 // | A4/SDA[ ] | P1_6 dig14 // | AREF=N/C[ ] | // | GND[ ] | // | [ ]N/C SCK/13[ ] | P1_0 dig13 // | [ ]IOREF=3V3 MISO/12[ ] | P1_2 dig12 // | [ ]RST MOSI/11[ ]~| P1_1 dig11 // | [ ]3V3 CS/10[ ]~| P1_3 dig10 // | [ ]5V0 9[ ]~| P1_5 dig9 // | [ ]GND 8[ ] | P1_4 dig8 // | [ ]GND | // | [ ]Vin 7[ ] | P0_7 dig7 // | 6[ ]~| P0_6 dig6 // AIN_0 | [ ]A0 5[ ]~| P0_5 dig5 // AIN_1 | [ ]A1 4[ ] | P0_4 dig4 // AIN_2 | [ ]A2 INT1/3[ ]~| P0_3 dig3 // AIN_3 | [ ]A3 INT0/2[ ] | P0_2 dig2 // dig16 P3_4 | [ ]A4/SDA RST SCK MISO TX>1[ ] | P0_1 dig1 // dig17 P3_5 | [ ]A5/SCL [ ] [ ] [ ] RX<0[ ] | P0_0 dig0 // | [ ] [ ] [ ] | // | UNO_R3 GND MOSI 5V ____________/ // \_______________________/ // // +------------------------+ // | | // | MicroSD LED | // | SD_SCLK P2_4 r P3_0 | // | SD_MOSI P2_5 g P3_1 | // | SD_MISO P2_6 b P3_2 | // | SD_SSEL P2_7 y P3_3 | // | | // | DAPLINK BUTTONS | // | TX P2_1 SW3 P2_3 | // | RX P2_0 SW2 P2_2 | // +------------------------+ // // AIN_0 = AIN0 pin fullscale is 1.2V // AIN_1 = AIN1 pin fullscale is 1.2V // AIN_2 = AIN2 pin fullscale is 1.2V // AIN_3 = AIN3 pin fullscale is 1.2V // AIN_4 = AIN0 / 5.0 fullscale is 6.0V // AIN_5 = AIN1 / 5.0 fullscale is 6.0V // AIN_6 = VDDB / 4.0 fullscale is 4.8V // AIN_7 = VDD18 fullscale is 1.2V // AIN_8 = VDD12 fullscale is 1.2V // AIN_9 = VRTC / 2.0 fullscale is 2.4V // AIN_10 = x undefined? // AIN_11 = VDDIO / 4.0 fullscale is 4.8V // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V // //#include "max32625mbed.h" // ? //MAX32625MBED mbed(MAX32625MBED::VIO_3V3); // ? #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 1 // MAX32630FTHR board supports only internal VREF = 1.200V at bypass capacitor C15 const float ADC_FULL_SCALE_VOLTAGE = 1.200; // TODO: ADC_FULL_SCALE_VOLTAGE Pico? // Arduino connector #ifndef A0 #define A0 AIN_0 #endif #ifndef A1 #define A1 AIN_1 #endif #ifndef A2 #define A2 AIN_2 #endif #ifndef A3 #define A3 AIN_3 #endif #ifndef D0 #define D0 P0_0 #endif #ifndef D1 #define D1 P0_1 #endif #ifndef D2 #define D2 P0_2 #endif #ifndef D3 #define D3 P0_3 #endif #ifndef D4 #define D4 P0_4 #endif #ifndef D5 #define D5 P0_5 #endif #ifndef D6 #define D6 P0_6 #endif #ifndef D7 #define D7 P0_7 #endif #ifndef D8 #define D8 P1_4 #endif #ifndef D9 #define D9 P1_5 #endif #ifndef D10 #define D10 P1_3 #endif #ifndef D11 #define D11 P1_1 #endif #ifndef D12 #define D12 P1_2 #endif #ifndef D13 #define D13 P1_0 #endif //-------------------------------------------------- #elif defined(TARGET_MAX32600) // target MAX32600 // #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 0 const float ADC_FULL_SCALE_VOLTAGE = 1.500; // //-------------------------------------------------- #elif defined(TARGET_MAX32620FTHR) #warning "TARGET_MAX32620FTHR not previously tested; need to define pins..." #include "MAX32620FTHR.h" // Initialize I/O voltages on MAX32620FTHR board MAX32620FTHR fthr(MAX32620FTHR::VIO_3V3); //#define USE_LEDS 0 ? #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 1 #warning "TARGET_MAX32620FTHR not previously tested; need to verify ADC_FULL_SCALE_VOLTAGE..." const float ADC_FULL_SCALE_VOLTAGE = 1.200; // //-------------------------------------------------- #elif defined(TARGET_MAX32625PICO) #warning "TARGET_MAX32625PICO not previously tested; need to define pins..." #include "max32625pico.h" // configure MAX32625PICO VDDIOH mode, and I/O voltages for DIP pins and SWD pins MAX32625PICO pico( // vddioh_mode_t iohMode //~ MAX32625PICO::IOH_OFF, // No connections to VDDIOH //~ MAX32625PICO::IOH_DIP_IN, // VDDIOH input from DIP pin 1 (AIN0) //~ MAX32625PICO::IOH_SWD_IN, // VDDIOH input from SWD pin 1 MAX32625PICO::IOH_3V3, // VDDIOH = 3.3V from local supply //~ MAX32625PICO::IOH_DIP_OUT, // VDDIOH = 3.3V output to DIP pin 1 //~ MAX32625PICO::IOH_SWD_OUT, // VDDIOH = 3.3V output to SWD pin 1 // // vio_t dipVio = MAX32625PICO::VIO_1V8 or MAX32625PICO::VIO_IOH //~ MAX32625PICO::VIO_1V8, // 1.8V IO (local) MAX32625PICO::VIO_IOH, // Use VDDIOH (from DIP pin 1, or SWD pin1, or local 3.3V) // // vio_t swdVio //~ MAX32625PICO::VIO_1V8 // 1.8V IO (local) MAX32625PICO::VIO_IOH // Use VDDIOH (from DIP pin 1, or SWD pin1, or local 3.3V) ); //#define USE_LEDS 0 ? #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 1 #warning "TARGET_MAX32625PICO not previously tested; need to verify ADC_FULL_SCALE_VOLTAGE..." const float ADC_FULL_SCALE_VOLTAGE = 1.200; // //-------------------------------------------------- #elif defined(TARGET_NUCLEO_F446RE) || defined(TARGET_NUCLEO_F401RE) // TODO1: target NUCLEO_F446RE // // USER_BUTTON PC13 // LED1 is shared with SPI_SCK on NUCLEO_F446RE PA_5, so don't use LED1. #define USE_LEDS 0 // SPI spi(SPI_MOSI, SPI_MISO, SPI_SCK); // Serial serial(SERIAL_TX, SERIAL_RX); #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 0 const float ADC_FULL_SCALE_VOLTAGE = 3.300; // TODO: ADC_FULL_SCALE_VOLTAGE Pico? // //-------------------------------------------------- #elif defined(TARGET_LPC1768) //-------------------------------------------------- // TARGET=LPC1768 ARM Cortex-M3 100 MHz 512kB flash 64kB SRAM // +-------------[microUSB]-------------+ // ______ | [ ] GND +3.3V VOUT [ ] | ______ // ______ | [ ] 4.5V<VIN<9.0V +5.0V VU [ ] | ______ // ______ | [ ] VB USB.IF- [ ] | ______ // ______ | [ ] nR USB.IF+ [ ] | ______ // digitalInOut0 | [ ] p5 MOSI ETHERNET.RD- [ ] | ______ // digitalInOut1 | [ ] p6 MISO ETHERNET.RD+ [ ] | ______ // digitalInOut2 | [ ] p7 SCLK ETHERNET.TD- [ ] | ______ // digitalInOut3 | [ ] p8 ETHERNET.TD+ [ ] | ______ // digitalInOut4 | [ ] p9 TX SDA USB.D- [ ] | ______ // digitalInOut5 | [ ] p10 RX SCL USB.D+ [ ] | ______ // digitalInOut6 | [ ] p11 MOSI CAN-RD p30 [ ] | digitalInOut13 // digitalInOut7 | [ ] p12 MISO CAN-TD p29 [ ] | digitalInOut12 // digitalInOut8 | [ ] p13 TX SCLK SDA TX p28 [ ] | digitalInOut11 // digitalInOut9 | [ ] p14 RX SCL RX p27 [ ] | digitalInOut10 // analogIn0 | [ ] p15 AIN0 3.3Vfs PWM1 p26 [ ] | pwmDriver1 // analogIn1 | [ ] p16 AIN1 3.3Vfs PWM2 p25 [ ] | pwmDriver2 // analogIn2 | [ ] p17 AIN2 3.3Vfs PWM3 p24 [ ] | pwmDriver3 // analogIn3 | [ ] p18 AIN3 AOUT PWM4 p23 [ ] | pwmDriver4 // analogIn4 | [ ] p19 AIN4 3.3Vfs PWM5 p22 [ ] | pwmDriver5 // analogIn5 | [ ] p20 AIN5 3.3Vfs PWM6 p21 [ ] | pwmDriver6 // +------------------------------------+ // AIN6 = P0.3 = TGT_SBL_RXD? // AIN7 = P0.2 = TGT_SBL_TXD? // //-------------------------------------------------- // LPC1768 board uses VREF = 3.300V +A3,3V thru L1 to bypass capacitor C14 #define analogIn4_IS_HIGH_RANGE_OF_analogIn0 0 const float ADC_FULL_SCALE_VOLTAGE = 3.300; #else // not defined(TARGET_LPC1768 etc.) //-------------------------------------------------- // unknown target //-------------------------------------------------- #endif // target definition //-------------------------------------------------- // Option to dedicate SPI port pins // // SPI2_MOSI = P5_1 // SPI2_MISO = P5_2 // SPI2_SCK = P5_0 // On this board I'm using P3_0 as spi_cs // SPI2_SS = P5_3 // SPI2_SDIO2 = P5_4 // SPI2_SDIO3 = P5_5 // SPI2_SRN = P5_6 // #ifndef HAS_SPI #define HAS_SPI 1 #endif #if HAS_SPI #define SPI_MODE0 0 #define SPI_MODE1 1 #define SPI_MODE2 2 #define SPI_MODE3 3 // #if defined(TARGET_MAX32630) // Before setting global variables g_SPI_SCLK_Hz and g_SPI_dataMode, // workaround for TARGET_MAX32630 SPI_MODE2 SPI_MODE3 problem (issue #30) #warning "MAX32630 SPI workaround..." // replace SPI_MODE2 (CPOL=1,CPHA=0) with SPI_MODE1 (CPOL=0,CPHA=1) Falling Edge stable // replace SPI_MODE3 (CPOL=1,CPHA=1) with SPI_MODE0 (CPOL=0,CPHA=0) Rising Edge stable # if ((SPI_dataMode) == (SPI_MODE2)) #warning "MAX32630 SPI_MODE2 workaround, changing SPI_dataMode to SPI_MODE1..." // SPI_dataMode SPI_MODE2 // CPOL=1,CPHA=0: Falling Edge stable; SCLK idle High # undef SPI_dataMode # define SPI_dataMode SPI_MODE1 // CPOL=0,CPHA=1: Falling Edge stable; SCLK idle Low # elif ((SPI_dataMode) == (SPI_MODE3)) #warning "MAX32630 SPI_MODE3 workaround, changing SPI_dataMode to SPI_MODE0..." // SPI_dataMode SPI_MODE3 // CPOL=1,CPHA=1: Rising Edge stable; SCLK idle High # undef SPI_dataMode # define SPI_dataMode SPI_MODE0 // CPOL=0,CPHA=0: Rising Edge stable; SCLK idle Low # endif // workaround for TARGET_MAX32630 SPI_MODE2 SPI_MODE3 problem // workaround for TARGET_MAX32630 SPI_MODE2 SPI_MODE3 problem (issue #30) // limit SPI SCLK speed to 6MHz or less # if ((SPI_SCLK_Hz) > (6000000)) #warning "MAX32630 SPI speed workaround, changing SPI_SCLK_Hz to 6000000 or 6MHz..." # undef SPI_SCLK_Hz # define SPI_SCLK_Hz 6000000 // 6MHz # endif #endif // uint32_t g_SPI_SCLK_Hz = 24000000; // platform limit 24MHz intSPI_SCLK_Platform_Max_MHz * 1000000 // TODO1: validate g_SPI_SCLK_Hz against system clock frequency SystemCoreClock F_CPU #if defined(TARGET_NUCLEO_F446RE) || defined(TARGET_NUCLEO_F401RE) // Nucleo SPI frequency isn't working quite as expected... // Looks like STMF4 has an spi clock prescaler (2,4,8,16,32,64,128,256) // so 180MHz->[90.0, 45.0, 22.5, 11.25, 5.625, 2.8125, 1.40625, 0.703125] // %SC SCLK=1MHz sets spi frequency 703.125kHz // %SC SCLK=2MHz sets spi frequency 1.40625MHz // %SC SCLK=3MHz sets spi frequency 2.8125MHz // %SC SCLK=6MHz sets spi frequency 5.625MHz // %SC SCLK=12MHz sets spi frequency 11.25MHz // %SC SCLK=23MHz sets spi frequency 22.5MHz // %SC SCLK=45MHz sets spi frequency 45.0MHz // Don't know why I can't reach spi frequency 90.0MHz, but ok whatever. const uint32_t limit_min_SPI_SCLK_divisor = 2; const uint32_t limit_max_SPI_SCLK_divisor = 256; // not really a divisor, just a powers-of-two prescaler with no intermediate divisors. #else const uint32_t limit_min_SPI_SCLK_divisor = 2; const uint32_t limit_max_SPI_SCLK_divisor = 8191; #endif const uint32_t limit_max_SPI_SCLK_Hz = (SystemCoreClock / limit_min_SPI_SCLK_divisor); // F_CPU / 2; // 8MHz / 2 = 4MHz const uint32_t limit_min_SPI_SCLK_Hz = (SystemCoreClock / limit_max_SPI_SCLK_divisor); // F_CPU / 128; // 8MHz / 128 = 62.5kHz // uint8_t g_SPI_dataMode = SPI_MODE0; // TODO: missing definition SPI_dataMode; uint8_t g_SPI_cs_state = 1; // #endif // uncrustify-0.66.1 *INDENT-OFF* //-------------------------------------------------- // Declare the DigitalInOut GPIO pins // Optional digitalInOut support. If there is only one it should be digitalInOut1. // D) Digital High/Low/Input Pin #if defined(TARGET_MAX32630) // +-------------[microUSB]-------------+ // | J1 MAX32630FTHR J2 | // | [ ] RST GND [ ] | // | [ ] 3V3 BAT+[ ] | // | [ ] 1V8 reset SW1 | // | [ ] GND J4 J3 | // | [ ] AIN_0 1.2Vfs (bat) SYS [ ] | // | [ ] AIN_1 1.2Vfs PWR [ ] | // | [ ] AIN_2 1.2Vfs +5V VBUS [ ] | // | [ ] AIN_3 1.2Vfs 1-WIRE P4_0 [ ] | dig9 // dig10 | [x] P5_7 SDA2 SRN P5_6 [ ] | dig8 // dig11 | [x] P6_0 SCL2 SDIO3 P5_5 [ ] | dig7 // dig12 | [x] P5_0 SCLK SDIO2 P5_4 [ ] | dig6 // dig13 | [x] P5_1 MOSI SSEL P5_3 [x] | dig5 // dig14 | [ ] P5_2 MISO RTS P3_3 [ ] | dig4 // dig15 | [ ] P3_0 RX CTS P3_2 [ ] | dig3 // dig0 | [ ] P3_1 TX SCL P3_5 [x] | dig2 // | [ ] GND SDA P3_4 [x] | dig1 // +------------------------------------+ #define HAS_digitalInOut0 1 // P3_1 TARGET_MAX32630 J1.15 #define HAS_digitalInOut1 1 // P3_4 TARGET_MAX32630 J3.12 #define HAS_digitalInOut2 1 // P3_5 TARGET_MAX32630 J3.11 #define HAS_digitalInOut3 1 // P3_2 TARGET_MAX32630 J3.10 #define HAS_digitalInOut4 1 // P3_3 TARGET_MAX32630 J3.9 #define HAS_digitalInOut5 1 // P5_3 TARGET_MAX32630 J3.8 #define HAS_digitalInOut6 1 // P5_4 TARGET_MAX32630 J3.7 #define HAS_digitalInOut7 1 // P5_5 TARGET_MAX32630 J3.6 #define HAS_digitalInOut8 1 // P5_6 TARGET_MAX32630 J3.5 #define HAS_digitalInOut9 1 // P4_0 TARGET_MAX32630 J3.4 #if HAS_I2C // avoid resource conflict between P5_7, P6_0 I2C and DigitalInOut #define HAS_digitalInOut10 0 // P5_7 TARGET_MAX32630 J1.9 #define HAS_digitalInOut11 0 // P6_0 TARGET_MAX32630 J1.10 #else // HAS_I2C #define HAS_digitalInOut10 1 // P5_7 TARGET_MAX32630 J1.9 #define HAS_digitalInOut11 1 // P6_0 TARGET_MAX32630 J1.10 #endif // HAS_I2C #if HAS_SPI // avoid resource conflict between P5_0, P5_1, P5_2 SPI and DigitalInOut #define HAS_digitalInOut12 0 // P5_0 TARGET_MAX32630 J1.11 #define HAS_digitalInOut13 0 // P5_1 TARGET_MAX32630 J1.12 #define HAS_digitalInOut14 0 // P5_2 TARGET_MAX32630 J1.13 #define HAS_digitalInOut15 0 // P3_0 TARGET_MAX32630 J1.14 #else // HAS_SPI #define HAS_digitalInOut12 1 // P5_0 TARGET_MAX32630 J1.11 #define HAS_digitalInOut13 1 // P5_1 TARGET_MAX32630 J1.12 #define HAS_digitalInOut14 1 // P5_2 TARGET_MAX32630 J1.13 #define HAS_digitalInOut15 1 // P3_0 TARGET_MAX32630 J1.14 #endif // HAS_SPI #if HAS_digitalInOut0 DigitalInOut digitalInOut0(P3_1, PIN_INPUT, PullUp, 1); // P3_1 TARGET_MAX32630 J1.15 #endif #if HAS_digitalInOut1 DigitalInOut digitalInOut1(P3_4, PIN_INPUT, PullUp, 1); // P3_4 TARGET_MAX32630 J3.12 #endif #if HAS_digitalInOut2 DigitalInOut digitalInOut2(P3_5, PIN_INPUT, PullUp, 1); // P3_5 TARGET_MAX32630 J3.11 #endif #if HAS_digitalInOut3 DigitalInOut digitalInOut3(P3_2, PIN_INPUT, PullUp, 1); // P3_2 TARGET_MAX32630 J3.10 #endif #if HAS_digitalInOut4 DigitalInOut digitalInOut4(P3_3, PIN_INPUT, PullUp, 1); // P3_3 TARGET_MAX32630 J3.9 #endif #if HAS_digitalInOut5 DigitalInOut digitalInOut5(P5_3, PIN_INPUT, PullUp, 1); // P5_3 TARGET_MAX32630 J3.8 #endif #if HAS_digitalInOut6 DigitalInOut digitalInOut6(P5_4, PIN_INPUT, PullUp, 1); // P5_4 TARGET_MAX32630 J3.7 #endif #if HAS_digitalInOut7 DigitalInOut digitalInOut7(P5_5, PIN_INPUT, PullUp, 1); // P5_5 TARGET_MAX32630 J3.6 #endif #if HAS_digitalInOut8 DigitalInOut digitalInOut8(P5_6, PIN_INPUT, PullUp, 1); // P5_6 TARGET_MAX32630 J3.5 #endif #if HAS_digitalInOut9 DigitalInOut digitalInOut9(P4_0, PIN_INPUT, PullUp, 1); // P4_0 TARGET_MAX32630 J3.4 #endif #if HAS_digitalInOut10 DigitalInOut digitalInOut10(P5_7, PIN_INPUT, PullUp, 1); // P5_7 TARGET_MAX32630 J1.9 #endif #if HAS_digitalInOut11 DigitalInOut digitalInOut11(P6_0, PIN_INPUT, PullUp, 1); // P6_0 TARGET_MAX32630 J1.10 #endif #if HAS_digitalInOut12 DigitalInOut digitalInOut12(P5_0, PIN_INPUT, PullUp, 1); // P5_0 TARGET_MAX32630 J1.11 #endif #if HAS_digitalInOut13 DigitalInOut digitalInOut13(P5_1, PIN_INPUT, PullUp, 1); // P5_1 TARGET_MAX32630 J1.12 #endif #if HAS_digitalInOut14 DigitalInOut digitalInOut14(P5_2, PIN_INPUT, PullUp, 1); // P5_2 TARGET_MAX32630 J1.13 #endif #if HAS_digitalInOut15 DigitalInOut digitalInOut15(P3_0, PIN_INPUT, PullUp, 1); // P3_0 TARGET_MAX32630 J1.14 #endif //-------------------------------------------------- #elif defined(TARGET_MAX32625MBED) // TARGET=MAX32625MBED ARM Cortex-M4F 96MHz 512kB Flash 160kB SRAM // +-------------------------------------+ // | MAX32625MBED Arduino UNO header | // | | // | A5/SCL[ ] | P1_7 dig15 // | A4/SDA[ ] | P1_6 dig14 // | AREF=N/C[ ] | // | GND[ ] | // | [ ]N/C SCK/13[ ] | P1_0 dig13 // | [ ]IOREF=3V3 MISO/12[ ] | P1_2 dig12 // | [ ]RST MOSI/11[ ]~| P1_1 dig11 // | [ ]3V3 CS/10[ ]~| P1_3 dig10 // | [ ]5V0 9[ ]~| P1_5 dig9 // | [ ]GND 8[ ] | P1_4 dig8 // | [ ]GND | // | [ ]Vin 7[ ] | P0_7 dig7 // | 6[ ]~| P0_6 dig6 // AIN_0 | [ ]A0 5[ ]~| P0_5 dig5 // AIN_1 | [ ]A1 4[ ] | P0_4 dig4 // AIN_2 | [ ]A2 INT1/3[ ]~| P0_3 dig3 // AIN_3 | [ ]A3 INT0/2[ ] | P0_2 dig2 // dig16 P3_4 | [ ]A4/SDA RST SCK MISO TX>1[ ] | P0_1 dig1 // dig17 P3_5 | [ ]A5/SCL [ ] [ ] [ ] RX<0[ ] | P0_0 dig0 // | [ ] [ ] [ ] | // | UNO_R3 GND MOSI 5V ____________/ // \_______________________/ // #define HAS_digitalInOut0 1 // P0_0 TARGET_MAX32625MBED D0 #define HAS_digitalInOut1 1 // P0_1 TARGET_MAX32625MBED D1 #if APPLICATION_MAX11131 #define HAS_digitalInOut2 0 // P0_2 TARGET_MAX32625MBED D2 -- MAX11131 EOC DigitalIn #else #define HAS_digitalInOut2 1 // P0_2 TARGET_MAX32625MBED D2 #endif #define HAS_digitalInOut3 1 // P0_3 TARGET_MAX32625MBED D3 #define HAS_digitalInOut4 1 // P0_4 TARGET_MAX32625MBED D4 #define HAS_digitalInOut5 1 // P0_5 TARGET_MAX32625MBED D5 #define HAS_digitalInOut6 1 // P0_6 TARGET_MAX32625MBED D6 #define HAS_digitalInOut7 1 // P0_7 TARGET_MAX32625MBED D7 #define HAS_digitalInOut8 1 // P1_4 TARGET_MAX32625MBED D8 #if APPLICATION_MAX11131 #define HAS_digitalInOut9 0 // P1_5 TARGET_MAX32625MBED D9 -- MAX11131 CNVST DigitalOut #else #define HAS_digitalInOut9 1 // P1_5 TARGET_MAX32625MBED D9 #endif #if HAS_SPI // avoid resource conflict between P5_0, P5_1, P5_2 SPI and DigitalInOut #define HAS_digitalInOut10 0 // P1_3 TARGET_MAX32635MBED CS/10 #define HAS_digitalInOut11 0 // P1_1 TARGET_MAX32635MBED MOSI/11 #define HAS_digitalInOut12 0 // P1_2 TARGET_MAX32635MBED MISO/12 #define HAS_digitalInOut13 0 // P1_0 TARGET_MAX32635MBED SCK/13 #else // HAS_SPI #define HAS_digitalInOut10 1 // P1_3 TARGET_MAX32635MBED CS/10 #define HAS_digitalInOut11 1 // P1_1 TARGET_MAX32635MBED MOSI/11 #define HAS_digitalInOut12 1 // P1_2 TARGET_MAX32635MBED MISO/12 #define HAS_digitalInOut13 1 // P1_0 TARGET_MAX32635MBED SCK/13 #endif // HAS_SPI #if HAS_I2C // avoid resource conflict between P5_7, P6_0 I2C and DigitalInOut #define HAS_digitalInOut14 0 // P1_6 TARGET_MAX32635MBED A4/SDA (10pin digital connector) #define HAS_digitalInOut15 0 // P1_7 TARGET_MAX32635MBED A5/SCL (10pin digital connector) #define HAS_digitalInOut16 0 // P3_4 TARGET_MAX32635MBED A4/SDA (6pin analog connector) #define HAS_digitalInOut17 0 // P3_5 TARGET_MAX32635MBED A5/SCL (6pin analog connector) #else // HAS_I2C #define HAS_digitalInOut14 1 // P1_6 TARGET_MAX32635MBED A4/SDA (10pin digital connector) #define HAS_digitalInOut15 1 // P1_7 TARGET_MAX32635MBED A5/SCL (10pin digital connector) #define HAS_digitalInOut16 1 // P3_4 TARGET_MAX32635MBED A4/SDA (6pin analog connector) #define HAS_digitalInOut17 1 // P3_5 TARGET_MAX32635MBED A5/SCL (6pin analog connector) #endif // HAS_I2C #if HAS_digitalInOut0 DigitalInOut digitalInOut0(P0_0, PIN_INPUT, PullUp, 1); // P0_0 TARGET_MAX32625MBED D0 #endif #if HAS_digitalInOut1 DigitalInOut digitalInOut1(P0_1, PIN_INPUT, PullUp, 1); // P0_1 TARGET_MAX32625MBED D1 #endif #if HAS_digitalInOut2 DigitalInOut digitalInOut2(P0_2, PIN_INPUT, PullUp, 1); // P0_2 TARGET_MAX32625MBED D2 #endif #if HAS_digitalInOut3 DigitalInOut digitalInOut3(P0_3, PIN_INPUT, PullUp, 1); // P0_3 TARGET_MAX32625MBED D3 #endif #if HAS_digitalInOut4 DigitalInOut digitalInOut4(P0_4, PIN_INPUT, PullUp, 1); // P0_4 TARGET_MAX32625MBED D4 #endif #if HAS_digitalInOut5 DigitalInOut digitalInOut5(P0_5, PIN_INPUT, PullUp, 1); // P0_5 TARGET_MAX32625MBED D5 #endif #if HAS_digitalInOut6 DigitalInOut digitalInOut6(P0_6, PIN_INPUT, PullUp, 1); // P0_6 TARGET_MAX32625MBED D6 #endif #if HAS_digitalInOut7 DigitalInOut digitalInOut7(P0_7, PIN_INPUT, PullUp, 1); // P0_7 TARGET_MAX32625MBED D7 #endif #if HAS_digitalInOut8 DigitalInOut digitalInOut8(P1_4, PIN_INPUT, PullUp, 1); // P1_4 TARGET_MAX32625MBED D8 #endif #if HAS_digitalInOut9 DigitalInOut digitalInOut9(P1_5, PIN_INPUT, PullUp, 1); // P1_5 TARGET_MAX32625MBED D9 #endif #if HAS_digitalInOut10 DigitalInOut digitalInOut10(P1_3, PIN_INPUT, PullUp, 1); // P1_3 TARGET_MAX32635MBED CS/10 #endif #if HAS_digitalInOut11 DigitalInOut digitalInOut11(P1_1, PIN_INPUT, PullUp, 1); // P1_1 TARGET_MAX32635MBED MOSI/11 #endif #if HAS_digitalInOut12 DigitalInOut digitalInOut12(P1_2, PIN_INPUT, PullUp, 1); // P1_2 TARGET_MAX32635MBED MISO/12 #endif #if HAS_digitalInOut13 DigitalInOut digitalInOut13(P1_0, PIN_INPUT, PullUp, 1); // P1_0 TARGET_MAX32635MBED SCK/13 #endif #if HAS_digitalInOut14 // Ensure that the unused I2C pins do not interfere with analog inputs A4 and A5 // DigitalInOut mode can be one of PullUp, PullDown, PullNone, OpenDrain DigitalInOut digitalInOut14(P1_6, PIN_INPUT, OpenDrain, 1); // P1_6 TARGET_MAX32635MBED A4/SDA (10pin digital connector) #endif #if HAS_digitalInOut15 // Ensure that the unused I2C pins do not interfere with analog inputs A4 and A5 DigitalInOut digitalInOut15(P1_7, PIN_INPUT, OpenDrain, 1); // P1_7 TARGET_MAX32635MBED A5/SCL (10pin digital connector) #endif #if HAS_digitalInOut16 // Ensure that the unused I2C pins do not interfere with analog inputs A4 and A5 // DigitalInOut mode can be one of PullUp, PullDown, PullNone, OpenDrain // PullUp-->3.4V, PullDown-->1.7V, PullNone-->3.5V, OpenDrain-->0.00V DigitalInOut digitalInOut16(P3_4, PIN_INPUT, OpenDrain, 0); // P3_4 TARGET_MAX32635MBED A4/SDA (6pin analog connector) #endif #if HAS_digitalInOut17 // Ensure that the unused I2C pins do not interfere with analog inputs A4 and A5 DigitalInOut digitalInOut17(P3_5, PIN_INPUT, OpenDrain, 0); // P3_5 TARGET_MAX32635MBED A5/SCL (6pin analog connector) #endif //-------------------------------------------------- #elif defined(TARGET_NUCLEO_F446RE) || defined(TARGET_NUCLEO_F401RE) #define HAS_digitalInOut0 0 #define HAS_digitalInOut1 0 #if APPLICATION_MAX11131 // D2 -- MAX11131 EOC DigitalIn #define HAS_digitalInOut2 0 #else #define HAS_digitalInOut2 1 #endif #define HAS_digitalInOut3 1 #define HAS_digitalInOut4 1 #define HAS_digitalInOut5 1 #define HAS_digitalInOut6 1 #define HAS_digitalInOut7 1 #if APPLICATION_MAX5715 // D8 -- MAX5715 CLRb DigitalOut #define HAS_digitalInOut8 0 #else #define HAS_digitalInOut8 1 #endif #if APPLICATION_MAX5715 // D9 -- MAX5715 LDACb DigitalOut #define HAS_digitalInOut9 0 #elif APPLICATION_MAX11131 // D9 -- MAX11131 CNVST DigitalOut #define HAS_digitalInOut9 0 #else #define HAS_digitalInOut9 1 #endif #if HAS_SPI // avoid resource conflict between P5_0, P5_1, P5_2 SPI and DigitalInOut // Arduino digital pin D10 SPI function is CS/10 // Arduino digital pin D11 SPI function is MOSI/11 // Arduino digital pin D12 SPI function is MISO/12 // Arduino digital pin D13 SPI function is SCK/13 #define HAS_digitalInOut10 0 #define HAS_digitalInOut11 0 #define HAS_digitalInOut12 0 #define HAS_digitalInOut13 0 #else // HAS_SPI #define HAS_digitalInOut10 1 #define HAS_digitalInOut11 1 #define HAS_digitalInOut12 1 #define HAS_digitalInOut13 1 #endif // HAS_SPI #if HAS_I2C // avoid resource conflict between P5_7, P6_0 I2C and DigitalInOut // Arduino digital pin D14 I2C function is A4/SDA (10pin digital connector) // Arduino digital pin D15 I2C function is A5/SCL (10pin digital connector) // Arduino digital pin D16 I2C function is A4/SDA (6pin analog connector) // Arduino digital pin D17 I2C function is A5/SCL (6pin analog connector) #define HAS_digitalInOut14 0 #define HAS_digitalInOut15 0 #define HAS_digitalInOut16 0 #define HAS_digitalInOut17 0 #else // HAS_I2C #define HAS_digitalInOut14 1 #define HAS_digitalInOut15 1 #define HAS_digitalInOut16 0 #define HAS_digitalInOut17 0 #endif // HAS_I2C #if HAS_digitalInOut0 DigitalInOut digitalInOut0(D0, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut1 DigitalInOut digitalInOut1(D1, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut2 DigitalInOut digitalInOut2(D2, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut3 DigitalInOut digitalInOut3(D3, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut4 DigitalInOut digitalInOut4(D4, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut5 DigitalInOut digitalInOut5(D5, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut6 DigitalInOut digitalInOut6(D6, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut7 DigitalInOut digitalInOut7(D7, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut8 DigitalInOut digitalInOut8(D8, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut9 DigitalInOut digitalInOut9(D9, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut10 // Arduino digital pin D10 SPI function is CS/10 DigitalInOut digitalInOut10(D10, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut11 // Arduino digital pin D11 SPI function is MOSI/11 DigitalInOut digitalInOut11(D11, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut12 // Arduino digital pin D12 SPI function is MISO/12 DigitalInOut digitalInOut12(D12, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut13 // Arduino digital pin D13 SPI function is SCK/13 DigitalInOut digitalInOut13(D13, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut14 // Arduino digital pin D14 I2C function is A4/SDA (10pin digital connector) DigitalInOut digitalInOut14(D14, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut15 // Arduino digital pin D15 I2C function is A5/SCL (10pin digital connector) DigitalInOut digitalInOut15(D15, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut16 // Arduino digital pin D16 I2C function is A4/SDA (6pin analog connector) DigitalInOut digitalInOut16(D16, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut17 // Arduino digital pin D17 I2C function is A5/SCL (6pin analog connector) DigitalInOut digitalInOut17(D17, PIN_INPUT, PullUp, 1); #endif //-------------------------------------------------- #elif defined(TARGET_LPC1768) #define HAS_digitalInOut0 1 #define HAS_digitalInOut1 1 #define HAS_digitalInOut2 1 #define HAS_digitalInOut3 1 #define HAS_digitalInOut4 1 #define HAS_digitalInOut5 1 #define HAS_digitalInOut6 1 #define HAS_digitalInOut7 1 #define HAS_digitalInOut8 1 #define HAS_digitalInOut9 1 // #define HAS_digitalInOut10 1 // #define HAS_digitalInOut11 1 // #define HAS_digitalInOut12 1 // #define HAS_digitalInOut13 1 // #define HAS_digitalInOut14 1 // #define HAS_digitalInOut15 1 #if HAS_digitalInOut0 DigitalInOut digitalInOut0(p5, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.9/I2STX_SDA/MOSI1/MAT2.3 #endif #if HAS_digitalInOut1 DigitalInOut digitalInOut1(p6, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.8/I2STX_WS/MISO1/MAT2.2 #endif #if HAS_digitalInOut2 DigitalInOut digitalInOut2(p7, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.7/I2STX_CLK/SCK1/MAT2.1 #endif #if HAS_digitalInOut3 DigitalInOut digitalInOut3(p8, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.6/I2SRX_SDA/SSEL1/MAT2.0 #endif #if HAS_digitalInOut4 DigitalInOut digitalInOut4(p9, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.0/CAN_RX1/TXD3/SDA1 #endif #if HAS_digitalInOut5 DigitalInOut digitalInOut5(p10, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.1/CAN_TX1/RXD3/SCL1 #endif #if HAS_digitalInOut6 DigitalInOut digitalInOut6(p11, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.18/DCD1/MOSI0/MOSI1 #endif #if HAS_digitalInOut7 DigitalInOut digitalInOut7(p12, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.17/CTS1/MISO0/MISO #endif #if HAS_digitalInOut8 DigitalInOut digitalInOut8(p13, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.15/TXD1/SCK0/SCK #endif #if HAS_digitalInOut9 DigitalInOut digitalInOut9(p14, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.16/RXD1/SSEL0/SSEL #endif // // these pins support analog input analogIn0 .. analogIn5 //DigitalInOut digitalInOut_(p15, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.23/AD0.0/I2SRX_CLK/CAP3.0 //DigitalInOut digitalInOut_(p16, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.24/AD0.1/I2SRX_WS/CAP3.1 //DigitalInOut digitalInOut_(p17, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.25/AD0.2/I2SRX_SDA/TXD3 //DigitalInOut digitalInOut_(p18, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.26/AD0.3/AOUT/RXD3 //DigitalInOut digitalInOut_(p19, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P1.30/VBUS/AD0.4 //DigitalInOut digitalInOut_(p20, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P1.31/SCK1/AD0.5 // // these pins support PWM pwmDriver1 .. pwmDriver6 //DigitalInOut digitalInOut_(p21, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P2.5/PWM1.6/DTR1/TRACEDATA0 //DigitalInOut digitalInOut_(p22, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P2.4/PWM1.5/DSR1/TRACEDATA1 //DigitalInOut digitalInOut_(p23, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P2.3/PWM1.4/DCD1/TRACEDATA2 //DigitalInOut digitalInOut_(p24, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P2.2/PWM1.3/CTS1/TRACEDATA3 //DigitalInOut digitalInOut_(p25, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P2.1/PWM1.2/RXD1 //DigitalInOut digitalInOut_(p26, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P2.0/PWM1.1/TXD1/TRACECLK // // these could be additional digitalInOut pins #if HAS_digitalInOut10 DigitalInOut digitalInOut10(p27, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.11/RXD2/SCL2/MAT3.1 #endif #if HAS_digitalInOut11 DigitalInOut digitalInOut11(p28, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.10/TXD2/SDA2/MAT3.0 #endif #if HAS_digitalInOut12 DigitalInOut digitalInOut12(p29, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.5/I2SRX_WS/CAN_TX2/CAP2.1 #endif #if HAS_digitalInOut13 DigitalInOut digitalInOut13(p30, PIN_INPUT, PullUp, 1); // TARGET_LPC1768 P0.4/I2SRX_CLK/CAN_RX2/CAP2.0 #endif #if HAS_digitalInOut14 DigitalInOut digitalInOut14(___, PIN_INPUT, PullUp, 1); #endif #if HAS_digitalInOut15 DigitalInOut digitalInOut15(___, PIN_INPUT, PullUp, 1); #endif #else // unknown target #endif // uncrustify-0.66.1 *INDENT-ON* #if HAS_digitalInOut0 || HAS_digitalInOut1 \ || HAS_digitalInOut2 || HAS_digitalInOut3 \ || HAS_digitalInOut4 || HAS_digitalInOut5 \ || HAS_digitalInOut6 || HAS_digitalInOut7 \ || HAS_digitalInOut8 || HAS_digitalInOut9 \ || HAS_digitalInOut10 || HAS_digitalInOut11 \ || HAS_digitalInOut12 || HAS_digitalInOut13 \ || HAS_digitalInOut14 || HAS_digitalInOut15 \ || HAS_digitalInOut16 || HAS_digitalInOut17 #define HAS_digitalInOuts 1 #else #warning "Note: There are no digitalInOut resources defined" #endif // uncrustify-0.66.1 *INDENT-OFF* //-------------------------------------------------- // Declare the AnalogIn driver // Optional analogIn support. If there is only one it should be analogIn1. // A) analog input #if defined(TARGET_MAX32630) #define HAS_analogIn0 1 #define HAS_analogIn1 1 #define HAS_analogIn2 1 #define HAS_analogIn3 1 #define HAS_analogIn4 1 #define HAS_analogIn5 1 #define HAS_analogIn6 1 #define HAS_analogIn7 1 #define HAS_analogIn8 1 #define HAS_analogIn9 1 // #define HAS_analogIn10 0 // #define HAS_analogIn11 0 // #define HAS_analogIn12 0 // #define HAS_analogIn13 0 // #define HAS_analogIn14 0 // #define HAS_analogIn15 0 #if HAS_analogIn0 AnalogIn analogIn0(AIN_0); // TARGET_MAX32630 J1.5 AIN_0 = AIN0 pin fullscale is 1.2V #endif #if HAS_analogIn1 AnalogIn analogIn1(AIN_1); // TARGET_MAX32630 J1.6 AIN_1 = AIN1 pin fullscale is 1.2V #endif #if HAS_analogIn2 AnalogIn analogIn2(AIN_2); // TARGET_MAX32630 J1.7 AIN_2 = AIN2 pin fullscale is 1.2V #endif #if HAS_analogIn3 AnalogIn analogIn3(AIN_3); // TARGET_MAX32630 J1.8 AIN_3 = AIN3 pin fullscale is 1.2V #endif #if HAS_analogIn4 AnalogIn analogIn4(AIN_4); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V #endif #if HAS_analogIn5 AnalogIn analogIn5(AIN_5); // TARGET_MAX32630 J1.6 AIN_5 = AIN1 / 5.0 fullscale is 6.0V #endif #if HAS_analogIn6 AnalogIn analogIn6(AIN_6); // TARGET_MAX32630 AIN_6 = VDDB / 4.0 fullscale is 4.8V #endif #if HAS_analogIn7 AnalogIn analogIn7(AIN_7); // TARGET_MAX32630 AIN_7 = VDD18 fullscale is 1.2V #endif #if HAS_analogIn8 AnalogIn analogIn8(AIN_8); // TARGET_MAX32630 AIN_8 = VDD12 fullscale is 1.2V #endif #if HAS_analogIn9 AnalogIn analogIn9(AIN_9); // TARGET_MAX32630 AIN_9 = VRTC / 2.0 fullscale is 2.4V #endif #if HAS_analogIn10 AnalogIn analogIn10(____); // TARGET_MAX32630 AIN_10 = x undefined? #endif #if HAS_analogIn11 AnalogIn analogIn11(____); // TARGET_MAX32630 AIN_11 = VDDIO / 4.0 fullscale is 4.8V #endif #if HAS_analogIn12 AnalogIn analogIn12(____); // TARGET_MAX32630 AIN_12 = VDDIOH / 4.0 fullscale is 4.8V #endif #if HAS_analogIn13 AnalogIn analogIn13(____); #endif #if HAS_analogIn14 AnalogIn analogIn14(____); #endif #if HAS_analogIn15 AnalogIn analogIn15(____); #endif //-------------------------------------------------- #elif defined(TARGET_MAX32625MBED) #define HAS_analogIn0 1 #define HAS_analogIn1 1 #define HAS_analogIn2 1 #define HAS_analogIn3 1 #define HAS_analogIn4 1 #define HAS_analogIn5 1 #if HAS_analogIn0 AnalogIn analogIn0(AIN_0); // TARGET_MAX32630 J1.5 AIN_0 = AIN0 pin fullscale is 1.2V #endif #if HAS_analogIn1 AnalogIn analogIn1(AIN_1); // TARGET_MAX32630 J1.6 AIN_1 = AIN1 pin fullscale is 1.2V #endif #if HAS_analogIn2 AnalogIn analogIn2(AIN_2); // TARGET_MAX32630 J1.7 AIN_2 = AIN2 pin fullscale is 1.2V #endif #if HAS_analogIn3 AnalogIn analogIn3(AIN_3); // TARGET_MAX32630 J1.8 AIN_3 = AIN3 pin fullscale is 1.2V #endif #if HAS_analogIn4 AnalogIn analogIn4(AIN_4); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V #endif #if HAS_analogIn5 AnalogIn analogIn5(AIN_5); // TARGET_MAX32630 J1.6 AIN_5 = AIN1 / 5.0 fullscale is 6.0V #endif //-------------------------------------------------- #elif defined(TARGET_MAX32620FTHR) #warning "TARGET_MAX32620FTHR not previously tested; need to verify analogIn0..." #define HAS_analogIn0 1 #define HAS_analogIn1 1 #define HAS_analogIn2 1 #define HAS_analogIn3 1 #define HAS_analogIn4 1 #define HAS_analogIn5 1 #define HAS_analogIn6 1 #define HAS_analogIn7 1 #define HAS_analogIn8 1 #define HAS_analogIn9 1 // #define HAS_analogIn10 0 // #define HAS_analogIn11 0 // #define HAS_analogIn12 0 // #define HAS_analogIn13 0 // #define HAS_analogIn14 0 // #define HAS_analogIn15 0 #if HAS_analogIn0 AnalogIn analogIn0(AIN_0); // TARGET_MAX32620FTHR J1.5 AIN_0 = AIN0 pin fullscale is 1.2V #endif #if HAS_analogIn1 AnalogIn analogIn1(AIN_1); // TARGET_MAX32620FTHR J1.6 AIN_1 = AIN1 pin fullscale is 1.2V #endif #if HAS_analogIn2 AnalogIn analogIn2(AIN_2); // TARGET_MAX32620FTHR J1.7 AIN_2 = AIN2 pin fullscale is 1.2V #endif #if HAS_analogIn3 AnalogIn analogIn3(AIN_3); // TARGET_MAX32620FTHR J1.8 AIN_3 = AIN3 pin fullscale is 1.2V #endif #if HAS_analogIn4 AnalogIn analogIn4(AIN_4); // TARGET_MAX32620FTHR J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V #endif #if HAS_analogIn5 AnalogIn analogIn5(AIN_5); // TARGET_MAX32620FTHR J1.6 AIN_5 = AIN1 / 5.0 fullscale is 6.0V #endif #if HAS_analogIn6 AnalogIn analogIn6(AIN_6); // TARGET_MAX32620FTHR AIN_6 = VDDB / 4.0 fullscale is 4.8V #endif #if HAS_analogIn7 AnalogIn analogIn7(AIN_7); // TARGET_MAX32620FTHR AIN_7 = VDD18 fullscale is 1.2V #endif #if HAS_analogIn8 AnalogIn analogIn8(AIN_8); // TARGET_MAX32620FTHR AIN_8 = VDD12 fullscale is 1.2V #endif #if HAS_analogIn9 AnalogIn analogIn9(AIN_9); // TARGET_MAX32620FTHR AIN_9 = VRTC / 2.0 fullscale is 2.4V #endif #if HAS_analogIn10 AnalogIn analogIn10(____); // TARGET_MAX32620FTHR AIN_10 = x undefined? #endif #if HAS_analogIn11 AnalogIn analogIn11(____); // TARGET_MAX32620FTHR AIN_11 = VDDIO / 4.0 fullscale is 4.8V #endif #if HAS_analogIn12 AnalogIn analogIn12(____); // TARGET_MAX32620FTHR AIN_12 = VDDIOH / 4.0 fullscale is 4.8V #endif #if HAS_analogIn13 AnalogIn analogIn13(____); #endif #if HAS_analogIn14 AnalogIn analogIn14(____); #endif #if HAS_analogIn15 AnalogIn analogIn15(____); #endif //-------------------------------------------------- #elif defined(TARGET_MAX32625PICO) #warning "TARGET_MAX32625PICO not previously tested; need to verify analogIn0..." #define HAS_analogIn0 1 #define HAS_analogIn1 1 #define HAS_analogIn2 1 #define HAS_analogIn3 1 #define HAS_analogIn4 1 #define HAS_analogIn5 1 #if HAS_analogIn0 AnalogIn analogIn0(AIN_0); // TARGET_MAX32630 J1.5 AIN_0 = AIN0 pin fullscale is 1.2V #endif #if HAS_analogIn1 AnalogIn analogIn1(AIN_1); // TARGET_MAX32630 J1.6 AIN_1 = AIN1 pin fullscale is 1.2V #endif #if HAS_analogIn2 AnalogIn analogIn2(AIN_2); // TARGET_MAX32630 J1.7 AIN_2 = AIN2 pin fullscale is 1.2V #endif #if HAS_analogIn3 AnalogIn analogIn3(AIN_3); // TARGET_MAX32630 J1.8 AIN_3 = AIN3 pin fullscale is 1.2V #endif #if HAS_analogIn4 AnalogIn analogIn4(AIN_4); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V #endif #if HAS_analogIn5 AnalogIn analogIn5(AIN_5); // TARGET_MAX32630 J1.6 AIN_5 = AIN1 / 5.0 fullscale is 6.0V #endif //-------------------------------------------------- #elif defined(TARGET_MAX32600) #define HAS_analogIn0 1 #define HAS_analogIn1 1 #define HAS_analogIn2 1 #define HAS_analogIn3 1 #define HAS_analogIn4 1 #define HAS_analogIn5 1 #if HAS_analogIn0 AnalogIn analogIn0(A0); #endif #if HAS_analogIn1 AnalogIn analogIn1(A1); #endif #if HAS_analogIn2 AnalogIn analogIn2(A2); #endif #if HAS_analogIn3 AnalogIn analogIn3(A3); #endif #if HAS_analogIn4 AnalogIn analogIn4(A4); #endif #if HAS_analogIn5 AnalogIn analogIn5(A5); #endif //-------------------------------------------------- #elif defined(TARGET_NUCLEO_F446RE) #define HAS_analogIn0 1 #define HAS_analogIn1 1 #define HAS_analogIn2 1 #define HAS_analogIn3 1 #define HAS_analogIn4 1 #define HAS_analogIn5 1 #if HAS_analogIn0 AnalogIn analogIn0(A0); #endif #if HAS_analogIn1 AnalogIn analogIn1(A1); #endif #if HAS_analogIn2 AnalogIn analogIn2(A2); #endif #if HAS_analogIn3 AnalogIn analogIn3(A3); #endif #if HAS_analogIn4 AnalogIn analogIn4(A4); #endif #if HAS_analogIn5 AnalogIn analogIn5(A5); #endif //-------------------------------------------------- #elif defined(TARGET_NUCLEO_F401RE) #define HAS_analogIn0 1 #define HAS_analogIn1 1 #define HAS_analogIn2 1 #define HAS_analogIn3 1 #define HAS_analogIn4 1 #define HAS_analogIn5 1 #if HAS_analogIn0 AnalogIn analogIn0(A0); #endif #if HAS_analogIn1 AnalogIn analogIn1(A1); #endif #if HAS_analogIn2 AnalogIn analogIn2(A2); #endif #if HAS_analogIn3 AnalogIn analogIn3(A3); #endif #if HAS_analogIn4 AnalogIn analogIn4(A4); #endif #if HAS_analogIn5 AnalogIn analogIn5(A5); #endif //-------------------------------------------------- // TODO1: TARGET=MAX32625MBED ARM Cortex-M4F 96MHz 512kB Flash 160kB SRAM #elif defined(TARGET_LPC1768) #define HAS_analogIn0 1 #define HAS_analogIn1 1 #define HAS_analogIn2 1 #define HAS_analogIn3 1 #define HAS_analogIn4 1 #define HAS_analogIn5 1 // #define HAS_analogIn6 1 // #define HAS_analogIn7 1 // #define HAS_analogIn8 1 // #define HAS_analogIn9 1 // #define HAS_analogIn10 1 // #define HAS_analogIn11 1 // #define HAS_analogIn12 1 // #define HAS_analogIn13 1 // #define HAS_analogIn14 1 // #define HAS_analogIn15 1 #if HAS_analogIn0 AnalogIn analogIn0(p15); // TARGET_LPC1768 P0.23/AD0.0/I2SRX_CLK/CAP3.0 #endif #if HAS_analogIn1 AnalogIn analogIn1(p16); // TARGET_LPC1768 P0.24/AD0.1/I2SRX_WS/CAP3.1 #endif #if HAS_analogIn2 AnalogIn analogIn2(p17); // TARGET_LPC1768 P0.25/AD0.2/I2SRX_SDA/TXD3 #endif #if HAS_analogIn3 AnalogIn analogIn3(p18); // TARGET_LPC1768 P0.26/AD0.3/AOUT/RXD3 #endif #if HAS_analogIn4 AnalogIn analogIn4(p19); // TARGET_LPC1768 P1.30/VBUS/AD0.4 #endif #if HAS_analogIn5 AnalogIn analogIn5(p20); // TARGET_LPC1768 P1.31/SCK1/AD0.5 #endif #if HAS_analogIn6 AnalogIn analogIn6(____); #endif #if HAS_analogIn7 AnalogIn analogIn7(____); #endif #if HAS_analogIn8 AnalogIn analogIn8(____); #endif #if HAS_analogIn9 AnalogIn analogIn9(____); #endif #if HAS_analogIn10 AnalogIn analogIn10(____); #endif #if HAS_analogIn11 AnalogIn analogIn11(____); #endif #if HAS_analogIn12 AnalogIn analogIn12(____); #endif #if HAS_analogIn13 AnalogIn analogIn13(____); #endif #if HAS_analogIn14 AnalogIn analogIn14(____); #endif #if HAS_analogIn15 AnalogIn analogIn15(____); #endif #else // unknown target #endif // uncrustify-0.66.1 *INDENT-ON* #if HAS_analogIn0 || HAS_analogIn1 \ || HAS_analogIn2 || HAS_analogIn3 \ || HAS_analogIn4 || HAS_analogIn5 \ || HAS_analogIn6 || HAS_analogIn7 \ || HAS_analogIn8 || HAS_analogIn9 \ || HAS_analogIn10 || HAS_analogIn11 \ || HAS_analogIn12 || HAS_analogIn13 \ || HAS_analogIn14 || HAS_analogIn15 #define HAS_analogIns 1 #else #warning "Note: There are no analogIn resources defined" #endif // DigitalInOut pin resource: print the pin index names to serial #if HAS_digitalInOuts void list_digitalInOutPins(Stream& serialStream) { #if HAS_digitalInOut0 serialStream.printf(" 0"); #endif #if HAS_digitalInOut1 serialStream.printf(" 1"); #endif #if HAS_digitalInOut2 serialStream.printf(" 2"); #endif #if HAS_digitalInOut3 serialStream.printf(" 3"); #endif #if HAS_digitalInOut4 serialStream.printf(" 4"); #endif #if HAS_digitalInOut5 serialStream.printf(" 5"); #endif #if HAS_digitalInOut6 serialStream.printf(" 6"); #endif #if HAS_digitalInOut7 serialStream.printf(" 7"); #endif #if HAS_digitalInOut8 serialStream.printf(" 8"); #endif #if HAS_digitalInOut9 serialStream.printf(" 9"); #endif #if HAS_digitalInOut10 serialStream.printf(" 10"); #endif #if HAS_digitalInOut11 serialStream.printf(" 11"); #endif #if HAS_digitalInOut12 serialStream.printf(" 12"); #endif #if HAS_digitalInOut13 serialStream.printf(" 13"); #endif #if HAS_digitalInOut14 serialStream.printf(" 14"); #endif #if HAS_digitalInOut15 serialStream.printf(" 15"); #endif #if HAS_digitalInOut16 serialStream.printf(" 16"); #endif #if HAS_digitalInOut17 serialStream.printf(" 17"); #endif } #endif // DigitalInOut pin resource: search index #if HAS_digitalInOuts DigitalInOut& find_digitalInOutPin(int cPinIndex) { switch (cPinIndex) { default: // default to the first defined digitalInOut pin #if HAS_digitalInOut0 case '0': case 0x00: return digitalInOut0; #endif #if HAS_digitalInOut1 case '1': case 0x01: return digitalInOut1; #endif #if HAS_digitalInOut2 case '2': case 0x02: return digitalInOut2; #endif #if HAS_digitalInOut3 case '3': case 0x03: return digitalInOut3; #endif #if HAS_digitalInOut4 case '4': case 0x04: return digitalInOut4; #endif #if HAS_digitalInOut5 case '5': case 0x05: return digitalInOut5; #endif #if HAS_digitalInOut6 case '6': case 0x06: return digitalInOut6; #endif #if HAS_digitalInOut7 case '7': case 0x07: return digitalInOut7; #endif #if HAS_digitalInOut8 case '8': case 0x08: return digitalInOut8; #endif #if HAS_digitalInOut9 case '9': case 0x09: return digitalInOut9; #endif #if HAS_digitalInOut10 case 'a': case 0x0a: return digitalInOut10; #endif #if HAS_digitalInOut11 case 'b': case 0x0b: return digitalInOut11; #endif #if HAS_digitalInOut12 case 'c': case 0x0c: return digitalInOut12; #endif #if HAS_digitalInOut13 case 'd': case 0x0d: return digitalInOut13; #endif #if HAS_digitalInOut14 case 'e': case 0x0e: return digitalInOut14; #endif #if HAS_digitalInOut15 case 'f': case 0x0f: return digitalInOut15; #endif #if HAS_digitalInOut16 case 'g': case 0x10: return digitalInOut16; #endif #if HAS_digitalInOut17 case 'h': case 0x11: return digitalInOut17; #endif } } #endif // AnalogIn pin resource: search index #if HAS_analogIns AnalogIn& find_analogInPin(int cPinIndex) { switch (cPinIndex) { default: // default to the first defined analogIn pin #if HAS_analogIn0 case '0': case 0x00: return analogIn0; #endif #if HAS_analogIn1 case '1': case 0x01: return analogIn1; #endif #if HAS_analogIn2 case '2': case 0x02: return analogIn2; #endif #if HAS_analogIn3 case '3': case 0x03: return analogIn3; #endif #if HAS_analogIn4 case '4': case 0x04: return analogIn4; #endif #if HAS_analogIn5 case '5': case 0x05: return analogIn5; #endif #if HAS_analogIn6 case '6': case 0x06: return analogIn6; #endif #if HAS_analogIn7 case '7': case 0x07: return analogIn7; #endif #if HAS_analogIn8 case '8': case 0x08: return analogIn8; #endif #if HAS_analogIn9 case '9': case 0x09: return analogIn9; #endif #if HAS_analogIn10 case 'a': case 0x0a: return analogIn10; #endif #if HAS_analogIn11 case 'b': case 0x0b: return analogIn11; #endif #if HAS_analogIn12 case 'c': case 0x0c: return analogIn12; #endif #if HAS_analogIn13 case 'd': case 0x0d: return analogIn13; #endif #if HAS_analogIn14 case 'e': case 0x0e: return analogIn14; #endif #if HAS_analogIn15 case 'f': case 0x0f: return analogIn15; #endif } } #endif #if HAS_analogIns const float analogInPin_fullScaleVoltage[] = { # if defined(TARGET_MAX32630) ADC_FULL_SCALE_VOLTAGE, // analogIn0 ADC_FULL_SCALE_VOLTAGE, // analogIn1 ADC_FULL_SCALE_VOLTAGE, // analogIn2 ADC_FULL_SCALE_VOLTAGE, // analogIn3 ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_4 = AIN0 / 5.0 fullscale is 6.0V ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_5 = AIN1 / 5.0 fullscale is 6.0V ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn6 // AIN_6 = VDDB / 4.0 fullscale is 4.8V ADC_FULL_SCALE_VOLTAGE, // analogIn7 // AIN_7 = VDD18 fullscale is 1.2V ADC_FULL_SCALE_VOLTAGE, // analogIn8 // AIN_8 = VDD12 fullscale is 1.2V ADC_FULL_SCALE_VOLTAGE * 2.0f, // analogIn9 // AIN_9 = VRTC / 2.0 fullscale is 2.4V ADC_FULL_SCALE_VOLTAGE, // analogIn10 // AIN_10 = x undefined? ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn11 // AIN_11 = VDDIO / 4.0 fullscale is 4.8V ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn12 // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V ADC_FULL_SCALE_VOLTAGE, // analogIn13 ADC_FULL_SCALE_VOLTAGE, // analogIn14 ADC_FULL_SCALE_VOLTAGE // analogIn15 # elif defined(TARGET_MAX32620FTHR) #warning "TARGET_MAX32620FTHR not previously tested; need to verify analogIn0..." ADC_FULL_SCALE_VOLTAGE, // analogIn0 ADC_FULL_SCALE_VOLTAGE, // analogIn1 ADC_FULL_SCALE_VOLTAGE, // analogIn2 ADC_FULL_SCALE_VOLTAGE, // analogIn3 ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_4 = AIN0 / 5.0 fullscale is 6.0V ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_5 = AIN1 / 5.0 fullscale is 6.0V ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn6 // AIN_6 = VDDB / 4.0 fullscale is 4.8V ADC_FULL_SCALE_VOLTAGE, // analogIn7 // AIN_7 = VDD18 fullscale is 1.2V ADC_FULL_SCALE_VOLTAGE, // analogIn8 // AIN_8 = VDD12 fullscale is 1.2V ADC_FULL_SCALE_VOLTAGE * 2.0f, // analogIn9 // AIN_9 = VRTC / 2.0 fullscale is 2.4V ADC_FULL_SCALE_VOLTAGE, // analogIn10 // AIN_10 = x undefined? ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn11 // AIN_11 = VDDIO / 4.0 fullscale is 4.8V ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn12 // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V ADC_FULL_SCALE_VOLTAGE, // analogIn13 ADC_FULL_SCALE_VOLTAGE, // analogIn14 ADC_FULL_SCALE_VOLTAGE // analogIn15 #elif defined(TARGET_MAX32625MBED) || defined(TARGET_MAX32625PICO) ADC_FULL_SCALE_VOLTAGE * 1.0f, // analogIn0 // fullscale is 1.2V ADC_FULL_SCALE_VOLTAGE * 1.0f, // analogIn1 // fullscale is 1.2V ADC_FULL_SCALE_VOLTAGE * 1.0f, // analogIn2 // fullscale is 1.2V ADC_FULL_SCALE_VOLTAGE * 1.0f, // analogIn3 // fullscale is 1.2V ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_4 = AIN0 / 5.0 fullscale is 6.0V ADC_FULL_SCALE_VOLTAGE * 5.0f, // analogIn4 // AIN_5 = AIN1 / 5.0 fullscale is 6.0V ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn6 // AIN_6 = VDDB / 4.0 fullscale is 4.8V ADC_FULL_SCALE_VOLTAGE, // analogIn7 // AIN_7 = VDD18 fullscale is 1.2V ADC_FULL_SCALE_VOLTAGE, // analogIn8 // AIN_8 = VDD12 fullscale is 1.2V ADC_FULL_SCALE_VOLTAGE * 2.0f, // analogIn9 // AIN_9 = VRTC / 2.0 fullscale is 2.4V ADC_FULL_SCALE_VOLTAGE, // analogIn10 // AIN_10 = x undefined? ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn11 // AIN_11 = VDDIO / 4.0 fullscale is 4.8V ADC_FULL_SCALE_VOLTAGE * 4.0f, // analogIn12 // AIN_12 = VDDIOH / 4.0 fullscale is 4.8V ADC_FULL_SCALE_VOLTAGE, // analogIn13 ADC_FULL_SCALE_VOLTAGE, // analogIn14 ADC_FULL_SCALE_VOLTAGE // analogIn15 #elif defined(TARGET_NUCLEO_F446RE) ADC_FULL_SCALE_VOLTAGE, // analogIn0 ADC_FULL_SCALE_VOLTAGE, // analogIn1 ADC_FULL_SCALE_VOLTAGE, // analogIn2 ADC_FULL_SCALE_VOLTAGE, // analogIn3 ADC_FULL_SCALE_VOLTAGE, // analogIn4 ADC_FULL_SCALE_VOLTAGE, // analogIn5 ADC_FULL_SCALE_VOLTAGE, // analogIn6 ADC_FULL_SCALE_VOLTAGE, // analogIn7 ADC_FULL_SCALE_VOLTAGE, // analogIn8 ADC_FULL_SCALE_VOLTAGE, // analogIn9 ADC_FULL_SCALE_VOLTAGE, // analogIn10 ADC_FULL_SCALE_VOLTAGE, // analogIn11 ADC_FULL_SCALE_VOLTAGE, // analogIn12 ADC_FULL_SCALE_VOLTAGE, // analogIn13 ADC_FULL_SCALE_VOLTAGE, // analogIn14 ADC_FULL_SCALE_VOLTAGE // analogIn15 #elif defined(TARGET_NUCLEO_F401RE) ADC_FULL_SCALE_VOLTAGE, // analogIn0 ADC_FULL_SCALE_VOLTAGE, // analogIn1 ADC_FULL_SCALE_VOLTAGE, // analogIn2 ADC_FULL_SCALE_VOLTAGE, // analogIn3 ADC_FULL_SCALE_VOLTAGE, // analogIn4 ADC_FULL_SCALE_VOLTAGE, // analogIn5 ADC_FULL_SCALE_VOLTAGE, // analogIn6 ADC_FULL_SCALE_VOLTAGE, // analogIn7 ADC_FULL_SCALE_VOLTAGE, // analogIn8 ADC_FULL_SCALE_VOLTAGE, // analogIn9 ADC_FULL_SCALE_VOLTAGE, // analogIn10 ADC_FULL_SCALE_VOLTAGE, // analogIn11 ADC_FULL_SCALE_VOLTAGE, // analogIn12 ADC_FULL_SCALE_VOLTAGE, // analogIn13 ADC_FULL_SCALE_VOLTAGE, // analogIn14 ADC_FULL_SCALE_VOLTAGE // analogIn15 //#elif defined(TARGET_LPC1768) #else // unknown target ADC_FULL_SCALE_VOLTAGE, // analogIn0 ADC_FULL_SCALE_VOLTAGE, // analogIn1 ADC_FULL_SCALE_VOLTAGE, // analogIn2 ADC_FULL_SCALE_VOLTAGE, // analogIn3 ADC_FULL_SCALE_VOLTAGE, // analogIn4 ADC_FULL_SCALE_VOLTAGE, // analogIn5 ADC_FULL_SCALE_VOLTAGE, // analogIn6 ADC_FULL_SCALE_VOLTAGE, // analogIn7 ADC_FULL_SCALE_VOLTAGE, // analogIn8 ADC_FULL_SCALE_VOLTAGE, // analogIn9 ADC_FULL_SCALE_VOLTAGE, // analogIn10 ADC_FULL_SCALE_VOLTAGE, // analogIn11 ADC_FULL_SCALE_VOLTAGE, // analogIn12 ADC_FULL_SCALE_VOLTAGE, // analogIn13 ADC_FULL_SCALE_VOLTAGE, // analogIn14 ADC_FULL_SCALE_VOLTAGE // analogIn15 # endif }; #endif //-------------------------------------------------- // Option to use LEDs to show status #ifndef USE_LEDS #define USE_LEDS 1 #endif #if USE_LEDS #if defined(TARGET_MAX32630) # define LED_ON 0 # define LED_OFF 1 //-------------------------------------------------- #elif defined(TARGET_MAX32625MBED) # define LED_ON 0 # define LED_OFF 1 #elif defined(TARGET_MAX32625PICO) # define LED_ON 0 # define LED_OFF 1 //-------------------------------------------------- // TODO1: TARGET=MAX32625MBED ARM Cortex-M4F 96MHz 512kB Flash 160kB SRAM #elif defined(TARGET_LPC1768) # define LED_ON 1 # define LED_OFF 0 #else // not defined(TARGET_LPC1768 etc.) // USE_LEDS with some platform other than MAX32630, MAX32625MBED, LPC1768 // bugfix for MAX32600MBED LED blink pattern: check if LED_ON/LED_OFF already defined # ifndef LED_ON # define LED_ON 0 # endif # ifndef LED_OFF # define LED_OFF 1 # endif //# define LED_ON 1 //# define LED_OFF 0 #endif // target definition DigitalOut led1(LED1, LED_OFF); // MAX32630FTHR: LED1 = LED_RED DigitalOut led2(LED2, LED_OFF); // MAX32630FTHR: LED2 = LED_GREEN DigitalOut led3(LED3, LED_OFF); // MAX32630FTHR: LED3 = LED_BLUE DigitalOut led4(LED4, LED_OFF); #else // USE_LEDS=0 // issue #41 support Nucleo_F446RE // there are no LED indicators on the board, LED1 interferes with SPI; // but we still need placeholders led1 led2 led3 led4. // Declare DigitalOut led1 led2 led3 led4 targeting safe pins. // PinName NC means NOT_CONNECTED; DigitalOut::is_connected() returns false # define LED_ON 0 # define LED_OFF 1 DigitalOut led1(NC, LED_OFF); DigitalOut led2(NC, LED_OFF); DigitalOut led3(NC, LED_OFF); DigitalOut led4(NC, LED_OFF); #endif // USE_LEDS #define led1_RFailLED led1 #define led2_GPassLED led2 #define led3_BBusyLED led3 //-------------------------------------------------- // example code board support //MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3); //DigitalOut rLED(LED1); //DigitalOut gLED(LED2); //DigitalOut bLED(LED3); // // Arduino "shield" connector port definitions (MAX32625MBED shown) #if defined(TARGET_MAX32625MBED) #define A0 AIN_0 #define A1 AIN_1 #define A2 AIN_2 #define A3 AIN_3 #define D0 P0_0 #define D1 P0_1 #define D2 P0_2 #define D3 P0_3 #define D4 P0_4 #define D5 P0_5 #define D6 P0_6 #define D7 P0_7 #define D8 P1_4 #define D9 P1_5 #define D10 P1_3 #define D11 P1_1 #define D12 P1_2 #define D13 P1_0 #elif defined(TARGET_MAX32625PICO) #warning "TARGET_MAX32625PICO not previously tested; need to define pins..." #define A0 AIN_1 #define A1 AIN_2 // #define A2 AIN_3 // #define A3 AIN_0 #define D0 P0_0 #define D1 P0_1 #define D2 P0_2 #define D3 P0_3 #define D4 P1_7 #define D5 P1_6 #define D6 P4_4 #define D7 P4_5 #define D8 P4_6 #define D9 P4_7 #define D10 P0_7 #define D11 P0_6 #define D12 P0_5 #define D13 P0_4 #endif // example code declare SPI interface (GPIO controlled CS) #if defined(TARGET_MAX32625MBED) 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 DigitalOut spi_cs(SPI1_SS); // TARGET_MAX32625MBED: P1_3 Arduino 10-pin header D10 #elif defined(TARGET_MAX32625PICO) #warning "TARGET_MAX32625PICO not previously tested; need to define pins..." SPI spi(SPI0_MOSI, SPI0_MISO, SPI0_SCK); // mosi, miso, sclk spi1 TARGET_MAX32625PICO: pin P0_5 P0_6 P0_4 DigitalOut spi_cs(SPI0_SS); // TARGET_MAX32625PICO: pin P0_7 #elif defined(TARGET_MAX32600MBED) SPI spi(SPI2_MOSI, SPI2_MISO, SPI2_SCK); // mosi, miso, sclk spi1 TARGET_MAX32600MBED: Arduino 10-pin header D11 D12 D13 DigitalOut spi_cs(SPI2_SS); // Generic: Arduino 10-pin header D10 #elif defined(TARGET_NUCLEO_F446RE) || defined(TARGET_NUCLEO_F401RE) // TODO1: avoid resource conflict between P5_0, P5_1, P5_2 SPI and DigitalInOut // void spi_init(spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel) // // TODO1: NUCLEO_F446RE SPI not working; CS and MOSI data looks OK but no SCLK clock pulses. SPI spi(SPI_MOSI, SPI_MISO, SPI_SCK); // mosi, miso, sclk spi1 TARGET_NUCLEO_F446RE: Arduino 10-pin header D11 D12 D13 DigitalOut spi_cs(SPI_CS); // TARGET_NUCLEO_F446RE: PB_6 Arduino 10-pin header D10 // #else SPI spi(D11, D12, D13); // mosi, miso, sclk spi1 TARGET_MAX32600MBED: Arduino 10-pin header D11 D12 D13 DigitalOut spi_cs(D10); // Generic: Arduino 10-pin header D10 #endif // example code declare GPIO interface pins DigitalOut CNVST_pin(D9); // Digital Trigger Input to MAX11131 device // AnalogOut REF_plus_pin(Px_x_PortName_To_Be_Determined); // Reference Input to MAX11131 device // AnalogOut REF_minus_slash_AIN15_pin(Px_x_PortName_To_Be_Determined); // Reference Input to MAX11131 device DigitalIn EOC_pin(D2); // Digital Event Output from MAX11131 device // example code declare device instance MAX11131 g_MAX11131_device(spi, spi_cs, CNVST_pin, EOC_pin, MAX11131::MAX11131_IC); //---------------------------------------- // Global SPI options // //-------------------------------------------------- // Optional Diagnostic function to print SPI transactions #ifndef MAX11131_ONSPIPRINT #define MAX11131_ONSPIPRINT 1 #endif // MAX11131_ONSPIPRINT // Enable the onSPIprint diagnostic at startup (toggle with %SD menu item) #ifndef MAX11131_ONSPIPRINT_ENABLED #define MAX11131_ONSPIPRINT_ENABLED 1 #endif // MAX11131_ONSPIPRINT_ENABLED #define APPLICATION_ArduinoPinsMonitor 1 //-------------------------------------------------- // use BUTTON1 trigger some action #if defined(TARGET_MAX32630) #define HAS_BUTTON1_DEMO_INTERRUPT 1 #define HAS_BUTTON2_DEMO 0 #define HAS_BUTTON2_DEMO_INTERRUPT 0 #elif defined(TARGET_MAX32625PICO) #warning "TARGET_MAX32625PICO not previously tested; need to define buttons..." #define HAS_BUTTON1_DEMO_INTERRUPT 1 #define HAS_BUTTON2_DEMO 0 #define HAS_BUTTON2_DEMO_INTERRUPT 0 #elif defined(TARGET_MAX32625) #define HAS_BUTTON1_DEMO_INTERRUPT 1 #define HAS_BUTTON2_DEMO_INTERRUPT 1 #elif defined(TARGET_MAX32620FTHR) #warning "TARGET_MAX32620FTHR not previously tested; need to define buttons..." #define BUTTON1 SW1 #define HAS_BUTTON1_DEMO_INTERRUPT 1 #define HAS_BUTTON2_DEMO 0 #define HAS_BUTTON2_DEMO_INTERRUPT 0 #elif defined(TARGET_NUCLEO_F446RE) #define HAS_BUTTON1_DEMO_INTERRUPT 0 #define HAS_BUTTON2_DEMO_INTERRUPT 0 #elif defined(TARGET_NUCLEO_F401RE) #define HAS_BUTTON1_DEMO_INTERRUPT 0 #define HAS_BUTTON2_DEMO_INTERRUPT 0 #else #warning "target not previously tested; need to define buttons..." #endif // #ifndef HAS_BUTTON1_DEMO #define HAS_BUTTON1_DEMO 0 #endif #ifndef HAS_BUTTON2_DEMO #define HAS_BUTTON2_DEMO 0 #endif // // avoid runtime error on button1 press [mbed-os-5.11] // instead of using InterruptIn, use DigitalIn and poll in main while(1) #ifndef HAS_BUTTON1_DEMO_INTERRUPT_POLLING #define HAS_BUTTON1_DEMO_INTERRUPT_POLLING 1 #endif // #ifndef HAS_BUTTON1_DEMO_INTERRUPT #define HAS_BUTTON1_DEMO_INTERRUPT 1 #endif #ifndef HAS_BUTTON2_DEMO_INTERRUPT #define HAS_BUTTON2_DEMO_INTERRUPT 1 #endif // #if HAS_BUTTON1_DEMO_INTERRUPT # if HAS_BUTTON1_DEMO_INTERRUPT_POLLING // avoid runtime error on button1 press [mbed-os-5.11] // instead of using InterruptIn, use DigitalIn and poll in main while(1) DigitalIn button1(BUTTON1); # else InterruptIn button1(BUTTON1); # endif #elif HAS_BUTTON1_DEMO DigitalIn button1(BUTTON1); #endif #if HAS_BUTTON2_DEMO_INTERRUPT # if HAS_BUTTON1_DEMO_INTERRUPT_POLLING // avoid runtime error on button1 press [mbed-os-5.11] // instead of using InterruptIn, use DigitalIn and poll in main while(1) DigitalIn button2(BUTTON2); # else InterruptIn button2(BUTTON2); # endif #elif HAS_BUTTON2_DEMO DigitalIn button2(BUTTON2); #endif //-------------------------------------------------- // functions tested by SelfTest() extern void fn_MAX11131_SPIfrequency(int spi_sclk_Hz); // ExternFunction extern int fn_MAX11131_SPIgetFrequency(void); // ExternFunction extern void fn_MAX11131_SPIoutputCS(int isLogicHigh); // ExternFunction extern int16_t fn_MAX11131_SPIread16bits(void); // ExternFunction extern void fn_MAX11131_Init(void); extern void fn_MAX11131_SPIwrite16bits(int16_t mosiData16); // ExternFunction extern int fn_MAX11131_ScanStandardExternalClock(void); extern void fn_MAX11131_ReadAINcode(void); //-------------------------------------------------- // SelfTestGroupEnable selects which of the included tests will run int SelfTestGroupEnable = 0 // | 0x0001 // -- halt-on-first-failure configuration flag // | 0x0002 // -- repeat-until-failure configuration flag | 0x0004 // SPI48_3MSps -- support 3MSps parts SCLK<=48MHz (enabled by default) | 0x0008 // SPI16MHz_1MSps -- support 1MSps parts SCLK<=16MHz (enabled by default) | 0x0010 // SPI8MHz_500kSps -- support 500kSps parts SCLK<=8MHz (enabled by default) | 0x0020 // SPI12MHz_1MSps -- support 1MSps parts SCLK<=16MHz (enabled by default) | 0x0040 // TEST10_SCAN_0100 -- Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS (enabled by default) | 0x0080 // TEST4_SCAN_0100 -- 4 ch=15 pm=0 id=1 -- ScanStandardExternalCloc (enabled by default) | 0x0100 // TEST11_SCAN_0011 -- 1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC (enabled by default) ; //-------------------------------------------------- // optional self-test groups for self test function SelfTest() // enable by changing the #define value from 0 to 1 // SelfTest group SPI48_3MSps description: // support 3MSps parts SCLK<=48MHz (enabled by default) // SelfTestGroupEnable bitmask 0x0004 // self test command: // . run=0x0004 #ifndef MAX11131_SELFTEST_SPI48_3MSps #define MAX11131_SELFTEST_SPI48_3MSps 1 #endif // SelfTest group SPI16MHz_1MSps description: // support 1MSps parts SCLK<=16MHz (enabled by default) // SelfTestGroupEnable bitmask 0x0008 // self test command: // . run=0x0008 #ifndef MAX11131_SELFTEST_SPI16MHz_1MSps #define MAX11131_SELFTEST_SPI16MHz_1MSps 1 #endif // SelfTest group SPI8MHz_500kSps description: // support 500kSps parts SCLK<=8MHz (enabled by default) // SelfTestGroupEnable bitmask 0x0010 // self test command: // . run=0x0010 #ifndef MAX11131_SELFTEST_SPI8MHz_500kSps #define MAX11131_SELFTEST_SPI8MHz_500kSps 1 #endif // SelfTest group SPI12MHz_1MSps description: // support 1MSps parts SCLK<=16MHz (enabled by default) // SelfTestGroupEnable bitmask 0x0020 // self test command: // . run=0x0020 #ifndef MAX11131_SELFTEST_SPI12MHz_1MSps #define MAX11131_SELFTEST_SPI12MHz_1MSps 1 #endif // SelfTest group TEST10_SCAN_0100 description: // Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS (enabled by default) // SelfTestGroupEnable bitmask 0x0040 // self test command: // . run=0x0040 #ifndef MAX11131_SELFTEST_TEST10_SCAN_0100 #define MAX11131_SELFTEST_TEST10_SCAN_0100 1 #endif // SelfTest group TEST4_SCAN_0100 description: // 4 ch=15 pm=0 id=1 -- ScanStandardExternalCloc (enabled by default) // SelfTestGroupEnable bitmask 0x0080 // self test command: // . run=0x0080 #ifndef MAX11131_SELFTEST_TEST4_SCAN_0100 #define MAX11131_SELFTEST_TEST4_SCAN_0100 1 #endif // SelfTest group TEST11_SCAN_0011 description: // 1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC (enabled by default) // SelfTestGroupEnable bitmask 0x0100 // self test command: // . run=0x0100 #ifndef MAX11131_SELFTEST_TEST11_SCAN_0011 #define MAX11131_SELFTEST_TEST11_SCAN_0011 1 #endif //-------------------------------------------------- // When user presses button BUTTON1, perform self test #if HAS_BUTTON1_DEMO_INTERRUPT void onButton1FallingEdge(void) { void SelfTest(CmdLine & cmdLine); // SelfTestGroupEnable selects which of the included tests will run SelfTestGroupEnable = 0 // | 0x0001 // -- halt-on-first-failure configuration flag // | 0x0002 // -- repeat-until-failure configuration flag | 0x0004 // SPI48_3MSps -- support 3MSps parts SCLK<=48MHz (enabled by default) | 0x0008 // SPI16MHz_1MSps -- support 1MSps parts SCLK<=16MHz (enabled by default) | 0x0010 // SPI8MHz_500kSps -- support 500kSps parts SCLK<=8MHz (enabled by default) | 0x0020 // SPI12MHz_1MSps -- support 1MSps parts SCLK<=16MHz (enabled by default) | 0x0040 // TEST10_SCAN_0100 -- Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS (enabled by default) | 0x0080 // TEST4_SCAN_0100 -- 4 ch=15 pm=0 id=1 -- ScanStandardExternalCloc (enabled by default) | 0x0100 // TEST11_SCAN_0011 -- 1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC (enabled by default) ; SelfTest(cmdLine_serial); } #endif // HAS_BUTTON1_DEMO_INTERRUPT //-------------------------------------------------- // When user presses button BUTTON2, perform demo configuration #if HAS_BUTTON2_DEMO_INTERRUPT void onButton2FallingEdge(void) { // TBD demo configuration // When user presses button BUTTON2, perform self test until failure void SelfTest(CmdLine & cmdLine); // SelfTestGroupEnable selects which of the included tests will run SelfTestGroupEnable = 0 | 0x0001 // -- halt-on-first-failure configuration flag | 0x0002 // -- repeat-until-failure configuration flag | 0x0004 // SPI48_3MSps -- support 3MSps parts SCLK<=48MHz (enabled by default) | 0x0008 // SPI16MHz_1MSps -- support 1MSps parts SCLK<=16MHz (enabled by default) | 0x0010 // SPI8MHz_500kSps -- support 500kSps parts SCLK<=8MHz (enabled by default) | 0x0020 // SPI12MHz_1MSps -- support 1MSps parts SCLK<=16MHz (enabled by default) | 0x0040 // TEST10_SCAN_0100 -- Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS (enabled by default) | 0x0080 // TEST4_SCAN_0100 -- 4 ch=15 pm=0 id=1 -- ScanStandardExternalCloc (enabled by default) | 0x0100 // TEST11_SCAN_0011 -- 1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC (enabled by default) ; SelfTest(cmdLine_serial); } #endif // HAS_BUTTON2_DEMO_INTERRUPT //-------------------------------------------------- void SelfTest(CmdLine & cmdLine) { //-------------------------------------------------- #if analogIn4_IS_HIGH_RANGE_OF_analogIn0 // Platform board uses AIN4,AIN5,.. as high range of AIN0,AIN1,.. MaximTinyTester tinyTester(cmdLine, analogIn4, analogIn5, analogIn2, analogIn3, analogIn0, analogIn4, led1_RFailLED, led2_GPassLED, led3_BBusyLED); tinyTester.analogInPin_fullScaleVoltage[0] = analogInPin_fullScaleVoltage[4]; // board support tinyTester.analogInPin_fullScaleVoltage[1] = analogInPin_fullScaleVoltage[5]; // board support tinyTester.analogInPin_fullScaleVoltage[2] = analogInPin_fullScaleVoltage[2]; // board support tinyTester.analogInPin_fullScaleVoltage[3] = analogInPin_fullScaleVoltage[3]; // board support tinyTester.analogInPin_fullScaleVoltage[4] = analogInPin_fullScaleVoltage[0]; // board support tinyTester.analogInPin_fullScaleVoltage[5] = analogInPin_fullScaleVoltage[1]; // board support // low range channels AIN0, AIN1, AIN2, AIN3 #else // analogIn4_IS_HIGH_RANGE_OF_analogIn0 // Platform board uses simple analog inputs MaximTinyTester tinyTester(cmdLine, analogIn0, analogIn1, analogIn2, analogIn3, analogIn4, analogIn5, led1_RFailLED, led2_GPassLED, led3_BBusyLED); tinyTester.analogInPin_fullScaleVoltage[0] = analogInPin_fullScaleVoltage[0]; // board support tinyTester.analogInPin_fullScaleVoltage[1] = analogInPin_fullScaleVoltage[1]; // board support tinyTester.analogInPin_fullScaleVoltage[2] = analogInPin_fullScaleVoltage[2]; // board support tinyTester.analogInPin_fullScaleVoltage[3] = analogInPin_fullScaleVoltage[3]; // board support tinyTester.analogInPin_fullScaleVoltage[4] = analogInPin_fullScaleVoltage[4]; // board support tinyTester.analogInPin_fullScaleVoltage[5] = analogInPin_fullScaleVoltage[5]; // board support #endif tinyTester.clear(); // repeat-until-failure logic repeatUntilFailure: cmdLine.serial().printf("\r\n. run=0x%4.4x", SelfTestGroupEnable); if ((SelfTestGroupEnable & 0x0003) == 0x0000) { cmdLine.serial().printf("\r\n. runall=0x%4.4x", SelfTestGroupEnable &~ 0x0003); } if ((SelfTestGroupEnable & 0x0003) == 0x0001) { cmdLine.serial().printf("\r\n. runfail=0x%4.4x", SelfTestGroupEnable &~ 0x0003); } if ((SelfTestGroupEnable & 0x0003) == 0x0002) { cmdLine.serial().printf("\r\n. loopall=0x%4.4x", SelfTestGroupEnable &~ 0x0003); } if ((SelfTestGroupEnable & 0x0003) == 0x0003) { cmdLine.serial().printf("\r\n. loopfail=0x%4.4x", SelfTestGroupEnable &~ 0x0003); } cmdLine.serial().printf("\r\n 0x0004 %s SPI48_3MSps", (SelfTestGroupEnable & 0x0004) ? "run " : " skip"); cmdLine.serial().printf("\r\n 0x0008 %s SPI16MHz_1MSps", (SelfTestGroupEnable & 0x0008) ? "run " : " skip"); cmdLine.serial().printf("\r\n 0x0010 %s SPI8MHz_500kSps", (SelfTestGroupEnable & 0x0010) ? "run " : " skip"); cmdLine.serial().printf("\r\n 0x0020 %s SPI12MHz_1MSps", (SelfTestGroupEnable & 0x0020) ? "run " : " skip"); cmdLine.serial().printf("\r\n 0x0040 %s TEST10_SCAN_0100", (SelfTestGroupEnable & 0x0040) ? "run " : " skip"); cmdLine.serial().printf("\r\n 0x0080 %s TEST4_SCAN_0100", (SelfTestGroupEnable & 0x0080) ? "run " : " skip"); cmdLine.serial().printf("\r\n 0x0100 %s TEST11_SCAN_0011", (SelfTestGroupEnable & 0x0100) ? "run " : " skip"); // Report number of pass and number of fail test results tinyTester.Report_Summary(); // // @test group SPI48_3MSps // support 3MSps parts SCLK<=48MHz (enabled by default) // @test group SPI48_3MSps tinyTester.print("SPI 48MHz") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'SPI48_3MSps' // docTest_item['action'] = 'tinyTester.print("SPI 48MHz")' // docTest_item['arglist'] = 'SPI 48MHz' #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps None if (SelfTestGroupEnable & 0x0004) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "SPI 48MHz" tinyTester.print("SPI 48MHz"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0004) #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps // @test group SPI48_3MSps SPIfrequency(48000000); // support 3MSps parts SCLK<=48MHz // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI48_3MSps' // docTest_item['action'] = 'SPIfrequency(48000000)' // docTest_item['funcName'] = 'SPIfrequency' // docTest_item['arglist'] = '48000000' #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps SPIfrequency if (SelfTestGroupEnable & 0x0004) { // call-function // selfTestFunctionClosures['SPIfrequency']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIfrequency((int)48000000), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIfrequency", fn_MAX11131_SPIfrequency, (int)48000000, /* empty expect: */ (void)None); // g_MAX11131_device.SPIfrequency((int)48000000); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0004) #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps // @test group SPI48_3MSps SPIgetFrequency() expect 48000000 // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI48_3MSps' // docTest_item['action'] = 'SPIgetFrequency() expect 48000000' // docTest_item['funcName'] = 'SPIgetFrequency' // docTest_item['expect-value'] = '48000000' #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps SPIgetFrequency if (SelfTestGroupEnable & 0x0004) { // call-function // selfTestFunctionClosures['SPIgetFrequency']['returnType'] = 'int' // ASSERT_EQ(g_MAX11131_device.SPIgetFrequency(()), (int)48000000); // tinyTester.FunctionCall_d_Expect("MAX11131.SPIgetFrequency", fn_MAX11131_SPIgetFrequency, /* empty docTest_argList */ /* expect: */ (int)48000000); // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0004) #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps // @test group SPI48_3MSps tinyTester.settle_time_msec = 250 // default 250 // docTest_item['actionType'] = 'assign-propname-value' // docTest_item['group-id-value'] = 'SPI48_3MSps' // docTest_item['action'] = 'tinyTester.settle_time_msec = 250' // docTest_item['remarks'] = 'default 250' // docTest_item['propName'] = 'tinyTester.settle_time_msec' // docTest_item['propValue'] = '250' #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps None default 250 if (SelfTestGroupEnable & 0x0004) { // assign-propname-value // tinyTesterPropName = "tinyTester.settle_time_msec" // tinyTesterPropValue = "250" tinyTester.settle_time_msec = 250; // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0004) #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps // @test group SPI48_3MSps tinyTester.Wait_Output_Settling() // docTest_item['actionType'] = 'call-tinytester-function' // docTest_item['group-id-value'] = 'SPI48_3MSps' // docTest_item['action'] = 'tinyTester.Wait_Output_Settling()' // docTest_item['propName'] = 'Wait_Output_Settling' #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps None if (SelfTestGroupEnable & 0x0004) { // call-tinytester-function // tinyTesterFuncName = "tinyTester.Wait_Output_Settling" // docTest_argList = "" tinyTester.Wait_Output_Settling(); // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0004) #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps // @test group SPI48_3MSps SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI48_3MSps' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps SPIoutputCS if (SelfTestGroupEnable & 0x0004) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0004) #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps // @test group SPI48_3MSps SPIread16bits() // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI48_3MSps' // docTest_item['action'] = 'SPIread16bits()' // docTest_item['funcName'] = 'SPIread16bits' #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps SPIread16bits if (SelfTestGroupEnable & 0x0004) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* empty expect: */ (int16_t)None); // g_MAX11131_device.SPIread16bits(); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0004) #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps // @test group SPI48_3MSps SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI48_3MSps' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps SPIoutputCS if (SelfTestGroupEnable & 0x0004) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0004) #endif // MAX11131_SELFTEST_SPI48_3MSps // group SPI48_3MSps // @test group SPI16MHz_1MSps // support 1MSps parts SCLK<=16MHz (enabled by default) // @test group SPI16MHz_1MSps tinyTester.print("SPI 16MHz") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'SPI16MHz_1MSps' // docTest_item['action'] = 'tinyTester.print("SPI 16MHz")' // docTest_item['arglist'] = 'SPI 16MHz' #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps None if (SelfTestGroupEnable & 0x0008) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "SPI 16MHz" tinyTester.print("SPI 16MHz"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0008) #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps // @test group SPI16MHz_1MSps SPIfrequency(16000000); // support 1MSps parts SCLK<=16MHz // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI16MHz_1MSps' // docTest_item['action'] = 'SPIfrequency(16000000)' // docTest_item['funcName'] = 'SPIfrequency' // docTest_item['arglist'] = '16000000' #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps SPIfrequency if (SelfTestGroupEnable & 0x0008) { // call-function // selfTestFunctionClosures['SPIfrequency']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIfrequency((int)16000000), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIfrequency", fn_MAX11131_SPIfrequency, (int)16000000, /* empty expect: */ (void)None); // g_MAX11131_device.SPIfrequency((int)16000000); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0008) #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps // @test group SPI16MHz_1MSps SPIgetFrequency() expect 16000000 // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI16MHz_1MSps' // docTest_item['action'] = 'SPIgetFrequency() expect 16000000' // docTest_item['funcName'] = 'SPIgetFrequency' // docTest_item['expect-value'] = '16000000' #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps SPIgetFrequency if (SelfTestGroupEnable & 0x0008) { // call-function // selfTestFunctionClosures['SPIgetFrequency']['returnType'] = 'int' // ASSERT_EQ(g_MAX11131_device.SPIgetFrequency(()), (int)16000000); // tinyTester.FunctionCall_d_Expect("MAX11131.SPIgetFrequency", fn_MAX11131_SPIgetFrequency, /* empty docTest_argList */ /* expect: */ (int)16000000); // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0008) #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps // @test group SPI16MHz_1MSps tinyTester.settle_time_msec = 250 // default 250 // docTest_item['actionType'] = 'assign-propname-value' // docTest_item['group-id-value'] = 'SPI16MHz_1MSps' // docTest_item['action'] = 'tinyTester.settle_time_msec = 250' // docTest_item['remarks'] = 'default 250' // docTest_item['propName'] = 'tinyTester.settle_time_msec' // docTest_item['propValue'] = '250' #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps None default 250 if (SelfTestGroupEnable & 0x0008) { // assign-propname-value // tinyTesterPropName = "tinyTester.settle_time_msec" // tinyTesterPropValue = "250" tinyTester.settle_time_msec = 250; // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0008) #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps // @test group SPI16MHz_1MSps tinyTester.Wait_Output_Settling() // docTest_item['actionType'] = 'call-tinytester-function' // docTest_item['group-id-value'] = 'SPI16MHz_1MSps' // docTest_item['action'] = 'tinyTester.Wait_Output_Settling()' // docTest_item['propName'] = 'Wait_Output_Settling' #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps None if (SelfTestGroupEnable & 0x0008) { // call-tinytester-function // tinyTesterFuncName = "tinyTester.Wait_Output_Settling" // docTest_argList = "" tinyTester.Wait_Output_Settling(); // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0008) #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps // @test group SPI16MHz_1MSps SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI16MHz_1MSps' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps SPIoutputCS if (SelfTestGroupEnable & 0x0008) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0008) #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps // @test group SPI16MHz_1MSps SPIread16bits() // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI16MHz_1MSps' // docTest_item['action'] = 'SPIread16bits()' // docTest_item['funcName'] = 'SPIread16bits' #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps SPIread16bits if (SelfTestGroupEnable & 0x0008) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* empty expect: */ (int16_t)None); // g_MAX11131_device.SPIread16bits(); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0008) #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps // @test group SPI16MHz_1MSps SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI16MHz_1MSps' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps SPIoutputCS if (SelfTestGroupEnable & 0x0008) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0008) #endif // MAX11131_SELFTEST_SPI16MHz_1MSps // group SPI16MHz_1MSps // @test group SPI8MHz_500kSps // support 500kSps parts SCLK<=8MHz (enabled by default) // @test group SPI8MHz_500kSps tinyTester.print("SPI 8MHz") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'SPI8MHz_500kSps' // docTest_item['action'] = 'tinyTester.print("SPI 8MHz")' // docTest_item['arglist'] = 'SPI 8MHz' #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps None if (SelfTestGroupEnable & 0x0010) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "SPI 8MHz" tinyTester.print("SPI 8MHz"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0010) #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps // @test group SPI8MHz_500kSps SPIfrequency(8000000); // support 500kSps parts SCLK<=8MHz // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI8MHz_500kSps' // docTest_item['action'] = 'SPIfrequency(8000000)' // docTest_item['funcName'] = 'SPIfrequency' // docTest_item['arglist'] = '8000000' #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps SPIfrequency if (SelfTestGroupEnable & 0x0010) { // call-function // selfTestFunctionClosures['SPIfrequency']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIfrequency((int)8000000), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIfrequency", fn_MAX11131_SPIfrequency, (int)8000000, /* empty expect: */ (void)None); // g_MAX11131_device.SPIfrequency((int)8000000); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0010) #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps // @test group SPI8MHz_500kSps SPIgetFrequency() expect 8000000 // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI8MHz_500kSps' // docTest_item['action'] = 'SPIgetFrequency() expect 8000000' // docTest_item['funcName'] = 'SPIgetFrequency' // docTest_item['expect-value'] = '8000000' #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps SPIgetFrequency if (SelfTestGroupEnable & 0x0010) { // call-function // selfTestFunctionClosures['SPIgetFrequency']['returnType'] = 'int' // ASSERT_EQ(g_MAX11131_device.SPIgetFrequency(()), (int)8000000); // tinyTester.FunctionCall_d_Expect("MAX11131.SPIgetFrequency", fn_MAX11131_SPIgetFrequency, /* empty docTest_argList */ /* expect: */ (int)8000000); // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0010) #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps // @test group SPI8MHz_500kSps tinyTester.settle_time_msec = 250 // default 250 // docTest_item['actionType'] = 'assign-propname-value' // docTest_item['group-id-value'] = 'SPI8MHz_500kSps' // docTest_item['action'] = 'tinyTester.settle_time_msec = 250' // docTest_item['remarks'] = 'default 250' // docTest_item['propName'] = 'tinyTester.settle_time_msec' // docTest_item['propValue'] = '250' #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps None default 250 if (SelfTestGroupEnable & 0x0010) { // assign-propname-value // tinyTesterPropName = "tinyTester.settle_time_msec" // tinyTesterPropValue = "250" tinyTester.settle_time_msec = 250; // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0010) #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps // @test group SPI8MHz_500kSps tinyTester.Wait_Output_Settling() // docTest_item['actionType'] = 'call-tinytester-function' // docTest_item['group-id-value'] = 'SPI8MHz_500kSps' // docTest_item['action'] = 'tinyTester.Wait_Output_Settling()' // docTest_item['propName'] = 'Wait_Output_Settling' #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps None if (SelfTestGroupEnable & 0x0010) { // call-tinytester-function // tinyTesterFuncName = "tinyTester.Wait_Output_Settling" // docTest_argList = "" tinyTester.Wait_Output_Settling(); // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0010) #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps // @test group SPI8MHz_500kSps SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI8MHz_500kSps' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps SPIoutputCS if (SelfTestGroupEnable & 0x0010) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0010) #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps // @test group SPI8MHz_500kSps SPIread16bits() // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI8MHz_500kSps' // docTest_item['action'] = 'SPIread16bits()' // docTest_item['funcName'] = 'SPIread16bits' #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps SPIread16bits if (SelfTestGroupEnable & 0x0010) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* empty expect: */ (int16_t)None); // g_MAX11131_device.SPIread16bits(); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0010) #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps // @test group SPI8MHz_500kSps SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI8MHz_500kSps' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps SPIoutputCS if (SelfTestGroupEnable & 0x0010) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0010) #endif // MAX11131_SELFTEST_SPI8MHz_500kSps // group SPI8MHz_500kSps // @test group SPI12MHz_1MSps // support 1MSps parts SCLK<=16MHz (enabled by default) // @test group SPI12MHz_1MSps tinyTester.print("SPI 12MHz") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'SPI12MHz_1MSps' // docTest_item['action'] = 'tinyTester.print("SPI 12MHz")' // docTest_item['arglist'] = 'SPI 12MHz' #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps None if (SelfTestGroupEnable & 0x0020) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "SPI 12MHz" tinyTester.print("SPI 12MHz"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0020) #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps // @test group SPI12MHz_1MSps SPIfrequency(12000000); // support 1MSps parts SCLK<=16MHz // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI12MHz_1MSps' // docTest_item['action'] = 'SPIfrequency(12000000)' // docTest_item['funcName'] = 'SPIfrequency' // docTest_item['arglist'] = '12000000' #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps SPIfrequency if (SelfTestGroupEnable & 0x0020) { // call-function // selfTestFunctionClosures['SPIfrequency']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIfrequency((int)12000000), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIfrequency", fn_MAX11131_SPIfrequency, (int)12000000, /* empty expect: */ (void)None); // g_MAX11131_device.SPIfrequency((int)12000000); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0020) #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps // @test group SPI12MHz_1MSps SPIgetFrequency() expect 12000000 // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI12MHz_1MSps' // docTest_item['action'] = 'SPIgetFrequency() expect 12000000' // docTest_item['funcName'] = 'SPIgetFrequency' // docTest_item['expect-value'] = '12000000' #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps SPIgetFrequency if (SelfTestGroupEnable & 0x0020) { // call-function // selfTestFunctionClosures['SPIgetFrequency']['returnType'] = 'int' // ASSERT_EQ(g_MAX11131_device.SPIgetFrequency(()), (int)12000000); // tinyTester.FunctionCall_d_Expect("MAX11131.SPIgetFrequency", fn_MAX11131_SPIgetFrequency, /* empty docTest_argList */ /* expect: */ (int)12000000); // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0020) #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps // @test group SPI12MHz_1MSps tinyTester.settle_time_msec = 250 // default 250 // docTest_item['actionType'] = 'assign-propname-value' // docTest_item['group-id-value'] = 'SPI12MHz_1MSps' // docTest_item['action'] = 'tinyTester.settle_time_msec = 250' // docTest_item['remarks'] = 'default 250' // docTest_item['propName'] = 'tinyTester.settle_time_msec' // docTest_item['propValue'] = '250' #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps None default 250 if (SelfTestGroupEnable & 0x0020) { // assign-propname-value // tinyTesterPropName = "tinyTester.settle_time_msec" // tinyTesterPropValue = "250" tinyTester.settle_time_msec = 250; // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0020) #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps // @test group SPI12MHz_1MSps tinyTester.Wait_Output_Settling() // docTest_item['actionType'] = 'call-tinytester-function' // docTest_item['group-id-value'] = 'SPI12MHz_1MSps' // docTest_item['action'] = 'tinyTester.Wait_Output_Settling()' // docTest_item['propName'] = 'Wait_Output_Settling' #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps None if (SelfTestGroupEnable & 0x0020) { // call-tinytester-function // tinyTesterFuncName = "tinyTester.Wait_Output_Settling" // docTest_argList = "" tinyTester.Wait_Output_Settling(); // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0020) #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps // @test group SPI12MHz_1MSps SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI12MHz_1MSps' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps SPIoutputCS if (SelfTestGroupEnable & 0x0020) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0020) #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps // @test group SPI12MHz_1MSps SPIread16bits() // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI12MHz_1MSps' // docTest_item['action'] = 'SPIread16bits()' // docTest_item['funcName'] = 'SPIread16bits' #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps SPIread16bits if (SelfTestGroupEnable & 0x0020) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* empty expect: */ (int16_t)None); // g_MAX11131_device.SPIread16bits(); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0020) #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps // @test group SPI12MHz_1MSps SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'SPI12MHz_1MSps' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps SPIoutputCS if (SelfTestGroupEnable & 0x0020) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0020) #endif // MAX11131_SELFTEST_SPI12MHz_1MSps // group SPI12MHz_1MSps // @test tinyTester.blink_time_msec = 75 // default 75 resume hardware self test // docTest_item['actionType'] = 'assign-propname-value' // docTest_item['action'] = 'tinyTester.blink_time_msec = 75' // docTest_item['remarks'] = 'default 75 resume hardware self test' // docTest_item['propName'] = 'tinyTester.blink_time_msec' // docTest_item['propValue'] = '75' // assign-propname-value // tinyTesterPropName = "tinyTester.blink_time_msec" // tinyTesterPropValue = "75" tinyTester.blink_time_msec = 75; // @test tinyTester.print("0.0: MAX11131.Init()") // docTest_item['actionType'] = 'print-string' // docTest_item['action'] = 'tinyTester.print("0.0: MAX11131.Init()")' // docTest_item['arglist'] = '0.0: MAX11131.Init()' // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "0.0: MAX11131.Init()" tinyTester.print("0.0: MAX11131.Init()"); // @test Init() // docTest_item['actionType'] = 'call-function' // docTest_item['action'] = 'Init()' // docTest_item['funcName'] = 'Init' // call-function // selfTestFunctionClosures['Init']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.Init(()), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.Init", fn_MAX11131_Init, /* empty docTest_argList */ /* empty expect: */ (void)None); // g_MAX11131_device.Init(); // // @test VRef expect 2.500 // Nominal Full-Scale Voltage Reference // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['action'] = 'VRef expect 2.500' // docTest_item['remarks'] = 'Nominal Full-Scale Voltage Reference' // docTest_item['expect-value'] = '2.500' // docTest_item['propName'] = 'VRef' // test-propname-expect-value tinyTester.Expect("MAX11131.VRef", g_MAX11131_device.VRef, /* expect: */ 2.500); // Nominal Full-Scale Voltage Reference // @test group TEST10_SCAN_0100 // Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS (enabled by default) // @test group TEST10_SCAN_0100 tinyTester.print("1.0: Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("1.0: Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS")' // docTest_item['arglist'] = '1.0: Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "1.0: Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS" tinyTester.print("1.0: Test SCAN_0100_StandardExt -- verify VDD,GND,SCLK,MOSI,MISO,CS"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("0000_0000_0100_0010 ADC_MODE_CONTROL SCAN_0000") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("0000_0000_0100_0010 ADC_MODE_CONTROL SCAN_0000")' // docTest_item['arglist'] = '0000_0000_0100_0010 ADC_MODE_CONTROL SCAN_0000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "0000_0000_0100_0010 ADC_MODE_CONTROL SCAN_0000" tinyTester.print("0000_0000_0100_0010 ADC_MODE_CONTROL SCAN_0000"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print(" CHSEL=0 RESET=2 CHANID=1") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print(" CHSEL=0 RESET=2 CHANID=1")' // docTest_item['arglist'] = ' CHSEL=0 RESET=2 CHANID=1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = " CHSEL=0 RESET=2 CHANID=1" tinyTester.print(" CHSEL=0 RESET=2 CHANID=1"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIwrite16bits(0x0040) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIwrite16bits(0x0040)' // docTest_item['funcName'] = 'SPIwrite16bits' // docTest_item['arglist'] = '0x0040' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIwrite16bits if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIwrite16bits']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIwrite16bits((int16_t)0x0040), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIwrite16bits", fn_MAX11131_SPIwrite16bits, (int16_t)0x0040, /* empty expect: */ (void)None); // g_MAX11131_device.SPIwrite16bits((int16_t)0x0040); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits()' // docTest_item['funcName'] = 'SPIread16bits' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* empty expect: */ (int16_t)None); // g_MAX11131_device.SPIread16bits(); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits()' // docTest_item['funcName'] = 'SPIread16bits' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* empty expect: */ (int16_t)None); // g_MAX11131_device.SPIread16bits(); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits()' // docTest_item['funcName'] = 'SPIread16bits' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* empty expect: */ (int16_t)None); // g_MAX11131_device.SPIread16bits(); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0")' // docTest_item['arglist'] = '1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0" tinyTester.print("1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIwrite16bits(0x8000) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIwrite16bits(0x8000)' // docTest_item['funcName'] = 'SPIwrite16bits' // docTest_item['arglist'] = '0x8000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIwrite16bits if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIwrite16bits']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIwrite16bits((int16_t)0x8000), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIwrite16bits", fn_MAX11131_SPIwrite16bits, (int16_t)0x8000, /* empty expect: */ (void)None); // g_MAX11131_device.SPIwrite16bits((int16_t)0x8000); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("0010_0111_1010_0100 ADC_MODE_CONTROL SCAN_0100_StandardExt") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("0010_0111_1010_0100 ADC_MODE_CONTROL SCAN_0100_StandardExt")' // docTest_item['arglist'] = '0010_0111_1010_0100 ADC_MODE_CONTROL SCAN_0100_StandardExt' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "0010_0111_1010_0100 ADC_MODE_CONTROL SCAN_0100_StandardExt" tinyTester.print("0010_0111_1010_0100 ADC_MODE_CONTROL SCAN_0100_StandardExt"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print(" CHSEL=15 RESET=1 CHANID=1") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print(" CHSEL=15 RESET=1 CHANID=1")' // docTest_item['arglist'] = ' CHSEL=15 RESET=1 CHANID=1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = " CHSEL=15 RESET=1 CHANID=1" tinyTester.print(" CHSEL=15 RESET=1 CHANID=1"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIwrite16bits(0x27a4) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIwrite16bits(0x27a4)' // docTest_item['funcName'] = 'SPIwrite16bits' // docTest_item['arglist'] = '0x27a4' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIwrite16bits if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIwrite16bits']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIwrite16bits((int16_t)0x27a4), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIwrite16bits", fn_MAX11131_SPIwrite16bits, (int16_t)0x27a4, /* empty expect: */ (void)None); // g_MAX11131_device.SPIwrite16bits((int16_t)0x27a4); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x0xxx (channel ID 0)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x0xxx (channel ID 0)")' // docTest_item['arglist'] = 'MISO --> expect 0x0xxx (channel ID 0)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0x0xxx (channel ID 0)" tinyTester.print("MISO --> expect 0x0xxx (channel ID 0)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x0000 mask 0xF000 // expect 0x0xxx (channel ID 0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0x0000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x0xxx (channel ID 0)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0x0000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x0xxx (channel ID 0) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x0000); // expect 0x0xxx (channel ID 0) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x0000); // expect 0x0xxx (channel ID 0) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x1xxx (channel ID 1)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x1xxx (channel ID 1)")' // docTest_item['arglist'] = 'MISO --> expect 0x1xxx (channel ID 1)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0x1xxx (channel ID 1)" tinyTester.print("MISO --> expect 0x1xxx (channel ID 1)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x1000 mask 0xF000 // expect 0x1xxx (channel ID 1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0x1000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x1xxx (channel ID 1)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0x1000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x1xxx (channel ID 1) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x1000); // expect 0x1xxx (channel ID 1) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x1000); // expect 0x1xxx (channel ID 1) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x2xxx (channel ID 2)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x2xxx (channel ID 2)")' // docTest_item['arglist'] = 'MISO --> expect 0x2xxx (channel ID 2)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0x2xxx (channel ID 2)" tinyTester.print("MISO --> expect 0x2xxx (channel ID 2)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x2000 mask 0xF000 // expect 0x2xxx (channel ID 2) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0x2000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x2xxx (channel ID 2)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0x2000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x2xxx (channel ID 2) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x2000); // expect 0x2xxx (channel ID 2) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x2000); // expect 0x2xxx (channel ID 2) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x3xxx (channel ID 3)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x3xxx (channel ID 3)")' // docTest_item['arglist'] = 'MISO --> expect 0x3xxx (channel ID 3)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0x3xxx (channel ID 3)" tinyTester.print("MISO --> expect 0x3xxx (channel ID 3)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x3000 mask 0xF000 // expect 0x3xxx (channel ID 3) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0x3000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x3xxx (channel ID 3)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0x3000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x3xxx (channel ID 3) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x3000); // expect 0x3xxx (channel ID 3) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x3000); // expect 0x3xxx (channel ID 3) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x4xxx (channel ID 4)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x4xxx (channel ID 4)")' // docTest_item['arglist'] = 'MISO --> expect 0x4xxx (channel ID 4)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0x4xxx (channel ID 4)" tinyTester.print("MISO --> expect 0x4xxx (channel ID 4)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x4000 mask 0xF000 // expect 0x4xxx (channel ID 4) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0x4000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x4xxx (channel ID 4)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0x4000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x4xxx (channel ID 4) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x4000); // expect 0x4xxx (channel ID 4) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x4000); // expect 0x4xxx (channel ID 4) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x5xxx (channel ID 5)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x5xxx (channel ID 5)")' // docTest_item['arglist'] = 'MISO --> expect 0x5xxx (channel ID 5)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0x5xxx (channel ID 5)" tinyTester.print("MISO --> expect 0x5xxx (channel ID 5)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x5000 mask 0xF000 // expect 0x5xxx (channel ID 5) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0x5000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x5xxx (channel ID 5)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0x5000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x5xxx (channel ID 5) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x5000); // expect 0x5xxx (channel ID 5) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x5000); // expect 0x5xxx (channel ID 5) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x6xxx (channel ID 6)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x6xxx (channel ID 6)")' // docTest_item['arglist'] = 'MISO --> expect 0x6xxx (channel ID 6)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0x6xxx (channel ID 6)" tinyTester.print("MISO --> expect 0x6xxx (channel ID 6)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x6000 mask 0xF000 // expect 0x6xxx (channel ID 6) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0x6000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x6xxx (channel ID 6)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0x6000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x6xxx (channel ID 6) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x6000); // expect 0x6xxx (channel ID 6) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x6000); // expect 0x6xxx (channel ID 6) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x7xxx (channel ID 7)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x7xxx (channel ID 7)")' // docTest_item['arglist'] = 'MISO --> expect 0x7xxx (channel ID 7)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0x7xxx (channel ID 7)" tinyTester.print("MISO --> expect 0x7xxx (channel ID 7)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x7000 mask 0xF000 // expect 0x7xxx (channel ID 7) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0x7000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x7xxx (channel ID 7)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0x7000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x7xxx (channel ID 7) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x7000); // expect 0x7xxx (channel ID 7) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x7000); // expect 0x7xxx (channel ID 7) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x8xxx (channel ID 8)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x8xxx (channel ID 8)")' // docTest_item['arglist'] = 'MISO --> expect 0x8xxx (channel ID 8)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0x8xxx (channel ID 8)" tinyTester.print("MISO --> expect 0x8xxx (channel ID 8)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x8000 mask 0xF000 // expect 0x8xxx (channel ID 8) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0x8000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x8xxx (channel ID 8)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0x8000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x8xxx (channel ID 8) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x8000); // expect 0x8xxx (channel ID 8) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x8000); // expect 0x8xxx (channel ID 8) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0x9xxx (channel ID 9)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0x9xxx (channel ID 9)")' // docTest_item['arglist'] = 'MISO --> expect 0x9xxx (channel ID 9)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0x9xxx (channel ID 9)" tinyTester.print("MISO --> expect 0x9xxx (channel ID 9)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0x9000 mask 0xF000 // expect 0x9xxx (channel ID 9) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0x9000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x9xxx (channel ID 9)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0x9000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0x9xxx (channel ID 9) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0x9000); // expect 0x9xxx (channel ID 9) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0x9000); // expect 0x9xxx (channel ID 9) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xaxxx (channel ID 10)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0xaxxx (channel ID 10)")' // docTest_item['arglist'] = 'MISO --> expect 0xaxxx (channel ID 10)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0xaxxx (channel ID 10)" tinyTester.print("MISO --> expect 0xaxxx (channel ID 10)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0xA000 mask 0xF000 // expect 0xaxxx (channel ID 10) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0xA000 mask 0xF000' // docTest_item['remarks'] = 'expect 0xaxxx (channel ID 10)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0xA000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0xaxxx (channel ID 10) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0xA000); // expect 0xaxxx (channel ID 10) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0xA000); // expect 0xaxxx (channel ID 10) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xbxxx (channel ID 11)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0xbxxx (channel ID 11)")' // docTest_item['arglist'] = 'MISO --> expect 0xbxxx (channel ID 11)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0xbxxx (channel ID 11)" tinyTester.print("MISO --> expect 0xbxxx (channel ID 11)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0xB000 mask 0xF000 // expect 0xbxxx (channel ID 11) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0xB000 mask 0xF000' // docTest_item['remarks'] = 'expect 0xbxxx (channel ID 11)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0xB000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0xbxxx (channel ID 11) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0xB000); // expect 0xbxxx (channel ID 11) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0xB000); // expect 0xbxxx (channel ID 11) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xcxxx (channel ID 12)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0xcxxx (channel ID 12)")' // docTest_item['arglist'] = 'MISO --> expect 0xcxxx (channel ID 12)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0xcxxx (channel ID 12)" tinyTester.print("MISO --> expect 0xcxxx (channel ID 12)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0xC000 mask 0xF000 // expect 0xcxxx (channel ID 12) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0xC000 mask 0xF000' // docTest_item['remarks'] = 'expect 0xcxxx (channel ID 12)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0xC000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0xcxxx (channel ID 12) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0xC000); // expect 0xcxxx (channel ID 12) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0xC000); // expect 0xcxxx (channel ID 12) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xdxxx (channel ID 13)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0xdxxx (channel ID 13)")' // docTest_item['arglist'] = 'MISO --> expect 0xdxxx (channel ID 13)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0xdxxx (channel ID 13)" tinyTester.print("MISO --> expect 0xdxxx (channel ID 13)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0xD000 mask 0xF000 // expect 0xdxxx (channel ID 13) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0xD000 mask 0xF000' // docTest_item['remarks'] = 'expect 0xdxxx (channel ID 13)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0xD000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0xdxxx (channel ID 13) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0xD000); // expect 0xdxxx (channel ID 13) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0xD000); // expect 0xdxxx (channel ID 13) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xexxx (channel ID 14)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0xexxx (channel ID 14)")' // docTest_item['arglist'] = 'MISO --> expect 0xexxx (channel ID 14)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0xexxx (channel ID 14)" tinyTester.print("MISO --> expect 0xexxx (channel ID 14)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0xE000 mask 0xF000 // expect 0xexxx (channel ID 14) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0xE000 mask 0xF000' // docTest_item['remarks'] = 'expect 0xexxx (channel ID 14)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0xE000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0xexxx (channel ID 14) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0xE000); // expect 0xexxx (channel ID 14) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0xE000); // expect 0xexxx (channel ID 14) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 tinyTester.print("MISO --> expect 0xfxxx (channel ID 15)") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("MISO --> expect 0xfxxx (channel ID 15)")' // docTest_item['arglist'] = 'MISO --> expect 0xfxxx (channel ID 15)' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 None if (SelfTestGroupEnable & 0x0040) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "MISO --> expect 0xfxxx (channel ID 15)" tinyTester.print("MISO --> expect 0xfxxx (channel ID 15)"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIread16bits() expect 0xF000 mask 0xF000 // expect 0xfxxx (channel ID 15) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIread16bits() expect 0xF000 mask 0xF000' // docTest_item['remarks'] = 'expect 0xfxxx (channel ID 15)' // docTest_item['funcName'] = 'SPIread16bits' // docTest_item['expect-value'] = '0xF000' // docTest_item['mask-value'] = '0xF000' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIread16bits expect 0xfxxx (channel ID 15) if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIread16bits']['returnType'] = 'int16_t' // ASSERT_EQ(g_MAX11131_device.SPIread16bits(()), (int16_t)0xF000); // expect 0xfxxx (channel ID 15) tinyTester.mask = 0xF000; // mask 0xF000 tinyTester.FunctionCall_md_Expect("MAX11131.SPIread16bits", fn_MAX11131_SPIread16bits, /* empty docTest_argList */ /* expect: */ (int16_t)0xF000); // expect 0xfxxx (channel ID 15) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST10_SCAN_0100 SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST10_SCAN_0100' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 SPIoutputCS if (SelfTestGroupEnable & 0x0040) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0040) #endif // MAX11131_SELFTEST_TEST10_SCAN_0100 // group TEST10_SCAN_0100 // @test group TEST4_SCAN_0100 // 4 ch=15 pm=0 id=1 -- ScanStandardExternalCloc (enabled by default) // @test group TEST4_SCAN_0100 tinyTester.print("4 ch=15 pm=0 id=1 -- ScanStandardExternalClock") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("4 ch=15 pm=0 id=1 -- ScanStandardExternalClock")' // docTest_item['arglist'] = '4 ch=15 pm=0 id=1 -- ScanStandardExternalClock' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None if (SelfTestGroupEnable & 0x0080) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "4 ch=15 pm=0 id=1 -- ScanStandardExternalClock" tinyTester.print("4 ch=15 pm=0 id=1 -- ScanStandardExternalClock"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 tinyTester.print("channelNumber_0_15 = 15") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("channelNumber_0_15 = 15")' // docTest_item['arglist'] = 'channelNumber_0_15 = 15' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None if (SelfTestGroupEnable & 0x0080) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "channelNumber_0_15 = 15" tinyTester.print("channelNumber_0_15 = 15"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 channelNumber_0_15 = 15 // docTest_item['actionType'] = 'assign-propname-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'channelNumber_0_15 = 15' // docTest_item['propName'] = 'channelNumber_0_15' // docTest_item['propValue'] = '15' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None if (SelfTestGroupEnable & 0x0080) { // assign-propname-value // tinyTesterPropName = "channelNumber_0_15" // tinyTesterPropValue = "15" g_MAX11131_device.channelNumber_0_15 = 15; // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 tinyTester.print("PowerManagement_0_2 = 0") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("PowerManagement_0_2 = 0")' // docTest_item['arglist'] = 'PowerManagement_0_2 = 0' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None if (SelfTestGroupEnable & 0x0080) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "PowerManagement_0_2 = 0" tinyTester.print("PowerManagement_0_2 = 0"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 PowerManagement_0_2 = 0 // 0=Normal // docTest_item['actionType'] = 'assign-propname-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'PowerManagement_0_2 = 0' // docTest_item['remarks'] = '0=Normal' // docTest_item['propName'] = 'PowerManagement_0_2' // docTest_item['propValue'] = '0' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None 0=Normal if (SelfTestGroupEnable & 0x0080) { // assign-propname-value // tinyTesterPropName = "PowerManagement_0_2" // tinyTesterPropValue = "0" g_MAX11131_device.PowerManagement_0_2 = 0; // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 tinyTester.print("chan_id_0_1 = 1") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("chan_id_0_1 = 1")' // docTest_item['arglist'] = 'chan_id_0_1 = 1' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None if (SelfTestGroupEnable & 0x0080) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "chan_id_0_1 = 1" tinyTester.print("chan_id_0_1 = 1"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 chan_id_0_1 = 1 // misoData16 = CH[3:0] DATA[11:0] // docTest_item['actionType'] = 'assign-propname-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'chan_id_0_1 = 1' // docTest_item['remarks'] = 'misoData16 = CH[3:0] DATA[11:0]' // docTest_item['propName'] = 'chan_id_0_1' // docTest_item['propValue'] = '1' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None misoData16 = CH[3:0] DATA[11:0] if (SelfTestGroupEnable & 0x0080) { // assign-propname-value // tinyTesterPropName = "chan_id_0_1" // tinyTesterPropValue = "1" g_MAX11131_device.chan_id_0_1 = 1; // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 tinyTester.print("ScanStandardExternalClock() expect 16") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("ScanStandardExternalClock() expect 16")' // docTest_item['arglist'] = 'ScanStandardExternalClock() expect 16' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None if (SelfTestGroupEnable & 0x0080) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "ScanStandardExternalClock() expect 16" tinyTester.print("ScanStandardExternalClock() expect 16"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 ScanStandardExternalClock() expect 16 // Scan_0100_StandardExt // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'ScanStandardExternalClock() expect 16' // docTest_item['remarks'] = 'Scan_0100_StandardExt' // docTest_item['funcName'] = 'ScanStandardExternalClock' // docTest_item['expect-value'] = '16' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 ScanStandardExternalClock Scan_0100_StandardExt if (SelfTestGroupEnable & 0x0080) { // call-function // selfTestFunctionClosures['ScanStandardExternalClock']['returnType'] = 'int' // ASSERT_EQ(g_MAX11131_device.ScanStandardExternalClock(()), (int)16); // Scan_0100_StandardExt tinyTester.FunctionCall_d_Expect("MAX11131.ScanStandardExternalClock", fn_MAX11131_ScanStandardExternalClock, /* empty docTest_argList */ /* expect: */ (int)16); // Scan_0100_StandardExt // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 tinyTester.print("NumWords expect 16") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("NumWords expect 16")' // docTest_item['arglist'] = 'NumWords expect 16' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None if (SelfTestGroupEnable & 0x0080) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "NumWords expect 16" tinyTester.print("NumWords expect 16"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 NumWords expect 16 // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'NumWords expect 16' // docTest_item['expect-value'] = '16' // docTest_item['propName'] = 'NumWords' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value tinyTester.Expect("MAX11131.NumWords", g_MAX11131_device.NumWords, /* expect: */ 16); // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 ReadAINcode() // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'ReadAINcode()' // docTest_item['funcName'] = 'ReadAINcode' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 ReadAINcode if (SelfTestGroupEnable & 0x0080) { // call-function // selfTestFunctionClosures['ReadAINcode']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.ReadAINcode(()), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.ReadAINcode", fn_MAX11131_ReadAINcode, /* empty docTest_argList */ /* empty expect: */ (void)None); // g_MAX11131_device.ReadAINcode(); // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 tinyTester.print("Verify RAW_misoData16[0..15]>>12&0x000F == 0..15 channelId") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'tinyTester.print("Verify RAW_misoData16[0..15]>>12&0x000F == 0..15 channelId")' // docTest_item['arglist'] = 'Verify RAW_misoData16[0..15]>>12&0x000F == 0..15 channelId' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None if (SelfTestGroupEnable & 0x0080) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "Verify RAW_misoData16[0..15]>>12&0x000F == 0..15 channelId" tinyTester.print("Verify RAW_misoData16[0..15]>>12&0x000F == 0..15 channelId"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[0] expect 0x0000 mask 0xF000 // expect 0x0xxx (channel ID 0) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[0] expect 0x0000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x0xxx (channel ID 0)' // docTest_item['expect-value'] = '0x0000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[0]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x0xxx (channel ID 0) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[1] expect 0x1000 mask 0xF000 // expect 0x1xxx (channel ID 1) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[1] expect 0x1000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x1xxx (channel ID 1)' // docTest_item['expect-value'] = '0x1000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[1]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x1xxx (channel ID 1) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[2] expect 0x2000 mask 0xF000 // expect 0x2xxx (channel ID 2) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[2] expect 0x2000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x2xxx (channel ID 2)' // docTest_item['expect-value'] = '0x2000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[2]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x2xxx (channel ID 2) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[3] expect 0x3000 mask 0xF000 // expect 0x3xxx (channel ID 3) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[3] expect 0x3000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x3xxx (channel ID 3)' // docTest_item['expect-value'] = '0x3000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[3]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x3xxx (channel ID 3) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[4] expect 0x4000 mask 0xF000 // expect 0x4xxx (channel ID 4) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[4] expect 0x4000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x4xxx (channel ID 4)' // docTest_item['expect-value'] = '0x4000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[4]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x4xxx (channel ID 4) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[5] expect 0x5000 mask 0xF000 // expect 0x5xxx (channel ID 5) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[5] expect 0x5000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x5xxx (channel ID 5)' // docTest_item['expect-value'] = '0x5000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[5]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x5xxx (channel ID 5) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[6] expect 0x6000 mask 0xF000 // expect 0x6xxx (channel ID 6) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[6] expect 0x6000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x6xxx (channel ID 6)' // docTest_item['expect-value'] = '0x6000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[6]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x6xxx (channel ID 6) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[7] expect 0x7000 mask 0xF000 // expect 0x7xxx (channel ID 7) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[7] expect 0x7000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x7xxx (channel ID 7)' // docTest_item['expect-value'] = '0x7000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[7]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x7xxx (channel ID 7) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[8] expect 0x8000 mask 0xF000 // expect 0x8xxx (channel ID 8) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[8] expect 0x8000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x8xxx (channel ID 8)' // docTest_item['expect-value'] = '0x8000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[8]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x8xxx (channel ID 8) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[9] expect 0x9000 mask 0xF000 // expect 0x9xxx (channel ID 9) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[9] expect 0x9000 mask 0xF000' // docTest_item['remarks'] = 'expect 0x9xxx (channel ID 9)' // docTest_item['expect-value'] = '0x9000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[9]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0x9xxx (channel ID 9) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[10] expect 0xA000 mask 0xF000 // expect 0xaxxx (channel ID 10) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[10] expect 0xA000 mask 0xF000' // docTest_item['remarks'] = 'expect 0xaxxx (channel ID 10)' // docTest_item['expect-value'] = '0xA000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[10]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0xaxxx (channel ID 10) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[11] expect 0xB000 mask 0xF000 // expect 0xbxxx (channel ID 11) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[11] expect 0xB000 mask 0xF000' // docTest_item['remarks'] = 'expect 0xbxxx (channel ID 11)' // docTest_item['expect-value'] = '0xB000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[11]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0xbxxx (channel ID 11) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[12] expect 0xC000 mask 0xF000 // expect 0xcxxx (channel ID 12) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[12] expect 0xC000 mask 0xF000' // docTest_item['remarks'] = 'expect 0xcxxx (channel ID 12)' // docTest_item['expect-value'] = '0xC000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[12]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0xcxxx (channel ID 12) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[13] expect 0xD000 mask 0xF000 // expect 0xdxxx (channel ID 13) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[13] expect 0xD000 mask 0xF000' // docTest_item['remarks'] = 'expect 0xdxxx (channel ID 13)' // docTest_item['expect-value'] = '0xD000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[13]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0xdxxx (channel ID 13) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[14] expect 0xE000 mask 0xF000 // expect 0xexxx (channel ID 14) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[14] expect 0xE000 mask 0xF000' // docTest_item['remarks'] = 'expect 0xexxx (channel ID 14)' // docTest_item['expect-value'] = '0xE000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[14]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0xexxx (channel ID 14) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test group TEST4_SCAN_0100 RAW_misoData16[15] expect 0xF000 mask 0xF000 // expect 0xfxxx (channel ID 15) // docTest_item['actionType'] = 'test-propname-expect-value' // docTest_item['group-id-value'] = 'TEST4_SCAN_0100' // docTest_item['action'] = 'RAW_misoData16[15] expect 0xF000 mask 0xF000' // docTest_item['remarks'] = 'expect 0xfxxx (channel ID 15)' // docTest_item['expect-value'] = '0xF000' // docTest_item['mask-value'] = '0xF000' // docTest_item['propName'] = 'RAW_misoData16[15]' #if MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 None expect 0xfxxx (channel ID 15) if (SelfTestGroupEnable & 0x0080) { // test-propname-expect-value // tinyTesterPropName_withoutBrackets = 'RAW_misoData16' for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16') for cast docTest_mask expression in test-propname-expect-value // findStructItemByName('RAW_misoData16').get(r'CType') = 'int16_t' for cast docTest_mask expression in test-propname-expect-value // expect_expression_type = 'int16_t' for cast docTest_mask expression in test-propname-expect-value 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) // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0080) #endif // MAX11131_SELFTEST_TEST4_SCAN_0100 // group TEST4_SCAN_0100 // @test tinyTester.print("1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0") // docTest_item['actionType'] = 'print-string' // docTest_item['action'] = 'tinyTester.print("1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0")' // docTest_item['arglist'] = '1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0' // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0" tinyTester.print("1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0"); // @test SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // @test SPIwrite16bits(0x8000) // docTest_item['actionType'] = 'call-function' // docTest_item['action'] = 'SPIwrite16bits(0x8000)' // docTest_item['funcName'] = 'SPIwrite16bits' // docTest_item['arglist'] = '0x8000' // call-function // selfTestFunctionClosures['SPIwrite16bits']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIwrite16bits((int16_t)0x8000), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIwrite16bits", fn_MAX11131_SPIwrite16bits, (int16_t)0x8000, /* empty expect: */ (void)None); // g_MAX11131_device.SPIwrite16bits((int16_t)0x8000); // call-function ExternFunction // // @test SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // @test tinyTester.print("0010_0111_1010_0100 ADC_MODE_CONTROL Scan_0100_StandardExt") // docTest_item['actionType'] = 'print-string' // docTest_item['action'] = 'tinyTester.print("0010_0111_1010_0100 ADC_MODE_CONTROL Scan_0100_StandardExt")' // docTest_item['arglist'] = '0010_0111_1010_0100 ADC_MODE_CONTROL Scan_0100_StandardExt' // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "0010_0111_1010_0100 ADC_MODE_CONTROL Scan_0100_StandardExt" tinyTester.print("0010_0111_1010_0100 ADC_MODE_CONTROL Scan_0100_StandardExt"); // @test tinyTester.print(" CHSEL=15 RESET=1 CHANID=1") // docTest_item['actionType'] = 'print-string' // docTest_item['action'] = 'tinyTester.print(" CHSEL=15 RESET=1 CHANID=1")' // docTest_item['arglist'] = ' CHSEL=15 RESET=1 CHANID=1' // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = " CHSEL=15 RESET=1 CHANID=1" tinyTester.print(" CHSEL=15 RESET=1 CHANID=1"); // @test SPIoutputCS(0) // docTest_item['actionType'] = 'call-function' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // @test SPIwrite16bits(0x27a4) // docTest_item['actionType'] = 'call-function' // docTest_item['action'] = 'SPIwrite16bits(0x27a4)' // docTest_item['funcName'] = 'SPIwrite16bits' // docTest_item['arglist'] = '0x27a4' // call-function // selfTestFunctionClosures['SPIwrite16bits']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIwrite16bits((int16_t)0x27a4), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIwrite16bits", fn_MAX11131_SPIwrite16bits, (int16_t)0x27a4, /* empty expect: */ (void)None); // g_MAX11131_device.SPIwrite16bits((int16_t)0x27a4); // call-function ExternFunction // // @test SPIoutputCS(1) // docTest_item['actionType'] = 'call-function' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // @test group TEST11_SCAN_0011 // 1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC (enabled by default) // @test group TEST11_SCAN_0011 tinyTester.print("1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST11_SCAN_0011' // docTest_item['action'] = 'tinyTester.print("1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC")' // docTest_item['arglist'] = '1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC' #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 None if (SelfTestGroupEnable & 0x0100) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC" tinyTester.print("1.1: Test Scan_0011_StandardInt -- verify Internal Clock CNVST,EOC"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0100) #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 // @test group TEST11_SCAN_0011 Init(); // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST11_SCAN_0011' // docTest_item['action'] = 'Init()' // docTest_item['funcName'] = 'Init' #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 Init if (SelfTestGroupEnable & 0x0100) { // call-function // selfTestFunctionClosures['Init']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.Init(()), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.Init", fn_MAX11131_Init, /* empty docTest_argList */ /* empty expect: */ (void)None); // g_MAX11131_device.Init(); // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0100) #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 // @test group TEST11_SCAN_0011 SPIoutputCS(0); // drive CS low // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST11_SCAN_0011' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 SPIoutputCS if (SelfTestGroupEnable & 0x0100) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0100) #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 // @test group TEST11_SCAN_0011 group TEST11_SCAN_0011 SPIoutputCS(1); // drive CS high // @test group TEST11_SCAN_0011 tinyTester.print("1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST11_SCAN_0011' // docTest_item['action'] = 'tinyTester.print("1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0")' // docTest_item['arglist'] = '1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0' #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 None if (SelfTestGroupEnable & 0x0100) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0" tinyTester.print("1000_0000_0000_0000 ADC_CONFIGURATION REFSEL=0 SPM[1:0]=0 ECHO=0"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0100) #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 // @test group TEST11_SCAN_0011 SPIoutputCS(0); // drive CS low // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST11_SCAN_0011' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 SPIoutputCS if (SelfTestGroupEnable & 0x0100) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0100) #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 // @test group TEST11_SCAN_0011 SPIwrite16bits(0x8000); // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST11_SCAN_0011' // docTest_item['action'] = 'SPIwrite16bits(0x8000)' // docTest_item['funcName'] = 'SPIwrite16bits' // docTest_item['arglist'] = '0x8000' #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 SPIwrite16bits if (SelfTestGroupEnable & 0x0100) { // call-function // selfTestFunctionClosures['SPIwrite16bits']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIwrite16bits((int16_t)0x8000), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIwrite16bits", fn_MAX11131_SPIwrite16bits, (int16_t)0x8000, /* empty expect: */ (void)None); // g_MAX11131_device.SPIwrite16bits((int16_t)0x8000); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0100) #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 // @test group TEST11_SCAN_0011 SPIoutputCS(1); // drive CS high // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST11_SCAN_0011' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 SPIoutputCS if (SelfTestGroupEnable & 0x0100) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0100) #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 // @test group TEST11_SCAN_0011 tinyTester.print("0001_1001_1010_0000 ADC_MODE_CONTROL Scan_0011_StandardInt") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST11_SCAN_0011' // docTest_item['action'] = 'tinyTester.print("0001_1001_1010_0000 ADC_MODE_CONTROL Scan_0011_StandardInt")' // docTest_item['arglist'] = '0001_1001_1010_0000 ADC_MODE_CONTROL Scan_0011_StandardInt' #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 None if (SelfTestGroupEnable & 0x0100) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = "0001_1001_1010_0000 ADC_MODE_CONTROL Scan_0011_StandardInt" tinyTester.print("0001_1001_1010_0000 ADC_MODE_CONTROL Scan_0011_StandardInt"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0100) #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 // @test group TEST11_SCAN_0011 tinyTester.print(" CHSEL=3 RESET=1 SWCNV=0") // docTest_item['actionType'] = 'print-string' // docTest_item['group-id-value'] = 'TEST11_SCAN_0011' // docTest_item['action'] = 'tinyTester.print(" CHSEL=3 RESET=1 SWCNV=0")' // docTest_item['arglist'] = ' CHSEL=3 RESET=1 SWCNV=0' #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 None if (SelfTestGroupEnable & 0x0100) { // print-string // tinyTesterFuncName = "tinyTester.print" // tinyTesterPrintStringLiteral = " CHSEL=3 RESET=1 SWCNV=0" tinyTester.print(" CHSEL=3 RESET=1 SWCNV=0"); // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0100) #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 // @test group TEST11_SCAN_0011 SPIoutputCS(0); // drive CS low // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST11_SCAN_0011' // docTest_item['action'] = 'SPIoutputCS(0)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '0' #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 SPIoutputCS if (SelfTestGroupEnable & 0x0100) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0100) #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 // @test group TEST11_SCAN_0011 SPIwrite16bits(0x19a0); // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST11_SCAN_0011' // docTest_item['action'] = 'SPIwrite16bits(0x19a0)' // docTest_item['funcName'] = 'SPIwrite16bits' // docTest_item['arglist'] = '0x19a0' #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 SPIwrite16bits if (SelfTestGroupEnable & 0x0100) { // call-function // selfTestFunctionClosures['SPIwrite16bits']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIwrite16bits((int16_t)0x19a0), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIwrite16bits", fn_MAX11131_SPIwrite16bits, (int16_t)0x19a0, /* empty expect: */ (void)None); // g_MAX11131_device.SPIwrite16bits((int16_t)0x19a0); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0100) #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 // @test group TEST11_SCAN_0011 SPIoutputCS(1); // drive CS high // docTest_item['actionType'] = 'call-function' // docTest_item['group-id-value'] = 'TEST11_SCAN_0011' // docTest_item['action'] = 'SPIoutputCS(1)' // docTest_item['funcName'] = 'SPIoutputCS' // docTest_item['arglist'] = '1' #if MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 SPIoutputCS if (SelfTestGroupEnable & 0x0100) { // call-function // selfTestFunctionClosures['SPIoutputCS']['returnType'] = 'void' // ASSERT_EQ(g_MAX11131_device.SPIoutputCS((int)1), (void)None); // // tinyTester.FunctionCall_Expect("MAX11131.SPIoutputCS", fn_MAX11131_SPIoutputCS, (int)1, /* empty expect: */ (void)None); // g_MAX11131_device.SPIoutputCS((int)1); // call-function ExternFunction // // halt-on-first-failure logic if ((SelfTestGroupEnable & 0x0001) && (tinyTester.nFail != 0)) { goto exitTesting; } } // if (SelfTestGroupEnable & 0x0100) #endif // MAX11131_SELFTEST_TEST11_SCAN_0011 // group TEST11_SCAN_0011 // #if INJECT_SELFTEST_FAIL // Test of the pass/fail report mechanism tinyTester.FAIL(); cmdLine.serial().print(F("injecting one false failure for test reporting")); #endif // // repeat-until-failure logic // if (cmdLine.serial().readable()) { goto exitTesting; } if (serial.readable()) { goto exitTesting; } if ((SelfTestGroupEnable & 0x0002) && (tinyTester.nFail == 0)) { goto repeatUntilFailure; } // // halt-on-first-failure logic exitTesting: // // Report number of pass and number of fail test results tinyTester.Report_Summary(); } //-------------------------------------------------- // selfTestFunctionClosures[functionName]['functionName'] = 'SPIfrequency' // selfTestFunctionClosures[functionName]['argListDeclaration'] = 'int spi_sclk_Hz' // selfTestFunctionClosures[functionName]['returnType'] = 'void' // selfTestFunctionClosures[functionName]['argNames'] = 'spi_sclk_Hz' // CommandParamIn_declaration = 'int spi_sclk_Hz' // argNames_recast_implementation = '(int)spi_sclk_Hz' //-------------------------------------------------- // selftest: define function under test // void MAX11131::SPIfrequency(int spi_sclk_Hz) void fn_MAX11131_SPIfrequency(int spi_sclk_Hz) { return g_MAX11131_device.SPIfrequency((int)spi_sclk_Hz); // ExternFunction } //-------------------------------------------------- // selfTestFunctionClosures[functionName]['functionName'] = 'SPIgetFrequency' // selfTestFunctionClosures[functionName]['argListDeclaration'] = 'void' // selfTestFunctionClosures[functionName]['returnType'] = 'int' // selfTestFunctionClosures[functionName]['argNames'] = '' // CommandParamIn_declaration = 'void' // argNames_recast_implementation = '' //-------------------------------------------------- // selftest: define function under test // int MAX11131::SPIgetFrequency(void) int fn_MAX11131_SPIgetFrequency(void) { return g_MAX11131_device.SPIgetFrequency(); // ExternFunction } //-------------------------------------------------- // selfTestFunctionClosures[functionName]['functionName'] = 'SPIoutputCS' // selfTestFunctionClosures[functionName]['argListDeclaration'] = 'int isLogicHigh' // selfTestFunctionClosures[functionName]['returnType'] = 'void' // selfTestFunctionClosures[functionName]['argNames'] = 'isLogicHigh' // CommandParamIn_declaration = 'int isLogicHigh' // argNames_recast_implementation = '(int)isLogicHigh' //-------------------------------------------------- // selftest: define function under test // void MAX11131::SPIoutputCS(int isLogicHigh) void fn_MAX11131_SPIoutputCS(int isLogicHigh) { return g_MAX11131_device.SPIoutputCS((int)isLogicHigh); // ExternFunction } //-------------------------------------------------- // selfTestFunctionClosures[functionName]['functionName'] = 'SPIread16bits' // selfTestFunctionClosures[functionName]['argListDeclaration'] = 'void' // selfTestFunctionClosures[functionName]['returnType'] = 'int16_t' // selfTestFunctionClosures[functionName]['argNames'] = '' // CommandParamIn_declaration = 'void' // argNames_recast_implementation = '' //-------------------------------------------------- // selftest: define function under test // int16_t MAX11131::SPIread16bits(void) int16_t fn_MAX11131_SPIread16bits(void) { return g_MAX11131_device.SPIread16bits(); // ExternFunction } //-------------------------------------------------- // selfTestFunctionClosures[functionName]['functionName'] = 'Init' // selfTestFunctionClosures[functionName]['argListDeclaration'] = 'void' // selfTestFunctionClosures[functionName]['returnType'] = 'void' // selfTestFunctionClosures[functionName]['argNames'] = '' // CommandParamIn_declaration = 'void' // argNames_recast_implementation = '' //-------------------------------------------------- // selftest: define function under test // void MAX11131::Init(void) void fn_MAX11131_Init(void) { return g_MAX11131_device.Init(); } //-------------------------------------------------- // selfTestFunctionClosures[functionName]['functionName'] = 'SPIwrite16bits' // selfTestFunctionClosures[functionName]['argListDeclaration'] = 'int16_t mosiData16' // selfTestFunctionClosures[functionName]['returnType'] = 'void' // selfTestFunctionClosures[functionName]['argNames'] = 'mosiData16' // CommandParamIn_declaration = 'int16_t mosiData16' // argNames_recast_implementation = '(int16_t)mosiData16' //-------------------------------------------------- // selftest: define function under test // void MAX11131::SPIwrite16bits(int16_t mosiData16) void fn_MAX11131_SPIwrite16bits(int16_t mosiData16) { return g_MAX11131_device.SPIwrite16bits((int16_t)mosiData16); // ExternFunction } //-------------------------------------------------- // selfTestFunctionClosures[functionName]['functionName'] = 'ScanStandardExternalClock' // selfTestFunctionClosures[functionName]['argListDeclaration'] = 'void' // selfTestFunctionClosures[functionName]['returnType'] = 'int' // selfTestFunctionClosures[functionName]['argNames'] = '' // CommandParamIn_declaration = 'void' // argNames_recast_implementation = '' //-------------------------------------------------- // selftest: define function under test // int MAX11131::ScanStandardExternalClock(void) int fn_MAX11131_ScanStandardExternalClock(void) { return g_MAX11131_device.ScanStandardExternalClock(); } //-------------------------------------------------- // selfTestFunctionClosures[functionName]['functionName'] = 'ReadAINcode' // selfTestFunctionClosures[functionName]['argListDeclaration'] = 'void' // selfTestFunctionClosures[functionName]['returnType'] = 'void' // selfTestFunctionClosures[functionName]['argNames'] = '' // CommandParamIn_declaration = 'void' // argNames_recast_implementation = '' //-------------------------------------------------- // selftest: define function under test // void MAX11131::ReadAINcode(void) void fn_MAX11131_ReadAINcode(void) { return g_MAX11131_device.ReadAINcode(); } //-------------------------------------------------- inline void print_command_prompt() { cmdLine_serial.serial().printf("\r\n> "); } //-------------------------------------------------- void pinsMonitor_submenu_onEOLcommandParser(CmdLine& cmdLine) { // % diagnostic commands submenu // %Hpin -- digital output high // %Lpin -- digital output low // %?pin -- digital input // %A %Apin -- analog input // %Ppin df=xx -- pwm output // %Wpin -- measure high pulsewidth input in usec // %wpin -- measure low pulsewidth input in usec // %I... -- I2C diagnostics // %IP -- I2C probe // %IC scl=100khz ADDR=? -- I2C configure // %IW byte byte ... byte RD=? ADDR=0x -- write // %IR ADDR=? RD=? -- read // %I^ cmd=? -- i2c_smbus_read_word_data // %S... -- SPI diagnostics // %SC sclk=1Mhz -- SPI configure // %SW -- write (write and read) // %SR -- read (alias for %SW because SPI always write and read) // A-Z,a-z,0-9 reserved for application use // char strPinIndex[3]; strPinIndex[0] = cmdLine[2]; strPinIndex[1] = cmdLine[3]; strPinIndex[2] = '\0'; int pinIndex = strtoul(strPinIndex, NULL, 10); // strtol(str, NULL, 10): get decimal value //cmdLine.serial().printf(" pinIndex=%d ", pinIndex); // // get next character switch (cmdLine[1]) { #if HAS_digitalInOuts case 'H': case 'h': { // %Hpin -- digital output high #if ARDUINO_STYLE pinMode(pinIndex, OUTPUT); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 digitalWrite(pinIndex, HIGH); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 #else DigitalInOut& digitalInOutPin = find_digitalInOutPin(pinIndex); digitalInOutPin.output(); digitalInOutPin.write(1); #endif cmdLine.serial().printf(" digitalInOutPin %d Output High ", pinIndex); } break; case 'L': case 'l': { // %Lpin -- digital output low #if ARDUINO_STYLE pinMode(pinIndex, OUTPUT); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 digitalWrite(pinIndex, LOW); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 #else DigitalInOut& digitalInOutPin = find_digitalInOutPin(pinIndex); digitalInOutPin.output(); digitalInOutPin.write(0); #endif cmdLine.serial().printf(" digitalInOutPin %d Output Low ", pinIndex); } break; case '?': { // %?pin -- digital input #if ARDUINO_STYLE pinMode(pinIndex, INPUT); // digital pins 0, 1, 2, .. 13, analog input pins A0, A1, .. A5 #else DigitalInOut& digitalInOutPin = find_digitalInOutPin(pinIndex); digitalInOutPin.input(); #endif serial.printf(" digitalInOutPin %d Input ", pinIndex); #if ARDUINO_STYLE int value = digitalRead(pinIndex); #else int value = digitalInOutPin.read(); #endif cmdLine.serial().printf("%d ", value); } break; #endif // #if HAS_analogIns case 'A': case 'a': { // %A %Apin -- analog input #if analogIn4_IS_HIGH_RANGE_OF_analogIn0 // Platform board uses AIN4,AIN5,.. as high range of AIN0,AIN1,.. for (int pinIndex = 0; pinIndex < 2; pinIndex++) { int cPinIndex = '0' + pinIndex; AnalogIn& analogInPin = find_analogInPin(cPinIndex); float adc_full_scale_voltage = analogInPin_fullScaleVoltage[pinIndex]; float normValue_0_1 = analogInPin.read(); // int pinIndexH = pinIndex + 4; int cPinIndexH = '0' + pinIndexH; AnalogIn& analogInPinH = find_analogInPin(cPinIndexH); float adc_full_scale_voltageH = analogInPin_fullScaleVoltage[pinIndexH]; float normValueH_0_1 = analogInPinH.read(); // cmdLine.serial().printf("AIN%c = %7.3f%% = %1.3fV AIN%c = %7.3f%% = %1.3fV \r\n", cPinIndex, normValue_0_1 * 100.0, normValue_0_1 * adc_full_scale_voltage, cPinIndexH, normValueH_0_1 * 100.0, normValueH_0_1 * adc_full_scale_voltageH ); } for (int pinIndex = 2; pinIndex < 4; pinIndex++) { int cPinIndex = '0' + pinIndex; AnalogIn& analogInPin = find_analogInPin(cPinIndex); float adc_full_scale_voltage = analogInPin_fullScaleVoltage[pinIndex]; float normValue_0_1 = analogInPin.read(); // cmdLine.serial().printf("AIN%c = %7.3f%% = %1.3fV\r\n", cPinIndex, normValue_0_1 * 100.0, normValue_0_1 * adc_full_scale_voltage ); } #else // analogIn4_IS_HIGH_RANGE_OF_analogIn0 // Platform board uses simple analog inputs // assume standard Arduino analog inputs A0-A5 for (int pinIndex = 0; pinIndex < 6; pinIndex++) { int cPinIndex = '0' + pinIndex; AnalogIn& analogInPin = find_analogInPin(cPinIndex); float adc_full_scale_voltage = analogInPin_fullScaleVoltage[pinIndex]; float normValue_0_1 = analogInPin.read(); // cmdLine.serial().printf("AIN%c = %7.3f%% = %1.3fV\r\n", cPinIndex, normValue_0_1 * 100.0, normValue_0_1 * adc_full_scale_voltage ); } #endif // analogIn4_IS_HIGH_RANGE_OF_analogIn0 } break; #endif // #if HAS_SPI2_MAX541 case 'D': case 'd': { // %D -- DAC output MAX541 (SPI2) -- need cmdLine.parse_float(voltageV) // MAX541 max541(spi2_max541, spi2_max541_cs); float voltageV = max541.Get_Voltage(); // if (cmdLine[2] == '+') { // // %D+ // voltageV = voltageV * 1.25f; // if (voltageV >= max541.VRef) voltageV = max541.VRef; // SelfTest_MAX541_Voltage(cmdLine, max541, voltageV); // } // else if (cmdLine[2] == '-') { // // %D- // voltageV = voltageV * 0.75f; // if (voltageV < 0.1f) voltageV = 0.1f; // SelfTest_MAX541_Voltage(cmdLine, max541, voltageV); // } if (cmdLine.parse_float("V", voltageV)) { // %D V=1.234 -- set voltage max541.Set_Voltage(voltageV); } else if (cmdLine.parse_float("TEST", voltageV)) { // %D TEST=1.234 -- set voltage and compare with AIN0 SelfTest_MAX541_Voltage(cmdLine, max541, voltageV); } else if (cmdLine.parse_float("CAL", voltageV)) { // %D CAL=1.234 -- calibrate VRef and compare with AIN0 max541.Set_Code(0x8000); // we don't know the fullscale voltage yet, so set code to midscale double max541_midscale_V = analogInPin_fullScaleVoltage[4] * analogIn4.read(); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V const int average_count = 100; const double average_K = 0.25; for (int count = 0; count < average_count; count++) { double measurement_V = analogInPin_fullScaleVoltage[4] * analogIn4.read(); // TARGET_MAX32630 J1.5 AIN_4 = AIN0 / 5.0 fullscale is 6.0V max541_midscale_V = ((1 - average_K) * max541_midscale_V) + (average_K * measurement_V); } max541.VRef = 2.0 * max541_midscale_V; cmdLine.serial().printf( "\r\n MAX541 midscale = %1.3fV, so fullscale = %1.3fV", max541_midscale_V, max541.VRef); // Detect whether MAX541 is really connected to MAX32625MBED.AIN0/AIN4 voltageV = 1.0f; SelfTest_MAX541_Voltage(cmdLine, max541, voltageV); } else { // %D -- print MAX541 DAC status cmdLine.serial().printf("MAX541 code=0x%4.4x = %1.3fV VRef=%1.3fV\r\n", max541.Get_Code(), max541.Get_Voltage(), max541.VRef); } } break; #endif // #if HAS_I2C // SUPPORT_I2C case 'I': case 'i': // %I... -- I2C diagnostics // %IP -- I2C probe // %IC scl=100khz ADDR=? -- I2C configure // %IW byte byte ... byte RD=? ADDR=0x -- write // %IR ADDR=? RD=? -- read // %I^ cmd=? -- i2c_smbus_read_word_data // get next character // TODO: parse cmdLine arg (ADDR=\d+)? --> g_I2C_deviceAddress7 cmdLine.parse_byte_hex("ADDR", g_I2C_deviceAddress7); // TODO: parse cmdLine arg (RD=\d)? --> g_I2C_read_count g_I2C_read_count = 0; // read count must be reset every command cmdLine.parse_byte_dec("RD", g_I2C_read_count); // TODO: parse cmdLine arg (CMD=\d)? --> g_I2C_command_regAddress cmdLine.parse_byte_hex("CMD", g_I2C_command_regAddress); switch (cmdLine[2]) { case 'P': case 'p': { // %IP -- I2C probe HuntAttachedI2CDevices(cmdLine, 0x03, 0x77); } break; case 'C': case 'c': { bool isUpdatedI2CConfig = false; // %IC scl=100khz ADDR=? -- I2C configure // parse cmdLine arg (SCL=\d+(kHZ|MHZ)?)? --> g_I2C_SCL_Hz if (cmdLine.parse_frequency_Hz("SCL", g_I2C_SCL_Hz)) { isUpdatedI2CConfig = true; // TODO1: validate g_I2C_SCL_Hz against system clock frequency F_CPU if (g_I2C_SCL_Hz > limit_max_I2C_SCL_Hz) { g_I2C_SCL_Hz = limit_max_I2C_SCL_Hz; } if (g_I2C_SCL_Hz < limit_min_I2C_SCL_Hz) { g_I2C_SCL_Hz = limit_min_I2C_SCL_Hz; } } if (isUpdatedI2CConfig) { // declare in narrower scope: MAX32625MBED I2C i2cMaster(...) I2C i2cMaster(I2C0_SDA, I2C0_SCL); // sda scl TARGET_MAX32635MBED: P1_6, P1_7 Arduino 10-pin header i2cMaster.frequency(g_I2C_SCL_Hz); i2cMaster.start(); i2cMaster.stop(); i2cMaster.frequency(g_I2C_SCL_Hz); cmdLine.serial().printf( "\r\n %%IC ADDR=0x%2.2x=(0x%2.2x>>1) SCL=%d=%1.3fkHz -- I2C config", g_I2C_deviceAddress7, (g_I2C_deviceAddress7 << 1), g_I2C_SCL_Hz, (g_I2C_SCL_Hz / 1000.)); i2cMaster.start(); i2cMaster.stop(); } } break; case 'W': case 'w': { // declare in narrower scope: MAX32625MBED I2C i2cMaster(...) I2C i2cMaster(I2C0_SDA, I2C0_SCL); // sda scl TARGET_MAX32635MBED: P1_6, P1_7 Arduino 10-pin header i2cMaster.frequency(g_I2C_SCL_Hz); // %IW byte byte ... byte RD=? ADDR=0x -- write // parse cmdLine byte list --> int byteCount; int mosiData[MAX_SPI_BYTE_COUNT]; #define MAX_I2C_BYTE_COUNT 32 size_t byteCount = byteCount; static char mosiData[MAX_I2C_BYTE_COUNT]; static char misoData[MAX_I2C_BYTE_COUNT]; if (cmdLine.parse_byteCount_byteList_hex(byteCount, mosiData, MAX_I2C_BYTE_COUNT)) { // hex dump mosiData[0..byteCount-1] cmdLine.serial().printf( "\r\nADDR=0x%2.2x=(0x%2.2x>>1) byteCount:%d RD=%d\r\nI2C MOSI->", g_I2C_deviceAddress7, (g_I2C_deviceAddress7 << 1), byteCount, g_I2C_read_count); for (unsigned int byteIndex = 0; byteIndex < byteCount; byteIndex++) { cmdLine.serial().printf(" 0x%2.2X", mosiData[byteIndex]); } // // TODO: i2c transfer //const int addr7bit = 0x48; // 7 bit I2C address //const int addr8bit = 0x48 << 1; // 8bit I2C address, 0x90 // /* int */ i2cMaster.read (int addr8bit, char *data, int length, bool repeated=false) // Read from an I2C slave. // /* int */ i2cMaster.read (int ack) // Read a single byte from the I2C bus. // /* int */ i2cMaster.write (int addr8bit, const char *data, int length, bool repeated=false) // Write to an I2C slave. // /* int */ i2cMaster.write (int data) // Write single byte out on the I2C bus. // /* void */ i2cMaster.start (void) // Creates a start condition on the I2C bus. // /* void */ i2cMaster.stop (void) // Creates a stop condition on the I2C bus. // /* 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... // /* void */ i2cMaster.abort_transfer () // Abort the ongoing I2C transfer. More... const int addr8bit = g_I2C_deviceAddress7 << 1; // 8bit I2C address, 0x90 unsigned int misoLength = 0; bool repeated = (g_I2C_read_count > 0); // int writeStatus = i2cMaster.write (addr8bit, mosiData, byteCount, repeated); switch (writeStatus) { case 0: cmdLine.serial().printf(" ack "); break; case 1: cmdLine.serial().printf(" nack "); break; default: cmdLine.serial().printf(" {writeStatus 0x%2.2X} ", writeStatus); } if (repeated) { int readStatus = i2cMaster.read (addr8bit, misoData, g_I2C_read_count, false); switch (readStatus) { case 1: cmdLine.serial().printf(" nack "); break; case 0: cmdLine.serial().printf(" ack "); break; default: cmdLine.serial().printf(" {readStatus 0x%2.2X} ", readStatus); } } // if (misoLength > 0) { // hex dump misoData[0..byteCount-1] cmdLine.serial().printf(" MISO<-"); for (unsigned int byteIndex = 0; byteIndex < g_I2C_read_count; byteIndex++) { cmdLine.serial().printf(" 0x%2.2X", misoData[byteIndex]); } } cmdLine.serial().printf(" "); } } break; case 'R': case 'r': { // declare in narrower scope: MAX32625MBED I2C i2cMaster(...) I2C i2cMaster(I2C0_SDA, I2C0_SCL); // sda scl TARGET_MAX32635MBED: P1_6, P1_7 Arduino 10-pin header i2cMaster.frequency(g_I2C_SCL_Hz); // %IR ADDR=? RD=? -- read // TODO: i2c transfer //const int addr7bit = 0x48; // 7 bit I2C address //const int addr8bit = 0x48 << 1; // 8bit I2C address, 0x90 // /* int */ i2cMaster.read (int addr8bit, char *data, int length, bool repeated=false) // Read from an I2C slave. // /* int */ i2cMaster.read (int ack) // Read a single byte from the I2C bus. // /* int */ i2cMaster.write (int addr8bit, const char *data, int length, bool repeated=false) // Write to an I2C slave. // /* int */ i2cMaster.write (int data) // Write single byte out on the I2C bus. // /* void */ i2cMaster.start (void) // Creates a start condition on the I2C bus. // /* void */ i2cMaster.stop (void) // Creates a stop condition on the I2C bus. // /* 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... // /* void */ i2cMaster.abort_transfer () // Abort the ongoing I2C transfer. More... } break; case '^': { // declare in narrower scope: MAX32625MBED I2C i2cMaster(...) I2C i2cMaster(I2C0_SDA, I2C0_SCL); // sda scl TARGET_MAX32635MBED: P1_6, P1_7 Arduino 10-pin header i2cMaster.frequency(g_I2C_SCL_Hz); // %I^ cmd=? -- i2c_smbus_read_word_data // TODO: i2c transfer //const int addr7bit = 0x48; // 7 bit I2C address //const int addr8bit = 0x48 << 1; // 8bit I2C address, 0x90 // /* int */ i2cMaster.read (int addr8bit, char *data, int length, bool repeated=false) // Read from an I2C slave. // /* int */ i2cMaster.read (int ack) // Read a single byte from the I2C bus. // /* int */ i2cMaster.write (int addr8bit, const char *data, int length, bool repeated=false) // Write to an I2C slave. // /* int */ i2cMaster.write (int data) // Write single byte out on the I2C bus. // /* void */ i2cMaster.start (void) // Creates a start condition on the I2C bus. // /* void */ i2cMaster.stop (void) // Creates a stop condition on the I2C bus. // /* 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... // /* void */ i2cMaster.abort_transfer () // Abort the ongoing I2C transfer. More... } break; } // switch(cmdLine[2]) break; #endif // #if HAS_SPI // SUPPORT_SPI case 'S': case 's': { // %S... -- SPI diagnostics // %SC sclk=1Mhz -- SPI configure // %SW -- write (write and read) // %SR -- read (alias for %SW because SPI always write and read) // // Process arguments SCLK=\d+(kHZ|MHZ) CPOL=\d CPHA=\d bool isUpdatedSPIConfig = false; // parse cmdLine arg (CPOL=\d)? --> g_SPI_dataMode | SPI_MODE2 // parse cmdLine arg (CPHA=\d)? --> g_SPI_dataMode | SPI_MODE1 if (cmdLine.parse_flag("CPOL", g_SPI_dataMode, SPI_MODE2)) { isUpdatedSPIConfig = true; } if (cmdLine.parse_flag("CPHA", g_SPI_dataMode, SPI_MODE1)) { isUpdatedSPIConfig = true; } if (cmdLine.parse_flag("CS", g_SPI_cs_state, 1)) { isUpdatedSPIConfig = true; } // parse cmdLine arg (SCLK=\d+(kHZ|MHZ)?)? --> g_SPI_SCLK_Hz if (cmdLine.parse_frequency_Hz("SCLK", g_SPI_SCLK_Hz)) { isUpdatedSPIConfig = true; // TODO1: validate g_SPI_SCLK_Hz against system clock frequency F_CPU if (g_SPI_SCLK_Hz > limit_max_SPI_SCLK_Hz) { g_SPI_SCLK_Hz = limit_max_SPI_SCLK_Hz; } if (g_SPI_SCLK_Hz < limit_min_SPI_SCLK_Hz) { g_SPI_SCLK_Hz = limit_min_SPI_SCLK_Hz; } } // Update SPI configuration if (isUpdatedSPIConfig) { // %SC sclk=1Mhz -- SPI configure spi_cs = g_SPI_cs_state; spi.format(8,g_SPI_dataMode); // int bits_must_be_8, int mode=0_3 CPOL=0,CPHA=0 #if APPLICATION_MAX5715 g_MAX5715_device.spi_frequency(g_SPI_SCLK_Hz); #elif APPLICATION_MAX11131 g_MAX11131_device.spi_frequency(g_SPI_SCLK_Hz); #elif APPLICATION_MAX5171 g_MAX5171_device.spi_frequency(g_SPI_SCLK_Hz); #elif APPLICATION_MAX11410 g_MAX11410_device.spi_frequency(g_SPI_SCLK_Hz); #elif APPLICATION_MAX12345 g_MAX12345_device.spi_frequency(g_SPI_SCLK_Hz); #else spi.frequency(g_SPI_SCLK_Hz); // int SCLK_Hz=1000000 = 1MHz (initial default) #endif // double ideal_divisor = ((double)SystemCoreClock) / g_SPI_SCLK_Hz; int actual_divisor = (int)(ideal_divisor + 0.0); // frequency divisor truncate double actual_SCLK_Hz = SystemCoreClock / actual_divisor; // // 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=] cmdLine.serial().printf( "\r\n %%SC CPOL=%d CPHA=%d CS=%d SCLK=%ld=%1.3fMHz (%1.1fMHz/%1.2f = actual %1.3fMHz) -- SPI config", ((g_SPI_dataMode & SPI_MODE2) ? 1 : 0), ((g_SPI_dataMode & SPI_MODE1) ? 1 : 0), g_SPI_cs_state, g_SPI_SCLK_Hz, (g_SPI_SCLK_Hz / 1000000.), ((double)(SystemCoreClock / 1000000.)), ideal_divisor, (actual_SCLK_Hz / 1000000.) ); } // get next character switch (cmdLine[2]) { case 'C': case 's': // %SC sclk=1Mhz -- SPI configure break; case 'D': case 'd': // %SD -- SPI diagnostic messages enable if (g_MAX11131_device.onSPIprint) { g_MAX11131_device.onSPIprint = NULL; // no g_MAX11131_device.loop_limit property; device_has_property(Device, 'loop_limit') != None is false } else { void onSPIprint_handler(size_t byteCount, uint8_t mosiData[], uint8_t misoData[]); g_MAX11131_device.onSPIprint = onSPIprint_handler; // no g_MAX11131_device.loop_limit property; device_has_property(Device, 'loop_limit') is false } break; case 'W': case 'R': case 'w': case 'r': { // %SW -- write (write and read) // %SR -- read (alias for %SW because SPI always write and read) // parse cmdLine byte list --> int byteCount; int mosiData[MAX_SPI_BYTE_COUNT]; #define MAX_SPI_BYTE_COUNT 32 size_t byteCount = byteCount; static char mosiData[MAX_SPI_BYTE_COUNT]; static char misoData[MAX_SPI_BYTE_COUNT]; if (cmdLine.parse_byteCount_byteList_hex(byteCount, mosiData, MAX_SPI_BYTE_COUNT)) { // hex dump mosiData[0..byteCount-1] cmdLine.serial().printf("\r\nSPI"); if (byteCount > 7) { cmdLine.serial().printf(" byteCount:%d", byteCount); } cmdLine.serial().printf(" MOSI->"); for (unsigned int byteIndex = 0; byteIndex < byteCount; byteIndex++) { cmdLine.serial().printf(" 0x%2.2X", mosiData[byteIndex]); } spi_cs = 0; unsigned int numBytesTransferred = spi.write(mosiData, byteCount, misoData, byteCount); spi_cs = 1; // hex dump misoData[0..byteCount-1] cmdLine.serial().printf(" MISO<-"); for (unsigned int byteIndex = 0; byteIndex < numBytesTransferred; byteIndex++) { cmdLine.serial().printf(" 0x%2.2X", misoData[byteIndex]); } cmdLine.serial().printf(" "); } } break; } // switch(cmdLine[2]) } // case 'S': // %S... -- SPI diagnostics break; #endif // // A-Z,a-z,0-9 reserved for application use } // switch(cmdLine[1]) } // end void pinsMonitor_submenu_onEOLcommandParser(CmdLine & cmdLine) //-------------------------------------------------- void main_menu_status(CmdLine & cmdLine) { cmdLine.serial().printf("\r\nMain menu"); cmdLine.serial().printf(" MAX11131 12-bit 3Msps 16-ch ADC"); //cmdLine.serial().print(" %s", TARGET_NAME); if (cmdLine.nameStr()) { cmdLine.serial().printf(" [%s]", cmdLine.nameStr()); } cmdLine.serial().printf("\r\n ? -- help"); } //-------------------------------------------------- void main_menu_help(CmdLine & cmdLine) { // ? -- help //~ cmdLine.serial().print(F("\r\nMenu:")); cmdLine.serial().printf("\r\n # -- lines beginning with # are comments"); cmdLine.serial().printf("\r\n . runall=? runfail=? loopall=? loopfail=? -- SelfTest"); //cmdLine.serial().print(F("\r\n ! -- Initial Configuration")); // // % standardize diagnostic commands // %Hpin -- digital output high // %Lpin -- digital output low // %?pin -- digital input // %A %Apin -- analog input // %Ppin df=xx -- pwm output // %Wpin -- measure high pulsewidth input in usec // %wpin -- measure low pulsewidth input in usec // %I... -- I2C diagnostics // %IP -- I2C probe // %IC scl=100khz ADDR=? -- I2C configure // %IW ADDR=? cmd=? data,data,data -- write // %IR ADDR=? RD=? -- read // %I^ cmd=? -- i2c_smbus_read_word_data // %S... -- SPI diagnostics // %SC sclk=1Mhz -- SPI configure // %SW -- write (write and read) // %SR -- read (alias for %SW because SPI always write and read) // A-Z,a-z,0-9 reserved for application use // #if HAS_digitalInOuts // %Hpin -- digital output high // %Lpin -- digital output low // %?pin -- digital input cmdLine.serial().printf("\r\n %%Hn {pin:"); list_digitalInOutPins(cmdLine.serial()); cmdLine.serial().printf("} -- High Output"); cmdLine.serial().printf("\r\n %%Ln {pin:"); list_digitalInOutPins(cmdLine.serial()); cmdLine.serial().printf("} -- Low Output"); cmdLine.serial().printf("\r\n %%?n {pin:"); list_digitalInOutPins(cmdLine.serial()); cmdLine.serial().printf("} -- Input"); #endif #if HAS_analogIns // Menu A) analogRead A0..7 // %A %Apin -- analog input // analogRead(pinIndex) // analog input pins A0, A1, A2, A3, A4, A5; float voltage = analogRead(A0) * (5.0 / 1023.0) cmdLine.serial().printf("\r\n %%A -- analogRead"); #endif #if HAS_SPI2_MAX541 // TODO1: MAX541 max541(spi2_max541, spi2_max541_cs); cmdLine.serial().printf("\r\n %%D -- DAC output MAX541 (SPI2)"); #endif #if HAS_I2C // SUPPORT_I2C // TODO: support I2C HAS_I2C // SUPPORT_I2C // VERIFY: I2C utility commands SUPPORT_I2C // VERIFY: report g_I2C_SCL_Hz = (F_CPU / ((TWBR * 2) + 16)) from last Wire_Sr.setClock(I2C_SCL_Hz); // %I... -- I2C diagnostics // %IP -- I2C probe // %IC scl=100khz ADDR=? -- I2C configure // %IW byte byte ... byte RD=? ADDR=0x -- write // %IR ADDR=? RD=? -- read // %I^ cmd=? -- i2c_smbus_read_word_data //g_I2C_SCL_Hz = (F_CPU / ((TWBR * 2) + 16)); // 'F_CPU' 'TWBR' not declared in this scope cmdLine.serial().printf("\r\n %%IC ADDR=0x%2.2x=(0x%2.2x>>1) SCL=%d=%1.3fkHz -- I2C config", g_I2C_deviceAddress7, (g_I2C_deviceAddress7 << 1), g_I2C_SCL_Hz, (g_I2C_SCL_Hz / 1000.)); cmdLine.serial().printf("\r\n %%IW byte byte ... byte RD=? ADDR=0x%2.2x -- I2C write/read", g_I2C_deviceAddress7); // #if SUPPORT_I2C // Menu ^ cmd=?) i2c_smbus_read_word_data cmdLine.serial().printf("\r\n %%I^ cmd=? -- i2c_smbus_read_word_data"); // test low-level I2C i2c_smbus_read_word_data #endif // SUPPORT_I2C //cmdLine.serial().printf(" H) Hunt for attached I2C devices"); cmdLine.serial().printf("\r\n %%IP -- I2C Probe for attached devices"); // cmdLine.serial().printf(" s) search i2c address"); #endif // SUPPORT_I2C #if HAS_SPI // SUPPORT_SPI // TODO: support SPI HAS_SPI // SUPPORT_SPI // SPI test command S (mosiData)+ // %S... -- SPI diagnostics // %SC sclk=1Mhz -- SPI configure // %SW -- write (write and read) // %SR -- read (alias for %SW because SPI always write and read) // spi.format(8,0); // int bits_must_be_8, int mode=0_3 CPOL=0,CPHA=0 rising edge (initial default) // spi.format(8,1); // int bits_must_be_8, int mode=0_3 CPOL=0,CPHA=1 falling edge (initial default) // spi.format(8,2); // int bits_must_be_8, int mode=0_3 CPOL=1,CPHA=0 falling edge (initial default) // spi.format(8,3); // int bits_must_be_8, int mode=0_3 CPOL=1,CPHA=1 rising edge (initial default) // spi.frequency(1000000); // int SCLK_Hz=1000000 = 1MHz (initial default) // mode | POL PHA // -----+-------- // 0 | 0 0 // 1 | 0 1 // 2 | 1 0 // 3 | 1 1 //cmdLine.serial().printf(" S) SPI mosi,mosi,...mosi hex bytes SCLK=1000000 CPOL=0 CPHA=0"); // 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=] cmdLine.serial().printf("\r\n %%SC SCLK=%ld=%1.3fMHz CPOL=%d CPHA=%d -- SPI config", g_SPI_SCLK_Hz, (g_SPI_SCLK_Hz / 1000000.), ((g_SPI_dataMode & SPI_MODE2) ? 1 : 0), ((g_SPI_dataMode & SPI_MODE1) ? 1 : 0)); cmdLine.serial().printf("\r\n %%SD -- SPI diagnostic messages "); if (g_MAX11131_device.onSPIprint) { cmdLine.serial().printf("hide"); } else { cmdLine.serial().printf("show"); } cmdLine.serial().printf("\r\n %%SW mosi,mosi,...mosi -- SPI write hex bytes"); // VERIFY: parse new SPI settings parse_strCommandArgs() SCLK=1000000 CPOL=0 CPHA=0 #endif // SUPPORT_SPI // // Application-specific commands (help text) here // #if APPLICATION_ArduinoPinsMonitor cmdLine.serial().printf("\r\n A-Z,a-z,0-9 -- reserved for application use"); // ArduinoPinsMonitor #endif // APPLICATION_ArduinoPinsMonitor // extern void MAX11131_menu_help(CmdLine & cmdLine); // defined in Test_Menu_MAX11131.cpp\n MAX11131_menu_help(cmdLine); } //-------------------------------------------------- // main menu command-line parser // invoked by CmdLine::append(char ch) or CmdLine::idleAppendIfReadable() void main_menu_onEOLcommandParser(CmdLine & cmdLine) { // DIAGNOSTIC: print line buffer //~ cmdLine.serial().printf("\r\nmain_menu_onEOLcommandParser: ~%s~\r\n", cmdLine.str()); // switch (cmdLine[0]) { case '?': main_menu_status(cmdLine); main_menu_help(cmdLine); // print command prompt //cmdLine.serial().printf("\r\n>"); break; case '\r': case '\n': // ignore blank line case '\0': // ignore empty line case '#': // ignore comment line // # -- lines beginning with # are comments main_menu_status(cmdLine); //~ main_menu_help(cmdLine); // print command prompt //cmdLine.serial().printf("\r\n>"); break; #if ECHO_EOF_ON_EOL case '\x04': // Unicode (U+0004) EOT END OF TRANSMISSION = CTRL+D as EOF end of file cmdLine.serial().printf("\x04"); // immediately echo EOF for test scripting diagnostic_led_EOF(); break; case '\x1a': // Unicode (U+001A) SUB SUBSTITUTE = CTRL+Z as EOF end of file cmdLine.serial().printf("\x1a"); // immediately echo EOF for test scripting diagnostic_led_EOF(); break; #endif #if APPLICATION_ArduinoPinsMonitor case '.': { // . -- SelfTest cmdLine.serial().printf("SelfTest()"); // parse "run=0x0004" -- run selected tests if (cmdLine.parse_int_dec("run", SelfTestGroupEnable)) { } // parse "runall=0x0004" -- run selected tests, continue even if tests fail if (cmdLine.parse_int_dec("runall", SelfTestGroupEnable)) { SelfTestGroupEnable &=~ 2; // xxxxxx0x: no repeat-until-failure SelfTestGroupEnable &=~ 1; // xxxxxxx0: no halt-on-first-failure } // parse "runfail=0x0004" -- run selected tests, halt on first failure if (cmdLine.parse_int_dec("runfail", SelfTestGroupEnable)) { SelfTestGroupEnable &=~ 2; // xxxxxx0x: no repeat-until-failure SelfTestGroupEnable |= 1; // xxxxxxx1: halt-on-first-failure } // parse "loopall=0x0004" -- run selected tests, repeat until keypress if (cmdLine.parse_int_dec("loopall", SelfTestGroupEnable)) { SelfTestGroupEnable |= 2; // xxxxxx1x: repeat-until-failure SelfTestGroupEnable &=~ 1; // xxxxxx10 } // parse "loopfail=0x0004" -- run selected tests, repeat until first failure if (cmdLine.parse_int_dec("loopfail", SelfTestGroupEnable)) { SelfTestGroupEnable |= 2; // xxxxxx1x: repeat-until-failure SelfTestGroupEnable |= 1; // xxxxxxx1: halt-on-first-failure } SelfTest(cmdLine); } break; case '%': { pinsMonitor_submenu_onEOLcommandParser(cmdLine); } break; // case '%' #endif // APPLICATION_ArduinoPinsMonitor // // Application-specific commands here // alphanumeric command codes A-Z,a-z,0-9 reserved for application use // #if APPLICATION_ArduinoPinsMonitor #endif // APPLICATION_ArduinoPinsMonitor // // add new commands here // default: extern bool MAX11131_menu_onEOLcommandParser(CmdLine & cmdLine); // defined in Test_Menu_MAX11131.cpp if (!MAX11131_menu_onEOLcommandParser(cmdLine)) { // not_handled_by_device_submenu cmdLine.serial().printf("\r\n unknown command 0x%2.2x \"%s\"\r\n", cmdLine.str()[0], cmdLine.str()); # if HAS_DAPLINK_SERIAL cmdLine_DAPLINKserial.serial().printf("\r\n unknown command 0x%2.2x \"%s\"\r\n", cmdLine.str()[0], cmdLine.str()); # endif // HAS_DAPLINK_SERIAL } } // switch (cmdLine[0]) // // print command prompt cmdLine.serial().printf("\r\nMAX11131 > "); } // end void main_menu_onEOLcommandParser(CmdLine & cmdLine) //-------------------------------------------------- #if MAX11131_ONSPIPRINT // Optional Diagnostic function to print SPI transactions void onSPIprint_handler(size_t byteCount, uint8_t mosiData[], uint8_t misoData[]) { cmdLine_serial.serial().printf("\r\n SPI MOSI->"); for (uint8_t index = 0; index < byteCount; index++) { cmdLine_serial.serial().printf(" 0x%2.2X", mosiData[index]); } cmdLine_serial.serial().printf(" MISO<-"); for (uint8_t index = 0; index < byteCount; index++) { cmdLine_serial.serial().printf(" 0x%2.2X", misoData[index]); } cmdLine_serial.serial().printf(" "); } #endif // MAX11131_ONSPIPRINT //-------------------------------------------------- void InitializeConfiguration() { // CODE GENERATOR: example code: member function Init # if HAS_DAPLINK_SERIAL cmdLine_DAPLINKserial.serial().printf("\r\nMAX11131_Init()"); # endif cmdLine_serial.serial().printf("\r\nMAX11131_Init()"); g_MAX11131_device.Init(); // defined in #include MAX11131.h # if MAX11131_ONSPIPRINT // Optional Diagnostic function to print SPI transactions # if MAX11131_ONSPIPRINT_ENABLED g_MAX11131_device.onSPIprint = onSPIprint_handler; # else g_MAX11131_device.onSPIprint = NULL; # endif # endif } // end of void InitializeConfiguration() //-------------------------------------------------- // diagnostic rbg led GREEN void diagnostic_led_EOF() { #if USE_LEDS led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW // 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] ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250); led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250); led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250); led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN ThisThread::sleep_for(250); // [since mbed-os-5.10] vs Thread::wait(250); #endif // USE_LEDS } //-------------------------------------------------- // Support commands that get handled immediately w/o waiting for EOL // handled as immediate command, do not append to buffer void on_immediate_0x21() // Unicode (U+0021) ! EXCLAMATION MARK { #if USE_LEDS led1 = LED_OFF; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led BLUE #endif // USE_LEDS InitializeConfiguration(); ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); } //-------------------------------------------------- // Support commands that get handled immediately w/o waiting for EOL // handled as immediate command, do not append to buffer void on_immediate_0x7b() // Unicode (U+007B) { LEFT CURLY BRACKET { #if HAS_BUTTON2_DEMO_INTERRUPT onButton2FallingEdge(); #endif } //-------------------------------------------------- // Support commands that get handled immediately w/o waiting for EOL // handled as immediate command, do not append to buffer void on_immediate_0x7d() // Unicode (U+007D) } RIGHT CURLY BRACKET { #if HAS_BUTTON1_DEMO_INTERRUPT onButton1FallingEdge(); #endif } //---------------------------------------- // example code main function int main() { // Configure serial ports cmdLine_serial.clear(); //~ cmdLine_serial.serial().printf("\r\n cmdLine_serial.serial().printf test\r\n"); cmdLine_serial.onEOLcommandParser = main_menu_onEOLcommandParser; cmdLine_serial.diagnostic_led_EOF = diagnostic_led_EOF; /// CmdLine::set_immediate_handler(char, functionPointer_void_void_on_immediate_0x21); cmdLine_serial.on_immediate_0x21 = on_immediate_0x21; cmdLine_serial.on_immediate_0x7b = on_immediate_0x7b; cmdLine_serial.on_immediate_0x7d = on_immediate_0x7d; # if HAS_DAPLINK_SERIAL cmdLine_DAPLINKserial.clear(); //~ cmdLine_DAPLINKserial.serial().printf("\r\n cmdLine_DAPLINKserial.serial().printf test\r\n"); cmdLine_DAPLINKserial.onEOLcommandParser = main_menu_onEOLcommandParser; /// @todo CmdLine::set_immediate_handler(char, functionPointer_void_void_on_immediate_0x21); cmdLine_DAPLINKserial.on_immediate_0x21 = on_immediate_0x21; cmdLine_DAPLINKserial.on_immediate_0x7b = on_immediate_0x7b; cmdLine_DAPLINKserial.on_immediate_0x7d = on_immediate_0x7d; # endif //print_banner(); #if HAS_I2C // i2c init // declare in narrower scope: MAX32625MBED I2C i2cMaster(...) // i2cMaster.frequency(g_I2C_SCL_Hz); #else // Ensure that the unused I2C pins do not interfere with analog inputs A4 and A5 #if HAS_digitalInOut14 // DigitalInOut digitalInOut14(P1_6, PIN_INPUT, PullUp, 1); // P1_6 TARGET_MAX32635MBED A4/SDA (10pin digital connector) digitalInOut14.input(); #endif #if HAS_digitalInOut15 // DigitalInOut digitalInOut15(P1_7, PIN_INPUT, PullUp, 1); // P1_7 TARGET_MAX32635MBED A5/SCL (10pin digital connector) digitalInOut15.input(); #endif #if HAS_digitalInOut16 // DigitalInOut mode can be one of PullUp, PullDown, PullNone, OpenDrain // PullUp-->3.4V, PullDown-->1.7V, PullNone-->3.5V, OpenDrain-->0.00V //DigitalInOut digitalInOut16(P3_4, PIN_INPUT, OpenDrain, 0); // P3_4 TARGET_MAX32635MBED A4/SDA (6pin analog connector) digitalInOut16.input(); #endif #if HAS_digitalInOut17 //DigitalInOut digitalInOut17(P3_5, PIN_INPUT, OpenDrain, 0); // P3_5 TARGET_MAX32635MBED A5/SCL (6pin analog connector) digitalInOut17.input(); #endif #endif // HAS_I2C #if USE_LEDS #if defined(TARGET_MAX32630) led1 = LED_ON; led2 = LED_OFF; led3 = LED_OFF; // diagnostic rbg led RED ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); led1 = LED_OFF; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led BLUE ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); led1 = LED_ON; led2 = LED_ON; led3 = LED_ON; // diagnostic rbg led RED+GREEN+BLUE=WHITE ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); led1 = LED_OFF; led2 = LED_ON; led3 = LED_ON; // diagnostic rbg led GREEN+BLUE=CYAN ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); led1 = LED_ON; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led RED+BLUE=MAGENTA ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); led1 = LED_OFF; led2 = LED_OFF; led3 = LED_OFF; // diagnostic rbg led BLACK ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); #elif defined(TARGET_MAX32625MBED) led1 = LED_ON; led2 = LED_OFF; led3 = LED_OFF; // diagnostic rbg led RED ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); led1 = LED_OFF; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led GREEN ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); led1 = LED_OFF; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led BLUE ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); led1 = LED_ON; led2 = LED_ON; led3 = LED_ON; // diagnostic rbg led RED+GREEN+BLUE=WHITE ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); led1 = LED_OFF; led2 = LED_ON; led3 = LED_ON; // diagnostic rbg led GREEN+BLUE=CYAN ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); led1 = LED_ON; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led RED+BLUE=MAGENTA ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); led1 = LED_ON; led2 = LED_ON; led3 = LED_OFF; // diagnostic rbg led RED+GREEN=YELLOW ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); led1 = LED_OFF; led2 = LED_OFF; led3 = LED_OFF; // diagnostic rbg led BLACK ThisThread::sleep_for(125); // [since mbed-os-5.10] vs Thread::wait(125); #else // not defined(TARGET_LPC1768 etc.) led1 = LED_ON; led2 = LED_OFF; led3 = LED_OFF; led4 = LED_OFF; ThisThread::sleep_for(75); // [since mbed-os-5.10] vs Thread::wait(75); //led1 = LED_ON; led2 = LED_ON; ThisThread::sleep_for(75); // [since mbed-os-5.10] vs Thread::wait(75); led1 = LED_OFF; //led2 = LED_ON; led3 = LED_ON; ThisThread::sleep_for(75); // [since mbed-os-5.10] vs Thread::wait(75); led2 = LED_OFF; //led3 = LED_ON; led4 = LED_ON; ThisThread::sleep_for(75); // [since mbed-os-5.10] vs Thread::wait(75); led3 = LED_OFF; led4 = LED_ON; // #endif // target definition #endif // cmd_TE(); // #if USE_LEDS // rgb_led.white(); // diagnostic rbg led RED+GREEN+BLUE=WHITE // #endif // USE_LEDS if (led1.is_connected()) { led1 = LED_ON; } if (led2.is_connected()) { led2 = LED_ON; } if (led3.is_connected()) { led3 = LED_ON; } InitializeConfiguration(); // example code: serial port banner message #if defined(TARGET_MAX32625MBED) serial.printf("MAX32625MBED "); #elif defined(TARGET_MAX32625PICO) serial.printf("MAX32625PICO "); #elif defined(TARGET_MAX32600MBED) serial.printf("MAX32600MBED "); #elif defined(TARGET_NUCLEO_F446RE) serial.printf("NUCLEO_F446RE "); #endif serial.printf("MAX11131BOB\r\n"); while (1) { #if HAS_BUTTON1_DEMO_INTERRUPT_POLLING // avoid runtime error on button1 press [mbed-os-5.11] // instead of using InterruptIn, use DigitalIn and poll in main while(1) # if HAS_BUTTON1_DEMO_INTERRUPT static int button1_value_prev = 1; static int button1_value_now = 1; button1_value_prev = button1_value_now; button1_value_now = button1.read(); if ((button1_value_prev - button1_value_now) == 1) { // on button1 falling edge (button1 press) onButton1FallingEdge(); } # endif // HAS_BUTTON1_DEMO_INTERRUPT # if HAS_BUTTON2_DEMO_INTERRUPT static int button2_value_prev = 1; static int button2_value_now = 1; button2_value_prev = button2_value_now; button2_value_now = button2.read(); if ((button2_value_prev - button2_value_now) == 1) { // on button2 falling edge (button2 press) onButton2FallingEdge(); } # endif // HAS_BUTTON2_DEMO_INTERRUPT #endif # if HAS_DAPLINK_SERIAL if (DAPLINKserial.readable()) { cmdLine_DAPLINKserial.append(DAPLINKserial.getc()); } # endif // HAS_DAPLINK_SERIAL if (serial.readable()) { int c = serial.getc(); cmdLine_serial.append(c); #if IGNORE_AT_COMMANDS # if HAS_DAPLINK_SERIAL cmdLine_DAPLINKserial.serial().printf("%c", c); # endif // HAS_DAPLINK_SERIAL #endif // IGNORE_AT_COMMANDS // } } // while(1) }