10 #include "ChipObject.h"
11 #include "SensorBase.h"
27 enum tFrameMode {kChipSelect, kPreLatchPulse, kPostLatchPulse, kPreAndPostLatchPulse};
28 enum tSPIConstants {kReceiveFIFODepth=512, kTransmitFIFODepth=512};
63 virtual void Write(uint32_t data);
64 virtual uint32_t
Read(
bool initiate =
false);
70 static SEM_ID m_semaphore;
73 tSPI::tConfig m_config;
74 tSPI::tChannels m_channels;
80 DISALLOW_COPY_AND_ASSIGN(
SPI);
uint32_t GetBitsPerWord()
void SetSampleDataOnFalling()
SPI(DigitalOutput &clk, DigitalOutput &mosi, DigitalInput &miso)
virtual uint16_t GetNumReceived()
void SetClockActiveHigh()
void SetSlaveSelect(DigitalOutput *ss, tFrameMode mode=kChipSelect, bool activeLow=false)
void SetSampleDataOnRising()
virtual uint32_t Read(bool initiate=false)
bool HadReceiveOverflow()
virtual void ClearReceivedData()
virtual void Write(uint32_t data)
void SetBitsPerWord(uint32_t bits)
void SetClockRate(double hz)
virtual void ApplyConfig()
virtual uint16_t GetOutputFIFOAvailable()
DigitalOutput * GetSlaveSelect(tFrameMode *mode=NULL, bool *activeLow=NULL)