void Adafruit_STMPE610::writeRegister8(uint8_t reg, uint8_t val) { spi_begin(); CSLow(); spiOut(reg); spiOut(val); CSHigh(); spi_end(); }
uint8_t Adafruit_STMPE610::readRegister8(uint8_t reg) { uint8_t x ; spi_begin(); CSLow(); spiOut(0x80 | reg); spiOut(0x00); x = spiIn(); CSHigh(); spi_end(); return x; }
static void Write(int fCmd, uchar b) { /* (RW starts low, E starts low, CS# starts high) */ fCmd ? DCLow() : DCHigh(); // set data bit for command or data SetData(b); EHigh(); CSLow(); asm("nop"); // hold state for >= 60ns (1 instruction = 125ns for 8MHz uC) CSHigh(); ELow(); }
uint16_t Adafruit_STMPE610::readRegister16(uint8_t reg) { uint16_t x; spi_begin(); CSLow(); spiOut(0x80 | reg); spiOut(0x00); x = spiIn(); x<<=8; x |= spiIn(); CSHigh(); spi_end(); //Serial.print("$"); Serial.print(reg, HEX); //Serial.print(": 0x"); Serial.println(x, HEX); return x; }