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 tAI extends tSystem 009 { 010 011 public tAI(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 = 2; 033 public final int m_SystemIndex; 034 035 036 037 038 039 040 041 042 043 044 045 ////////////////////////////////////////////////////////////////////////////////////////////////// 046 // Accessors for Config 047 ////////////////////////////////////////////////////////////////////////////////////////////////// 048 private static final int kConfig_ScanSize_BitfieldMask = 0x1C000000; 049 private static final int kConfig_ScanSize_BitfieldOffset = 26; 050 private static final int kConfig_ConvertRate_BitfieldMask = 0x03FFFFFF; 051 private static final int kConfig_ConvertRate_BitfieldOffset = 0; 052 private static final int kAI0_Config_Address = 0x8154; 053 private static final int kAI1_Config_Address = 0x8168; 054 private static final int kConfig_Addresses [] = 055 { 056 kAI0_Config_Address, 057 kAI1_Config_Address, 058 }; 059 060 public void writeConfig(final int value) 061 { 062 063 NiFpga.writeU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], value, status); 064 } 065 public void writeConfig_ScanSize(final int value) 066 { 067 068 int regValue = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 069 regValue &= ~kConfig_ScanSize_BitfieldMask; 070 regValue |= ((value) << kConfig_ScanSize_BitfieldOffset) & kConfig_ScanSize_BitfieldMask; 071 NiFpga.writeU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], regValue, status); 072 } 073 public void writeConfig_ConvertRate(final int value) 074 { 075 076 int regValue = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 077 regValue &= ~kConfig_ConvertRate_BitfieldMask; 078 regValue |= ((value) << kConfig_ConvertRate_BitfieldOffset) & kConfig_ConvertRate_BitfieldMask; 079 NiFpga.writeU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], regValue, status); 080 } 081 public int readConfig() 082 { 083 084 int result = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 085 int regValue = result ; 086 return (int)(regValue); 087 } 088 public byte readConfig_ScanSize() 089 { 090 091 int result = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 092 int regValue = result ; 093 int bitfieldValue = ((regValue & kConfig_ScanSize_BitfieldMask) >>> kConfig_ScanSize_BitfieldOffset); 094 return (byte)((bitfieldValue) & 0x00000007); 095 } 096 public int readConfig_ConvertRate() 097 { 098 099 int result = NiFpga.readU32(m_DeviceHandle, kConfig_Addresses[m_SystemIndex], status); 100 int regValue = result ; 101 int bitfieldValue = ((regValue & kConfig_ConvertRate_BitfieldMask) >>> kConfig_ConvertRate_BitfieldOffset); 102 return (int)((bitfieldValue) & 0x03FFFFFF); 103 } 104 105 ////////////////////////////////////////////////////////////////////////////////////////////////// 106 // Accessors for LoopTiming 107 ////////////////////////////////////////////////////////////////////////////////////////////////// 108 private static final int kAI0_LoopTiming_Address = 0x8164; 109 private static final int kAI1_LoopTiming_Address = 0x8178; 110 private static final int kLoopTiming_Addresses [] = 111 { 112 kAI0_LoopTiming_Address, 113 kAI1_LoopTiming_Address, 114 }; 115 116 public long readLoopTiming() 117 { 118 119 return (long)((NiFpga.readU32(m_DeviceHandle, kLoopTiming_Addresses[m_SystemIndex], status)) & 0xFFFFFFFFl); 120 } 121 122 ////////////////////////////////////////////////////////////////////////////////////////////////// 123 // Accessors for OversampleBits 124 ////////////////////////////////////////////////////////////////////////////////////////////////// 125 public static final int kOversampleBits_NumElements = 8; 126 public static final int kOversampleBits_ElementSize = 4; 127 public static final int kOversampleBits_ElementMask = 0xF; 128 private static final int kAI0_OversampleBits_Address = 0x815C; 129 private static final int kAI1_OversampleBits_Address = 0x8170; 130 private static final int kOversampleBits_Addresses [] = 131 { 132 kAI0_OversampleBits_Address, 133 kAI1_OversampleBits_Address, 134 }; 135 136 public void writeOversampleBits(final int bitfield_index, final int value) 137 { 138 if (status.isNotFatal() && bitfield_index >= kOversampleBits_NumElements) 139 { 140 status.setStatus(NiRioStatus.kRIOStatusBadSelector); 141 } 142 143 int regValue = NiFpga.readU32(m_DeviceHandle, kOversampleBits_Addresses[m_SystemIndex], status); 144 regValue &= ~(kOversampleBits_ElementMask << ((kOversampleBits_NumElements - 1 - bitfield_index) * kOversampleBits_ElementSize)); 145 regValue |= ((value & kOversampleBits_ElementMask) << ((kOversampleBits_NumElements - 1 - bitfield_index) * kOversampleBits_ElementSize)); 146 NiFpga.writeU32(m_DeviceHandle, kOversampleBits_Addresses[m_SystemIndex], regValue, status); 147 } 148 public byte readOversampleBits(final int bitfield_index) 149 { 150 if (status.isNotFatal() && bitfield_index >= kOversampleBits_NumElements) 151 { 152 status.setStatus(NiRioStatus.kRIOStatusBadSelector); 153 } 154 155 int result = NiFpga.readU32(m_DeviceHandle, kOversampleBits_Addresses[m_SystemIndex], status); 156 int arrayElementValue = ((result) 157 >>> ((kOversampleBits_NumElements - 1 - bitfield_index) * kOversampleBits_ElementSize)) & kOversampleBits_ElementMask; 158 return (byte)((arrayElementValue) & 0x0000000F); 159 } 160 161 ////////////////////////////////////////////////////////////////////////////////////////////////// 162 // Accessors for AverageBits 163 ////////////////////////////////////////////////////////////////////////////////////////////////// 164 public static final int kAverageBits_NumElements = 8; 165 public static final int kAverageBits_ElementSize = 4; 166 public static final int kAverageBits_ElementMask = 0xF; 167 private static final int kAI0_AverageBits_Address = 0x8160; 168 private static final int kAI1_AverageBits_Address = 0x8174; 169 private static final int kAverageBits_Addresses [] = 170 { 171 kAI0_AverageBits_Address, 172 kAI1_AverageBits_Address, 173 }; 174 175 public void writeAverageBits(final int bitfield_index, final int value) 176 { 177 if (status.isNotFatal() && bitfield_index >= kAverageBits_NumElements) 178 { 179 status.setStatus(NiRioStatus.kRIOStatusBadSelector); 180 } 181 182 int regValue = NiFpga.readU32(m_DeviceHandle, kAverageBits_Addresses[m_SystemIndex], status); 183 regValue &= ~(kAverageBits_ElementMask << ((kAverageBits_NumElements - 1 - bitfield_index) * kAverageBits_ElementSize)); 184 regValue |= ((value & kAverageBits_ElementMask) << ((kAverageBits_NumElements - 1 - bitfield_index) * kAverageBits_ElementSize)); 185 NiFpga.writeU32(m_DeviceHandle, kAverageBits_Addresses[m_SystemIndex], regValue, status); 186 } 187 public byte readAverageBits(final int bitfield_index) 188 { 189 if (status.isNotFatal() && bitfield_index >= kAverageBits_NumElements) 190 { 191 status.setStatus(NiRioStatus.kRIOStatusBadSelector); 192 } 193 194 int result = NiFpga.readU32(m_DeviceHandle, kAverageBits_Addresses[m_SystemIndex], status); 195 int arrayElementValue = ((result) 196 >>> ((kAverageBits_NumElements - 1 - bitfield_index) * kAverageBits_ElementSize)) & kAverageBits_ElementMask; 197 return (byte)((arrayElementValue) & 0x0000000F); 198 } 199 200 ////////////////////////////////////////////////////////////////////////////////////////////////// 201 // Accessors for ScanList 202 ////////////////////////////////////////////////////////////////////////////////////////////////// 203 public static final int kScanList_NumElements = 8; 204 public static final int kScanList_ElementSize = 3; 205 public static final int kScanList_ElementMask = 0x7; 206 private static final int kAI0_ScanList_Address = 0x8158; 207 private static final int kAI1_ScanList_Address = 0x816C; 208 private static final int kScanList_Addresses [] = 209 { 210 kAI0_ScanList_Address, 211 kAI1_ScanList_Address, 212 }; 213 214 public void writeScanList(final int bitfield_index, final int value) 215 { 216 if (status.isNotFatal() && bitfield_index >= kScanList_NumElements) 217 { 218 status.setStatus(NiRioStatus.kRIOStatusBadSelector); 219 } 220 221 int regValue = NiFpga.readU32(m_DeviceHandle, kScanList_Addresses[m_SystemIndex], status); 222 regValue &= ~(kScanList_ElementMask << ((kScanList_NumElements - 1 - bitfield_index) * kScanList_ElementSize)); 223 regValue |= ((value & kScanList_ElementMask) << ((kScanList_NumElements - 1 - bitfield_index) * kScanList_ElementSize)); 224 NiFpga.writeU32(m_DeviceHandle, kScanList_Addresses[m_SystemIndex], regValue, status); 225 } 226 public byte readScanList(final int bitfield_index) 227 { 228 if (status.isNotFatal() && bitfield_index >= kScanList_NumElements) 229 { 230 status.setStatus(NiRioStatus.kRIOStatusBadSelector); 231 } 232 233 int result = NiFpga.readU32(m_DeviceHandle, kScanList_Addresses[m_SystemIndex], status); 234 int arrayElementValue = ((result) 235 >>> ((kScanList_NumElements - 1 - bitfield_index) * kScanList_ElementSize)) & kScanList_ElementMask; 236 return (byte)((arrayElementValue) & 0x00000007); 237 } 238 239 240 ////////////////////////////////////////////////////////////////////////////////////////////////// 241 // Accessors for Output 242 ////////////////////////////////////////////////////////////////////////////////////////////////// 243 private static final int kAI_Output_Address = 0x8150; 244 245 public static int readOutput() 246 { 247 248 return (int)(NiFpga.readU32(m_DeviceHandle, kAI_Output_Address, status)); 249 } 250 251 ////////////////////////////////////////////////////////////////////////////////////////////////// 252 // Accessors for LatchOutput 253 ////////////////////////////////////////////////////////////////////////////////////////////////// 254 private static final int kAI_LatchOutput_Address = 0x814C; 255 256 public static void strobeLatchOutput() 257 { 258 259 NiFpga.writeU32(m_DeviceHandle, kAI_LatchOutput_Address, 1, status); 260 } 261 262 ////////////////////////////////////////////////////////////////////////////////////////////////// 263 // Accessors for ReadSelect 264 ////////////////////////////////////////////////////////////////////////////////////////////////// 265 private static final int kReadSelect_Channel_BitfieldMask = 0x0000001C; 266 private static final int kReadSelect_Channel_BitfieldOffset = 2; 267 private static final int kReadSelect_Module_BitfieldMask = 0x00000002; 268 private static final int kReadSelect_Module_BitfieldOffset = 1; 269 private static final int kReadSelect_Averaged_BitfieldMask = 0x00000001; 270 private static final int kReadSelect_Averaged_BitfieldOffset = 0; 271 private static final int kAI_ReadSelect_Address = 0x8148; 272 273 public static void writeReadSelect(final int value) 274 { 275 276 NiFpga.writeU32(m_DeviceHandle, kAI_ReadSelect_Address, value, status); 277 } 278 public static void writeReadSelect_Channel(final int value) 279 { 280 281 int regValue = NiFpga.readU32(m_DeviceHandle, kAI_ReadSelect_Address, status); 282 regValue &= ~kReadSelect_Channel_BitfieldMask; 283 regValue |= ((value) << kReadSelect_Channel_BitfieldOffset) & kReadSelect_Channel_BitfieldMask; 284 NiFpga.writeU32(m_DeviceHandle, kAI_ReadSelect_Address, regValue, status); 285 } 286 public static void writeReadSelect_Module(final int value) 287 { 288 289 int regValue = NiFpga.readU32(m_DeviceHandle, kAI_ReadSelect_Address, status); 290 regValue &= ~kReadSelect_Module_BitfieldMask; 291 regValue |= ((value) << kReadSelect_Module_BitfieldOffset) & kReadSelect_Module_BitfieldMask; 292 NiFpga.writeU32(m_DeviceHandle, kAI_ReadSelect_Address, regValue, status); 293 } 294 public static void writeReadSelect_Averaged(final boolean value) 295 { 296 297 int regValue = NiFpga.readU32(m_DeviceHandle, kAI_ReadSelect_Address, status); 298 regValue &= ~kReadSelect_Averaged_BitfieldMask; 299 regValue |= (((value ? 1 : 0)) << kReadSelect_Averaged_BitfieldOffset) & kReadSelect_Averaged_BitfieldMask; 300 NiFpga.writeU32(m_DeviceHandle, kAI_ReadSelect_Address, regValue, status); 301 } 302 public static int readReadSelect() 303 { 304 305 int result = NiFpga.readU32(m_DeviceHandle, kAI_ReadSelect_Address, status); 306 int regValue = result ; 307 return (int)(regValue); 308 } 309 public static byte readReadSelect_Channel() 310 { 311 312 int result = NiFpga.readU32(m_DeviceHandle, kAI_ReadSelect_Address, status); 313 int regValue = result ; 314 int bitfieldValue = ((regValue & kReadSelect_Channel_BitfieldMask) >>> kReadSelect_Channel_BitfieldOffset); 315 return (byte)((bitfieldValue) & 0x00000007); 316 } 317 public static byte readReadSelect_Module() 318 { 319 320 int result = NiFpga.readU32(m_DeviceHandle, kAI_ReadSelect_Address, status); 321 int regValue = result ; 322 int bitfieldValue = ((regValue & kReadSelect_Module_BitfieldMask) >>> kReadSelect_Module_BitfieldOffset); 323 return (byte)((bitfieldValue) & 0x00000001); 324 } 325 public static boolean readReadSelect_Averaged() 326 { 327 328 int result = NiFpga.readU32(m_DeviceHandle, kAI_ReadSelect_Address, status); 329 int regValue = result ; 330 int bitfieldValue = ((regValue & kReadSelect_Averaged_BitfieldMask) >>> kReadSelect_Averaged_BitfieldOffset); 331 return ((bitfieldValue) != 0 ? true : false); 332 } 333 334 335 336 337 }