Bitstream Interpretation Library (BIL)  0.1
V5PacketProcessor.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 #ifndef BIL_V5PACKETPROCESSOR_HPP
8 #define BIL_V5PACKETPROCESSOR_HPP
9 
20 
21 
22 namespace bil {
23 
24  class V5AddressLayoutRegistry;
25 
26 
36  public:
37 
38  /**********************************************************************/
39  /* CONSTRUCTION / DESTRUCTION */
40  /**********************************************************************/
41 
47  explicit V5PacketProcessor(const V5AddressLayoutRegistry& registry);
48 
49 
50  /**********************************************************************/
51  /* PACKET VISITOR INTERFACE */
52  /**********************************************************************/
53 
59  virtual void visit(const DummyWord& dummyWord);
60 
66  virtual void visit(const Type1Packet& type1Packet);
67 
73  virtual void visit(const Type2Packet& type2Packet);
74 
75 
82  virtual void reset();
83 
84 
85  /**********************************************************************/
86  /* LINKED ADDRESS LAYOUT REGISTRY */
87  /**********************************************************************/
88 
96 
97 
98  /**********************************************************************/
99  /* CONFIGURATION MEMORY INTERFACE */
100  /**********************************************************************/
101 
107 
113  const V5Configuration& configuration() const;
114 
115 
116  protected:
117 
123  void visitDataPacket(const Type2Packet& type2Packet);
124 
132  void registerWrite(RegisterAddress::address_t regAddr, const boost::uint32_t* words, size_t wordCount);
133 
134 
135  private:
136 
138  V5PacketProcessor& operator=(const V5PacketProcessor&);
139 
140 
141  const V5AddressLayoutRegistry& m_addressLayoutRegistry;
142 
143  RegisterLookup m_registerLookup;
144 
145  V5CRCRegister m_crcReg;
146  V5FARRegister m_farReg;
147  V5CMDRegister m_cmdReg;
148  V5FDRIRegister m_fdriReg;
149  V5MFWRRegister m_mfwrReg;
150  V5IDCODERegister m_idcodeReg;
151 
152  WordRegister m_fdroReg;
153  WordRegister m_ctl0Reg;
154  WordRegister m_maskReg;
155  WordRegister m_statReg;
156  WordRegister m_loutReg;
157  WordRegister m_cor0Reg;
158  WordRegister m_cbcReg;
159  WordRegister m_axssReg;
160  WordRegister m_cor1Reg;
161  WordRegister m_csobReg;
162  WordRegister m_wbstarReg;
163  WordRegister m_timerReg;
164  WordRegister m_reg19Reg;
165  WordRegister m_bootstsReg;
166  WordRegister m_ctl1Reg;
167 
168  };
169 
170 }
171 
172 #endif