directory move
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
#include "FS.h"
|
||||
#include <SPI.h>
|
||||
#include <TFT_eSPI.h>
|
||||
TFT_eSPI tft = TFT_eSPI();
|
||||
|
||||
#define CALIBRATION_FILE "/calibrationData"
|
||||
|
||||
void setup(void) {
|
||||
uint16_t calibrationData[5];
|
||||
uint8_t calDataOK = 0;
|
||||
|
||||
Serial.begin(115200);
|
||||
Serial.println("starting");
|
||||
|
||||
tft.init();
|
||||
|
||||
tft.setRotation(3);
|
||||
tft.fillScreen((0xFFFF));
|
||||
|
||||
tft.setCursor(20, 0, 2);
|
||||
tft.setTextColor(TFT_BLACK, TFT_WHITE); tft.setTextSize(1);
|
||||
tft.println("calibration run");
|
||||
|
||||
// check file system
|
||||
if (!SPIFFS.begin()) {
|
||||
Serial.println("formating file system");
|
||||
|
||||
SPIFFS.format();
|
||||
SPIFFS.begin();
|
||||
}
|
||||
|
||||
// check if calibration file exists
|
||||
if (SPIFFS.exists(CALIBRATION_FILE)) {
|
||||
File f = SPIFFS.open(CALIBRATION_FILE, "r");
|
||||
if (f) {
|
||||
if (f.readBytes((char *)calibrationData, 14) == 14)
|
||||
calDataOK = 1;
|
||||
f.close();
|
||||
}
|
||||
}
|
||||
if (calDataOK) {
|
||||
// calibration data valid
|
||||
tft.setTouch(calibrationData);
|
||||
} else {
|
||||
// data not valid. recalibrate
|
||||
tft.calibrateTouch(calibrationData, TFT_WHITE, TFT_RED, 15);
|
||||
// store data
|
||||
File f = SPIFFS.open(CALIBRATION_FILE, "w");
|
||||
if (f) {
|
||||
f.write((const unsigned char *)calibrationData, 14);
|
||||
f.close();
|
||||
}
|
||||
}
|
||||
|
||||
tft.fillScreen((0xFFFF));
|
||||
|
||||
}
|
||||
|
||||
void loop() {
|
||||
uint16_t x, y;
|
||||
static uint16_t color;
|
||||
|
||||
if (tft.getTouch(&x, &y)) {
|
||||
|
||||
tft.setCursor(5, 5, 2);
|
||||
tft.printf("x: %i ", x);
|
||||
tft.setCursor(5, 20, 2);
|
||||
tft.printf("y: %i ", y);
|
||||
|
||||
tft.drawPixel(x, y, color);
|
||||
color += 155;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user