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 tSolenoid extends tSystem 009 { 010 011 public tSolenoid() 012 { 013 super(); 014 015 } 016 017 protected void finalize() 018 { 019 super.finalize(); 020 } 021 022 public static final int kNumSystems = 1; 023 024 025 026 027 028 ////////////////////////////////////////////////////////////////////////////////////////////////// 029 // Accessors for DO7_0 030 ////////////////////////////////////////////////////////////////////////////////////////////////// 031 public static final int kDO7_0_NumElements = 2; 032 public static final int kDO7_0_ElementSize = 8; 033 public static final int kDO7_0_ElementMask = 0xFF; 034 private static final int kSolenoid_DO7_0_Address = 0x8144; 035 036 public static void writeDO7_0(final int bitfield_index, final int value) 037 { 038 if (status.isNotFatal() && bitfield_index >= kDO7_0_NumElements) 039 { 040 status.setStatus(NiRioStatus.kRIOStatusBadSelector); 041 } 042 043 int regValue = NiFpga.readU32(m_DeviceHandle, kSolenoid_DO7_0_Address, status); 044 regValue &= ~(kDO7_0_ElementMask << ((kDO7_0_NumElements - 1 - bitfield_index) * kDO7_0_ElementSize)); 045 regValue |= ((value & kDO7_0_ElementMask) << ((kDO7_0_NumElements - 1 - bitfield_index) * kDO7_0_ElementSize)); 046 NiFpga.writeU32(m_DeviceHandle, kSolenoid_DO7_0_Address, regValue, status); 047 } 048 public static short readDO7_0(final int bitfield_index) 049 { 050 if (status.isNotFatal() && bitfield_index >= kDO7_0_NumElements) 051 { 052 status.setStatus(NiRioStatus.kRIOStatusBadSelector); 053 } 054 055 int result = NiFpga.readU32(m_DeviceHandle, kSolenoid_DO7_0_Address, status); 056 int arrayElementValue = ((result) 057 >>> ((kDO7_0_NumElements - 1 - bitfield_index) * kDO7_0_ElementSize)) & kDO7_0_ElementMask; 058 return (short)((arrayElementValue) & 0x000000FF); 059 } 060 061 062 063 064 }