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 }