SPI performance tweak
This commit is contained in:
parent
4ed912eb23
commit
eebb68cd7f
3 changed files with 7 additions and 6 deletions
|
@ -39,7 +39,7 @@ class SPISettings {
|
|||
class SPIClass {
|
||||
public:
|
||||
void begin();
|
||||
void beginTransaction(SPISettings);
|
||||
void beginTransaction(const SPISettings&);
|
||||
void endTransaction() {};
|
||||
uint8_t transfer(uint8_t data);
|
||||
uint16_t transfer16(uint16_t data);
|
||||
|
|
|
@ -243,7 +243,7 @@ void SPIClass::setDataMode(uint8_t dataMode) {
|
|||
_currentSetting->spi_d->regs->CR1 = cr1 | (dataMode & (SPI_CR1_CPOL|SPI_CR1_CPHA));
|
||||
}
|
||||
|
||||
void SPIClass::beginTransaction(uint8_t pin, SPISettings settings) {
|
||||
void SPIClass::beginTransaction(uint8_t pin, const SPISettings &settings) {
|
||||
setBitOrder(settings.bitOrder);
|
||||
setDataMode(settings.dataMode);
|
||||
setDataSize(settings.dataSize);
|
||||
|
@ -251,7 +251,7 @@ void SPIClass::beginTransaction(uint8_t pin, SPISettings settings) {
|
|||
begin();
|
||||
}
|
||||
|
||||
void SPIClass::beginTransactionSlave(SPISettings settings) {
|
||||
void SPIClass::beginTransactionSlave(const SPISettings &settings) {
|
||||
setBitOrder(settings.bitOrder);
|
||||
setDataMode(settings.dataMode);
|
||||
setDataSize(settings.dataSize);
|
||||
|
|
|
@ -126,6 +126,7 @@ private:
|
|||
bitOrder = inBitOrder;
|
||||
dataMode = inDataMode;
|
||||
dataSize = inDataSize;
|
||||
//state = SPI_STATE_IDLE;
|
||||
}
|
||||
uint32_t clock;
|
||||
uint32_t dataSize;
|
||||
|
@ -187,11 +188,11 @@ public:
|
|||
*/
|
||||
void end();
|
||||
|
||||
void beginTransaction(SPISettings settings) { beginTransaction(BOARD_SPI_DEFAULT_SS, settings); }
|
||||
void beginTransaction(uint8_t pin, SPISettings settings);
|
||||
void beginTransaction(const SPISettings &settings) { beginTransaction(BOARD_SPI_DEFAULT_SS, settings); }
|
||||
void beginTransaction(uint8_t pin, const SPISettings &settings);
|
||||
void endTransaction();
|
||||
|
||||
void beginTransactionSlave(SPISettings settings);
|
||||
void beginTransactionSlave(const SPISettings &settings);
|
||||
|
||||
void setClockDivider(uint32_t clockDivider);
|
||||
void setBitOrder(BitOrder bitOrder);
|
||||
|
|
Reference in a new issue