diff --git a/Adafruit_SPITFT.cpp b/Adafruit_SPITFT.cpp index f464bcf6..78af3816 100644 --- a/Adafruit_SPITFT.cpp +++ b/Adafruit_SPITFT.cpp @@ -1761,6 +1761,37 @@ uint16_t Adafruit_SPITFT::color565(uint8_t red, uint8_t green, uint8_t blue) { return ((red & 0xF8) << 8) | ((green & 0xFC) << 3) | (blue >> 3); } +/*! +@brief Adafruit_SPITFT Send Command handles complete sending of commands and data +@param commandByte The Command Byte +@param dataBytes A pointer to the Data bytes to send +@param numDataBytes The number of bytes we should send +*/ +void Adafruit_SPITFT::sendCommand(uint8_t commandByte, uint8_t *dataBytes, uint8_t numDataBytes) { + SPI_BEGIN_TRANSACTION(); + if(_cs >= 0) SPI_CS_LOW(); + + SPI_DC_LOW(); // Command mode + spiWrite(commandByte); // Send the command byte + + SPI_DC_HIGH(); + for (int i=0; i= 0) SPI_CS_HIGH(); + SPI_END_TRANSACTION(); +} + + /*! @brief Adafruit_SPITFT Send Command handles complete sending of commands and data @param commandByte The Command Byte diff --git a/Adafruit_SPITFT.h b/Adafruit_SPITFT.h index 3b5b8948..d8764eb2 100644 --- a/Adafruit_SPITFT.h +++ b/Adafruit_SPITFT.h @@ -194,6 +194,7 @@ class Adafruit_SPITFT : public Adafruit_GFX { void startWrite(void); // Chip deselect and/or hardware SPI transaction end as needed: void endWrite(void); + void sendCommand(uint8_t commandByte, uint8_t *dataBytes, uint8_t numDataBytes); void sendCommand(uint8_t commandByte, const uint8_t *dataBytes = NULL, uint8_t numDataBytes = 0); void sendCommand16(uint16_t commandWord, const uint8_t *dataBytes = NULL, uint8_t numDataBytes = 0); uint8_t readcommand8(uint8_t commandByte, uint8_t index = 0);