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    }