fix: update spi constructor

This commit is contained in:
2021-10-02 11:57:33 +02:00
parent d6aee1c592
commit d8ec6bf06a
2 changed files with 9 additions and 5 deletions

View File

@@ -7,18 +7,22 @@
#define DATA_WRITE 1 #define DATA_WRITE 1
#define DATA_READ 3 #define DATA_READ 3
PN532_SPI::PN532_SPI(SPIClass &spi, uint8_t ss) PN532_SPI::PN532_SPI(SPIClass &spi, uint8_t ss, uint8_t sck, uint8_t miso, uint8_t mosi)
{ {
command = 0; command = 0;
_spi = &spi; _spi = &spi;
_ss = ss; _ss = ss;
_sck = sck;
_mosi = mosi;
_miso = miso;
} }
void PN532_SPI::begin() void PN532_SPI::begin()
{ {
pinMode(_ss, OUTPUT); pinMode(_ss, OUTPUT);
_spi->begin(); _spi->begin(_sck, _miso, _mosi);
_spi->setDataMode(SPI_MODE0); // PN532 only supports mode0 _spi->setDataMode(SPI_MODE0); // PN532 only supports mode0
_spi->setBitOrder(LSBFIRST); _spi->setBitOrder(LSBFIRST);
#ifndef __SAM3X8E__ #ifndef __SAM3X8E__

View File

@@ -7,7 +7,7 @@
class PN532_SPI : public PN532Interface { class PN532_SPI : public PN532Interface {
public: public:
PN532_SPI(SPIClass &spi, uint8_t ss); PN532_SPI(SPIClass &spi, uint8_t ss, uint8_t sck, uint8_t miso, uint8_t mosi);
void begin(); void begin();
void wakeup(); void wakeup();
@@ -17,10 +17,10 @@ public:
private: private:
SPIClass* _spi; SPIClass* _spi;
uint8_t _ss; uint8_t _ss, _mosi, _miso, _sck;
uint8_t command; uint8_t command;
boolean isReady(); bool isReady();
void writeFrame(const uint8_t *header, uint8_t hlen, const uint8_t *body = 0, uint8_t blen = 0); void writeFrame(const uint8_t *header, uint8_t hlen, const uint8_t *body = 0, uint8_t blen = 0);
int8_t readAckFrame(); int8_t readAckFrame();