Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: pin value can be higher than 127 so type should be uint8_t #359

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions Adafruit_GrayOLED.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
allocation is performed there!
*/
Adafruit_GrayOLED::Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h,
TwoWire *twi, int8_t rst_pin,
TwoWire *twi, uint8_t rst_pin,
uint32_t clkDuring, uint32_t clkAfter)
: Adafruit_GFX(w, h), i2c_preclk(clkDuring), i2c_postclk(clkAfter),
buffer(NULL), dcPin(-1), csPin(-1), rstPin(rst_pin), _bpp(bpp) {
Expand Down Expand Up @@ -97,9 +97,9 @@ Adafruit_GrayOLED::Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h,
allocation is performed there!
*/
Adafruit_GrayOLED::Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h,
int8_t mosi_pin, int8_t sclk_pin,
int8_t dc_pin, int8_t rst_pin,
int8_t cs_pin)
uint8_t mosi_pin, uint8_t sclk_pin,
uint8_t dc_pin, uint8_t rst_pin,
uint8_t cs_pin)
: Adafruit_GFX(w, h), dcPin(dc_pin), csPin(cs_pin), rstPin(rst_pin),
_bpp(bpp) {

Expand Down Expand Up @@ -133,8 +133,8 @@ Adafruit_GrayOLED::Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h,
allocation is performed there!
*/
Adafruit_GrayOLED::Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h,
SPIClass *spi, int8_t dc_pin,
int8_t rst_pin, int8_t cs_pin,
SPIClass *spi, uint8_t dc_pin,
uint8_t rst_pin, uint8_t cs_pin,
uint32_t bitrate)
: Adafruit_GFX(w, h), dcPin(dc_pin), csPin(cs_pin), rstPin(rst_pin),
_bpp(bpp) {
Expand Down Expand Up @@ -229,7 +229,7 @@ bool Adafruit_GrayOLED::_init(uint8_t addr, bool reset) {
}

// Reset OLED if requested and reset pin specified in constructor
if (reset && (rstPin >= 0)) {
if (reset && (rstPin != 0xFF)) {
pinMode(rstPin, OUTPUT);
digitalWrite(rstPin, HIGH);
delay(10); // VDD goes high at start, pause
Expand Down
16 changes: 8 additions & 8 deletions Adafruit_GrayOLED.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,13 @@
class Adafruit_GrayOLED : public Adafruit_GFX {
public:
Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h, TwoWire *twi = &Wire,
int8_t rst_pin = -1, uint32_t preclk = 400000,
uint8_t rst_pin = -1, uint32_t preclk = 400000,
uint32_t postclk = 100000);
Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h, int8_t mosi_pin,
int8_t sclk_pin, int8_t dc_pin, int8_t rst_pin,
int8_t cs_pin);
Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h, uint8_t mosi_pin,
uint8_t sclk_pin, uint8_t dc_pin, uint8_t rst_pin,
uint8_t cs_pin);
Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h, SPIClass *spi,
int8_t dc_pin, int8_t rst_pin, int8_t cs_pin,
uint8_t dc_pin, uint8_t rst_pin, uint8_t cs_pin,
uint32_t bitrate = 8000000UL);

~Adafruit_GrayOLED(void);
Expand Down Expand Up @@ -87,9 +87,9 @@ class Adafruit_GrayOLED : public Adafruit_GFX {
window_x2, ///< Dirty tracking window maximum x
window_y2; ///< Dirty tracking window maximum y

int dcPin, ///< The Arduino pin connected to D/C (for SPI)
csPin, ///< The Arduino pin connected to CS (for SPI)
rstPin; ///< The Arduino pin connected to reset (-1 if unused)
uint8_t dcPin, ///< The Arduino pin connected to D/C (for SPI)
csPin, ///< The Arduino pin connected to CS (for SPI)
rstPin; ///< The Arduino pin connected to reset (-1 if unused)

uint8_t _bpp = 1; ///< Bits per pixel color for this display
private:
Expand Down
80 changes: 40 additions & 40 deletions Adafruit_SPITFT.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,9 @@ static const struct {
need to call subclass' begin() function, which in turn calls
this library's initSPI() function to initialize pins.
*/
Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, int8_t cs, int8_t dc,
int8_t mosi, int8_t sck, int8_t rst,
int8_t miso)
Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, uint8_t cs, uint8_t dc,
uint8_t mosi, uint8_t sck, uint8_t rst,
uint8_t miso)
: Adafruit_GFX(w, h), connection(TFT_SOFT_SPI), _rst(rst), _cs(cs),
_dc(dc) {
swspi._sck = sck;
Expand All @@ -136,7 +136,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, int8_t cs, int8_t dc,
swspi.sckPortClr = portClearRegister(sck);
swspi.mosiPortSet = portSetRegister(mosi);
swspi.mosiPortClr = portClearRegister(mosi);
if (cs >= 0) {
if (cs != 0xFF) {
#if !defined(KINETISK)
csPinMask = digitalPinToBitMask(cs);
#endif
Expand All @@ -149,7 +149,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, int8_t cs, int8_t dc,
csPortSet = dcPortSet;
csPortClr = dcPortClr;
}
if (miso >= 0) {
if (miso != 0xFF) {
swspi.misoPort = portInputRegister(miso);
#if !defined(KINETISK)
swspi.misoPinMask = digitalPinToBitMask(miso);
Expand All @@ -167,7 +167,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, int8_t cs, int8_t dc,
swspi.sckPortClr = &(PORT->Group[g_APinDescription[sck].ulPort].OUTCLR.reg);
swspi.mosiPortSet = &(PORT->Group[g_APinDescription[mosi].ulPort].OUTSET.reg);
swspi.mosiPortClr = &(PORT->Group[g_APinDescription[mosi].ulPort].OUTCLR.reg);
if (cs >= 0) {
if (cs != 0xFF) {
csPinMask = digitalPinToBitMask(cs);
csPortSet = &(PORT->Group[g_APinDescription[cs].ulPort].OUTSET.reg);
csPortClr = &(PORT->Group[g_APinDescription[cs].ulPort].OUTCLR.reg);
Expand All @@ -180,7 +180,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, int8_t cs, int8_t dc,
csPortClr = dcPortClr;
csPinMask = 0;
}
if (miso >= 0) {
if (miso != 0xFF) {
swspi.misoPinMask = digitalPinToBitMask(miso);
swspi.misoPort = (PORTreg_t)portInputRegister(digitalPinToPort(miso));
} else {
Expand All @@ -195,7 +195,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, int8_t cs, int8_t dc,
swspi.sckPinMaskSet = digitalPinToBitMask(sck);
swspi.mosiPort = (PORTreg_t)portOutputRegister(digitalPinToPort(mosi));
swspi.mosiPinMaskSet = digitalPinToBitMask(mosi);
if (cs >= 0) {
if (cs != 0xFF) {
csPort = (PORTreg_t)portOutputRegister(digitalPinToPort(cs));
csPinMaskSet = digitalPinToBitMask(cs);
} else {
Expand All @@ -206,7 +206,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, int8_t cs, int8_t dc,
csPort = dcPort;
csPinMaskSet = 0;
}
if (miso >= 0) {
if (miso != 0xFF) {
swspi.misoPort = (PORTreg_t)portInputRegister(digitalPinToPort(miso));
swspi.misoPinMask = digitalPinToBitMask(miso);
} else {
Expand Down Expand Up @@ -235,15 +235,15 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, int8_t cs, int8_t dc,
this library's initSPI() function to initialize pins.
*/
#if defined(ESP8266) // See notes below
Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, int8_t cs, int8_t dc,
int8_t rst)
Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, uint8_t cs, uint8_t dc,
uint8_t rst)
: Adafruit_GFX(w, h), connection(TFT_HARD_SPI), _rst(rst), _cs(cs),
_dc(dc) {
hwspi._spi = &SPI;
}
#else // !ESP8266
Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, int8_t cs, int8_t dc,
int8_t rst)
Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, uint8_t cs, uint8_t dc,
uint8_t rst)
: Adafruit_SPITFT(w, h, &SPI, cs, dc, rst) {
// This just invokes the hardware SPI constructor below,
// passing the default SPI device (&SPI).
Expand Down Expand Up @@ -279,7 +279,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, int8_t cs, int8_t dc,
begin or init function. Unfortunate but unavoidable.
*/
Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, SPIClass *spiClass,
int8_t cs, int8_t dc, int8_t rst)
uint8_t cs, uint8_t dc, uint8_t rst)
: Adafruit_GFX(w, h), connection(TFT_HARD_SPI), _rst(rst), _cs(cs),
_dc(dc) {
hwspi._spi = spiClass;
Expand All @@ -291,7 +291,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, SPIClass *spiClass,
#endif
dcPortSet = portSetRegister(dc);
dcPortClr = portClearRegister(dc);
if (cs >= 0) {
if (cs != 0xFF) {
#if !defined(KINETISK)
csPinMask = digitalPinToBitMask(cs);
#endif
Expand All @@ -308,7 +308,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, SPIClass *spiClass,
dcPinMask = digitalPinToBitMask(dc);
dcPortSet = &(PORT->Group[g_APinDescription[dc].ulPort].OUTSET.reg);
dcPortClr = &(PORT->Group[g_APinDescription[dc].ulPort].OUTCLR.reg);
if (cs >= 0) {
if (cs != 0xFF) {
csPinMask = digitalPinToBitMask(cs);
csPortSet = &(PORT->Group[g_APinDescription[cs].ulPort].OUTSET.reg);
csPortClr = &(PORT->Group[g_APinDescription[cs].ulPort].OUTCLR.reg);
Expand All @@ -325,7 +325,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, SPIClass *spiClass,
#else // !HAS_PORT_SET_CLR
dcPort = (PORTreg_t)portOutputRegister(digitalPinToPort(dc));
dcPinMaskSet = digitalPinToBitMask(dc);
if (cs >= 0) {
if (cs != 0xFF) {
csPort = (PORTreg_t)portOutputRegister(digitalPinToPort(cs));
csPinMaskSet = digitalPinToBitMask(cs);
} else {
Expand Down Expand Up @@ -375,8 +375,8 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, SPIClass *spiClass,
wanting to break existing code).
*/
Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, tftBusWidth busWidth,
int8_t d0, int8_t wr, int8_t dc, int8_t cs,
int8_t rst, int8_t rd)
uint8_t d0, uint8_t wr, uint8_t dc, uint8_t cs,
uint8_t rst, uint8_t rd)
: Adafruit_GFX(w, h), connection(TFT_PARALLEL), _rst(rst), _cs(cs),
_dc(dc) {
tft8._d0 = d0;
Expand All @@ -393,7 +393,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, tftBusWidth busWidth,
#endif
dcPortSet = portSetRegister(dc);
dcPortClr = portClearRegister(dc);
if (cs >= 0) {
if (cs != 0xFF) {
#if !defined(KINETISK)
csPinMask = digitalPinToBitMask(cs);
#endif
Expand All @@ -406,7 +406,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, tftBusWidth busWidth,
csPortSet = dcPortSet;
csPortClr = dcPortClr;
}
if (rd >= 0) { // if read-strobe pin specified...
if (rd != 0xFF) { // if read-strobe pin specified...
#if defined(KINETISK)
tft8.rdPinMask = 1;
#else // !KINETISK
Expand All @@ -432,7 +432,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, tftBusWidth busWidth,
dcPinMask = digitalPinToBitMask(dc);
dcPortSet = &(PORT->Group[g_APinDescription[dc].ulPort].OUTSET.reg);
dcPortClr = &(PORT->Group[g_APinDescription[dc].ulPort].OUTCLR.reg);
if (cs >= 0) {
if (cs != 0xFF) {
csPinMask = digitalPinToBitMask(cs);
csPortSet = &(PORT->Group[g_APinDescription[cs].ulPort].OUTSET.reg);
csPortClr = &(PORT->Group[g_APinDescription[cs].ulPort].OUTCLR.reg);
Expand All @@ -445,7 +445,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, tftBusWidth busWidth,
csPortClr = dcPortClr;
csPinMask = 0;
}
if (rd >= 0) { // if read-strobe pin specified...
if (rd != 0xFF) { // if read-strobe pin specified...
tft8.rdPinMask = digitalPinToBitMask(rd);
tft8.rdPortSet = &(PORT->Group[g_APinDescription[rd].ulPort].OUTSET.reg);
tft8.rdPortClr = &(PORT->Group[g_APinDescription[rd].ulPort].OUTCLR.reg);
Expand All @@ -472,7 +472,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, tftBusWidth busWidth,
tft8.wrPinMaskSet = digitalPinToBitMask(wr);
dcPort = (PORTreg_t)portOutputRegister(digitalPinToPort(dc));
dcPinMaskSet = digitalPinToBitMask(dc);
if (cs >= 0) {
if (cs != 0xFF) {
csPort = (PORTreg_t)portOutputRegister(digitalPinToPort(cs));
csPinMaskSet = digitalPinToBitMask(cs);
} else {
Expand All @@ -483,7 +483,7 @@ Adafruit_SPITFT::Adafruit_SPITFT(uint16_t w, uint16_t h, tftBusWidth busWidth,
csPort = dcPort;
csPinMaskSet = 0;
}
if (rd >= 0) { // if read-strobe pin specified...
if (rd != 0xFF) { // if read-strobe pin specified...
tft8.rdPort = (PORTreg_t)portOutputRegister(digitalPinToPort(rd));
tft8.rdPinMaskSet = digitalPinToBitMask(rd);
} else {
Expand Down Expand Up @@ -530,7 +530,7 @@ void Adafruit_SPITFT::initSPI(uint32_t freq, uint8_t spiMode) {
freq = DEFAULT_SPI_FREQ; // If no freq specified, use default

// Init basic control pins common to all connection types
if (_cs >= 0) {
if (_cs != 0xFF) {
pinMode(_cs, OUTPUT);
digitalWrite(_cs, HIGH); // Deselect
}
Expand Down Expand Up @@ -589,7 +589,7 @@ void Adafruit_SPITFT::initSPI(uint32_t freq, uint8_t spiMode) {
digitalWrite(swspi._mosi, LOW);
pinMode(swspi._sck, OUTPUT);
digitalWrite(swspi._sck, LOW);
if (swspi._miso >= 0) {
if (swspi._miso != 0xFF) {
pinMode(swspi._miso, INPUT);
}

Expand Down Expand Up @@ -632,13 +632,13 @@ void Adafruit_SPITFT::initSPI(uint32_t freq, uint8_t spiMode) {
#endif
pinMode(tft8._wr, OUTPUT);
digitalWrite(tft8._wr, HIGH);
if (tft8._rd >= 0) {
if (tft8._rd != 0xFF) {
pinMode(tft8._rd, OUTPUT);
digitalWrite(tft8._rd, HIGH);
}
}

if (_rst >= 0) {
if (_rst != 0xFF) {
// Toggle _rst low to reset
pinMode(_rst, OUTPUT);
digitalWrite(_rst, HIGH);
Expand Down Expand Up @@ -911,7 +911,7 @@ void Adafruit_SPITFT::setSPISpeed(uint32_t freq) {
*/
void Adafruit_SPITFT::startWrite(void) {
SPI_BEGIN_TRANSACTION();
if (_cs >= 0)
if (_cs != 0xFF)
SPI_CS_LOW();
}

Expand All @@ -922,7 +922,7 @@ void Adafruit_SPITFT::startWrite(void) {
for all display types; not an SPI-specific function.
*/
void Adafruit_SPITFT::endWrite(void) {
if (_cs >= 0)
if (_cs != 0xFF)
SPI_CS_HIGH();
SPI_END_TRANSACTION();
}
Expand Down Expand Up @@ -1867,7 +1867,7 @@ data
void Adafruit_SPITFT::sendCommand(uint8_t commandByte, uint8_t *dataBytes,
uint8_t numDataBytes) {
SPI_BEGIN_TRANSACTION();
if (_cs >= 0)
if (_cs != 0xFF)
SPI_CS_LOW();

SPI_DC_LOW(); // Command mode
Expand All @@ -1884,7 +1884,7 @@ void Adafruit_SPITFT::sendCommand(uint8_t commandByte, uint8_t *dataBytes,
}
}

if (_cs >= 0)
if (_cs != 0xFF)
SPI_CS_HIGH();
SPI_END_TRANSACTION();
}
Expand All @@ -1899,7 +1899,7 @@ void Adafruit_SPITFT::sendCommand(uint8_t commandByte, uint8_t *dataBytes,
void Adafruit_SPITFT::sendCommand(uint8_t commandByte, const uint8_t *dataBytes,
uint8_t numDataBytes) {
SPI_BEGIN_TRANSACTION();
if (_cs >= 0)
if (_cs != 0xFF)
SPI_CS_LOW();

SPI_DC_LOW(); // Command mode
Expand All @@ -1915,7 +1915,7 @@ void Adafruit_SPITFT::sendCommand(uint8_t commandByte, const uint8_t *dataBytes,
}
}

if (_cs >= 0)
if (_cs != 0xFF)
SPI_CS_HIGH();
SPI_END_TRANSACTION();
}
Expand All @@ -1935,7 +1935,7 @@ void Adafruit_SPITFT::sendCommand16(uint16_t commandWord,
const uint8_t *dataBytes,
uint8_t numDataBytes) {
SPI_BEGIN_TRANSACTION();
if (_cs >= 0)
if (_cs != 0xFF)
SPI_CS_LOW();

if (numDataBytes == 0) {
Expand All @@ -1951,7 +1951,7 @@ void Adafruit_SPITFT::sendCommand16(uint16_t commandWord,
SPI_WRITE16((uint16_t)pgm_read_byte(dataBytes++));
}

if (_cs >= 0)
if (_cs != 0xFF)
SPI_CS_HIGH();
SPI_END_TRANSACTION();
}
Expand Down Expand Up @@ -2135,7 +2135,7 @@ uint8_t Adafruit_SPITFT::spiRead(void) {
if (connection == TFT_HARD_SPI) {
return hwspi._spi->transfer((uint8_t)0);
} else if (connection == TFT_SOFT_SPI) {
if (swspi._miso >= 0) {
if (swspi._miso != 0xFF) {
for (uint8_t i = 0; i < 8; i++) {
SPI_SCK_HIGH();
b <<= 1;
Expand All @@ -2146,7 +2146,7 @@ uint8_t Adafruit_SPITFT::spiRead(void) {
}
return b;
} else { // TFT_PARALLEL
if (tft8._rd >= 0) {
if (tft8._rd != 0xFF) {
#if defined(USE_FAST_PINIO)
TFT_RD_LOW(); // Read line LOW
#if defined(__AVR__)
Expand Down Expand Up @@ -2229,7 +2229,7 @@ void Adafruit_SPITFT::writeCommand16(uint16_t cmd) {
uint16_t Adafruit_SPITFT::read16(void) {
uint16_t w = 0;
if (connection == TFT_PARALLEL) {
if (tft8._rd >= 0) {
if (tft8._rd != 0xFF) {
#if defined(USE_FAST_PINIO)
TFT_RD_LOW(); // Read line LOW
if (tft8.wide) { // 16-bit TFT connection
Expand Down
Loading