git-svn-id: svn://db.shs.com.ru/pip@583 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2017-12-15 10:27:11 +00:00
parent bb5716ae06
commit b40b33d150
2 changed files with 28 additions and 3 deletions

View File

@@ -40,6 +40,19 @@ void PISPI::setBits(uchar bits) {
}
void PISPI::setParameter(PISPI::Parameters parameter, bool on) {
PIFlags<Parameters> cp = (PIFlags<Parameters>)spi_mode;
cp.setFlag(parameter, on);
spi_mode = (int)cp;
}
bool PISPI::isParameterSet(PISPI::Parameters parameter) const {
PIFlags<Parameters> cp = (PIFlags<Parameters>)spi_mode;
return cp[parameter];
}
bool PISPI::openDevice() {
#ifndef WINDOWS
int ret = 0;

View File

@@ -13,9 +13,8 @@ public:
//! \brief Parameters of PISPI
enum Parameters {
ClockInverse /*! SPI clk polarity control check and generate */ = 0x1,
ParityOdd /*! Parity is odd instead of even */ = 0x2,
TwoStopBits /*! Two stop bits instead of one */ = 0x4
ClockInverse /*! SPI clk polarity control*/ = 0x1,
ClockPhaseShift /*! SPI clk phase control */ = 0x2,
};
void setSpeed(uint speed_hz);
@@ -24,6 +23,19 @@ public:
void setBits(uchar bits = 8);
uchar bits() const {return spi_bits;}
//! Set parameters to "parameters_"
void setParameters(PIFlags<PISPI::Parameters> parameters_) {spi_mode = (int)parameters_;}
//! Set parameter "parameter" to "on" state
void setParameter(PISPI::Parameters parameter, bool on = true);
//! Returns if parameter "parameter" is set
bool isParameterSet(PISPI::Parameters parameter) const;
//! Returns parameters
PIFlags<PISPI::Parameters> parameters() const {return spi_mode;}
protected:
bool openDevice();
bool closeDevice();