Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: MaximTinyTester MAX11131 CmdLine MAX541 USBDevice
Test_Main_MAX11131.cpp
- Committer:
- whismanoid
- Date:
- 2021-06-06
- Revision:
- 34:e28c083ce03d
- Parent:
- 33:c8457aa26ed0
- Child:
- 35:cea78ee8292b
File content as of revision 34:e28c083ce03d:
// /*******************************************************************************
// * 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);
//--------------------------------------------------
// 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)
#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)
#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)
#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)
#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)
#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)
#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)
#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);
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
// TODO diagnostic LED
led1 = LED_OFF; led2 = LED_OFF; led3 = LED_ON; // diagnostic rbg led BLUE
}
#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();
// @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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "SPI 48MHz"
tinyTester.print("SPI 48MHz");
#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
// 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 //
#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
// 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); //
#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
// assign-propname-value
// tinyTesterPropName = "tinyTester.settle_time_msec"
// tinyTesterPropValue = "250"
tinyTester.settle_time_msec = 250;
#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
// call-tinytester-function
// tinyTesterFuncName = "tinyTester.Wait_Output_Settling"
// docTest_argList = ""
tinyTester.Wait_Output_Settling(); //
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "SPI 16MHz"
tinyTester.print("SPI 16MHz");
#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
// 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 //
#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
// 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); //
#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
// assign-propname-value
// tinyTesterPropName = "tinyTester.settle_time_msec"
// tinyTesterPropValue = "250"
tinyTester.settle_time_msec = 250;
#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
// call-tinytester-function
// tinyTesterFuncName = "tinyTester.Wait_Output_Settling"
// docTest_argList = ""
tinyTester.Wait_Output_Settling(); //
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "SPI 8MHz"
tinyTester.print("SPI 8MHz");
#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
// 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 //
#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
// 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); //
#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
// assign-propname-value
// tinyTesterPropName = "tinyTester.settle_time_msec"
// tinyTesterPropValue = "250"
tinyTester.settle_time_msec = 250;
#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
// call-tinytester-function
// tinyTesterFuncName = "tinyTester.Wait_Output_Settling"
// docTest_argList = ""
tinyTester.Wait_Output_Settling(); //
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "SPI 12MHz"
tinyTester.print("SPI 12MHz");
#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
// 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 //
#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
// 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); //
#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
// assign-propname-value
// tinyTesterPropName = "tinyTester.settle_time_msec"
// tinyTesterPropValue = "250"
tinyTester.settle_time_msec = 250;
#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
// call-tinytester-function
// tinyTesterFuncName = "tinyTester.Wait_Output_Settling"
// docTest_argList = ""
tinyTester.Wait_Output_Settling(); //
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// 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");
#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
// 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 //
#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
// 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");
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = " CHSEL=0 RESET=2 CHANID=1"
tinyTester.print(" CHSEL=0 RESET=2 CHANID=1");
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// 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");
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// 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");
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = " CHSEL=15 RESET=1 CHANID=1"
tinyTester.print(" CHSEL=15 RESET=1 CHANID=1");
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0x0xxx (channel ID 0)"
tinyTester.print("MISO --> expect 0x0xxx (channel ID 0)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0x1xxx (channel ID 1)"
tinyTester.print("MISO --> expect 0x1xxx (channel ID 1)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0x2xxx (channel ID 2)"
tinyTester.print("MISO --> expect 0x2xxx (channel ID 2)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0x3xxx (channel ID 3)"
tinyTester.print("MISO --> expect 0x3xxx (channel ID 3)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0x4xxx (channel ID 4)"
tinyTester.print("MISO --> expect 0x4xxx (channel ID 4)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0x5xxx (channel ID 5)"
tinyTester.print("MISO --> expect 0x5xxx (channel ID 5)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0x6xxx (channel ID 6)"
tinyTester.print("MISO --> expect 0x6xxx (channel ID 6)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0x7xxx (channel ID 7)"
tinyTester.print("MISO --> expect 0x7xxx (channel ID 7)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0x8xxx (channel ID 8)"
tinyTester.print("MISO --> expect 0x8xxx (channel ID 8)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0x9xxx (channel ID 9)"
tinyTester.print("MISO --> expect 0x9xxx (channel ID 9)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0xaxxx (channel ID 10)"
tinyTester.print("MISO --> expect 0xaxxx (channel ID 10)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0xbxxx (channel ID 11)"
tinyTester.print("MISO --> expect 0xbxxx (channel ID 11)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0xcxxx (channel ID 12)"
tinyTester.print("MISO --> expect 0xcxxx (channel ID 12)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0xdxxx (channel ID 13)"
tinyTester.print("MISO --> expect 0xdxxx (channel ID 13)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0xexxx (channel ID 14)"
tinyTester.print("MISO --> expect 0xexxx (channel ID 14)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "MISO --> expect 0xfxxx (channel ID 15)"
tinyTester.print("MISO --> expect 0xfxxx (channel ID 15)");
#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
// 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 //
#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)
// 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)
#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
// 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 //
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "4 ch=15 pm=0 id=1 -- ScanStandardExternalClock"
tinyTester.print("4 ch=15 pm=0 id=1 -- ScanStandardExternalClock");
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "channelNumber_0_15 = 15"
tinyTester.print("channelNumber_0_15 = 15");
#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
// assign-propname-value
// tinyTesterPropName = "channelNumber_0_15"
// tinyTesterPropValue = "15"
g_MAX11131_device.channelNumber_0_15 = 15;
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "PowerManagement_0_2 = 0"
tinyTester.print("PowerManagement_0_2 = 0");
#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
// assign-propname-value
// tinyTesterPropName = "PowerManagement_0_2"
// tinyTesterPropValue = "0"
g_MAX11131_device.PowerManagement_0_2 = 0;
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "chan_id_0_1 = 1"
tinyTester.print("chan_id_0_1 = 1");
#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]
// assign-propname-value
// tinyTesterPropName = "chan_id_0_1"
// tinyTesterPropValue = "1"
g_MAX11131_device.chan_id_0_1 = 1;
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "ScanStandardExternalClock() expect 16"
tinyTester.print("ScanStandardExternalClock() expect 16");
#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
// 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
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = "NumWords expect 16"
tinyTester.print("NumWords expect 16");
#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
// test-propname-expect-value
tinyTester.Expect("MAX11131.NumWords", g_MAX11131_device.NumWords, /* expect: */ 16); //
#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
// 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(); //
#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
// 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");
#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)
// 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)
#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)
// 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)
#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)
// 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)
#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)
// 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)
#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)
// 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)
#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)
// 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)
#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)
// 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)
#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)
// 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)
#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)
// 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)
#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)
// 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)
#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)
// 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)
#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)
// 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)
#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)
// 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)
#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)
// 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)
#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)
// 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)
#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)
// 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)
#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
// 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");
#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
// 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(); //
#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
// 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 //
#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
// 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");
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
// 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");
#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
// print-string
// tinyTesterFuncName = "tinyTester.print"
// tinyTesterPrintStringLiteral = " CHSEL=3 RESET=1 SWCNV=0"
tinyTester.print(" CHSEL=3 RESET=1 SWCNV=0");
#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
// 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 //
#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
// 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 //
#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
// 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 //
#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
//
// 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 . -- 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()");
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)
}