001 // Copyright (c) National Instruments 2009. All Rights Reserved. 002 // Do Not Edit... this file is generated! 003 004 package edu.wpi.first.wpilibj.fpga; 005 006 import com.ni.rio.*; 007 008 public class tInterrupt extends tSystem 009 { 010 011 public tInterrupt(final int sys_index) 012 { 013 super(); 014 m_SystemIndex = sys_index; 015 if (status.isNotFatal() && m_SystemIndex >= kNumSystems) 016 { 017 status.setStatus(NiRioStatus.kRIOStatusBadSelector); 018 } 019 020 } 021 022 protected void finalize() 023 { 024 super.finalize(); 025 } 026 027 public int getSystemIndex() 028 { 029 return m_SystemIndex; 030 } 031 032 public static final int kNumSystems = 8; 033 public final int m_SystemIndex; 034 035 036 037 038 039 ////////////////////////////////////////////////////////////////////////////////////////////////// 040 // Accessors for TimeStamp 041 ////////////////////////////////////////////////////////////////////////////////////////////////// 042 private static final int kInterrupt0_TimeStamp_Address = 0x83D4; 043 private static final int kInterrupt1_TimeStamp_Address = 0x83DC; 044 private static final int kInterrupt2_TimeStamp_Address = 0x83E4; 045 private static final int kInterrupt3_TimeStamp_Address = 0x83EC; 046 private static final int kInterrupt4_TimeStamp_Address = 0x83F4; 047 private static final int kInterrupt5_TimeStamp_Address = 0x83FC; 048 private static final int kInterrupt6_TimeStamp_Address = 0x8404; 049 private static final int kInterrupt7_TimeStamp_Address = 0x840C; 050 private static final int kTimeStamp_Addresses [] = 051 { 052 kInterrupt0_TimeStamp_Address, 053 kInterrupt1_TimeStamp_Address, 054 kInterrupt2_TimeStamp_Address, 055 kInterrupt3_TimeStamp_Address, 056 kInterrupt4_TimeStamp_Address, 057 kInterrupt5_TimeStamp_Address, 058 kInterrupt6_TimeStamp_Address, 059 kInterrupt7_TimeStamp_Address, 060 }; 061 062 public long readTimeStamp() 063 { 064 065 return (long)((NiFpga.readU32(m_DeviceHandle, kTimeStamp_Addresses[m_SystemIndex], status)) & 0xFFFFFFFFl); 066 } 067 068 ////////////////////////////////////////////////////////////////////////////////////////////////// 069 // Accessors for Config 070 ////////////////////////////////////////////////////////////////////////////////////////////////// 071 private static final int kConfig_Source_Channel_BitfieldMask = 0x000001E0; 072 private static final int kConfig_Source_Channel_BitfieldOffset = 5; 073 private static final int kConfig_Source_Module_BitfieldMask = 0x00000010; 074 private static final int kConfig_Source_Module_BitfieldOffset = 4; 075 private static final int kConfig_Source_AnalogTrigger_BitfieldMask = 0x00000008; 076 private static final int kConfig_Source_AnalogTrigger_BitfieldOffset = 3; 077 private static final int kConfig_RisingEdge_BitfieldMask = 0x00000004; 078 private static final int kConfig_RisingEdge_BitfieldOffset = 2; 079 private static final int kConfig_FallingEdge_BitfieldMask = 0x00000002; 080 private static final int kConfig_FallingEdge_BitfieldOffset = 1; 081 private static final int kConfig_WaitForAck_BitfieldMask = 0x00000001; 082 private static final int kConfig_WaitForAck_BitfieldOffset = 0; 083 private static final int kInterrupt0_Config_Address = 0x83D0; 084 private static final int kInterrupt1_Config_Address = 0x83D8; 085 private static final int kInterrupt2_Config_Address = 0x83E0; 086 private static final int kInterrupt3_Config_Address = 0x83E8; 087 private static final int kInterrupt4_Config_Address = 0x83F0; 088 private static final int kInterrupt5_Config_Address = 0x83F8; 089 private static final int kInterrupt6_Config_Address = 0x8400; 090 private static final int kInterrupt7_Config_Address = 0x8408; 091 private static final int kConfig_Addresses [] = 092 { 093 kInterrupt0_Config_Address, 094 kInterrupt1_Config_Address, 095 kInterrupt2_Config_Address, 096 kInterrupt3_Config_Address, 097 kInterrupt4_Config_Address, 098 kInterrupt5_Config_Address, 099 kInterrupt6_Config_Address, 100 kInterrupt7_Config_Address, 101 }; 102 103 public void writeConfig(final int value) 104 { 105 106 NiFpga.writeU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], value, status); 107 } 108 public void writeConfig_Source_Channel(final int value) 109 { 110 111 int regValue = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 112 regValue &= ~kConfig_Source_Channel_BitfieldMask; 113 regValue |= ((value) << kConfig_Source_Channel_BitfieldOffset) & kConfig_Source_Channel_BitfieldMask; 114 NiFpga.writeU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], regValue, status); 115 } 116 public void writeConfig_Source_Module(final int value) 117 { 118 119 int regValue = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 120 regValue &= ~kConfig_Source_Module_BitfieldMask; 121 regValue |= ((value) << kConfig_Source_Module_BitfieldOffset) & kConfig_Source_Module_BitfieldMask; 122 NiFpga.writeU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], regValue, status); 123 } 124 public void writeConfig_Source_AnalogTrigger(final boolean value) 125 { 126 127 int regValue = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 128 regValue &= ~kConfig_Source_AnalogTrigger_BitfieldMask; 129 regValue |= (((value ? 1 : 0)) << kConfig_Source_AnalogTrigger_BitfieldOffset) & kConfig_Source_AnalogTrigger_BitfieldMask; 130 NiFpga.writeU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], regValue, status); 131 } 132 public void writeConfig_RisingEdge(final boolean value) 133 { 134 135 int regValue = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 136 regValue &= ~kConfig_RisingEdge_BitfieldMask; 137 regValue |= (((value ? 1 : 0)) << kConfig_RisingEdge_BitfieldOffset) & kConfig_RisingEdge_BitfieldMask; 138 NiFpga.writeU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], regValue, status); 139 } 140 public void writeConfig_FallingEdge(final boolean value) 141 { 142 143 int regValue = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 144 regValue &= ~kConfig_FallingEdge_BitfieldMask; 145 regValue |= (((value ? 1 : 0)) << kConfig_FallingEdge_BitfieldOffset) & kConfig_FallingEdge_BitfieldMask; 146 NiFpga.writeU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], regValue, status); 147 } 148 public void writeConfig_WaitForAck(final boolean value) 149 { 150 151 int regValue = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 152 regValue &= ~kConfig_WaitForAck_BitfieldMask; 153 regValue |= (((value ? 1 : 0)) << kConfig_WaitForAck_BitfieldOffset) & kConfig_WaitForAck_BitfieldMask; 154 NiFpga.writeU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], regValue, status); 155 } 156 public int readConfig() 157 { 158 159 int result = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 160 int regValue = result ; 161 return (int)(regValue); 162 } 163 public byte readConfig_Source_Channel() 164 { 165 166 int result = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 167 int regValue = result ; 168 int bitfieldValue = ((regValue & kConfig_Source_Channel_BitfieldMask) >>> kConfig_Source_Channel_BitfieldOffset); 169 return (byte)((bitfieldValue) & 0x0000000F); 170 } 171 public byte readConfig_Source_Module() 172 { 173 174 int result = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 175 int regValue = result ; 176 int bitfieldValue = ((regValue & kConfig_Source_Module_BitfieldMask) >>> kConfig_Source_Module_BitfieldOffset); 177 return (byte)((bitfieldValue) & 0x00000001); 178 } 179 public boolean readConfig_Source_AnalogTrigger() 180 { 181 182 int result = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 183 int regValue = result ; 184 int bitfieldValue = ((regValue & kConfig_Source_AnalogTrigger_BitfieldMask) >>> kConfig_Source_AnalogTrigger_BitfieldOffset); 185 return ((bitfieldValue) != 0 ? true : false); 186 } 187 public boolean readConfig_RisingEdge() 188 { 189 190 int result = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 191 int regValue = result ; 192 int bitfieldValue = ((regValue & kConfig_RisingEdge_BitfieldMask) >>> kConfig_RisingEdge_BitfieldOffset); 193 return ((bitfieldValue) != 0 ? true : false); 194 } 195 public boolean readConfig_FallingEdge() 196 { 197 198 int result = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 199 int regValue = result ; 200 int bitfieldValue = ((regValue & kConfig_FallingEdge_BitfieldMask) >>> kConfig_FallingEdge_BitfieldOffset); 201 return ((bitfieldValue) != 0 ? true : false); 202 } 203 public boolean readConfig_WaitForAck() 204 { 205 206 int result = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 207 int regValue = result ; 208 int bitfieldValue = ((regValue & kConfig_WaitForAck_BitfieldMask) >>> kConfig_WaitForAck_BitfieldOffset); 209 return ((bitfieldValue) != 0 ? true : false); 210 } 211 212 213 214 215 216 }