Firmware for MAXREFDES1213

Dependencies:   max32630fthr USBDevice

MAX11311_Electronic_Load.h

Committer:
venkik
Date:
2019-07-18
Revision:
9:29c618fec8fc

File content as of revision 9:29c618fec8fc:

/*******************************************************************************
* Copyright (C) 2017 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.                                                             
******************************************************************************* 
*/
/// Generated by: MAX11300/01/11/12 Configuration Software (Ver. 1.1.0.5) 13/03/2019 12:16
/// Description: Electronic load
/// Port P0: Differential in+ for measuring the source voltage
/// Port P1: Differential in- for measuring the source voltage
/// Port P2: ADC for measuring the low current
/// Port P3: DAC for setting the low current
/// Port P4: Input for dynamic current control
/// Port P5: DAC for setting the high current
/// Port P6: ADC for measuring the low current
/// Port P7: Not used
/// Port P8: Not used
/// Port P9: Clamp for lower limit curve
/// Port P10: Clamp for higher limit curve
/// Port P11: DAC for driving ramp generator
/// Notes: Optional: Enter design notes here
           
#ifndef _MAX11311_DESIGNVALUE_H_
#define _MAX11311_DESIGNVALUE_H_

/// Supply voltage on AVSSIO
#define MAX11300_AVSSIO_VOLTAGE -7

/// Supply voltage on AVDDIO
#define MAX11300_AVDDIO_VOLTAGE 12

/// Supply voltage on DVDD
#define MAX11300_DVDD_VOLTAGE 1.8

/// Supply voltage on AVDD
#define MAX11300_AVDD_VOLTAGE 5

/// Supply voltage on DAC_REF
#define MAX11300_DAC_REF_VOLTAGE 2.5

/// Supply voltage on ADC_EXT_REF
#define MAX11300_ADC_EXT_REF_VOLTAGE 2.5

/// SPI first byte when writing MAX11300 (7-bit address in bits 0x7E; LSB=0 for write)
#define MAX11311Addr_SPI_Write(RegAddr) ( (RegAddr << 1)     )

/// SPI first byte when reading MAX11300 (7-bit address in bits 0x7E; LSB=1 for read)
#define MAX11311Addr_SPI_Read(RegAddr)  ( (RegAddr << 1) | 1 )

/// MAX11300EVKIT Register Addresses
typedef enum MAX11311RegAddressEnum {

/// 0x00 r/o dev_id Device Identification
dev_id = 0x00,

/// 0x01 r/o interrupt_flag Interrupt flags
interrupt_flag = 0x01,

/// 0x02 r/o adc_status_P10P6_P5P0 new ADC data available
adc_status_P10P6_P5P0 = 0x02,

/// 0x03 r/o adc_status_P11 new ADC data available
adc_status_P11 = 0x03,

/// 0x04 r/o dac_oi_status_P10P6_P5P0 DAC Overcurrent Interrupt
dac_oi_status_P10P6_P5P0 = 0x04,

/// 0x05 r/o dac_oi_status_P11 DAC Overcurrent Interrupt
dac_oi_status_P11 = 0x05,

/// 0x06 r/o gpi_status_P10P6_P5P0 GPI event ready
 gpi_status_P10P6_P5P0 = 0x06,

/// 0x07 r/o gpi_status_P11 GPI event ready
gpi_status_P11 = 0x07,

/// 0x08 r/o tmp_int_data Internal Temeprature
tmp_int_data = 0x08,

/// 0x09 r/o tmp_ext1_data External Temperature D0P/D0N
tmp_ext1_data = 0x09,

/// 0x0a r/o tmp_ext2_data External Temperature D1P/D1N
tmp_ext2_data = 0x0a,

/// 0x0b r/o gpi_data_P10P6_P5P0 GPI input ports data
gpi_data_P10P6_P5P0 = 0x0b,

/// 0x0c r/o gpi_data_P11 GPI input ports data
gpi_data_P11 = 0x0c,

/// 0x0d r/w gpo_data_P10P6_P5P0 GPO output ports data
gpo_data_P10P6_P5P0 = 0x0d,

/// 0x0e r/w gpo_data_P11 GPO output ports data
gpo_data_P11 = 0x0e,

/// 0x0f r/o reserved_0F reserved
reserved_0F = 0x0f,

/// 0x10 r/w device_control Global device control register
device_control = 0x10,

/// 0x11 r/w interrupt_mask interrupt mask (1 = disable interrupt source)
interrupt_mask = 0x11,

/// 0x12 r/w gpi_irqmode_P5_P0 GPI ports P5 to P0 mode register
gpi_irqmode_P5_P0 = 0x12,

/// 0x13 r/w gpi_irqmode_P10_P6 GPI ports P10 to P6 mode register
gpi_irqmode_P10_P6 = 0x13,

/// 0x14 r/w gpi_irqmode_P11 GPI port P11 mode register
gpi_irqmode_P11 = 0x14,

/// 0x15 r/w reserved_15 (reserved)
reserved_15 = 0x15,

/// 0x16 r/w dac_preset_data_1 DAC preset activated by <see cref="device_control"/>
dac_preset_data_1 = 0x16,

/// 0x17 r/w dac_preset_data_2 DAC preset activated by <see cref="device_control"/>
dac_preset_data_2 = 0x17,

/// 0x18 r/w tmp_mon_cfg Temperautre Monitor Configuration
tmp_mon_cfg = 0x18,

/// 0x19 r/w tmp_mon_int_hi_thresh Internal Temeprature Hot Threshold
tmp_mon_int_hi_thresh = 0x19,

/// 0x1a r/w tmp_mon_int_lo_thresh Internal Temeprature Cold Threshold
tmp_mon_int_lo_thresh = 0x1a,

/// 0x1b r/w tmp_mon_ext1_hi_thresh External Temperature D0P/D0N Hot Threshold
tmp_mon_ext1_hi_thresh = 0x1b,

/// 0x1c r/w tmp_mon_ext1_lo_thresh External Temperature D0P/D0N Cold Threshold
tmp_mon_ext1_lo_thresh = 0x1c,

/// 0x1d r/w tmp_mon_ext2_hi_thresh External Temperature D1P/D1N Hot Threshold
tmp_mon_ext2_hi_thresh = 0x1d,

/// 0x1e r/w tmp_mon_ext2_lo_thresh External Temperature D1P/D1N Cold Threshold
tmp_mon_ext2_lo_thresh = 0x1e,

/// 0x1f r/w reserved_1F reserved
reserved_1F = 0x1f,

/// 0x20 r/w reserved_20 (reserved) configuration register
reserved_20 = 0x20,

/// 0x21 r/w reserved_21 (reserved) configuration register
reserved_21 = 0x21,

/// 0x22 r/w port_cfg_p0 PIXI port P0 configuration register
port_cfg_p0 = 0x22,

/// 0x23 r/w port_cfg_p1 PIXI port P1 configuration register
port_cfg_p1 = 0x23,

/// 0x24 r/w port_cfg_p2 PIXI port P2 configuration register
port_cfg_p2 = 0x24,

/// 0x25 r/w port_cfg_p3 PIXI port P3 configuration register
port_cfg_p3 = 0x25,

/// 0x26 r/w port_cfg_p4 PIXI port P4 configuration register
port_cfg_p4 = 0x26,

/// 0x27 r/w port_cfg_p5 PIXI port P5 configuration register
port_cfg_p5 = 0x27,

/// 0x28 r/w reserved_28 (reserved) configuration register
reserved_28 = 0x28,

/// 0x29 r/w reserved_29 (reserved) configuration register
reserved_29 = 0x29,

/// 0x2a r/w reserved_2A (reserved) configuration register
reserved_2A = 0x2a,

/// 0x2b r/w port_cfg_p6 PIXI port P6 configuration register
port_cfg_p6 = 0x2b,

/// 0x2c r/w port_cfg_p7 PIXI port P7 configuration register
port_cfg_p7 = 0x2c,

/// 0x2d r/w port_cfg_p8 PIXI port P8 configuration register
port_cfg_p8 = 0x2d,

/// 0x2e r/w port_cfg_p9 PIXI port P9 configuration register
port_cfg_p9 = 0x2e,

/// 0x2f r/w port_cfg_p10 PIXI port P10 configuration register
port_cfg_p10 = 0x2f,

/// 0x30 r/w port_cfg_p11 PIXI port P11 configuration register
port_cfg_p11 = 0x30,

/// 0x31 r/w reserved_31 (reserved) configuration register
reserved_31 = 0x31,

/// 0x32 r/w reserved_32 (reserved) configuration register
reserved_32 = 0x32,

/// 0x33 r/w reserved_33 (reserved) configuration register
reserved_33 = 0x33,

/// 0x40 r/o reserved_40 (reserved) Analog to Digital Converter register
reserved_40 = 0x40,

/// 0x41 r/o reserved_41 (reserved) Analog to Digital Converter register
reserved_41 = 0x41,

/// 0x42 r/o adc_data_port_p0 PIXI port P0 Analog to Digital Converter register
adc_data_port_p0 = 0x42,

/// 0x43 r/o adc_data_port_p1 PIXI port P1 Analog to Digital Converter register
adc_data_port_p1 = 0x43,

/// 0x44 r/o adc_data_port_p2 PIXI port P2 Analog to Digital Converter register
adc_data_port_p2 = 0x44,

/// 0x45 r/o adc_data_port_p3 PIXI port P3 Analog to Digital Converter register
adc_data_port_p3 = 0x45,

/// 0x46 r/o adc_data_port_p4 PIXI port P4 Analog to Digital Converter register
adc_data_port_p4 = 0x46,

/// 0x47 r/o adc_data_port_p5 PIXI port P5 Analog to Digital Converter register
adc_data_port_p5 = 0x47,

/// 0x48 r/o reserved_48 (reserved) Analog to Digital Converter register
reserved_48 = 0x48,

/// 0x49 r/o reserved_49 (reserved) Analog to Digital Converter register
reserved_49 = 0x49,

/// 0x4a r/o reserved_4A (reserved) Analog to Digital Converter register
reserved_4A = 0x4a,

/// 0x4b r/o adc_data_port_p6 PIXI port P6 Analog to Digital Converter register
adc_data_port_p6 = 0x4b,

/// 0x4c r/o adc_data_port_p7 PIXI port P7 Analog to Digital Converter register
adc_data_port_p7 = 0x4c,

/// 0x4d r/o adc_data_port_p8 PIXI port P8 Analog to Digital Converter register
adc_data_port_p8 = 0x4d,

/// 0x4e r/o adc_data_port_p9 PIXI port P9 Analog to Digital Converter register
adc_data_port_p9 = 0x4e,

/// 0x4f r/o adc_data_port_p10 PIXI port P10 Analog to Digital Converter register
adc_data_port_p10 = 0x4f,

/// 0x50 r/o adc_data_port_p11 PIXI port P11 Analog to Digital Converter register
adc_data_port_p11 = 0x50,

/// 0x51 r/o reserved_51 (reserved) Analog to Digital Converter register
reserved_51 = 0x51,

/// 0x52 r/o reserved_52 (reserved) Analog to Digital Converter register
reserved_52 = 0x52,

/// 0x53 r/o reserved_53 (reserved) Analog to Digital Converter register
reserved_53 = 0x53,

/// 0x60 r/w reserved_60 (reserved) Digital to Analog Converter register
reserved_60 = 0x60,

/// 0x61 r/w reserved_61 (reserved) Digital to Analog Converter register
reserved_61 = 0x61,

/// 0x62 r/w dac_data_port_p0 PIXI port P0 Digital to Analog Converter register
dac_data_port_p0 = 0x62,

/// 0x63 r/w dac_data_port_p1 PIXI port P1 Digital to Analog Converter register
dac_data_port_p1 = 0x63,

/// 0x64 r/w dac_data_port_p2 PIXI port P2 Digital to Analog Converter register
dac_data_port_p2 = 0x64,

/// 0x65 r/w dac_data_port_p3 PIXI port P3 Digital to Analog Converter register
dac_data_port_p3 = 0x65,

/// 0x66 r/w dac_data_port_p4 PIXI port P4 Digital to Analog Converter register
dac_data_port_p4 = 0x66,

/// 0x67 r/w dac_data_port_p5 PIXI port P5 Digital to Analog Converter register
dac_data_port_p5 = 0x67,

/// 0x68 r/w reserved_68 (reserved) Digital to Analog Converter register
reserved_68 = 0x68,

/// 0x69 r/w reserved_69 (reserved) Digital to Analog Converter register
reserved_69 = 0x69,

/// 0x6a r/w reserved_6A (reserved) Digital to Analog Converter register
reserved_6A = 0x6a,

/// 0x6b r/w dac_data_port_p6 PIXI port P6 Digital to Analog Converter register
dac_data_port_p6 = 0x6b,

/// 0x6c r/w dac_data_port_p7 PIXI port P7 Digital to Analog Converter register
dac_data_port_p7 = 0x6c,

/// 0x6d r/w dac_data_port_p8 PIXI port P8 Digital to Analog Converter register
dac_data_port_p8 = 0x6d,

/// 0x6e r/w dac_data_port_p9 PIXI port P9 Digital to Analog Converter register
dac_data_port_p9 = 0x6e,

/// 0x6f r/w dac_data_port_p10 PIXI port P10 Digital to Analog Converter register
dac_data_port_p10 = 0x6f,

/// 0x70 r/w dac_data_port_p11 PIXI port P11 Digital to Analog Converter register
dac_data_port_p11 = 0x70,

/// 0x71 r/w reserved_71 (reserved) Digital to Analog Converter register
reserved_71 = 0x71,

/// 0x72 r/w reserved_72 (reserved) Digital to Analog Converter register
reserved_72 = 0x72,

/// 0x73 r/w reserved_73 (reserved) Digital to Analog Converter register
reserved_73 = 0x73,

} MAX11311RegAddress_t;

/// 0x00 r/o dev_id Device Identification
/// <code>1111xxxxxxxxxxxx</code> PART Part field
/// <code>xxxx11xxxxxxxxxx</code> REV Revision
/// <code>xxxxxx11xxxxxxxx</code> IFMODE Inteface Mode
/// <code>xxxxxxxx11xxxxxx</code> IFSP Inteface Speed
/// <code>xxxxxxxxxx11xxxx</code> NBRPRTS Number of ports
/// <code>xxxxxxxxxxxx11xx</code> RES Resolution
/// <code>xxxxxxxxxxxxxx11</code> VRNG Voltage Range
#define dev_id_PART     0xf000
#define dev_id_REV  0x0c00
#define dev_id_IFMODE   0x0300
#define dev_id_IFSP     0x00c0
#define dev_id_NBRPRTS  0x0030
#define dev_id_RES  0x000c
#define dev_id_VRNG     0x0003

/// 0x01 r/o interrupt_flag Interrupt flags
/// <code>1xxxxxxxxxxxxxxx</code> VMON High Voltage Supply Monitor
/// <code>x1xxxxxxxxxxxxxx</code> TMPEXT2HOT External Temperature D1P/D1N Hot
/// <code>xx1xxxxxxxxxxxxx</code> TMPEXT2COLD External Temperature D1P/D1N Cold
/// <code>xxx1xxxxxxxxxxxx</code> TMPEXT2NEW External Temperature D1P/D1N New
/// <code>xxxx1xxxxxxxxxxx</code> TMPEXT1HOT External Temperature D0P/D0N Hot
/// <code>xxxxx1xxxxxxxxxx</code> TMPEXT1COLD External Temperature D0P/D0N Cold
/// <code>xxxxxx1xxxxxxxxx</code> TMPEXT1NEW External Temperature D0P/D0N New
/// <code>xxxxxxx1xxxxxxxx</code> TMPINTHOT Internal Temeprature Hot
/// <code>xxxxxxxx1xxxxxxx</code> TMPINTCOLD Internal Temeprature Cold
/// <code>xxxxxxxxx1xxxxxx</code> TMPINTNEW Internal Temeprature New
/// <code>xxxxxxxxxx1xxxxx</code> DACOI DAC over-current
/// <code>xxxxxxxxxxx1xxxx</code> GPIDM GPI event missed
/// <code>xxxxxxxxxxxx1xxx</code> GPIDR GPI event ready
/// <code>xxxxxxxxxxxxx1xx</code> ADCDM ADC data missed
/// <code>xxxxxxxxxxxxxx1x</code> ADCDR ADC data ready
/// <code>xxxxxxxxxxxxxxx1</code> ADCFLAG ADC conversion/sweep complete
#define interrupt_flag_VMON     0x8000
#define interrupt_flag_TMPEXT2HOT   0x4000
#define interrupt_flag_TMPEXT2COLD  0x2000
#define interrupt_flag_TMPEXT2NEW   0x1000
#define interrupt_flag_TMPEXT1HOT   0x0800
#define interrupt_flag_TMPEXT1COLD  0x0400
#define interrupt_flag_TMPEXT1NEW   0x0200
#define interrupt_flag_TMPINTHOT    0x0100
#define interrupt_flag_TMPINTCOLD   0x0080
#define interrupt_flag_TMPINTNEW    0x0040
#define interrupt_flag_DACOI    0x0020
#define interrupt_flag_GPIDM    0x0010
#define interrupt_flag_GPIDR    0x0008
#define interrupt_flag_ADCDM    0x0004
#define interrupt_flag_ADCDR    0x0002
#define interrupt_flag_ADCFLAG  0x0001

/// 0x02 r/o adc_status_P10P6_P5P0 new ADC data available
/// <code>1xxxxxxxxxxxxxxx</code> ADCSTp10 ADCST[P10] new <see cref="adc_data_port_p10"/>
/// <code>x1xxxxxxxxxxxxxx</code> ADCSTp09 ADCST[P9] new <see cref="adc_data_port_p9"/>
/// <code>xx1xxxxxxxxxxxxx</code> ADCSTp08 ADCST[P8] new <see cref="adc_data_port_p8"/>
/// <code>xxx1xxxxxxxxxxxx</code> ADCSTp07 ADCST[P7] new <see cref="adc_data_port_p7"/>
/// <code>xxxx1xxxxxxxxxxx</code> ADCSTp06 ADCST[P6] new <see cref="adc_data_port_p6"/>
/// <code>xxxxx1xxxxxxxxxx</code> RESERVED_10  new <see cref="reserved_4A"/>
/// <code>xxxxxx1xxxxxxxxx</code> RESERVED_09   new <see cref="reserved_49"/>
/// <code>xxxxxxx1xxxxxxxx</code> RESERVED_08   new <see cref="reserved_48"/>
/// <code>xxxxxxxx1xxxxxxx</code> ADCSTp05 ADCST[P5]  new <see cref="adc_data_port_p5"/>
/// <code>xxxxxxxxx1xxxxxx</code> ADCSTp04 ADCST[P4]  new <see cref="adc_data_port_p4"/>
/// <code>xxxxxxxxxx1xxxxx</code> ADCSTp03 ADCST[P3]  new <see cref="adc_data_port_p3"/>
/// <code>xxxxxxxxxxx1xxxx</code> ADCSTp02 ADCST[P2]  new <see cref="adc_data_port_p2"/>
/// <code>xxxxxxxxxxxx1xxx</code> ADCSTp01 ADCST[P1]  new <see cref="adc_data_port_p1"/>
/// <code>xxxxxxxxxxxxx1xx</code> ADCSTp00 ADCST[P0]  new <see cref="adc_data_port_p0"/>
/// <code>xxxxxxxxxxxxxx1x</code> RESERVED_01   new <see cref="reserved_41"/>
/// <code>xxxxxxxxxxxxxxx1</code> RESERVED_00   new <see cref="reserved_40"/>
#define adc_status_P10P6_P5P0_ADCSTp10  0x8000
#define adc_status_P10P6_P5P0_ADCSTp09  0x4000
#define adc_status_P10P6_P5P0_ADCSTp08  0x2000
#define adc_status_P10P6_P5P0_ADCSTp07  0x1000
#define adc_status_P10P6_P5P0_ADCSTp06  0x0800
#define adc_status_P10P6_P5P0_RESERVED_10   0x0400
#define adc_status_P10P6_P5P0_RESERVED_09   0x0200
#define adc_status_P10P6_P5P0_RESERVED_08   0x0100
#define adc_status_P10P6_P5P0_ADCSTp05  0x0080
#define adc_status_P10P6_P5P0_ADCSTp04  0x0040
#define adc_status_P10P6_P5P0_ADCSTp03  0x0020
#define adc_status_P10P6_P5P0_ADCSTp02  0x0010
#define adc_status_P10P6_P5P0_ADCSTp01  0x0008
#define adc_status_P10P6_P5P0_ADCSTp00  0x0004
#define adc_status_P10P6_P5P0_RESERVED_01   0x0002
#define adc_status_P10P6_P5P0_RESERVED_00   0x0001

/// 0x03 r/o adc_status_P11 new ADC data available
/// <code>1xxxxxxxxxxxxxxx</code> RESERVED_31  new <see cref="adc_data_port_31"/>
/// <code>x1xxxxxxxxxxxxxx</code> RESERVED_30  new <see cref="adc_data_port_30"/>
/// <code>xx1xxxxxxxxxxxxx</code> RESERVED_29  new <see cref="adc_data_port_29"/>
/// <code>xxx1xxxxxxxxxxxx</code> RESERVED_28  new <see cref="adc_data_port_28"/>
/// <code>xxxx1xxxxxxxxxxx</code> RESERVED_27  new <see cref="adc_data_port_27"/>
/// <code>xxxxx1xxxxxxxxxx</code> RESERVED_26  new <see cref="adc_data_port_26"/>
/// <code>xxxxxx1xxxxxxxxx</code> RESERVED_25  new <see cref="adc_data_port_25"/>
/// <code>xxxxxxx1xxxxxxxx</code> RESERVED_24  new <see cref="adc_data_port_24"/>
/// <code>xxxxxxxx1xxxxxxx</code> RESERVED_23  new <see cref="adc_data_port_23"/>
/// <code>xxxxxxxxx1xxxxxx</code> RESERVED_22  new <see cref="adc_data_port_22"/>
/// <code>xxxxxxxxxx1xxxxx</code> RESERVED_21  new <see cref="adc_data_port_21"/>
/// <code>xxxxxxxxxxx1xxxx</code> RESERVED_20  new <see cref="adc_data_port_20"/>
/// <code>xxxxxxxxxxxx1xxx</code> RESERVED_19  new <see cref="reserved_53"/>
/// <code>xxxxxxxxxxxxx1xx</code> RESERVED_18  new <see cref="reserved_52"/>
/// <code>xxxxxxxxxxxxxx1x</code> RESERVED_17  new <see cref="reserved_51"/>
/// <code>xxxxxxxxxxxxxxx1</code> ADCSTp11 ADCST[P11] new <see cref="adc_data_port_p11"/>
#define adc_status_P11_RESERVED_31  0x8000
#define adc_status_P11_RESERVED_30  0x4000
#define adc_status_P11_RESERVED_29  0x2000
#define adc_status_P11_RESERVED_28  0x1000
#define adc_status_P11_RESERVED_27  0x0800
#define adc_status_P11_RESERVED_26  0x0400
#define adc_status_P11_RESERVED_25  0x0200
#define adc_status_P11_RESERVED_24  0x0100
#define adc_status_P11_RESERVED_23  0x0080
#define adc_status_P11_RESERVED_22  0x0040
#define adc_status_P11_RESERVED_21  0x0020
#define adc_status_P11_RESERVED_20  0x0010
#define adc_status_P11_RESERVED_19  0x0008
#define adc_status_P11_RESERVED_18  0x0004
#define adc_status_P11_RESERVED_17  0x0002
#define adc_status_P11_ADCSTp11     0x0001

/// 0x04 r/o dac_oi_status_P10P6_P5P0 DAC Overcurrent Interrupt
/// <code>1xxxxxxxxxxxxxxx</code> DACOISTp10 DACOIST[15] new <see cref="dac_data_port_p10"/>
/// <code>x1xxxxxxxxxxxxxx</code> DACOISTp09 DACOIST[14] new <see cref="dac_data_port_p9"/>
/// <code>xx1xxxxxxxxxxxxx</code> DACOISTp08 DACOIST[13] new <see cref="dac_data_port_p8"/>
/// <code>xxx1xxxxxxxxxxxx</code> DACOISTp07 DACOIST[12] new <see cref="dac_data_port_p7"/>
/// <code>xxxx1xxxxxxxxxxx</code> DACOISTp06 DACOIST[11] new <see cref="dac_data_port_p6"/>
/// <code>xxxxx1xxxxxxxxxx</code> RESERVED_10 DACOIST[10] new <see cref="reserved_6A"/>
/// <code>xxxxxx1xxxxxxxxx</code> RESERVED_09 DACOIST[9]  new <see cref="reserved_69"/>
/// <code>xxxxxxx1xxxxxxxx</code> RESERVED_08 DACOIST[8]  new <see cref="reserved_68"/>
/// <code>xxxxxxxx1xxxxxxx</code> DACOISTp05 DACOIST[7]  new <see cref="dac_data_port_p5"/>
/// <code>xxxxxxxxx1xxxxxx</code> DACOISTp04 DACOIST[6]  new <see cref="dac_data_port_p4"/>
/// <code>xxxxxxxxxx1xxxxx</code> DACOISTp03 DACOIST[5]  new <see cref="dac_data_port_p3"/>
/// <code>xxxxxxxxxxx1xxxx</code> DACOISTp02 DACOIST[4]  new <see cref="dac_data_port_p2"/>
/// <code>xxxxxxxxxxxx1xxx</code> DACOISTp01 DACOIST[3]  new <see cref="dac_data_port_p1"/>
/// <code>xxxxxxxxxxxxx1xx</code> DACOISTp00 DACOIST[2]  new <see cref="dac_data_port_p0"/>
/// <code>xxxxxxxxxxxxxx1x</code> RESERVED_01 DACOIST[1]  new <see cref="reserved_61"/>
/// <code>xxxxxxxxxxxxxxx1</code> RESERVED_00 DACOIST[0]  new <see cref="reserved_60"/>
#define dac_oi_status_P10P6_P5P0_DACOISTp10     0x8000
#define dac_oi_status_P10P6_P5P0_DACOISTp09     0x4000
#define dac_oi_status_P10P6_P5P0_DACOISTp08     0x2000
#define dac_oi_status_P10P6_P5P0_DACOISTp07     0x1000
#define dac_oi_status_P10P6_P5P0_DACOISTp06     0x0800
#define dac_oi_status_P10P6_P5P0_RESERVED_10    0x0400
#define dac_oi_status_P10P6_P5P0_RESERVED_09    0x0200
#define dac_oi_status_P10P6_P5P0_RESERVED_08    0x0100
#define dac_oi_status_P10P6_P5P0_DACOISTp05     0x0080
#define dac_oi_status_P10P6_P5P0_DACOISTp04     0x0040
#define dac_oi_status_P10P6_P5P0_DACOISTp03     0x0020
#define dac_oi_status_P10P6_P5P0_DACOISTp02     0x0010
#define dac_oi_status_P10P6_P5P0_DACOISTp01     0x0008
#define dac_oi_status_P10P6_P5P0_DACOISTp00     0x0004
#define dac_oi_status_P10P6_P5P0_RESERVED_01    0x0002
#define dac_oi_status_P10P6_P5P0_RESERVED_00    0x0001

/// 0x05 r/o dac_oi_status_P11 DAC Overcurrent Interrupt
/// <code>1xxxxxxxxxxxxxxx</code> RESERVED_31 DACOIST[31] new <see cref="dac_data_port_31"/>
/// <code>x1xxxxxxxxxxxxxx</code> RESERVED_30 DACOIST[30] new <see cref="dac_data_port_30"/>
/// <code>xx1xxxxxxxxxxxxx</code> RESERVED_29 DACOIST[29] new <see cref="dac_data_port_29"/>
/// <code>xxx1xxxxxxxxxxxx</code> RESERVED_28 DACOIST[28] new <see cref="dac_data_port_28"/>
/// <code>xxxx1xxxxxxxxxxx</code> RESERVED_27 DACOIST[27] new <see cref="dac_data_port_27"/>
/// <code>xxxxx1xxxxxxxxxx</code> RESERVED_26 DACOIST[26] new <see cref="dac_data_port_26"/>
/// <code>xxxxxx1xxxxxxxxx</code> RESERVED_25 DACOIST[25] new <see cref="dac_data_port_25"/>
/// <code>xxxxxxx1xxxxxxxx</code> RESERVED_24 DACOIST[24] new <see cref="dac_data_port_24"/>
/// <code>xxxxxxxx1xxxxxxx</code> RESERVED_23 DACOIST[23] new <see cref="dac_data_port_23"/>
/// <code>xxxxxxxxx1xxxxxx</code> RESERVED_22 DACOIST[22] new <see cref="dac_data_port_22"/>
/// <code>xxxxxxxxxx1xxxxx</code> RESERVED_21 DACOIST[21] new <see cref="dac_data_port_21"/>
/// <code>xxxxxxxxxxx1xxxx</code> RESERVED_20 DACOIST[20] new <see cref="dac_data_port_20"/>
/// <code>xxxxxxxxxxxx1xxx</code> RESERVED_19 DACOIST[19] new <see cref="reserved_73"/>
/// <code>xxxxxxxxxxxxx1xx</code> RESERVED_18 DACOIST[18] new <see cref="reserved_72"/>
/// <code>xxxxxxxxxxxxxx1x</code> RESERVED_17 DACOIST[17] new <see cref="reserved_71"/>
/// <code>xxxxxxxxxxxxxxx1</code> DACOISTp11 DACOIST[16] new <see cref="dac_data_port_p11"/>
#define dac_oi_status_P11_RESERVED_31   0x8000
#define dac_oi_status_P11_RESERVED_30   0x4000
#define dac_oi_status_P11_RESERVED_29   0x2000
#define dac_oi_status_P11_RESERVED_28   0x1000
#define dac_oi_status_P11_RESERVED_27   0x0800
#define dac_oi_status_P11_RESERVED_26   0x0400
#define dac_oi_status_P11_RESERVED_25   0x0200
#define dac_oi_status_P11_RESERVED_24   0x0100
#define dac_oi_status_P11_RESERVED_23   0x0080
#define dac_oi_status_P11_RESERVED_22   0x0040
#define dac_oi_status_P11_RESERVED_21   0x0020
#define dac_oi_status_P11_RESERVED_20   0x0010
#define dac_oi_status_P11_RESERVED_19   0x0008
#define dac_oi_status_P11_RESERVED_18   0x0004
#define dac_oi_status_P11_RESERVED_17   0x0002
#define dac_oi_status_P11_DACOISTp11    0x0001

/// 0x06 r/o gpi_status_P10P6_P5P0 GPI event ready
/// <code>1xxxxxxxxxxxxxxx</code> RESERVED_010 GPIST[15]
/// <code>x1xxxxxxxxxxxxxx</code> RESERVED_009 GPIST[14]
/// <code>xx1xxxxxxxxxxxxx</code> RESERVED_008 GPIST[13]
/// <code>xxx1xxxxxxxxxxxx</code> RESERVED_007 GPIST[12]
/// <code>xxxx1xxxxxxxxxxx</code> RESERVED_006 GPIST[11]
/// <code>xxxxx1xxxxxxxxxx</code> RESERVED_10 GPIST[10]
/// <code>xxxxxx1xxxxxxxxx</code> RESERVED_09 GPIST[9]
/// <code>xxxxxxx1xxxxxxxx</code> RESERVED_08 GPIST[8]
/// <code>xxxxxxxx1xxxxxxx</code> GPISTp05 GPIST[7]
/// <code>xxxxxxxxx1xxxxxx</code> GPISTp04 GPIST[6]
/// <code>xxxxxxxxxx1xxxxx</code> GPISTp03 GPIST[5]
/// <code>xxxxxxxxxxx1xxxx</code> GPISTp02 GPIST[4]
/// <code>xxxxxxxxxxxx1xxx</code> GPISTp01 GPIST[3]
/// <code>xxxxxxxxxxxxx1xx</code> GPISTp00 GPIST[2]
/// <code>xxxxxxxxxxxxxx1x</code> RESERVED_01 GPIST[1]
/// <code>xxxxxxxxxxxxxxx1</code> RESERVED_00 GPIST[0]
#define gpi_status_P10P6_P5P0_RESERVED_010  0x8000
#define gpi_status_P10P6_P5P0_RESERVED_009  0x4000
#define gpi_status_P10P6_P5P0_RESERVED_008  0x2000
#define gpi_status_P10P6_P5P0_RESERVED_007  0x1000
#define gpi_status_P10P6_P5P0_RESERVED_006  0x0800
#define gpi_status_P10P6_P5P0_RESERVED_10   0x0400
#define gpi_status_P10P6_P5P0_RESERVED_09   0x0200
#define gpi_status_P10P6_P5P0_RESERVED_08   0x0100
#define gpi_status_P10P6_P5P0_GPISTp05  0x0080
#define gpi_status_P10P6_P5P0_GPISTp04  0x0040
#define gpi_status_P10P6_P5P0_GPISTp03  0x0020
#define gpi_status_P10P6_P5P0_GPISTp02  0x0010
#define gpi_status_P10P6_P5P0_GPISTp01  0x0008
#define gpi_status_P10P6_P5P0_GPISTp00  0x0004
#define gpi_status_P10P6_P5P0_RESERVED_01   0x0002
#define gpi_status_P10P6_P5P0_RESERVED_00   0x0001

/// 0x07 r/o gpi_status_P11 GPI event ready
/// <code>1xxxxxxxxxxxxxxx</code> RESERVED_31 GPIST[31]
/// <code>x1xxxxxxxxxxxxxx</code> RESERVED_30 GPIST[30]
/// <code>xx1xxxxxxxxxxxxx</code> RESERVED_29 GPIST[29]
/// <code>xxx1xxxxxxxxxxxx</code> RESERVED_28 GPIST[28]
/// <code>xxxx1xxxxxxxxxxx</code> RESERVED_27 GPIST[27]
/// <code>xxxxx1xxxxxxxxxx</code> RESERVED_26 GPIST[26]
/// <code>xxxxxx1xxxxxxxxx</code> RESERVED_25 GPIST[25]
/// <code>xxxxxxx1xxxxxxxx</code> RESERVED_24 GPIST[24]
/// <code>xxxxxxxx1xxxxxxx</code> RESERVED_23 GPIST[23]
/// <code>xxxxxxxxx1xxxxxx</code> RESERVED_22 GPIST[22]
/// <code>xxxxxxxxxx1xxxxx</code> RESERVED_21 GPIST[21]
/// <code>xxxxxxxxxxx1xxxx</code> RESERVED_20 GPIST[20]
/// <code>xxxxxxxxxxxx1xxx</code> RESERVED_19 GPIST[19]
/// <code>xxxxxxxxxxxxx1xx</code> RESERVED_18 GPIST[18]
/// <code>xxxxxxxxxxxxxx1x</code> RESERVED_17 GPIST[17]
/// <code>xxxxxxxxxxxxxxx1</code> GPISTp11 GPIST[16]
#define gpi_status_P11_RESERVED_31  0x8000
#define gpi_status_P11_RESERVED_30  0x4000
#define gpi_status_P11_RESERVED_29  0x2000
#define gpi_status_P11_RESERVED_28  0x1000
#define gpi_status_P11_RESERVED_27  0x0800
#define gpi_status_P11_RESERVED_26  0x0400
#define gpi_status_P11_RESERVED_25  0x0200
#define gpi_status_P11_RESERVED_24  0x0100
#define gpi_status_P11_RESERVED_23  0x0080
#define gpi_status_P11_RESERVED_22  0x0040
#define gpi_status_P11_RESERVED_21  0x0020
#define gpi_status_P11_RESERVED_20  0x0010
#define gpi_status_P11_RESERVED_19  0x0008
#define gpi_status_P11_RESERVED_18  0x0004
#define gpi_status_P11_RESERVED_17  0x0002
#define gpi_status_P11_GPISTp11     0x0001

/// 0x08 r/o tmp_int_data Internal Temeprature
/// <code>xxxx111111111111</code> tempcode Temperature code, LSB=0.125 degrees C, 12-bit 2's complement
#define tmp_int_data_tempcode   0x0fff

/// 0x09 r/o tmp_ext1_data External Temperature D0P/D0N
/// <code>xxxx111111111111</code> tempcode Temperature code, LSB=0.125 degrees C, 12-bit 2's complement
#define tmp_ext1_data_tempcode  0x0fff

/// 0x0a r/o tmp_ext2_data External Temperature D1P/D1N
/// <code>xxxx111111111111</code> tempcode Temperature code, LSB=0.125 degrees C, 12-bit 2's complement
#define tmp_ext2_data_tempcode  0x0fff

/// 0x0b r/o gpi_data_P10P6_P5P0 GPI input ports data
/// <code>1xxxxxxxxxxxxxxx</code> GPIDATp10 GPIDAT[15]
/// <code>x1xxxxxxxxxxxxxx</code> GPIDATp09 GPIDAT[14]
/// <code>xx1xxxxxxxxxxxxx</code> GPIDATp08 GPIDAT[13]
/// <code>xxx1xxxxxxxxxxxx</code> GPIDATp07 GPIDAT[12]
/// <code>xxxx1xxxxxxxxxxx</code> GPIDATp06 GPIDAT[11]
/// <code>xxxxx1xxxxxxxxxx</code> RESERVED_10 GPIDAT[10]
/// <code>xxxxxx1xxxxxxxxx</code> RESERVED_09 GPIDAT[9]
/// <code>xxxxxxx1xxxxxxxx</code> RESERVED_08 GPIDAT[8]
/// <code>xxxxxxxx1xxxxxxx</code> GPIDATp05 GPIDAT[7]
/// <code>xxxxxxxxx1xxxxxx</code> GPIDATp04 GPIDAT[6]
/// <code>xxxxxxxxxx1xxxxx</code> GPIDATp03 GPIDAT[5]
/// <code>xxxxxxxxxxx1xxxx</code> GPIDATp02 GPIDAT[4]
/// <code>xxxxxxxxxxxx1xxx</code> GPIDATp01 GPIDAT[3]
/// <code>xxxxxxxxxxxxx1xx</code> GPIDATp00 GPIDAT[2]
/// <code>xxxxxxxxxxxxxx1x</code> RESERVED_01 GPIDAT[1]
/// <code>xxxxxxxxxxxxxxx1</code> RESERVED_00 GPIDAT[0]
#define gpi_data_P10P6_P5P0_GPIDATp10   0x8000
#define gpi_data_P10P6_P5P0_GPIDATp09   0x4000
#define gpi_data_P10P6_P5P0_GPIDATp08   0x2000
#define gpi_data_P10P6_P5P0_GPIDATp07   0x1000
#define gpi_data_P10P6_P5P0_GPIDATp06   0x0800
#define gpi_data_P10P6_P5P0_RESERVED_10     0x0400
#define gpi_data_P10P6_P5P0_RESERVED_09     0x0200
#define gpi_data_P10P6_P5P0_RESERVED_08     0x0100
#define gpi_data_P10P6_P5P0_GPIDATp05   0x0080
#define gpi_data_P10P6_P5P0_GPIDATp04   0x0040
#define gpi_data_P10P6_P5P0_GPIDATp03   0x0020
#define gpi_data_P10P6_P5P0_GPIDATp02   0x0010
#define gpi_data_P10P6_P5P0_GPIDATp01   0x0008
#define gpi_data_P10P6_P5P0_GPIDATp00   0x0004
#define gpi_data_P10P6_P5P0_RESERVED_01     0x0002
#define gpi_data_P10P6_P5P0_RESERVED_00     0x0001

/// 0x0c r/o gpi_data_P11 GPI input ports data
/// <code>1xxxxxxxxxxxxxxx</code> RESERVED_31 GPIDAT[31]
/// <code>x1xxxxxxxxxxxxxx</code> RESERVED_30 GPIDAT[30]
/// <code>xx1xxxxxxxxxxxxx</code> RESERVED_29 GPIDAT[29]
/// <code>xxx1xxxxxxxxxxxx</code> RESERVED_28 GPIDAT[28]
/// <code>xxxx1xxxxxxxxxxx</code> RESERVED_27 GPIDAT[27]
/// <code>xxxxx1xxxxxxxxxx</code> RESERVED_26 GPIDAT[26]
/// <code>xxxxxx1xxxxxxxxx</code> RESERVED_25 GPIDAT[25]
/// <code>xxxxxxx1xxxxxxxx</code> RESERVED_24 GPIDAT[24]
/// <code>xxxxxxxx1xxxxxxx</code> RESERVED_23 GPIDAT[23]
/// <code>xxxxxxxxx1xxxxxx</code> RESERVED_22 GPIDAT[22]
/// <code>xxxxxxxxxx1xxxxx</code> RESERVED_21 GPIDAT[21]
/// <code>xxxxxxxxxxx1xxxx</code> RESERVED_20 GPIDAT[20]
/// <code>xxxxxxxxxxxx1xxx</code> RESERVED_19 GPIDAT[19]
/// <code>xxxxxxxxxxxxx1xx</code> RESERVED_18 GPIDAT[18]
/// <code>xxxxxxxxxxxxxx1x</code> RESERVED_17 GPIDAT[17]
/// <code>xxxxxxxxxxxxxxx1</code> GPIDATp11 GPIDAT[16]
#define gpi_data_P11_RESERVED_31    0x8000
#define gpi_data_P11_RESERVED_30    0x4000
#define gpi_data_P11_RESERVED_29    0x2000
#define gpi_data_P11_RESERVED_28    0x1000
#define gpi_data_P11_RESERVED_27    0x0800
#define gpi_data_P11_RESERVED_26    0x0400
#define gpi_data_P11_RESERVED_25    0x0200
#define gpi_data_P11_RESERVED_24    0x0100
#define gpi_data_P11_RESERVED_23    0x0080
#define gpi_data_P11_RESERVED_22    0x0040
#define gpi_data_P11_RESERVED_21    0x0020
#define gpi_data_P11_RESERVED_20    0x0010
#define gpi_data_P11_RESERVED_19    0x0008
#define gpi_data_P11_RESERVED_18    0x0004
#define gpi_data_P11_RESERVED_17    0x0002
#define gpi_data_P11_GPIDATp11  0x0001

/// 0x0d r/w gpo_data_P10P6_P5P0 GPO output ports data
/// <code>1xxxxxxxxxxxxxxx</code> GPODATp10 GPODAT[15]
/// <code>x1xxxxxxxxxxxxxx</code> GPODATp09 GPODAT[14]
/// <code>xx1xxxxxxxxxxxxx</code> GPODATp08 GPODAT[13]
/// <code>xxx1xxxxxxxxxxxx</code> GPODATp07 GPODAT[12]
/// <code>xxxx1xxxxxxxxxxx</code> GPODATp06 GPODAT[11]
/// <code>xxxxx1xxxxxxxxxx</code> RESERVED_10 GPODAT[10]
/// <code>xxxxxx1xxxxxxxxx</code> RESERVED_09 GPODAT[9]
/// <code>xxxxxxx1xxxxxxxx</code> RESERVED_08 GPODAT[8]
/// <code>xxxxxxxx1xxxxxxx</code> GPODATp05 GPODAT[7]
/// <code>xxxxxxxxx1xxxxxx</code> GPODATp04 GPODAT[6]
/// <code>xxxxxxxxxx1xxxxx</code> GPODATp03 GPODAT[5]
/// <code>xxxxxxxxxxx1xxxx</code> GPODATp02 GPODAT[4]
/// <code>xxxxxxxxxxxx1xxx</code> GPODATp01 GPODAT[3]
/// <code>xxxxxxxxxxxxx1xx</code> GPODATp00 GPODAT[2]
/// <code>xxxxxxxxxxxxxx1x</code> RESERVED_01 GPODAT[1]
/// <code>xxxxxxxxxxxxxxx1</code> RESERVED_00 GPODAT[0]
#define gpo_data_P10P6_P5P0_GPODATp10   0x8000
#define gpo_data_P10P6_P5P0_GPODATp09   0x4000
#define gpo_data_P10P6_P5P0_GPODATp08   0x2000
#define gpo_data_P10P6_P5P0_GPODATp07   0x1000
#define gpo_data_P10P6_P5P0_GPODATp06   0x0800
#define gpo_data_P10P6_P5P0_RESERVED_10     0x0400
#define gpo_data_P10P6_P5P0_RESERVED_09     0x0200
#define gpo_data_P10P6_P5P0_RESERVED_08     0x0100
#define gpo_data_P10P6_P5P0_GPODATp05   0x0080
#define gpo_data_P10P6_P5P0_GPODATp04   0x0040
#define gpo_data_P10P6_P5P0_GPODATp03   0x0020
#define gpo_data_P10P6_P5P0_GPODATp02   0x0010
#define gpo_data_P10P6_P5P0_GPODATp01   0x0008
#define gpo_data_P10P6_P5P0_GPODATp00   0x0004
#define gpo_data_P10P6_P5P0_RESERVED_01     0x0002
#define gpo_data_P10P6_P5P0_RESERVED_00     0x0001
#define gpo_data_P10P6_P5P0_DESIGNVALUE     0x0000

/// 0x0e r/w gpo_data_P11 GPO output ports data
/// <code>1xxxxxxxxxxxxxxx</code> RESERVED_31 GPODAT[31]
/// <code>x1xxxxxxxxxxxxxx</code> RESERVED_30 GPODAT[30]
/// <code>xx1xxxxxxxxxxxxx</code> RESERVED_29 GPODAT[29]
/// <code>xxx1xxxxxxxxxxxx</code> RESERVED_28 GPODAT[28]
/// <code>xxxx1xxxxxxxxxxx</code> RESERVED_27 GPODAT[27]
/// <code>xxxxx1xxxxxxxxxx</code> RESERVED_26 GPODAT[26]
/// <code>xxxxxx1xxxxxxxxx</code> RESERVED_25 GPODAT[25]
/// <code>xxxxxxx1xxxxxxxx</code> RESERVED_24 GPODAT[24]
/// <code>xxxxxxxx1xxxxxxx</code> RESERVED_23 GPODAT[23]
/// <code>xxxxxxxxx1xxxxxx</code> RESERVED_22 GPODAT[22]
/// <code>xxxxxxxxxx1xxxxx</code> RESERVED_21 GPODAT[21]
/// <code>xxxxxxxxxxx1xxxx</code> RESERVED_20 GPODAT[20]
/// <code>xxxxxxxxxxxx1xxx</code> RESERVED_19 GPODAT[19]
/// <code>xxxxxxxxxxxxx1xx</code> RESERVED_18 GPODAT[18]
/// <code>xxxxxxxxxxxxxx1x</code> RESERVED_17 GPODAT[17]
/// <code>xxxxxxxxxxxxxxx1</code> GPODATp11 GPODAT[16]
#define gpo_data_P11_RESERVED_31    0x8000
#define gpo_data_P11_RESERVED_30    0x4000
#define gpo_data_P11_RESERVED_29    0x2000
#define gpo_data_P11_RESERVED_28    0x1000
#define gpo_data_P11_RESERVED_27    0x0800
#define gpo_data_P11_RESERVED_26    0x0400
#define gpo_data_P11_RESERVED_25    0x0200
#define gpo_data_P11_RESERVED_24    0x0100
#define gpo_data_P11_RESERVED_23    0x0080
#define gpo_data_P11_RESERVED_22    0x0040
#define gpo_data_P11_RESERVED_21    0x0020
#define gpo_data_P11_RESERVED_20    0x0010
#define gpo_data_P11_RESERVED_19    0x0008
#define gpo_data_P11_RESERVED_18    0x0004
#define gpo_data_P11_RESERVED_17    0x0002
#define gpo_data_P11_GPODATp11  0x0001
#define gpo_data_P11_DESIGNVALUE    0x0000

/// 0x0f r/o reserved_0F reserved


/// 0x10 r/w device_control Global device control register
/// <code>1xxxxxxxxxxxxxxx</code> RESET Soft reset command
/// - 0 = No operation
/// - 1 = Perform power-on reset. (This bit is self-clearing.)
/// <code>x1xxxxxxxxxxxxxx</code> BRST Burst Mode
/// - 0 = Automatically increment register address in serial interface burst mode.
/// - 1 = Burst Read cycle through only the ADC data ports; 
///       Burst Write cycle through only the DAC data ports.
/// <code>xx1xxxxxxxxxxxxx</code> LPEN Low Power Enable
/// - 0 = Normal operation
/// - 1 = Sleep mode
/// <code>xxx1xxxxxxxxxxxx</code> RS_CANCEL series resistance cancelation on external temperature monitors D0P/D0N and D1P/D1N
/// - 0 = Disable series resistance cancelation on external temperature monitors D0P/D0N and D1P/D1N
/// - 1 =  Enable series resistance cancelation on external temperature monitors D0P/D0N and D1P/D1N
/// <code>xxxx1xxxxxxxxxxx</code> TMPPER temperature monitor period
/// - 0 = min IH period is 32.5μsec, hold time of SAMPLE is  7μsec.
/// - 1 = min IH period is 65.0μsec, hold time of SAMPLE is 15μsec.
/// <code>xxxxx1xxxxxxxxxx</code> TMPCTLEXT1 monitor external temperature D1P/D1N
/// <code>xxxxxx1xxxxxxxxx</code> TMPCTLEXT0 monitor external temperature D0P/D0N
/// <code>xxxxxxx1xxxxxxxx</code> TMPCTLINT monitor internal temperature
/// <code>xxxxxxxx1xxxxxxx</code> THSHDN Thermal Shutdown
/// - 0 = Disable Thermal Shutdown
/// - 1 = Enable Thermal Shutdown: reset all ports to hi-Z if <see cref="tmp_int_data"/> is greater than 145 degrees C
/// <code>xxxxxxxxx1xxxxxx</code> DACREF DAC voltage reference
/// - 0 = External DAC voltage reference
/// - 1 = Internal DAC voltage reference
/// <code>xxxxxxxxxx11xxxx</code> ADCCONV ADC conversion rate
/// - 0 = 200Ksps
/// - 1 = 250Ksps
/// - 2 = 333Ksps
/// - 3 = 400Ksps
/// <code>xxxxxxxxxxxx11xx</code> DACCTL DAC update mode
/// - 0 = Update DAC values in normal sequence
/// - 1 = Update DAC immediately after dac_data_port_xx write
/// - 2 = All DAC data registers loaded with <see cref="dac_preset_data_1"/>
/// - 3 = All DAC data registers loaded with <see cref="dac_preset_data_2"/>
/// <code>xxxxxxxxxxxxxx11</code> ADCCTL ADC conversion mode
/// - 0 = Idle mode
/// - 1 = Single sweep triggered by CNVTB pin
/// - 2 = Single conversion triggered by CNVTB pin
/// - 3 = Continuous sweep
#define device_control_RESET    0x8000
#define device_control_BRST     0x4000
#define device_control_LPEN     0x2000
#define device_control_RS_CANCEL    0x1000
#define device_control_TMPPER   0x0800
#define device_control_TMPCTLEXT1   0x0400
#define device_control_TMPCTLEXT0   0x0200
#define device_control_TMPCTLINT    0x0100
#define device_control_THSHDN   0x0080
#define device_control_DACREF   0x0040
#define device_control_ADCCONV  0x0030
#define device_control_DACCTL   0x000c
#define device_control_ADCCTL   0x0003
#define device_control_DESIGNVALUE  0x17c1

/// 0x11 r/w interrupt_mask interrupt mask (1 = disable interrupt source)
/// <code>1xxxxxxxxxxxxxxx</code> VMON High Voltage Supply Monitor
/// <code>x1xxxxxxxxxxxxxx</code> TMPEXT2HOT External Temperature D1P/D1N Hot
/// <code>xx1xxxxxxxxxxxxx</code> TMPEXT2COLD External Temperature D1P/D1N Cold
/// <code>xxx1xxxxxxxxxxxx</code> TMPEXT2NEW External Temperature D1P/D1N New
/// <code>xxxx1xxxxxxxxxxx</code> TMPEXT1HOT External Temperature D0P/D0N Hot
/// <code>xxxxx1xxxxxxxxxx</code> TMPEXT1COLD External Temperature D0P/D0N Cold
/// <code>xxxxxx1xxxxxxxxx</code> TMPEXT1NEW External Temperature D0P/D0N New
/// <code>xxxxxxx1xxxxxxxx</code> TMPINTHOT Internal Temeprature Hot
/// <code>xxxxxxxx1xxxxxxx</code> TMPINTCOLD Internal Temeprature Cold
/// <code>xxxxxxxxx1xxxxxx</code> TMPINTNEW Internal Temeprature New
/// <code>xxxxxxxxxx1xxxxx</code> DACOI DAC over-current
/// <code>xxxxxxxxxxx1xxxx</code> GPIDM GPI event missed
/// <code>xxxxxxxxxxxx1xxx</code> GPIDR GPI event ready
/// <code>xxxxxxxxxxxxx1xx</code> ADCDM ADC data missed
/// <code>xxxxxxxxxxxxxx1x</code> ADCDR ADC data ready
/// <code>xxxxxxxxxxxxxxx1</code> ADCFLAG ADC conversion/sweep complete
#define interrupt_mask_VMON     0x8000
#define interrupt_mask_TMPEXT2HOT   0x4000
#define interrupt_mask_TMPEXT2COLD  0x2000
#define interrupt_mask_TMPEXT2NEW   0x1000
#define interrupt_mask_TMPEXT1HOT   0x0800
#define interrupt_mask_TMPEXT1COLD  0x0400
#define interrupt_mask_TMPEXT1NEW   0x0200
#define interrupt_mask_TMPINTHOT    0x0100
#define interrupt_mask_TMPINTCOLD   0x0080
#define interrupt_mask_TMPINTNEW    0x0040
#define interrupt_mask_DACOI    0x0020
#define interrupt_mask_GPIDM    0x0010
#define interrupt_mask_GPIDR    0x0008
#define interrupt_mask_ADCDM    0x0004
#define interrupt_mask_ADCDR    0x0002
#define interrupt_mask_ADCFLAG  0x0001
#define interrupt_mask_DESIGNVALUE  0xfffd

/// 0x12 r/w gpi_irqmode_P5_P0 GPI ports P5 to P0 mode register
/// <code>11xxxxxxxxxxxxxx</code> GPIMDp05 GPIMD[7]
/// <code>xx11xxxxxxxxxxxx</code> GPIMDp04 GPIMD[6]
/// <code>xxxx11xxxxxxxxxx</code> GPIMDp03 GPIMD[5]
/// <code>xxxxxx11xxxxxxxx</code> GPIMDp02 GPIMD[4]
/// <code>xxxxxxxx11xxxxxx</code> GPIMDp01 GPIMD[3]
/// <code>xxxxxxxxxx11xxxx</code> GPIMDp00 GPIMD[2]
/// <code>xxxxxxxxxxxx11xx</code> RESERVED_01 GPIMD[1]
/// <code>xxxxxxxxxxxxxx11</code> RESERVED_00 GPIMD[0]
/// <para>GPIMD[portId] interrupt mask bits:
/// - 0 = masked
/// - 1 = detect positive edge
/// - 2 = detect negative edge
/// - 3 = detect positive or negative edge
/// </para>
#define gpi_irqmode_P5_P0_GPIMDp05  0xc000
#define gpi_irqmode_P5_P0_GPIMDp04  0x3000
#define gpi_irqmode_P5_P0_GPIMDp03  0x0c00
#define gpi_irqmode_P5_P0_GPIMDp02  0x0300
#define gpi_irqmode_P5_P0_GPIMDp01  0x00c0
#define gpi_irqmode_P5_P0_GPIMDp00  0x0030
#define gpi_irqmode_P5_P0_RESERVED_01   0x000c
#define gpi_irqmode_P5_P0_RESERVED_00   0x0003
#define gpi_irqmode_P5_P0_DESIGNVALUE   0x0000

/// 0x13 r/w gpi_irqmode_P10_P6 GPI ports P10 to P6 mode register
/// <code>11xxxxxxxxxxxxxx</code> GPIMDp10 GPIMD[15]
/// <code>xx11xxxxxxxxxxxx</code> GPIMDp09 GPIMD[14]
/// <code>xxxx11xxxxxxxxxx</code> GPIMDp08 GPIMD[13]
/// <code>xxxxxx11xxxxxxxx</code> GPIMDp07 GPIMD[12]
/// <code>xxxxxxxx11xxxxxx</code> GPIMDp06 GPIMD[11]
/// <code>xxxxxxxxxx11xxxx</code> RESERVED_10 GPIMD[10]
/// <code>xxxxxxxxxxxx11xx</code> RESERVED_09 GPIMD[9]
/// <code>xxxxxxxxxxxxxx11</code> RESERVED_08 GPIMD[8]
/// <para>GPIMD[portId] interrupt mask bits:
/// - 0 = masked
/// - 1 = detect positive edge
/// - 2 = detect negative edge
/// - 3 = detect positive or negative edge
/// </para>
#define gpi_irqmode_P10_P6_GPIMDp10     0xc000
#define gpi_irqmode_P10_P6_GPIMDp09     0x3000
#define gpi_irqmode_P10_P6_GPIMDp08     0x0c00
#define gpi_irqmode_P10_P6_GPIMDp07     0x0300
#define gpi_irqmode_P10_P6_GPIMDp06     0x00c0
#define gpi_irqmode_P10_P6_RESERVED_10  0x0030
#define gpi_irqmode_P10_P6_RESERVED_09  0x000c
#define gpi_irqmode_P10_P6_RESERVED_08  0x0003
#define gpi_irqmode_P10_P6_DESIGNVALUE  0x0000

/// 0x14 r/w gpi_irqmode_P11 GPI port P11 mode register
/// <code>11xxxxxxxxxxxxxx</code> RESERVED_23 GPIMD[23]
/// <code>xx11xxxxxxxxxxxx</code> RESERVED_22 GPIMD[22]
/// <code>xxxx11xxxxxxxxxx</code> RESERVED_21 GPIMD[21]
/// <code>xxxxxx11xxxxxxxx</code> RESERVED_20 GPIMD[20]
/// <code>xxxxxxxx11xxxxxx</code> RESERVED_19 GPIMD[19]
/// <code>xxxxxxxxxx11xxxx</code> RESERVED_18 GPIMD[18]
/// <code>xxxxxxxxxxxx11xx</code> RESERVED_17 GPIMD[17]
/// <code>xxxxxxxxxxxxxx11</code> GPIMDp11 GPIMD[16]
/// <para>GPIMD[portId] interrupt mask bits:
/// - 0 = masked
/// - 1 = detect positive edge
/// - 2 = detect negative edge
/// - 3 = detect positive or negative edge
/// </para>
#define gpi_irqmode_P11_RESERVED_23     0xc000
#define gpi_irqmode_P11_RESERVED_22     0x3000
#define gpi_irqmode_P11_RESERVED_21     0x0c00
#define gpi_irqmode_P11_RESERVED_20     0x0300
#define gpi_irqmode_P11_RESERVED_19     0x00c0
#define gpi_irqmode_P11_RESERVED_18     0x0030
#define gpi_irqmode_P11_RESERVED_17     0x000c
#define gpi_irqmode_P11_GPIMDp11    0x0003
#define gpi_irqmode_P11_DESIGNVALUE     0x0000

/// 0x15 r/w reserved_15 (reserved)
/// <code>11xxxxxxxxxxxxxx</code> RESERVED_31 GPIMD[31]
/// <code>xx11xxxxxxxxxxxx</code> RESERVED_30 GPIMD[30]
/// <code>xxxx11xxxxxxxxxx</code> RESERVED_29 GPIMD[29]
/// <code>xxxxxx11xxxxxxxx</code> RESERVED_28 GPIMD[28]
/// <code>xxxxxxxx11xxxxxx</code> RESERVED_27 GPIMD[27]
/// <code>xxxxxxxxxx11xxxx</code> RESERVED_26 GPIMD[26]
/// <code>xxxxxxxxxxxx11xx</code> RESERVED_25 GPIMD[25]
/// <code>xxxxxxxxxxxxxx11</code> RESERVED_24 GPIMD[24]
/// <para>GPIMD[portId] interrupt mask bits:
/// - 0 = masked
/// - 1 = detect positive edge
/// - 2 = detect negative edge
/// - 3 = detect positive or negative edge
/// </para>
#define reserved_15_RESERVED_31     0xc000
#define reserved_15_RESERVED_30     0x3000
#define reserved_15_RESERVED_29     0x0c00
#define reserved_15_RESERVED_28     0x0300
#define reserved_15_RESERVED_27     0x00c0
#define reserved_15_RESERVED_26     0x0030
#define reserved_15_RESERVED_25     0x000c
#define reserved_15_RESERVED_24     0x0003

/// 0x16 r/w dac_preset_data_1 DAC preset activated by <see cref="device_control"/>
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define dac_preset_data_1_daccode   0x0fff
#define dac_preset_data_1_DESIGNVALUE   0x0000

/// 0x17 r/w dac_preset_data_2 DAC preset activated by <see cref="device_control"/>
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define dac_preset_data_2_daccode   0x0fff
#define dac_preset_data_2_DESIGNVALUE   0x0000

/// 0x18 r/w tmp_mon_cfg Temperautre Monitor Configuration
/// <code>xxxxxxxxxx11xxxx</code> TMPEXT2MONCFG average 4, 8, 16, or 32 measurements
/// <code>xxxxxxxxxxxx11xx</code> TMPEXT1MONCFG average 4, 8, 16, or 32 measurements
/// <code>xxxxxxxxxxxxxx11</code> TMPINTMONCFG average 4, 8, 16, or 32 measurements
/// <para>Temperautre Monitor Configuration:
/// - 0 = 4 measurements (default)
/// - 1 = 8 measurements
/// - 2 = 16 measurements
/// - 3 = 32 measurements
/// </para>
#define tmp_mon_cfg_TMPEXT2MONCFG   0x0030
#define tmp_mon_cfg_TMPEXT1MONCFG   0x000c
#define tmp_mon_cfg_TMPINTMONCFG    0x0003
#define tmp_mon_cfg_DESIGNVALUE     0x003f

/// 0x19 r/w tmp_mon_int_hi_thresh Internal Temeprature Hot Threshold
/// <code>xxxx111111111111</code> tempcode Temperature code, LSB=0.125 degrees C, 12-bit 2's complement
#define tmp_mon_int_hi_thresh_tempcode  0x0fff
#define tmp_mon_int_hi_thresh_DESIGNVALUE   0x07ff

/// 0x1a r/w tmp_mon_int_lo_thresh Internal Temeprature Cold Threshold
/// <code>xxxx111111111111</code> tempcode Temperature code, LSB=0.125 degrees C, 12-bit 2's complement
#define tmp_mon_int_lo_thresh_tempcode  0x0fff
#define tmp_mon_int_lo_thresh_DESIGNVALUE   0x0800

/// 0x1b r/w tmp_mon_ext1_hi_thresh External Temperature D0P/D0N Hot Threshold
/// <code>xxxx111111111111</code> tempcode Temperature code, LSB=0.125 degrees C, 12-bit 2's complement
#define tmp_mon_ext1_hi_thresh_tempcode     0x0fff
#define tmp_mon_ext1_hi_thresh_DESIGNVALUE  0x07ff

/// 0x1c r/w tmp_mon_ext1_lo_thresh External Temperature D0P/D0N Cold Threshold
/// <code>xxxx111111111111</code> tempcode Temperature code, LSB=0.125 degrees C, 12-bit 2's complement
#define tmp_mon_ext1_lo_thresh_tempcode     0x0fff
#define tmp_mon_ext1_lo_thresh_DESIGNVALUE  0x0800

/// 0x1d r/w tmp_mon_ext2_hi_thresh External Temperature D1P/D1N Hot Threshold
/// <code>xxxx111111111111</code> tempcode Temperature code, LSB=0.125 degrees C, 12-bit 2's complement
#define tmp_mon_ext2_hi_thresh_tempcode     0x0fff
#define tmp_mon_ext2_hi_thresh_DESIGNVALUE  0x07ff

/// 0x1e r/w tmp_mon_ext2_lo_thresh External Temperature D1P/D1N Cold Threshold
/// <code>xxxx111111111111</code> tempcode Temperature code, LSB=0.125 degrees C, 12-bit 2's complement
#define tmp_mon_ext2_lo_thresh_tempcode     0x0fff
#define tmp_mon_ext2_lo_thresh_DESIGNVALUE  0x0800

/// 0x1f r/w reserved_1F reserved


/// 0x20 r/w reserved_20 (reserved) configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define reserved_20_PortCfgFuncID   0xf000
#define reserved_20_funcprm_avrInv  0x0800
#define reserved_20_funcprm_range   0x0700
#define reserved_20_funcprm_nsamples    0x00e0
#define reserved_20_funcprm_port    0x001f
#define reserved_20_DESIGNVALUE     0x0000

/// 0x21 r/w reserved_21 (reserved) configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define reserved_21_PortCfgFuncID   0xf000
#define reserved_21_funcprm_avrInv  0x0800
#define reserved_21_funcprm_range   0x0700
#define reserved_21_funcprm_nsamples    0x00e0
#define reserved_21_funcprm_port    0x001f
#define reserved_21_DESIGNVALUE     0x0000

/// 0x22 r/w port_cfg_p0 PIXI port P0 configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define port_cfg_p0_PortCfgFuncID   0xf000
#define port_cfg_p0_funcprm_avrInv  0x0800
#define port_cfg_p0_funcprm_range   0x0700
#define port_cfg_p0_funcprm_nsamples    0x00e0
#define port_cfg_p0_funcprm_port    0x001f
#define port_cfg_p0_DESIGNVALUE     0x74e0

/// 0x23 r/w port_cfg_p1 PIXI port P1 configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define port_cfg_p1_PortCfgFuncID   0xf000
#define port_cfg_p1_funcprm_avrInv  0x0800
#define port_cfg_p1_funcprm_range   0x0700
#define port_cfg_p1_funcprm_nsamples    0x00e0
#define port_cfg_p1_funcprm_port    0x001f
#define port_cfg_p1_DESIGNVALUE     0x0000

/// 0x24 r/w port_cfg_p2 PIXI port P2 configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define port_cfg_p2_PortCfgFuncID   0xf000
#define port_cfg_p2_funcprm_avrInv  0x0800
#define port_cfg_p2_funcprm_range   0x0700
#define port_cfg_p2_funcprm_nsamples    0x00e0
#define port_cfg_p2_funcprm_port    0x001f
#define port_cfg_p2_DESIGNVALUE     0x74e0

/// 0x25 r/w port_cfg_p3 PIXI port P3 configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define port_cfg_p3_PortCfgFuncID   0xf000
#define port_cfg_p3_funcprm_avrInv  0x0800
#define port_cfg_p3_funcprm_range   0x0700
#define port_cfg_p3_funcprm_nsamples    0x00e0
#define port_cfg_p3_funcprm_port    0x001f
#define port_cfg_p3_DESIGNVALUE     0x5100

/// 0x26 r/w port_cfg_p4 PIXI port P4 configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define port_cfg_p4_PortCfgFuncID   0xf000
#define port_cfg_p4_funcprm_avrInv  0x0800
#define port_cfg_p4_funcprm_range   0x0700
#define port_cfg_p4_funcprm_nsamples    0x00e0
#define port_cfg_p4_funcprm_port    0x001f
#define port_cfg_p4_DESIGNVALUE     0x71e0

/// 0x27 r/w port_cfg_p5 PIXI port P5 configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define port_cfg_p5_PortCfgFuncID   0xf000
#define port_cfg_p5_funcprm_avrInv  0x0800
#define port_cfg_p5_funcprm_range   0x0700
#define port_cfg_p5_funcprm_nsamples    0x00e0
#define port_cfg_p5_funcprm_port    0x001f
#define port_cfg_p5_DESIGNVALUE     0x5100

/// 0x28 r/w reserved_28 (reserved) configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define reserved_28_PortCfgFuncID   0xf000
#define reserved_28_funcprm_avrInv  0x0800
#define reserved_28_funcprm_range   0x0700
#define reserved_28_funcprm_nsamples    0x00e0
#define reserved_28_funcprm_port    0x001f
#define reserved_28_DESIGNVALUE     0x0000

/// 0x29 r/w reserved_29 (reserved) configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define reserved_29_PortCfgFuncID   0xf000
#define reserved_29_funcprm_avrInv  0x0800
#define reserved_29_funcprm_range   0x0700
#define reserved_29_funcprm_nsamples    0x00e0
#define reserved_29_funcprm_port    0x001f
#define reserved_29_DESIGNVALUE     0x0000

/// 0x2a r/w reserved_2A (reserved) configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define reserved_2A_PortCfgFuncID   0xf000
#define reserved_2A_funcprm_avrInv  0x0800
#define reserved_2A_funcprm_range   0x0700
#define reserved_2A_funcprm_nsamples    0x00e0
#define reserved_2A_funcprm_port    0x001f
#define reserved_2A_DESIGNVALUE     0x0000

/// 0x2b r/w port_cfg_p6 PIXI port P6 configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define port_cfg_p6_PortCfgFuncID   0xf000
#define port_cfg_p6_funcprm_avrInv  0x0800
#define port_cfg_p6_funcprm_range   0x0700
#define port_cfg_p6_funcprm_nsamples    0x00e0
#define port_cfg_p6_funcprm_port    0x001f
#define port_cfg_p6_DESIGNVALUE     0x74e0

/// 0x2c r/w port_cfg_p7 PIXI port P7 configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define port_cfg_p7_PortCfgFuncID   0xf000
#define port_cfg_p7_funcprm_avrInv  0x0800
#define port_cfg_p7_funcprm_range   0x0700
#define port_cfg_p7_funcprm_nsamples    0x00e0
#define port_cfg_p7_funcprm_port    0x001f
#define port_cfg_p7_DESIGNVALUE     0x0000

/// 0x2d r/w port_cfg_p8 PIXI port P8 configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define port_cfg_p8_PortCfgFuncID   0xf000
#define port_cfg_p8_funcprm_avrInv  0x0800
#define port_cfg_p8_funcprm_range   0x0700
#define port_cfg_p8_funcprm_nsamples    0x00e0
#define port_cfg_p8_funcprm_port    0x001f
#define port_cfg_p8_DESIGNVALUE     0x0000

/// 0x2e r/w port_cfg_p9 PIXI port P9 configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define port_cfg_p9_PortCfgFuncID   0xf000
#define port_cfg_p9_funcprm_avrInv  0x0800
#define port_cfg_p9_funcprm_range   0x0700
#define port_cfg_p9_funcprm_nsamples    0x00e0
#define port_cfg_p9_funcprm_port    0x001f
#define port_cfg_p9_DESIGNVALUE     0x5100

/// 0x2f r/w port_cfg_p10 PIXI port P10 configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define port_cfg_p10_PortCfgFuncID  0xf000
#define port_cfg_p10_funcprm_avrInv     0x0800
#define port_cfg_p10_funcprm_range  0x0700
#define port_cfg_p10_funcprm_nsamples   0x00e0
#define port_cfg_p10_funcprm_port   0x001f
#define port_cfg_p10_DESIGNVALUE    0x5100

/// 0x30 r/w port_cfg_p11 PIXI port P11 configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define port_cfg_p11_PortCfgFuncID  0xf000
#define port_cfg_p11_funcprm_avrInv     0x0800
#define port_cfg_p11_funcprm_range  0x0700
#define port_cfg_p11_funcprm_nsamples   0x00e0
#define port_cfg_p11_funcprm_port   0x001f
#define port_cfg_p11_DESIGNVALUE    0x5200

/// 0x31 r/w reserved_31 (reserved) configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define reserved_31_PortCfgFuncID   0xf000
#define reserved_31_funcprm_avrInv  0x0800
#define reserved_31_funcprm_range   0x0700
#define reserved_31_funcprm_nsamples    0x00e0
#define reserved_31_funcprm_port    0x001f
#define reserved_31_DESIGNVALUE     0x0000

/// 0x32 r/w reserved_32 (reserved) configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define reserved_32_PortCfgFuncID   0xf000
#define reserved_32_funcprm_avrInv  0x0800
#define reserved_32_funcprm_range   0x0700
#define reserved_32_funcprm_nsamples    0x00e0
#define reserved_32_funcprm_port    0x001f
#define reserved_32_DESIGNVALUE     0x0000

/// 0x33 r/w reserved_33 (reserved) configuration register
/// <code>1111xxxxxxxxxxxx</code> PortCfgFuncID Port function / mode
/// <code>xxxx1xxxxxxxxxxx</code> funcprm_avrInv AVR / INV
/// <code>xxxxx111xxxxxxxx</code> funcprm_range DAC Range / ADC Range
/// <code>xxxxxxxx111xxxxx</code> funcprm_nsamples Number of samples / CAP
/// <code>xxxxxxxxxxx11111</code> funcprm_port Associated port 0..31
#define reserved_33_PortCfgFuncID   0xf000
#define reserved_33_funcprm_avrInv  0x0800
#define reserved_33_funcprm_range   0x0700
#define reserved_33_funcprm_nsamples    0x00e0
#define reserved_33_funcprm_port    0x001f
#define reserved_33_DESIGNVALUE     0x0000

/// 0x40 r/o reserved_40 (reserved) Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define reserved_40_adccode     0x0fff

/// 0x41 r/o reserved_41 (reserved) Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define reserved_41_adccode     0x0fff

/// 0x42 r/o adc_data_port_p0 PIXI port P0 Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define adc_data_port_p0_adccode    0x0fff

/// 0x43 r/o adc_data_port_p1 PIXI port P1 Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define adc_data_port_p1_adccode    0x0fff

/// 0x44 r/o adc_data_port_p2 PIXI port P2 Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define adc_data_port_p2_adccode    0x0fff

/// 0x45 r/o adc_data_port_p3 PIXI port P3 Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define adc_data_port_p3_adccode    0x0fff

/// 0x46 r/o adc_data_port_p4 PIXI port P4 Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define adc_data_port_p4_adccode    0x0fff

/// 0x47 r/o adc_data_port_p5 PIXI port P5 Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define adc_data_port_p5_adccode    0x0fff

/// 0x48 r/o reserved_48 (reserved) Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define reserved_48_adccode     0x0fff

/// 0x49 r/o reserved_49 (reserved) Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define reserved_49_adccode     0x0fff

/// 0x4a r/o reserved_4A (reserved) Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define reserved_4A_adccode     0x0fff

/// 0x4b r/o adc_data_port_p6 PIXI port P6 Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define adc_data_port_p6_adccode    0x0fff

/// 0x4c r/o adc_data_port_p7 PIXI port P7 Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define adc_data_port_p7_adccode    0x0fff

/// 0x4d r/o adc_data_port_p8 PIXI port P8 Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define adc_data_port_p8_adccode    0x0fff

/// 0x4e r/o adc_data_port_p9 PIXI port P9 Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define adc_data_port_p9_adccode    0x0fff

/// 0x4f r/o adc_data_port_p10 PIXI port P10 Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define adc_data_port_p10_adccode   0x0fff

/// 0x50 r/o adc_data_port_p11 PIXI port P11 Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define adc_data_port_p11_adccode   0x0fff

/// 0x51 r/o reserved_51 (reserved) Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define reserved_51_adccode     0x0fff

/// 0x52 r/o reserved_52 (reserved) Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define reserved_52_adccode     0x0fff

/// 0x53 r/o reserved_53 (reserved) Analog to Digital Converter register
/// <code>xxxx111111111111</code> adccode 12-bit ADC code
#define reserved_53_adccode     0x0fff

/// 0x60 r/w reserved_60 (reserved) Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define reserved_60_daccode     0x0fff
#define reserved_60_DESIGNVALUE     0x0000

/// 0x61 r/w reserved_61 (reserved) Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define reserved_61_daccode     0x0fff
#define reserved_61_DESIGNVALUE     0x0000

/// 0x62 r/w dac_data_port_p0 PIXI port P0 Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define dac_data_port_p0_daccode    0x0fff
#define dac_data_port_p0_DESIGNVALUE    0x0000

/// 0x63 r/w dac_data_port_p1 PIXI port P1 Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define dac_data_port_p1_daccode    0x0fff
#define dac_data_port_p1_DESIGNVALUE    0x0000

/// 0x64 r/w dac_data_port_p2 PIXI port P2 Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define dac_data_port_p2_daccode    0x0fff
#define dac_data_port_p2_DESIGNVALUE    0x0000

/// 0x65 r/w dac_data_port_p3 PIXI port P3 Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define dac_data_port_p3_daccode    0x0fff
#define dac_data_port_p3_DESIGNVALUE    0x0000

/// 0x66 r/w dac_data_port_p4 PIXI port P4 Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define dac_data_port_p4_daccode    0x0fff
#define dac_data_port_p4_DESIGNVALUE    0x0000

/// 0x67 r/w dac_data_port_p5 PIXI port P5 Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define dac_data_port_p5_daccode    0x0fff
#define dac_data_port_p5_DESIGNVALUE    0x0000

/// 0x68 r/w reserved_68 (reserved) Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define reserved_68_daccode     0x0fff
#define reserved_68_DESIGNVALUE     0x0000

/// 0x69 r/w reserved_69 (reserved) Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define reserved_69_daccode     0x0fff
#define reserved_69_DESIGNVALUE     0x0000

/// 0x6a r/w reserved_6A (reserved) Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define reserved_6A_daccode     0x0fff
#define reserved_6A_DESIGNVALUE     0x0000

/// 0x6b r/w dac_data_port_p6 PIXI port P6 Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define dac_data_port_p6_daccode    0x0fff
#define dac_data_port_p6_DESIGNVALUE    0x0000

/// 0x6c r/w dac_data_port_p7 PIXI port P7 Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define dac_data_port_p7_daccode    0x0fff
#define dac_data_port_p7_DESIGNVALUE    0x0000

/// 0x6d r/w dac_data_port_p8 PIXI port P8 Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define dac_data_port_p8_daccode    0x0fff
#define dac_data_port_p8_DESIGNVALUE    0x0000

/// 0x6e r/w dac_data_port_p9 PIXI port P9 Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define dac_data_port_p9_daccode    0x0fff
#define dac_data_port_p9_DESIGNVALUE    0x0000

/// 0x6f r/w dac_data_port_p10 PIXI port P10 Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define dac_data_port_p10_daccode   0x0fff
#define dac_data_port_p10_DESIGNVALUE   0x0fff

/// 0x70 r/w dac_data_port_p11 PIXI port P11 Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define dac_data_port_p11_daccode   0x0fff
#define dac_data_port_p11_DESIGNVALUE   0x019a

/// 0x71 r/w reserved_71 (reserved) Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define reserved_71_daccode     0x0fff
#define reserved_71_DESIGNVALUE     0x0000

/// 0x72 r/w reserved_72 (reserved) Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define reserved_72_daccode     0x0fff
#define reserved_72_DESIGNVALUE     0x0000

/// 0x73 r/w reserved_73 (reserved) Digital to Analog Converter register
/// <code>xxxx111111111111</code> daccode 12-bit DAC code
#define reserved_73_daccode     0x0fff
#define reserved_73_DESIGNVALUE     0x0000

/// Initialize registers in sequence recommended by PIXI Port Configuration Flow Chart.
/// Requires user-provided function MAX11300regWrite(regAddress8, regData16)
uint16_t MAX11300regWrite(uint8_t regAddress8, uint16_t regData16);
uint16_t MAX11300regRead(uint8_t regAddress8);
/// Requires user-provided function MAX11300initDelayus(delay_us)
void MAX11300initDelayus(uint8_t delay_us);
///
/// PIXI ports to configure as Mode 0 HighImpedance:
///    portIndex 0 PIXI port --- N.C.
///    portIndex 1 PIXI port --- N.C.
///    portIndex 3 PIXI port P1 Differential in- for measuring the source voltage
///    portIndex 8 PIXI port --- N.C.
///    portIndex 9 PIXI port --- N.C.
///    portIndex 10 PIXI port --- N.C.
///    portIndex 12 PIXI port P7 Not used
///    portIndex 13 PIXI port P8 Not used
///    portIndex 17 PIXI port --- N.C.
///    portIndex 18 PIXI port --- N.C.
///    portIndex 19 PIXI port --- N.C.
/// PIXI ports to configure as Mode 1 GPIOinPgmThreshold:
///    none
/// PIXI ports to configure as Mode 2 GPIOinOutBidirLevelTrans:
///    none
/// PIXI ports to configure as Mode 3 GPIOoutRegDrivenOutputDAClevel:
///    none
/// PIXI ports to configure as Mode 4 GPIOoutUnidirOutputDAClevel:
///    none
/// PIXI ports to configure as Mode 5 DACout:
///    portIndex 5 PIXI port P3 DAC for setting the low current
///    portIndex 7 PIXI port P5 DAC for setting the high current
///    portIndex 14 PIXI port P9 Clamp for lower limit curve
///    portIndex 15 PIXI port P10 Clamp for higher limit curve
///    portIndex 16 PIXI port P11 DAC for driving ramp generator
/// PIXI ports to configure as Mode 6 DACoutWithADCmonitor:
///    none
/// PIXI ports to configure as Mode 7 ADCinPosSingleEnded:
///    portIndex 2 PIXI port P0 Differential in+ for measuring the source voltage
///    portIndex 4 PIXI port P2 ADC for measuring the low current
///    portIndex 6 PIXI port P4 Input for dynamic current control
///    portIndex 11 PIXI port P6 ADC for measuring the low current
/// PIXI ports to configure as Mode 8 ADCinPosDifferential:
///    none
/// PIXI ports to configure as Mode 9 ADCinNegDifferential:
///    none
/// PIXI ports to configure as Mode 10 DACoutADCinNegDifferential:
///    none
/// PIXI ports to configure as Mode 11 GPIOBidirAnalogSwitchExtControlled:
///    none
/// PIXI ports to configure as Mode 12 GPIOBidirAnalogSwitch:
///    none
/// PIXI ports to configure as Mode 13 Reserved13:
///    none
/// PIXI ports to configure as Mode 14 Reserved14:
///    none
/// PIXI ports to configure as Mode 15 Reserved15:
///    none
///
inline void MAX11311init()
{
  // SPI.begin();   
  // extern bool MAX11311regWrite(int regAddress8, int regData16);
  // extern void MAX11311initDelayus(int delay_us);

   // ------------------------------------------------------
   // Soft Reset device registers by device_control 8000_RESET
   // ------------------------------------------------------
   MAX11300regWrite(device_control, 0x8000); // 1xxx xxxx xxxx xxxx RESET Soft reset command

   // ------------------------------------------------------
   // FLOWCHART: "Configure device_control 4000_BRST, 0080_THSHDN, 0030_ADCCONV"
   // ------------------------------------------------------
   MAX11300regWrite(device_control, (device_control_DESIGNVALUE & 0x40B0));

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?"
   // ------------------------------------------------------
   // PIXI ports to configure as Mode 1 GPIOinPgmThreshold:
   //    none
   // PIXI ports to configure as Mode 3 GPIOoutRegDrivenOutputDAClevel:
   //    none
   // PIXI ports to configure as Mode 4 GPIOoutUnidirOutputDAClevel:
   //    none
   // PIXI ports to configure as Mode 5 DACout:
   //    portIndex 5 PIXI port P3 DAC for setting the low current
   //    portIndex 7 PIXI port P5 DAC for setting the high current
   //    portIndex 14 PIXI port P9 Clamp for lower limit curve
   //    portIndex 15 PIXI port P10 Clamp for higher limit curve
   //    portIndex 16 PIXI port P11 DAC for driving ramp generator
   // PIXI ports to configure as Mode 6 DACoutWithADCmonitor:
   //    none
   // PIXI ports to configure as Mode 10 DACoutADCinNegDifferential:
   //    none
   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Configure device_control 0040_DACREF, 000C_DACCTL"
   // ------------------------------------------------------
   MAX11300regWrite(device_control, (device_control_DESIGNVALUE & 0x40FC));

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Wait 200us"
   // ------------------------------------------------------
   MAX11300initDelayus(200);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // Configure DACDAT[i] for ports in mode 5 DACout:
   //    portIndex 5 PIXI port P3 DAC for setting the low current
   // ------------------------------------------------------
   MAX11300regWrite(dac_data_port_p3, dac_data_port_p3_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Wait 1ms"
   // ------------------------------------------------------
   MAX11300initDelayus(1000);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // Configure DACDAT[i] for ports in mode 5 DACout:
   //    portIndex 7 PIXI port P5 DAC for setting the high current
   // ------------------------------------------------------
   MAX11300regWrite(dac_data_port_p5, dac_data_port_p5_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Wait 1ms"
   // ------------------------------------------------------
   MAX11300initDelayus(1000);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // Configure DACDAT[i] for ports in mode 5 DACout:
   //    portIndex 14 PIXI port P9 Clamp for lower limit curve
   // ------------------------------------------------------
   MAX11300regWrite(dac_data_port_p9, dac_data_port_p9_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Wait 1ms"
   // ------------------------------------------------------
   MAX11300initDelayus(1000);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // Configure DACDAT[i] for ports in mode 5 DACout:
   //    portIndex 15 PIXI port P10 Clamp for higher limit curve
   // ------------------------------------------------------
   MAX11300regWrite(dac_data_port_p10, dac_data_port_p10_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Wait 1ms"
   // ------------------------------------------------------
   MAX11300initDelayus(1000);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // Configure DACDAT[i] for ports in mode 5 DACout:
   //    portIndex 16 PIXI port P11 DAC for driving ramp generator
   // ------------------------------------------------------
   MAX11300regWrite(dac_data_port_p11, dac_data_port_p11_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Wait 1ms"
   // ------------------------------------------------------
   MAX11300initDelayus(1000);


   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Enter DACPRSTDAT1 or DACPRSTDAT2"
   // ------------------------------------------------------
   MAX11300regWrite(dac_preset_data_1, dac_preset_data_1_DESIGNVALUE);
   MAX11300regWrite(dac_preset_data_2, dac_preset_data_2_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Wait 200us x number of ports in mode 1"
   // ------------------------------------------------------

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Configure GPODAT[i] for ports in mode 3"
   // ------------------------------------------------------

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // Configure FUNCID[i] FUNCPRM[i] for ports in mode 5 DACout:
   //    portIndex 5 PIXI port P3 DAC for setting the low current
   // ------------------------------------------------------
   MAX11300regWrite(port_cfg_p3, port_cfg_p3_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Wait 1ms"
   // ------------------------------------------------------
   MAX11300initDelayus(1000);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // Configure FUNCID[i] FUNCPRM[i] for ports in mode 5 DACout:
   //    portIndex 7 PIXI port P5 DAC for setting the high current
   // ------------------------------------------------------
   MAX11300regWrite(port_cfg_p5, port_cfg_p5_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Wait 1ms"
   // ------------------------------------------------------
   MAX11300initDelayus(1000);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // Configure FUNCID[i] FUNCPRM[i] for ports in mode 5 DACout:
   //    portIndex 14 PIXI port P9 Clamp for lower limit curve
   // ------------------------------------------------------
   MAX11300regWrite(port_cfg_p9, port_cfg_p9_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Wait 1ms"
   // ------------------------------------------------------
   MAX11300initDelayus(1000);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // Configure FUNCID[i] FUNCPRM[i] for ports in mode 5 DACout:
   //    portIndex 15 PIXI port P10 Clamp for higher limit curve
   // ------------------------------------------------------
   MAX11300regWrite(port_cfg_p10, port_cfg_p10_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Wait 1ms"
   // ------------------------------------------------------
   MAX11300initDelayus(1000);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // Configure FUNCID[i] FUNCPRM[i] for ports in mode 5 DACout:
   //    portIndex 16 PIXI port P11 DAC for driving ramp generator
   // ------------------------------------------------------
   MAX11300regWrite(port_cfg_p11, port_cfg_p11_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Wait 1ms"
   // ------------------------------------------------------
   MAX11300initDelayus(1000);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 1, 3, 4, 5, 6, or 10 used?" branch "Y"
   // FLOWCHART: "Configure GPIMD[i] for ports in mode 1"
   // ------------------------------------------------------
   MAX11300regWrite(gpi_irqmode_P5_P0, gpi_irqmode_P5_P0_DESIGNVALUE);
   MAX11300regWrite(gpi_irqmode_P10_P6, gpi_irqmode_P10_P6_DESIGNVALUE);
   MAX11300regWrite(gpi_irqmode_P11, gpi_irqmode_P11_DESIGNVALUE);


   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 7, 8, or 9 used?"
   // ------------------------------------------------------
   // PIXI ports to configure as Mode 7 ADCinPosSingleEnded:
   //    portIndex 2 PIXI port P0 Differential in+ for measuring the source voltage
   //    portIndex 4 PIXI port P2 ADC for measuring the low current
   //    portIndex 6 PIXI port P4 Input for dynamic current control
   //    portIndex 11 PIXI port P6 ADC for measuring the low current
   // PIXI ports to configure as Mode 8 ADCinPosDifferential:
   //    none
   // PIXI ports to configure as Mode 9 ADCinNegDifferential:
   //    none
   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 7, 8, or 9 used?" branch "Y"
   // Configure FUNCID[i] FUNCPRM[i] for ports in mode 7 ADCinPosSingleEnded:
   //    portIndex 2 PIXI port P0 Differential in+ for measuring the source voltage
   // ------------------------------------------------------
   MAX11300regWrite(port_cfg_p0, port_cfg_p0_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 7, 8, or 9 used?" branch "Y"
   // FLOWCHART: "Wait 100us"
   // ------------------------------------------------------
   MAX11300initDelayus(100);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 7, 8, or 9 used?" branch "Y"
   // Configure FUNCID[i] FUNCPRM[i] for ports in mode 7 ADCinPosSingleEnded:
   //    portIndex 4 PIXI port P2 ADC for measuring the low current
   // ------------------------------------------------------
   MAX11300regWrite(port_cfg_p2, port_cfg_p2_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 7, 8, or 9 used?" branch "Y"
   // FLOWCHART: "Wait 100us"
   // ------------------------------------------------------
   MAX11300initDelayus(100);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 7, 8, or 9 used?" branch "Y"
   // Configure FUNCID[i] FUNCPRM[i] for ports in mode 7 ADCinPosSingleEnded:
   //    portIndex 6 PIXI port P4 Input for dynamic current control
   // ------------------------------------------------------
   MAX11300regWrite(port_cfg_p4, port_cfg_p4_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 7, 8, or 9 used?" branch "Y"
   // FLOWCHART: "Wait 100us"
   // ------------------------------------------------------
   MAX11300initDelayus(100);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 7, 8, or 9 used?" branch "Y"
   // Configure FUNCID[i] FUNCPRM[i] for ports in mode 7 ADCinPosSingleEnded:
   //    portIndex 11 PIXI port P6 ADC for measuring the low current
   // ------------------------------------------------------
   MAX11300regWrite(port_cfg_p6, port_cfg_p6_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 7, 8, or 9 used?" branch "Y"
   // FLOWCHART: "Wait 100us"
   // ------------------------------------------------------
   MAX11300initDelayus(100);

   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 7, 8, or 9 used?" branch "Y"
   // FLOWCHART: "Configure device_control 0003_ADCCTL"
   // ------------------------------------------------------
   MAX11300regWrite(device_control, (device_control_DESIGNVALUE & 0x40FF));


   // ------------------------------------------------------
   // FLOWCHART: decision "Is mode 2, 11, or 12 used?"
   // ------------------------------------------------------

   // ------------------------------------------------------
   // FLOWCHART: decision "Are temperature sensors used?"
   // ------------------------------------------------------
   // ------------------------------------------------------
   // FLOWCHART: decision "Are temperature sensors used?" branch "Y"
   // FLOWCHART: "Configure device_control 0800_TMPPER"
   // ------------------------------------------------------
   MAX11300regWrite(device_control, (device_control_DESIGNVALUE & 0x48FF));

   // ------------------------------------------------------
   // FLOWCHART: decision "Are temperature sensors used?" branch "Y"
   // FLOWCHART: "Configure device_control 1000_RS_CANCEL"
   // ------------------------------------------------------
   MAX11300regWrite(device_control, (device_control_DESIGNVALUE & 0x58FF));

   // ------------------------------------------------------
   // FLOWCHART: decision "Are temperature sensors used?" branch "Y"
   // FLOWCHART: "Configure tmp_mon_cfg"
   // ------------------------------------------------------
   MAX11300regWrite(tmp_mon_cfg, tmp_mon_cfg_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Are temperature sensors used?" branch "Y"
   // FLOWCHART: "Configure TMPHI and TMPLO alarm thresholds"
   // ------------------------------------------------------
   MAX11300regWrite(tmp_mon_int_hi_thresh, tmp_mon_int_hi_thresh_DESIGNVALUE);
   MAX11300regWrite(tmp_mon_int_lo_thresh, tmp_mon_int_lo_thresh_DESIGNVALUE);
   MAX11300regWrite(tmp_mon_ext1_hi_thresh, tmp_mon_ext1_hi_thresh_DESIGNVALUE);
   MAX11300regWrite(tmp_mon_ext1_lo_thresh, tmp_mon_ext1_lo_thresh_DESIGNVALUE);
   MAX11300regWrite(tmp_mon_ext2_hi_thresh, tmp_mon_ext2_hi_thresh_DESIGNVALUE);
   MAX11300regWrite(tmp_mon_ext2_lo_thresh, tmp_mon_ext2_lo_thresh_DESIGNVALUE);

   // ------------------------------------------------------
   // FLOWCHART: decision "Are temperature sensors used?" branch "Y"
   // FLOWCHART: "Configure device_control 0400_TMPCTL_EXT1, 0200_TMPCTL_EXT0, 0100_TMPCTL_INT"
   // ------------------------------------------------------
   MAX11300regWrite(device_control, (device_control_DESIGNVALUE & 0x5FFF));


   // ------------------------------------------------------
   // Configure final device_control design value 2000_LPEN
   // ------------------------------------------------------
   MAX11300regWrite(device_control, (device_control_DESIGNVALUE));

   // ------------------------------------------------------
   // FLOWCHART: Configure Interrupt Masks
   // ------------------------------------------------------
   MAX11300regWrite(interrupt_mask, interrupt_mask_DESIGNVALUE);


}


#endif /* _MAX11311_DESIGNVALUE_H_ */

// End of file