| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #define TFT_HARD_SPI 0
- #define TFT_SOFT_SPI 1
- #define TFT_PARALLEL 2
- #if defined(USE_FAST_PINIO)
- #if defined(HAS_PORT_SET_CLR)
- #define TFT_CS_HIGH() { *csPortSet = csPinMask; }
- #define TFT_CS_LOW() { *csPortClr = csPinMask; }
- #define TFT_DC_HIGH() { *dcPortSet = dcPinMask; }
- #define TFT_DC_LOW() { *dcPortClr = dcPinMask; }
- #define TFT_MOSI_HIGH() { *mosiPortSet = mosiPinMask; }
- #define TFT_MOSI_LOW() { *mosiPortClr = mosiPinMask; }
- #define TFT_SCK_HIGH() { *sckPortSet = sckPinMask; }
- #define TFT_SCK_LOW() { *sckPortClr = sckPinMask; }
- #define TFT_WR_HIGH() { *wrPortSet = wrPinMask; }
- #define TFT_WR_LOW() { *wrPortClr = wrPinMask; }
- #define TFT_RD_HIGH() { *rdPortSet = rdPinMask; }
- #define TFT_RD_LOW() { *rdPortClr = rdPinMask; }
- #define TFT_PORT_OUTPUT() { *dirSet = 0xFF; }
- #define TFT_PORT_INPUT() { *dirClr = 0xFF; }
- #define TFT_PORT_OUTPUT16() { *(volatile uint16_t *)dirSet = 0xFFFF; }
- #define TFT_PORT_INPUT16() { *(volatile uint16_t *)dirClr = 0xFFFF; }
- #else // !HAS_PORT_SET_CLR
- #define TFT_CS_HIGH() { *csPort |= csPinMaskSet; }
- #define TFT_CS_LOW() { *csPort &= csPinMaskClr; }
- #define TFT_DC_HIGH() { *dcPort |= dcPinMaskSet; }
- #define TFT_DC_LOW() { *dcPort &= dcPinMaskClr; }
- #define TFT_MOSI_HIGH() { *mosiPort |= mosiPinMaskSet; }
- #define TFT_MOSI_LOW() { *mosiPort &= mosiPinMaskClr; }
- #define TFT_SCK_HIGH() { *sckPort |= sckPinMaskSet; }
- #define TFT_SCK_LOW() { *sckPort &= sckPinMaskClr; }
- #define TFT_WR_HIGH() { *wrPort |= wrPinMaskSet; }
- #define TFT_WR_LOW() { *wrPort &= wrPinMaskClr; }
- #define TFT_RD_HIGH() { *rdPort |= rdPinMaskSet; }
- #define TFT_RD_LOW() { *rdPort &= rdPinMaskClr; }
- #define TFT_PORT_OUTPUT() { *portDir = 0xFF; }
- #define TFT_PORT_INPUT() { *portDir = 0x00; }
- #define TFT_PORT_OUTPUT16() { *(volatile uint16_t *)portDir = 0xFFFF; }
- #define TFT_PORT_INPUT16() { *(volatile uint16_t *)portDir = 0x0000; }
- #endif // end HAS_PORT_SET_CLR
- #define TFT_SPI_READ() (*misoPort & misoPinMask)
- #else // !USE_FAST_PINIO
- #define TFT_CS_HIGH() digitalWrite(_cs , HIGH)
- #define TFT_CS_LOW() digitalWrite(_cs , LOW )
- #define TFT_DC_HIGH() digitalWrite(_dc , HIGH)
- #define TFT_DC_LOW() digitalWrite(_dc , LOW )
- #define TFT_MOSI_HIGH() digitalWrite(_mosi, HIGH)
- #define TFT_MOSI_LOW() digitalWrite(_mosi, LOW )
- #define TFT_SCK_HIGH() digitalWrite(_sck , HIGH)
- #define TFT_SCK_LOW() digitalWrite(_sck , LOW )
- #define TFT_WR_HIGH() digitalWrite(_wr , HIGH)
- #define TFT_WR_LOW() digitalWrite(_wr , LOW )
- #define TFT_RD_HIGH() digitalWrite(_rd , HIGH)
- #define TFT_RD_LOW() digitalWrite(_rd , LOW )
- #define TFT_PORT_OUTPUT() { } // 8-bit parallel is not supported
- #define TFT_PORT_INPUT() { } // if USE_FAST_PINIO is unavailable.
- #define TFT_PORT_OUTPUT16() { } // No plans to implement this. If no
- #define TFT_PORT_INPUT16() { } // PORT access, use an SPI display!
- #define TFT_SPI_READ() digitalRead(_miso)
- #endif // end USE_FAST_PINIO
|