77 fatal(
"Cannot define connection for "+
type()+
". No parent found.",
99 buffer[3]=length&0x3F;
108 buffer[0]= value&0xFF;
109 buffer[1]= (value>>8)&0xFF;
110 buffer[2]= (value>>16)&0xFF;
111 buffer[3]= (value>>24)&0xFF;
113 warning(
"Cannot write ClockDivider register on UsbSpiBus",
114 "UsbSpiBus::setClockDivider");
118 warning(
"ClockDivider read/write mismatch.",
"UsbSpiBus::setClockDivider");
131 warning(
"Cannot read ClockDivider register on UsbSpiBus",
132 "UsbSpiBus::clockDivider");
135 m_clockDivider=(buffer[0]+(buffer[1]<<8)+(buffer[1]<<16)+(buffer[1]<<24));
149 info(
"1) chipselect register:");
152 warning(
"Cannot write SlaveSelect register on UsbSpiBus",
162 warning(
"Cannot write TxData register on UsbSpiBus",
"UsbSpiBus::write");
167 info(
"3) Control word:");
170 warning(
"Cannot write Ctrl register on UsbSpiBus",
"UsbSpiBus::write");
174 warning(
"Cannot read RxData register on UsbSpiBus",
175 "UsbSpiBus::read"); ;
178 info(
"4) spi data read:");
181 for (
unsigned int i=0; i<io->
length()-1; ++i){
183 warning(
"Not implemented yet: cannot read more than 32 bits.",
204 info(
"2) chip select register:");
207 warning(
"Cannot write SlaveSelect register on UsbSpiBus",
211 info(
"3) spi data to be sent:");
213 for (
unsigned int i=0; i<io->
length(); ++i) {
215 warning(
"Not implemented yet: cannot send more than 32 bits.",
223 warning(
"Cannot write TxData register on UsbSpiBus",
"UsbSpiBus::write");
226 info(
"4) Control word:");
230 warning(
"Cannot write Ctrl register on UsbSpiBus",
"UsbSpiBus::write");
233 info(
"5) Spi transmission done.");
void info(std::string mymsg)
virtual ~UsbSpiBus()
Destructor.
StatusCode setConnection(Hierarchy *)
virtual StatusCode read(IOdata *)=0
void setName(std::string name)
Register * m_regSlaveSelect
void dump(unsigned int printout=0)
virtual StatusCode init()
void fatal(std::string mymsg)
void setType(std::string type)
virtual StatusCode write(IOdata *)=0
StatusCode setAddress(U32 address)
virtual StatusCode read(IOdata *)
UsbSpiBus()
Standard constructor.
Register * m_regClockDivider
virtual StatusCode write(IOdata *)
virtual void addChild(Hierarchy *element)
StatusCode setWordSize(IOdata::WordSize wordSize)
void defDataU8(unsigned long size)
void warning(std::string mymsg)
StatusCode setClockDivider(U32)