Skip to content
Snippets Groups Projects
Commit d9c3c73b authored by Benjamin Koch's avatar Benjamin Koch
Browse files

don't hang if I2C is not available

... which is rather important when JLC has made solder bridges on
the TMP102 for 20% of the boards...
parent 56b8b99c
No related branches found
No related tags found
No related merge requests found
...@@ -58,6 +58,13 @@ Adafruit_NeoPixel pixelsDigout1(2, DIGOUT1, NEO_GRB + NEO_KHZ800); ...@@ -58,6 +58,13 @@ Adafruit_NeoPixel pixelsDigout1(2, DIGOUT1, NEO_GRB + NEO_KHZ800);
void setup() { void setup() {
rp2040.enableDoubleResetBootloader(); rp2040.enableDoubleResetBootloader();
Serial.begin(9600); // USB serial, baudrate is ignored
if (0) {
while (!Serial)
;
Serial.println("a1");
}
pinMode(DRIVE1, OUTPUT); digitalWrite(DRIVE1, LOW); pinMode(DRIVE1, OUTPUT); digitalWrite(DRIVE1, LOW);
pinMode(DRIVE2, OUTPUT); digitalWrite(DRIVE2, LOW); pinMode(DRIVE2, OUTPUT); digitalWrite(DRIVE2, LOW);
pinMode(WS2812_DISPLAY, OUTPUT); pinMode(WS2812_DISPLAY, OUTPUT);
...@@ -83,7 +90,6 @@ void setup() { ...@@ -83,7 +90,6 @@ void setup() {
Wire.setSDA(I2C_OLED_SDA); // I2C0 Wire.setSDA(I2C_OLED_SDA); // I2C0
Wire.setSCL(I2C_OLED_SCL); Wire.setSCL(I2C_OLED_SCL);
Serial.begin(9600); // USB serial, baudrate is ignored
Serial1.begin(115200); Serial1.begin(115200);
Wire.begin(); Wire.begin();
Wire.setClock(100000); Wire.setClock(100000);
...@@ -266,7 +272,7 @@ void loop() { ...@@ -266,7 +272,7 @@ void loop() {
} }
prevButton4 = buttons[3]; prevButton4 = buttons[3];
if (rp2040.getCycleCount64() > 2 * 133*1000*1000 && displayMode == 0) { if (rp2040.getCycleCount64() > 2 * 133*1000*1000 && displayMode == 0 && hasDisplay) {
if (displayModePrev != 0) { if (displayModePrev != 0) {
display.fillRect(67, 0, 128-67, 64, SSD1306_BLACK); display.fillRect(67, 0, 128-67, 64, SSD1306_BLACK);
display.drawBitmap(0, 0, logo_data, logo_width, logo_height, SSD1306_WHITE); display.drawBitmap(0, 0, logo_data, logo_width, logo_height, SSD1306_WHITE);
...@@ -314,7 +320,7 @@ void loop() { ...@@ -314,7 +320,7 @@ void loop() {
display.println(); display.println();
display.display(); display.display();
} else if (displayMode >= 1 && displayMode <= 3) { } else if (displayMode >= 1 && displayMode <= 3 && hasDisplay) {
int first = (displayMode-1) * 12, last = first + 11; int first = (displayMode-1) * 12, last = first + 11;
display.fillRect(0, 0, 128, 64, SSD1306_BLACK); display.fillRect(0, 0, 128, 64, SSD1306_BLACK);
display.setTextSize(1); display.setTextSize(1);
...@@ -338,7 +344,7 @@ void loop() { ...@@ -338,7 +344,7 @@ void loop() {
display.write(" "); display.write(" ");
} }
display.display(); display.display();
} else if (displayMode == 4) { } else if (displayMode == 4 && hasDisplay) {
display.fillRect(0, 0, 128, 64, SSD1306_BLACK); display.fillRect(0, 0, 128, 64, SSD1306_BLACK);
display.setTextSize(1); display.setTextSize(1);
display.setTextColor(SSD1306_WHITE); display.setTextColor(SSD1306_WHITE);
...@@ -377,7 +383,7 @@ void loop() { ...@@ -377,7 +383,7 @@ void loop() {
display.drawFastHLine(0, y++, v/16, SSD1306_WHITE); display.drawFastHLine(0, y++, v/16, SSD1306_WHITE);
} }
display.display(); display.display();
} else if (displayMode == 5) { } else if (displayMode == 5 && hasDisplay) {
display.fillRect(0, 0, 128, 64, SSD1306_BLACK); display.fillRect(0, 0, 128, 64, SSD1306_BLACK);
display.setTextSize(1); display.setTextSize(1);
display.setTextColor(SSD1306_WHITE); display.setTextColor(SSD1306_WHITE);
...@@ -442,7 +448,7 @@ void loop() { ...@@ -442,7 +448,7 @@ void loop() {
display.println(v5); display.println(v5);
display.display(); display.display();
} else if (displayMode == 6) { } else if (displayMode == 6 && hasDisplay) {
if (displayModePrev != 6) { if (displayModePrev != 6) {
display.fillRect(0, 0, 128, 64, SSD1306_BLACK); display.fillRect(0, 0, 128, 64, SSD1306_BLACK);
display.drawBitmap(0, 0, logo_data, logo_width, logo_height, SSD1306_WHITE); display.drawBitmap(0, 0, logo_data, logo_width, logo_height, SSD1306_WHITE);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment