Adaptions for prototype PCB: LED testing
This commit is contained in:
4
README
4
README
@@ -118,8 +118,8 @@ ggf. ein Epaper angeschlossen werden.
|
||||
|
||||
CAN Pin Remarks
|
||||
------ ---------- ----------------------
|
||||
RX D9 GPIO18
|
||||
TX D10 GPIO21
|
||||
TX D9 GPIO18
|
||||
RX D10 GPIO21
|
||||
|
||||
BUZZER
|
||||
TBD
|
||||
|
||||
@@ -23,16 +23,16 @@
|
||||
#define LEDC_BASE_FREQ 5000
|
||||
|
||||
// LEDS
|
||||
#define LED_A GPIO_NUM_1 // A0
|
||||
#define LED_A GPIO_NUM_3 // A2
|
||||
#define LED_B GPIO_NUM_2 // A1
|
||||
#define LED_C GPIO_NUM_3 // A2
|
||||
#define RGBLED_R GPIO_NUM_4 // A3 red
|
||||
#define LED_C GPIO_NUM_1 // A0
|
||||
#define RGBLED_R GPIO_NUM_14 // A7 red
|
||||
#define RGBLED_G GPIO_NUM_13 // A6 green
|
||||
#define RGBLED_B GPIO_NUM_14 // A7 blue
|
||||
#define RGBLED_B GPIO_NUM_4 // A3 blue
|
||||
|
||||
#define LED_USER GPIO_NUM_48 // internal red user led
|
||||
|
||||
#define LED_IR GPIO_NUM_46 // intername rgb led on strapping pins
|
||||
#define LED_IR GPIO_NUM_46 // internal rgb led on strapping pins
|
||||
#define LED_IG GPIO_NUM_0 // ! B1 <-> Buzzer
|
||||
#define LED_IB GPIO_NUM_45
|
||||
|
||||
|
||||
156
src/main.cpp
156
src/main.cpp
@@ -140,12 +140,100 @@ String uptime_with_unit() {
|
||||
return String(uptime) + " " + uptime_unit;
|
||||
}
|
||||
|
||||
void ledtest() {
|
||||
// all led one after another to test functionality
|
||||
|
||||
Serial.print("LED test started");
|
||||
|
||||
// Onbard RGB LED, inverted mode
|
||||
digitalWrite(LED_IR, LOW);
|
||||
digitalWrite(LED_IG, HIGH);
|
||||
digitalWrite(LED_IB, HIGH);
|
||||
delay(500);
|
||||
digitalWrite(LED_IR, HIGH);
|
||||
digitalWrite(LED_IG, LOW);
|
||||
delay(500);
|
||||
digitalWrite(LED_IG, HIGH);
|
||||
digitalWrite(LED_IB, LOW);
|
||||
delay(500);
|
||||
digitalWrite(LED_IB, HIGH);
|
||||
|
||||
// destination leds
|
||||
analogWrite(LED_A, 0);
|
||||
delay(250);
|
||||
// test every led
|
||||
analogWrite(LED_A, led_brightness);
|
||||
analogWrite(LED_B, 0);
|
||||
analogWrite(LED_C, 0);
|
||||
delay(500);
|
||||
analogWrite(LED_A, 0);
|
||||
analogWrite(LED_B, led_brightness);
|
||||
delay(500);
|
||||
analogWrite(LED_B, 0);
|
||||
analogWrite(LED_C, led_brightness);
|
||||
delay(500);
|
||||
analogWrite(LED_C, 0);
|
||||
// select dst A finally
|
||||
analogWrite(LED_A, led_brightness);
|
||||
delay(500);
|
||||
|
||||
// enclosure rgb led (common cathode, so low is off)
|
||||
analogWrite(RGBLED_R, rgb_brightness);
|
||||
analogWrite(RGBLED_G, 0);
|
||||
analogWrite(RGBLED_B, 0);
|
||||
delay(700);
|
||||
analogWrite(RGBLED_R, 0);
|
||||
analogWrite(RGBLED_G, rgb_brightness);
|
||||
delay(700);
|
||||
analogWrite(RGBLED_G, 0);
|
||||
analogWrite(RGBLED_B, rgb_brightness);
|
||||
delay(700);
|
||||
analogWrite(RGBLED_B, 0);
|
||||
|
||||
Serial.print("LED test finished");
|
||||
|
||||
}
|
||||
|
||||
void setup() {
|
||||
|
||||
Serial.begin(115200);
|
||||
// while (!Serial) delay(10);
|
||||
delay(500);
|
||||
|
||||
// Configure I/O pins
|
||||
|
||||
// internal user led (red)
|
||||
pinMode(LED_USER, OUTPUT);
|
||||
|
||||
// Init onbard RGB led
|
||||
pinMode(LED_IR, OUTPUT);
|
||||
pinMode(LED_IG, OUTPUT);
|
||||
pinMode(LED_IB, OUTPUT);
|
||||
|
||||
// destination leds
|
||||
pinMode(LED_A, OUTPUT);
|
||||
pinMode(LED_B, OUTPUT);
|
||||
pinMode(LED_C, OUTPUT);
|
||||
|
||||
// enclosure RGB led
|
||||
pinMode(RGBLED_R, OUTPUT);
|
||||
pinMode(RGBLED_G, OUTPUT);
|
||||
pinMode(RGBLED_B, OUTPUT);
|
||||
|
||||
// Buttons active-low, internal resistor
|
||||
pinMode(KEY_1, INPUT_PULLUP);
|
||||
pinMode(KEY_2, INPUT_PULLUP);
|
||||
pinMode(KEY_3, INPUT_PULLUP);
|
||||
pinMode(KEY_4, INPUT_PULLUP);
|
||||
pinMode(KEY_5, INPUT_PULLUP);
|
||||
pinMode(KEY_6, INPUT_PULLUP);
|
||||
pinMode(KEY_DST, INPUT_PULLUP);
|
||||
|
||||
// Early signal system activity
|
||||
analogWrite(RGBLED_R, 255);
|
||||
analogWrite(RGBLED_G, 0);
|
||||
analogWrite(RGBLED_B, 0);
|
||||
|
||||
// Arduino ESP32 logging
|
||||
esp_log_level_set("*", ESP_LOG_INFO);
|
||||
esp_log_level_set("default", ESP_LOG_INFO);
|
||||
@@ -271,17 +359,8 @@ void setup() {
|
||||
2046
|
||||
);
|
||||
|
||||
// Buttons active-low, internal resistor
|
||||
pinMode(KEY_1, INPUT_PULLUP);
|
||||
pinMode(KEY_2, INPUT_PULLUP);
|
||||
pinMode(KEY_3, INPUT_PULLUP);
|
||||
pinMode(KEY_4, INPUT_PULLUP);
|
||||
pinMode(KEY_5, INPUT_PULLUP);
|
||||
pinMode(KEY_6, INPUT_PULLUP);
|
||||
pinMode(KEY_DST, INPUT_PULLUP);
|
||||
|
||||
// internal user led (red)
|
||||
pinMode(LED_USER, OUTPUT);
|
||||
digitalWrite(LED_USER, HIGH);
|
||||
delay(1000);
|
||||
digitalWrite(LED_USER, LOW);
|
||||
@@ -290,7 +369,7 @@ void setup() {
|
||||
ledcSetup(LEDC_CHANNEL, LEDC_BASE_FREQ, LEDC_TIMER_8_BIT);
|
||||
ledcAttachPin(BUZZER, LEDC_CHANNEL);
|
||||
// Test tone while booting
|
||||
if (ledcWriteTone(LEDC_CHANNEL, 4000) == 0) {
|
||||
if (ledcWriteTone(LEDC_CHANNEL, 2300) == 0) {
|
||||
Serial.println("Error setting buzzer tone");
|
||||
} else {
|
||||
delay(750);
|
||||
@@ -298,62 +377,9 @@ void setup() {
|
||||
}
|
||||
|
||||
// Startup sequence: test all led and short beep buzzer
|
||||
|
||||
// Init onbard RGB LED
|
||||
// inverted mode:
|
||||
pinMode(LED_IR, OUTPUT);
|
||||
pinMode(LED_IG, OUTPUT);
|
||||
pinMode(LED_IB, OUTPUT);
|
||||
digitalWrite(LED_IR, LOW);
|
||||
digitalWrite(LED_IG, HIGH);
|
||||
digitalWrite(LED_IB, HIGH);
|
||||
analogWrite(RGBLED_R, 0); // boot status off
|
||||
delay(500);
|
||||
digitalWrite(LED_IR, HIGH);
|
||||
digitalWrite(LED_IG, LOW);
|
||||
delay(500);
|
||||
digitalWrite(LED_IG, HIGH);
|
||||
digitalWrite(LED_IB, LOW);
|
||||
delay(500);
|
||||
digitalWrite(LED_IB, HIGH);
|
||||
|
||||
// destination leds
|
||||
pinMode(LED_A, OUTPUT);
|
||||
pinMode(LED_B, OUTPUT);
|
||||
pinMode(LED_C, OUTPUT);
|
||||
analogWrite(LED_A, 0);
|
||||
delay(250);
|
||||
// test every led
|
||||
analogWrite(LED_A, led_brightness);
|
||||
analogWrite(LED_B, 0);
|
||||
analogWrite(LED_C, 0);
|
||||
delay(500);
|
||||
analogWrite(LED_A, 0);
|
||||
analogWrite(LED_B, led_brightness);
|
||||
delay(500);
|
||||
analogWrite(LED_B, 0);
|
||||
analogWrite(LED_C, led_brightness);
|
||||
delay(500);
|
||||
analogWrite(LED_C, 0);
|
||||
// select dst A finally
|
||||
analogWrite(LED_A, led_brightness);
|
||||
delay(500);
|
||||
|
||||
// enclosure rgb led
|
||||
pinMode(RGBLED_R, OUTPUT);
|
||||
pinMode(RGBLED_G, OUTPUT);
|
||||
pinMode(RGBLED_B, OUTPUT);
|
||||
// common anode so we need high here to switch off!
|
||||
analogWrite(RGBLED_R, 255 - rgb_brightness);
|
||||
analogWrite(RGBLED_G, 255);
|
||||
analogWrite(RGBLED_B, 255);
|
||||
delay(500);
|
||||
analogWrite(RGBLED_R, 255);
|
||||
analogWrite(RGBLED_G, 255 - rgb_brightness);
|
||||
delay(500);
|
||||
analogWrite(RGBLED_G, 255);
|
||||
analogWrite(RGBLED_B, 255 - rgb_brightness);
|
||||
delay(500);
|
||||
analogWrite(RGBLED_B, 255);
|
||||
ledtest();
|
||||
|
||||
// I²C
|
||||
Serial.print("SHT31_LIB_VERSION: ");
|
||||
|
||||
Reference in New Issue
Block a user