Cat
UsbSpiBus.h
Go to the documentation of this file.
1 // $Id: $
2 #ifndef INC_USBSPIBUS_H
3 #define INC_USBSPIBUS_H 1
4 
5 // Include files
6 #include "Interface.h"
7 //#include "UsbFTMLInterface.h"
8 #include "Register.h"
9 
17 class UsbSpiBus : public Interface {
18 public:
19  typedef unsigned long U32;
20  typedef unsigned short U16;
21  typedef unsigned char U8;
23  UsbSpiBus( );
24 
25  virtual ~UsbSpiBus( );
26 
30  void help() { info("UsbSpiBus "+name()+". No help.","UsbSpiBus::help"); };
31 
32 
37  virtual StatusCode init();
38 
46  void reset() { info("UsbSpiBus "+name()+" reset.","UsbSpiBus::reset");};
47 
51  void update () {
52  info("UsbSpiBus "+name()+". Nothing to do.","UsbSpiBus::update");
53  };
54 
55  void ctrlWd (U8);
56 
57  void setTxNeg(bool txNeg){ m_txNeg=txNeg; }
58 
59  bool txNeg(){ return m_txNeg; }
60 
61  void setRxNeg(bool rxNeg){ m_rxNeg=rxNeg; }
62 
63  bool rxNeg(){ return m_rxNeg; }
64 
65  void setASS(bool aSS){ m_aSS=aSS; }
66 
67  bool aSS(){ return m_aSS; }
68 
70 
71  bool lSBFirst(){ return m_lSBFirst; }
72 
73  char dataLength(){ return m_dataLength; }
74 
77  info("DataLength="+itos(m_dataLength));
78  }
79 
80  U32 clockDivider();
81 
83 
85  return m_regCtrl;
86  };
87 
89  return m_regClockDivider;
90  };
91 
93  return m_regSlaveSelect;
94  };
95 
97  return m_regTxData;
98  };
99 
101  return m_regTxData;
102  };
103 
104  virtual StatusCode read(IOdata*);
105 
106  virtual StatusCode write(IOdata*);
107 
108 protected:
109 
110 private:
112  bool m_aSS;
114  bool m_txNeg;
115  bool m_rxNeg;
122 };
123 #endif // INC_USBSPIBUS_H
void info(std::string mymsg)
Definition: Object.h:38
std::string itos(int)
Definition: Tools.cpp:46
virtual ~UsbSpiBus()
Destructor.
Definition: UsbSpiBus.cpp:66
unsigned short U16
Definition: UsbSpiBus.h:20
void setDataLength(char dataLength)
Definition: UsbSpiBus.h:75
Register * m_regCtrl
Definition: UsbSpiBus.h:117
void setTxNeg(bool txNeg)
Definition: UsbSpiBus.h:57
Register * regClockDivider()
Definition: UsbSpiBus.h:88
void setRxNeg(bool rxNeg)
Definition: UsbSpiBus.h:61
bool m_txNeg
Definition: UsbSpiBus.h:114
char m_dataLength
Definition: UsbSpiBus.h:111
void help()
Definition: UsbSpiBus.h:30
unsigned long U32
Definition: UsbSpiBus.h:19
Register * m_regSlaveSelect
Definition: UsbSpiBus.h:119
char dataLength()
Definition: UsbSpiBus.h:73
virtual StatusCode init()
Definition: UsbSpiBus.cpp:74
Register * regTxData()
Definition: UsbSpiBus.h:100
void ctrlWd(U8)
Definition: UsbSpiBus.cpp:89
void reset()
Definition: UsbSpiBus.h:46
Register * m_regTxData
Definition: UsbSpiBus.h:121
bool aSS()
Definition: UsbSpiBus.h:67
Register * regSlaveSelect()
Definition: UsbSpiBus.h:92
U32 clockDivider()
Definition: UsbSpiBus.cpp:127
void setASS(bool aSS)
Definition: UsbSpiBus.h:65
bool m_lSBFirst
Definition: UsbSpiBus.h:113
bool lSBFirst()
Definition: UsbSpiBus.h:71
bool m_rxNeg
Definition: UsbSpiBus.h:115
Register * regRxData()
Definition: UsbSpiBus.h:96
unsigned char U8
Definition: UsbSpiBus.h:21
Register * regCtrl()
Definition: UsbSpiBus.h:84
virtual StatusCode read(IOdata *)
Definition: UsbSpiBus.cpp:142
Definition: IOdata.h:17
UsbSpiBus()
Standard constructor.
Definition: UsbSpiBus.cpp:17
bool txNeg()
Definition: UsbSpiBus.h:59
bool m_aSS
Definition: UsbSpiBus.h:112
Register * m_regClockDivider
Definition: UsbSpiBus.h:118
Register * m_regRxData
Definition: UsbSpiBus.h:120
virtual StatusCode write(IOdata *)
Definition: UsbSpiBus.cpp:195
std::string name() const
Definition: Object.h:28
U32 m_clockDivider
Definition: UsbSpiBus.h:116
bool rxNeg()
Definition: UsbSpiBus.h:63
void setLSBFirst(bool lSBFirst)
Definition: UsbSpiBus.h:69
void update()
Definition: UsbSpiBus.h:51
StatusCode setClockDivider(U32)
Definition: UsbSpiBus.cpp:105