SPI performance tweak
This commit is contained in:
		| @@ -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 New Issue
	
	Block a user