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 tAccumulator extends tSystem
009    {
010    
011       public tAccumulator(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       public static class tOutput
037       {
038          public tOutput(int regValue1, int regValue2, int regValue3)
039          {
040             Value = (((long)regValue1) << 32) | regValue2;
041             Count = regValue3;
042          }
043          public final long Value;
044          public final int Count;
045       }
046    
047    
048    
049    
050    //////////////////////////////////////////////////////////////////////////////////////////////////
051    // Accessors for Output
052    //////////////////////////////////////////////////////////////////////////////////////////////////
053       private static final int kOutput_Value_BitfieldMask = 0x00000000;
054       private static final int kOutput_Value_BitfieldOffset = 32;
055       private static final int kOutput_Count_BitfieldMask = 0xFFFFFFFF;
056       private static final int kOutput_Count_BitfieldOffset = 0;
057       private static final int kAccumulator0_Output_Address = 0x8184;
058       private static final int kAccumulator1_Output_Address = 0x8194;
059       private static final int kOutput_Addresses [] =
060       {
061          kAccumulator0_Output_Address,
062          kAccumulator1_Output_Address,
063       };
064    
065       public tOutput readOutput()
066       {
067    
068          int result = NiFpga.readU32(m_DeviceHandle, kOutput_Addresses[m_SystemIndex], status);
069          int regValue = result ;
070          int result2 = NiFpga.readU32(m_DeviceHandle, kOutput_Addresses[m_SystemIndex], status);
071          int regValue2 = result2 ;
072          int result3 = NiFpga.readU32(m_DeviceHandle, kOutput_Addresses[m_SystemIndex], status);
073          int regValue3 = result3 ;
074          return new tOutput(regValue, regValue2, regValue3);
075       }
076       public long readOutput_Value()
077       {
078    
079          int result = NiFpga.readU32(m_DeviceHandle, kOutput_Addresses[m_SystemIndex], status);
080          int regValue = result ;
081          int result2 = NiFpga.readU32(m_DeviceHandle, kOutput_Addresses[m_SystemIndex], status);
082          int regValue2 = result2 ;
083          int result3 = NiFpga.readU32(m_DeviceHandle, kOutput_Addresses[m_SystemIndex], status);
084          int regValue3 = result3 ;
085          tOutput val = new tOutput(regValue, regValue2, regValue3);
086          return val.Value;
087       }
088       public long readOutput_Count()
089       {
090    
091          int result = NiFpga.readU32(m_DeviceHandle, kOutput_Addresses[m_SystemIndex], status);
092          int regValue = result ;
093          int result2 = NiFpga.readU32(m_DeviceHandle, kOutput_Addresses[m_SystemIndex], status);
094          int regValue2 = result2 ;
095          int result3 = NiFpga.readU32(m_DeviceHandle, kOutput_Addresses[m_SystemIndex], status);
096          int regValue3 = result3 ;
097          tOutput val = new tOutput(regValue, regValue2, regValue3);
098          return val.Count;
099       }
100    
101    //////////////////////////////////////////////////////////////////////////////////////////////////
102    // Accessors for Center
103    //////////////////////////////////////////////////////////////////////////////////////////////////
104       private static final int kAccumulator0_Center_Address = 0x817C;
105       private static final int kAccumulator1_Center_Address = 0x818C;
106       private static final int kCenter_Addresses [] =
107       {
108          kAccumulator0_Center_Address,
109          kAccumulator1_Center_Address,
110       };
111    
112       public void writeCenter(final int value)
113       {
114    
115          NiFpga.writeU32(m_DeviceHandle, kCenter_Addresses[m_SystemIndex], value, status);
116       }
117       public int readCenter()
118       {
119    
120          return (int)(NiFpga.readU32(m_DeviceHandle, kCenter_Addresses[m_SystemIndex], status));
121       }
122    
123    //////////////////////////////////////////////////////////////////////////////////////////////////
124    // Accessors for Deadband
125    //////////////////////////////////////////////////////////////////////////////////////////////////
126       private static final int kAccumulator0_Deadband_Address = 0x8188;
127       private static final int kAccumulator1_Deadband_Address = 0x8198;
128       private static final int kDeadband_Addresses [] =
129       {
130          kAccumulator0_Deadband_Address,
131          kAccumulator1_Deadband_Address,
132       };
133    
134       public void writeDeadband(final int value)
135       {
136    
137          NiFpga.writeU32(m_DeviceHandle, kDeadband_Addresses[m_SystemIndex], value, status);
138       }
139       public int readDeadband()
140       {
141    
142          return (int)(NiFpga.readU32(m_DeviceHandle, kDeadband_Addresses[m_SystemIndex], status));
143       }
144    
145    //////////////////////////////////////////////////////////////////////////////////////////////////
146    // Accessors for Reset
147    //////////////////////////////////////////////////////////////////////////////////////////////////
148       private static final int kAccumulator0_Reset_Address = 0x8180;
149       private static final int kAccumulator1_Reset_Address = 0x8190;
150       private static final int kReset_Addresses [] =
151       {
152          kAccumulator0_Reset_Address,
153          kAccumulator1_Reset_Address,
154       };
155    
156       public void strobeReset()
157       {
158    
159           NiFpga.writeU32(m_DeviceHandle, kReset_Addresses[m_SystemIndex], 1, status);
160       }
161    
162    
163    
164    
165    
166    }