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 tAnalogTrigger extends tSystem 009 { 010 011 public tAnalogTrigger(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 041 ////////////////////////////////////////////////////////////////////////////////////////////////// 042 // Accessors for SourceSelect 043 ////////////////////////////////////////////////////////////////////////////////////////////////// 044 private static final int kSourceSelect_Channel_BitfieldMask = 0x00007000; 045 private static final int kSourceSelect_Channel_BitfieldOffset = 12; 046 private static final int kSourceSelect_Module_BitfieldMask = 0x00000800; 047 private static final int kSourceSelect_Module_BitfieldOffset = 11; 048 private static final int kSourceSelect_Averaged_BitfieldMask = 0x00000400; 049 private static final int kSourceSelect_Averaged_BitfieldOffset = 10; 050 private static final int kSourceSelect_Filter_BitfieldMask = 0x00000200; 051 private static final int kSourceSelect_Filter_BitfieldOffset = 9; 052 private static final int kSourceSelect_FloatingRollover_BitfieldMask = 0x00000100; 053 private static final int kSourceSelect_FloatingRollover_BitfieldOffset = 8; 054 private static final int kSourceSelect_RolloverLimit_BitfieldMask = 0x000000FF; 055 private static final int kSourceSelect_RolloverLimit_BitfieldOffset = 0; 056 private static final int kSourceSelect_RolloverLimit_FixedPointIntegerShift = 4; 057 private static final int kAnalogTrigger0_SourceSelect_Address = 0x81A0; 058 private static final int kAnalogTrigger1_SourceSelect_Address = 0x81AC; 059 private static final int kAnalogTrigger2_SourceSelect_Address = 0x81B8; 060 private static final int kAnalogTrigger3_SourceSelect_Address = 0x81C4; 061 private static final int kAnalogTrigger4_SourceSelect_Address = 0x81D0; 062 private static final int kAnalogTrigger5_SourceSelect_Address = 0x81DC; 063 private static final int kAnalogTrigger6_SourceSelect_Address = 0x81E8; 064 private static final int kAnalogTrigger7_SourceSelect_Address = 0x81F4; 065 private static final int kSourceSelect_Addresses [] = 066 { 067 kAnalogTrigger0_SourceSelect_Address, 068 kAnalogTrigger1_SourceSelect_Address, 069 kAnalogTrigger2_SourceSelect_Address, 070 kAnalogTrigger3_SourceSelect_Address, 071 kAnalogTrigger4_SourceSelect_Address, 072 kAnalogTrigger5_SourceSelect_Address, 073 kAnalogTrigger6_SourceSelect_Address, 074 kAnalogTrigger7_SourceSelect_Address, 075 }; 076 077 public void writeSourceSelect(final int value) 078 { 079 080 NiFpga.writeU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], value, status); 081 } 082 public void writeSourceSelect_Channel(final int value) 083 { 084 085 int regValue = NiFpga.readU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], status); 086 regValue &= ~kSourceSelect_Channel_BitfieldMask; 087 regValue |= ((value) << kSourceSelect_Channel_BitfieldOffset) & kSourceSelect_Channel_BitfieldMask; 088 NiFpga.writeU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], regValue, status); 089 } 090 public void writeSourceSelect_Module(final int value) 091 { 092 093 int regValue = NiFpga.readU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], status); 094 regValue &= ~kSourceSelect_Module_BitfieldMask; 095 regValue |= ((value) << kSourceSelect_Module_BitfieldOffset) & kSourceSelect_Module_BitfieldMask; 096 NiFpga.writeU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], regValue, status); 097 } 098 public void writeSourceSelect_Averaged(final boolean value) 099 { 100 101 int regValue = NiFpga.readU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], status); 102 regValue &= ~kSourceSelect_Averaged_BitfieldMask; 103 regValue |= (((value ? 1 : 0)) << kSourceSelect_Averaged_BitfieldOffset) & kSourceSelect_Averaged_BitfieldMask; 104 NiFpga.writeU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], regValue, status); 105 } 106 public void writeSourceSelect_Filter(final boolean value) 107 { 108 109 int regValue = NiFpga.readU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], status); 110 regValue &= ~kSourceSelect_Filter_BitfieldMask; 111 regValue |= (((value ? 1 : 0)) << kSourceSelect_Filter_BitfieldOffset) & kSourceSelect_Filter_BitfieldMask; 112 NiFpga.writeU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], regValue, status); 113 } 114 public void writeSourceSelect_FloatingRollover(final boolean value) 115 { 116 117 int regValue = NiFpga.readU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], status); 118 regValue &= ~kSourceSelect_FloatingRollover_BitfieldMask; 119 regValue |= (((value ? 1 : 0)) << kSourceSelect_FloatingRollover_BitfieldOffset) & kSourceSelect_FloatingRollover_BitfieldMask; 120 NiFpga.writeU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], regValue, status); 121 } 122 public void writeSourceSelect_RolloverLimit(final int value) 123 { 124 125 int regValue = NiFpga.readU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], status); 126 regValue &= ~kSourceSelect_RolloverLimit_BitfieldMask; 127 regValue |= ((value >>> kSourceSelect_RolloverLimit_FixedPointIntegerShift) << kSourceSelect_RolloverLimit_BitfieldOffset) & kSourceSelect_RolloverLimit_BitfieldMask; 128 NiFpga.writeU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], regValue, status); 129 } 130 public int readSourceSelect() 131 { 132 133 int result = NiFpga.readU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], status); 134 int regValue = result ; 135 return (int)(regValue); 136 } 137 public byte readSourceSelect_Channel() 138 { 139 140 int result = NiFpga.readU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], status); 141 int regValue = result ; 142 int bitfieldValue = ((regValue & kSourceSelect_Channel_BitfieldMask) >>> kSourceSelect_Channel_BitfieldOffset); 143 return (byte)((bitfieldValue) & 0x00000007); 144 } 145 public byte readSourceSelect_Module() 146 { 147 148 int result = NiFpga.readU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], status); 149 int regValue = result ; 150 int bitfieldValue = ((regValue & kSourceSelect_Module_BitfieldMask) >>> kSourceSelect_Module_BitfieldOffset); 151 return (byte)((bitfieldValue) & 0x00000001); 152 } 153 public boolean readSourceSelect_Averaged() 154 { 155 156 int result = NiFpga.readU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], status); 157 int regValue = result ; 158 int bitfieldValue = ((regValue & kSourceSelect_Averaged_BitfieldMask) >>> kSourceSelect_Averaged_BitfieldOffset); 159 return ((bitfieldValue) != 0 ? true : false); 160 } 161 public boolean readSourceSelect_Filter() 162 { 163 164 int result = NiFpga.readU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], status); 165 int regValue = result ; 166 int bitfieldValue = ((regValue & kSourceSelect_Filter_BitfieldMask) >>> kSourceSelect_Filter_BitfieldOffset); 167 return ((bitfieldValue) != 0 ? true : false); 168 } 169 public boolean readSourceSelect_FloatingRollover() 170 { 171 172 int result = NiFpga.readU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], status); 173 int regValue = result ; 174 int bitfieldValue = ((regValue & kSourceSelect_FloatingRollover_BitfieldMask) >>> kSourceSelect_FloatingRollover_BitfieldOffset); 175 return ((bitfieldValue) != 0 ? true : false); 176 } 177 public short readSourceSelect_RolloverLimit() 178 { 179 180 int result = NiFpga.readU32(m_DeviceHandle, kSourceSelect_Addresses[m_SystemIndex], status); 181 int regValue = result ; 182 int bitfieldValue = ((regValue & kSourceSelect_RolloverLimit_BitfieldMask) >>> kSourceSelect_RolloverLimit_BitfieldOffset) << kSourceSelect_RolloverLimit_FixedPointIntegerShift; 183 // Sign extension 184 bitfieldValue <<= 20; 185 bitfieldValue >>= 20; 186 return (short)(bitfieldValue); 187 } 188 189 ////////////////////////////////////////////////////////////////////////////////////////////////// 190 // Accessors for UpperLimit 191 ////////////////////////////////////////////////////////////////////////////////////////////////// 192 private static final int kAnalogTrigger0_UpperLimit_Address = 0x81A4; 193 private static final int kAnalogTrigger1_UpperLimit_Address = 0x81B0; 194 private static final int kAnalogTrigger2_UpperLimit_Address = 0x81BC; 195 private static final int kAnalogTrigger3_UpperLimit_Address = 0x81C8; 196 private static final int kAnalogTrigger4_UpperLimit_Address = 0x81D4; 197 private static final int kAnalogTrigger5_UpperLimit_Address = 0x81EC; 198 private static final int kAnalogTrigger6_UpperLimit_Address = 0x81E0; 199 private static final int kAnalogTrigger7_UpperLimit_Address = 0x81F8; 200 private static final int kUpperLimit_Addresses [] = 201 { 202 kAnalogTrigger0_UpperLimit_Address, 203 kAnalogTrigger1_UpperLimit_Address, 204 kAnalogTrigger2_UpperLimit_Address, 205 kAnalogTrigger3_UpperLimit_Address, 206 kAnalogTrigger4_UpperLimit_Address, 207 kAnalogTrigger5_UpperLimit_Address, 208 kAnalogTrigger6_UpperLimit_Address, 209 kAnalogTrigger7_UpperLimit_Address, 210 }; 211 212 public void writeUpperLimit(final int value) 213 { 214 215 NiFpga.writeU32(m_DeviceHandle, kUpperLimit_Addresses[m_SystemIndex], value, status); 216 } 217 public int readUpperLimit() 218 { 219 220 return (int)(NiFpga.readU32(m_DeviceHandle, kUpperLimit_Addresses[m_SystemIndex], status)); 221 } 222 223 ////////////////////////////////////////////////////////////////////////////////////////////////// 224 // Accessors for LowerLimit 225 ////////////////////////////////////////////////////////////////////////////////////////////////// 226 private static final int kAnalogTrigger0_LowerLimit_Address = 0x81A8; 227 private static final int kAnalogTrigger1_LowerLimit_Address = 0x81B4; 228 private static final int kAnalogTrigger2_LowerLimit_Address = 0x81C0; 229 private static final int kAnalogTrigger3_LowerLimit_Address = 0x81CC; 230 private static final int kAnalogTrigger4_LowerLimit_Address = 0x81D8; 231 private static final int kAnalogTrigger5_LowerLimit_Address = 0x81F0; 232 private static final int kAnalogTrigger6_LowerLimit_Address = 0x81E4; 233 private static final int kAnalogTrigger7_LowerLimit_Address = 0x81FC; 234 private static final int kLowerLimit_Addresses [] = 235 { 236 kAnalogTrigger0_LowerLimit_Address, 237 kAnalogTrigger1_LowerLimit_Address, 238 kAnalogTrigger2_LowerLimit_Address, 239 kAnalogTrigger3_LowerLimit_Address, 240 kAnalogTrigger4_LowerLimit_Address, 241 kAnalogTrigger5_LowerLimit_Address, 242 kAnalogTrigger6_LowerLimit_Address, 243 kAnalogTrigger7_LowerLimit_Address, 244 }; 245 246 public void writeLowerLimit(final int value) 247 { 248 249 NiFpga.writeU32(m_DeviceHandle, kLowerLimit_Addresses[m_SystemIndex], value, status); 250 } 251 public int readLowerLimit() 252 { 253 254 return (int)(NiFpga.readU32(m_DeviceHandle, kLowerLimit_Addresses[m_SystemIndex], status)); 255 } 256 257 258 ////////////////////////////////////////////////////////////////////////////////////////////////// 259 // Accessors for Output 260 ////////////////////////////////////////////////////////////////////////////////////////////////// 261 public static final int kOutput_NumElements = 8; 262 public static final int kOutput_ElementSize = 4; 263 public static final int kOutput_ElementMask = 0xF; 264 private static final int kOutput_InHysteresis_BitfieldMask = 0x00000008; 265 private static final int kOutput_InHysteresis_BitfieldOffset = 3; 266 private static final int kOutput_OverLimit_BitfieldMask = 0x00000004; 267 private static final int kOutput_OverLimit_BitfieldOffset = 2; 268 private static final int kOutput_Rising_BitfieldMask = 0x00000002; 269 private static final int kOutput_Rising_BitfieldOffset = 1; 270 private static final int kOutput_Falling_BitfieldMask = 0x00000001; 271 private static final int kOutput_Falling_BitfieldOffset = 0; 272 private static final int kAnalogTrigger_Output_Address = 0x819C; 273 274 public static int readOutput(final int bitfield_index) 275 { 276 if (status.isNotFatal() && bitfield_index >= kOutput_NumElements) 277 { 278 status.setStatus(NiRioStatus.kRIOStatusBadSelector); 279 } 280 281 int result = NiFpga.readU32(m_DeviceHandle, kAnalogTrigger_Output_Address, status); 282 int regValue = result >>> ((kOutput_NumElements - 1 - bitfield_index) * kOutput_ElementSize); 283 return (int)(regValue); 284 } 285 public static boolean readOutput_InHysteresis(final int bitfield_index) 286 { 287 if (status.isNotFatal() && bitfield_index >= kOutput_NumElements) 288 { 289 status.setStatus(NiRioStatus.kRIOStatusBadSelector); 290 } 291 292 int result = NiFpga.readU32(m_DeviceHandle, kAnalogTrigger_Output_Address, status); 293 int regValue = result >>> ((kOutput_NumElements - 1 - bitfield_index) * kOutput_ElementSize); 294 int bitfieldValue = ((regValue & kOutput_InHysteresis_BitfieldMask) >>> kOutput_InHysteresis_BitfieldOffset); 295 return ((bitfieldValue) != 0 ? true : false); 296 } 297 public static boolean readOutput_OverLimit(final int bitfield_index) 298 { 299 if (status.isNotFatal() && bitfield_index >= kOutput_NumElements) 300 { 301 status.setStatus(NiRioStatus.kRIOStatusBadSelector); 302 } 303 304 int result = NiFpga.readU32(m_DeviceHandle, kAnalogTrigger_Output_Address, status); 305 int regValue = result >>> ((kOutput_NumElements - 1 - bitfield_index) * kOutput_ElementSize); 306 int bitfieldValue = ((regValue & kOutput_OverLimit_BitfieldMask) >>> kOutput_OverLimit_BitfieldOffset); 307 return ((bitfieldValue) != 0 ? true : false); 308 } 309 public static boolean readOutput_Rising(final int bitfield_index) 310 { 311 if (status.isNotFatal() && bitfield_index >= kOutput_NumElements) 312 { 313 status.setStatus(NiRioStatus.kRIOStatusBadSelector); 314 } 315 316 int result = NiFpga.readU32(m_DeviceHandle, kAnalogTrigger_Output_Address, status); 317 int regValue = result >>> ((kOutput_NumElements - 1 - bitfield_index) * kOutput_ElementSize); 318 int bitfieldValue = ((regValue & kOutput_Rising_BitfieldMask) >>> kOutput_Rising_BitfieldOffset); 319 return ((bitfieldValue) != 0 ? true : false); 320 } 321 public static boolean readOutput_Falling(final int bitfield_index) 322 { 323 if (status.isNotFatal() && bitfield_index >= kOutput_NumElements) 324 { 325 status.setStatus(NiRioStatus.kRIOStatusBadSelector); 326 } 327 328 int result = NiFpga.readU32(m_DeviceHandle, kAnalogTrigger_Output_Address, status); 329 int regValue = result >>> ((kOutput_NumElements - 1 - bitfield_index) * kOutput_ElementSize); 330 int bitfieldValue = ((regValue & kOutput_Falling_BitfieldMask) >>> kOutput_Falling_BitfieldOffset); 331 return ((bitfieldValue) != 0 ? true : false); 332 } 333 334 335 336 337 }