1    /*!
     2     *  ======== IE2 ========
     3     *  MSP430 Interrupt Enable Register 2
     4     */
     5    metaonly module IE2 inherits xdc.platform.IPeripheral {
     6    
     7        /* USCI_B0 transmit interrupt enable */
     8        enum UCB0TXIE_t {
     9            UCB0TXIE_OFF = 0x00,            /*! Interrupt disabled */
    10            UCB0TXIE     = 0x08             /*! Interrupt enabled */
    11        };
    12    
    13        /* USCI_B0 receive interrupt enable */
    14        enum UCB0RXIE_t {
    15            UCB0RXIE_OFF = 0x00,            /*! Interrupt disabled */
    16            UCB0RXIE     = 0x04             /*! Interrupt enabled */
    17        };
    18        
    19        /* USCI_A0 transmit interrupt enable */
    20        enum UCA0TXIE_t {
    21            UCA0TXIE_OFF = 0x00,            /*! Interrupt disabled */
    22            UCA0TXIE     = 0x02             /*! Interrupt enabled */
    23        };
    24        
    25        /* USCI_A0 receive interrupt enable */
    26        enum UCA0RXIE_t {
    27            UCA0RXIE_OFF = 0x00,            /*! Interrupt disabled */
    28            UCA0RXIE     = 0x01             /*! Interrupt enabled */
    29        };
    30        
    31        
    32        /*! IE2, Interrupt Enable Register 2 */
    33        struct IE2_t {
    34            UCB0TXIE_t  UCB0TXIE;           /*! USCI_B0 transmit interrupt enable
    35                                             *  0 Interrupt disabled
    36                                             *  1 Interrupt enabled */
    37            UCB0RXIE_t  UCB0RXIE;           /*! USCI_B0 receive interrupt enable
    38                                             *  0 Interrupt disabled
    39                                             *  1 Interrupt enabled */
    40            UCA0TXIE_t  UCA0TXIE;           /*! USCI_A0 transmit interrupt enable
    41                                             *  0 Interrupt disabled
    42                                             *  1 Interrupt enabled */
    43            UCA0RXIE_t  UCA0RXIE;           /*! USCI_A0 receive interrupt enable
    44                                             *  0 Interrupt disabled
    45                                             *  1 Interrupt enabled */
    46        }
    47    
    48        /*!
    49        *  ======== ForceSetDefaultRegister_t ========
    50        *  Force Set Default Register
    51        *
    52        *  Type to store if each register needs to be forced initialized
    53        *  even if the register is in default state.
    54        *
    55        *  @see #ForceSetDefaultRegister_t
    56        */
    57        struct ForceSetDefaultRegister_t {
    58            String     register;
    59            Bool       regForceSet;
    60        }
    61        
    62    instance:
    63        /*! IE2, Interrupt Enable Register 2 */
    64        config IE2_t IE2 = {
    65            UCB0TXIE    : UCB0TXIE_OFF,
    66            UCB0RXIE    : UCB0RXIE_OFF,
    67            UCA0TXIE    : UCA0TXIE_OFF,
    68            UCA0RXIE    : UCA0RXIE_OFF,
    69        };
    70        
    71       /*!
    72        *  ======== getUCB0TXIE ========
    73        *  Gets UCB0TXIE bit
    74        *
    75        *  @see #getUCB0TXIE
    76        */
    77        Bool    getUCB0TXIE();
    78        
    79       /*!
    80        *  ======== setUCB0TXIE ========
    81        *  Sets UCB0TXIE bit
    82        *
    83        *  @see #setUCB0TXIE
    84        */
    85        Bool    setUCB0TXIE(Bool set);
    86        
    87       /*!
    88        *  ======== getUCB0RXIE ========
    89        *  Gets UCB0RXIE bit
    90        *
    91        *  @see #getUCB0RXIE
    92        */
    93        Bool    getUCB0RXIE();
    94        
    95       /*!
    96        *  ======== setUCB0RXIE ========
    97        *  Sets UCB0RXIE bit
    98        *
    99        *  @see #setUCB0RXIE
   100        */
   101        Bool    setUCB0RXIE(Bool set);
   102        
   103       /*!
   104        *  ======== getUCA0TXIE ========
   105        *  Gets UCA0TXIE bit
   106        *
   107        *  @see #getUCA0TXIE
   108        */
   109        Bool    getUCA0TXIE();
   110        
   111       /*!
   112        *  ======== setUCA0TXIE ========
   113        *  Sets UCA0TXIE bit
   114        *
   115        *  @see #setUCA0TXIE
   116        */
   117        Bool    setUCA0TXIE(Bool set);
   118        
   119       /*!
   120        *  ======== getUCA0RXIE ========
   121        *  Gets UCA0RXIE bit
   122        *
   123        *  @see #getUCA0RXIE
   124        */
   125        Bool    getUCA0RXIE();
   126        
   127       /*!
   128        *  ======== setUCA0RXIE ========
   129        *  Sets UCA0RXIE bit
   130        *
   131        *  @see #setUCA0RXIE
   132        */
   133        Bool    setUCA0RXIE(Bool set);
   134    
   135        /*! Determine if each Register needs to be forced set or not */
   136        readonly config ForceSetDefaultRegister_t forceSetDefaultRegister[] =
   137        [
   138            { register : "IE2" , regForceSet : false },
   139        ];
   140    }