Skip to content

Commit c33c478

Browse files
committed
some hardware testing code
1 parent a2c13bd commit c33c478

File tree

2 files changed

+134
-0
lines changed

2 files changed

+134
-0
lines changed

Factory_Tests/Feather_ESP32S3_ReverseTFT_FactoryTest/.feather_esp32s3_tft.test.only

Whitespace-only changes.
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
// SPDX-FileCopyrightText: 2022 Limor Fried for Adafruit Industries
2+
//
3+
// SPDX-License-Identifier: MIT
4+
5+
#include <Arduino.h>
6+
#include "Adafruit_MAX1704X.h"
7+
#include <Adafruit_NeoPixel.h>
8+
#include "Adafruit_TestBed.h"
9+
#include <Adafruit_BME280.h>
10+
#include <Adafruit_ST7789.h>
11+
#include <Fonts/FreeSans12pt7b.h>
12+
13+
Adafruit_BME280 bme; // I2C
14+
bool bmefound = false;
15+
extern Adafruit_TestBed TB;
16+
17+
Adafruit_MAX17048 lipo;
18+
Adafruit_ST7789 display = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
19+
20+
GFXcanvas16 canvas(240, 135);
21+
22+
void setup() {
23+
Serial.begin(115200);
24+
//while (! Serial) delay(10);
25+
delay(100);
26+
27+
TB.neopixelPin = PIN_NEOPIXEL;
28+
TB.neopixelNum = 1;
29+
TB.begin();
30+
TB.setColor(WHITE);
31+
32+
display.init(135, 240); // Init ST7789 240x135
33+
display.setRotation(3);
34+
canvas.setFont(&FreeSans12pt7b);
35+
canvas.setTextColor(ST77XX_WHITE);
36+
37+
if (!lipo.begin()) {
38+
Serial.println(F("Couldnt find Adafruit MAX17048?\nMake sure a battery is plugged in!"));
39+
while (1) delay(10);
40+
}
41+
42+
Serial.print(F("Found MAX17048"));
43+
Serial.print(F(" with Chip ID: 0x"));
44+
Serial.println(lipo.getChipID(), HEX);
45+
46+
if (TB.scanI2CBus(0x77)) {
47+
Serial.println("BME280 address");
48+
49+
unsigned status = bme.begin();
50+
if (!status) {
51+
Serial.println("Could not find a valid BME280 sensor, check wiring, address, sensor ID!");
52+
Serial.print("SensorID was: 0x"); Serial.println(bme.sensorID(),16);
53+
Serial.print(" ID of 0xFF probably means a bad address, a BMP 180 or BMP 085\n");
54+
Serial.print(" ID of 0x56-0x58 represents a BMP 280,\n");
55+
Serial.print(" ID of 0x60 represents a BME 280.\n");
56+
Serial.print(" ID of 0x61 represents a BME 680.\n");
57+
return;
58+
}
59+
Serial.println("BME280 found OK");
60+
bmefound = true;
61+
}
62+
63+
pinMode(0, INPUT_PULLUP);
64+
pinMode(1, INPUT_PULLDOWN);
65+
pinMode(2, INPUT_PULLDOWN);
66+
}
67+
68+
uint8_t j = 0;
69+
70+
void loop() {
71+
bool valid_i2c[128];
72+
Serial.println("**********************");
73+
74+
if (j == 0) {
75+
Serial.print("I2C scan: ");
76+
for (int i=0; i< 128; i++) {
77+
if (TB.scanI2CBus(i, 0)) {
78+
Serial.print("0x");
79+
Serial.print(i, HEX);
80+
Serial.print(", ");
81+
valid_i2c[i] = true;
82+
} else {
83+
valid_i2c[i] = false;
84+
}
85+
}
86+
}
87+
88+
if (j % 2 == 0) {
89+
canvas.fillScreen(ST77XX_BLACK);
90+
canvas.setCursor(0, 17);
91+
canvas.setTextColor(ST77XX_RED);
92+
canvas.println("Adafruit Feather");
93+
canvas.setTextColor(ST77XX_YELLOW);
94+
canvas.println("ESP32-S3 TFT Demo");
95+
canvas.setTextColor(ST77XX_GREEN);
96+
canvas.print("Battery: ");
97+
canvas.setTextColor(ST77XX_WHITE);
98+
canvas.print(lipo.cellVoltage(), 1);
99+
canvas.print(" V / ");
100+
canvas.print(lipo.cellPercent(), 0);
101+
canvas.println("%");
102+
canvas.setTextColor(ST77XX_BLUE);
103+
canvas.print("I2C: ");
104+
canvas.setTextColor(ST77XX_WHITE);
105+
for (uint8_t a=0x01; a<=0x7F; a++) {
106+
if (valid_i2c[a]) {
107+
canvas.print("0x");
108+
canvas.print(a, HEX);
109+
canvas.print(", ");
110+
}
111+
}
112+
canvas.println("");
113+
canvas.print("Buttons: ");
114+
Serial.println(digitalRead(0));
115+
Serial.println(digitalRead(1));
116+
Serial.println(digitalRead(2));
117+
if (!digitalRead(0)) {
118+
canvas.print("D0, ");
119+
}
120+
if (digitalRead(1)) {
121+
canvas.print("D1, ");
122+
}
123+
if (digitalRead(2)) {
124+
canvas.print("D2, ");
125+
}
126+
display.drawRGBBitmap(0, 0, canvas.getBuffer(), 240, 135);
127+
pinMode(TFT_BACKLITE, OUTPUT);
128+
digitalWrite(TFT_BACKLITE, HIGH);
129+
}
130+
131+
TB.setColor(TB.Wheel(j++));
132+
delay(10);
133+
return;
134+
}

0 commit comments

Comments
 (0)