Buzzer integrated, pin assignment improvements
This commit is contained in:
91
src/main.cpp
91
src/main.cpp
@@ -59,9 +59,14 @@ bool rgb_r = false;
|
||||
bool rgb_g = false;
|
||||
bool rgb_b = false;
|
||||
|
||||
char destination = 'A'; // A | B | C
|
||||
char destination = 'A'; // A | B | C
|
||||
uint8_t led_brightness = 128; // analog pin: 0 .. 255
|
||||
uint8_t rgp_brightness = 128;
|
||||
|
||||
uint buzzerpower = 50; // TBD make use of this
|
||||
|
||||
SHT31 sht(SHT31_ADDRESS);
|
||||
bool sht_available = false;
|
||||
|
||||
int nodeid; // NMEA2000 id on bus
|
||||
Nmea2kTwai &NMEA2000=*(new Nmea2kTwai(CAN_TX, CAN_RX, CAN_RECOVERY_PERIOD));
|
||||
@@ -110,8 +115,15 @@ void wifi_init_softap()
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
void setup() {
|
||||
|
||||
Serial.begin(115200);
|
||||
delay(500);
|
||||
Serial.println("Starting...");
|
||||
|
||||
ESP_LOGI(TAG, "Test logging: %d", 100);
|
||||
|
||||
nodeid = N2K_DEFAULT_NODEID;
|
||||
Serial.print("N2K default node id=");
|
||||
Serial.println(nodeid);
|
||||
@@ -120,15 +132,7 @@ void setup() {
|
||||
nodeid = preferences.getInt("LastNodeId", N2K_DEFAULT_NODEID);
|
||||
preferences.end();
|
||||
|
||||
/*
|
||||
// Connect as client to existing network
|
||||
WiFi.begin(ssid, password);
|
||||
while (WiFi.status() != WL_CONNECTED) {
|
||||
delay(1000);
|
||||
Serial.println("Connecting to WiFi..");
|
||||
}
|
||||
Serial.println(WiFi.localIP()); */
|
||||
|
||||
// Setup webserver
|
||||
WiFi.persistent(false);
|
||||
WiFi.mode(WIFI_MODE_AP);
|
||||
|
||||
@@ -154,7 +158,7 @@ void setup() {
|
||||
}
|
||||
server.begin();
|
||||
|
||||
|
||||
// NMEA2000 configuration
|
||||
NMEA2000.SetProductInformation("00000001", // Manufacturer's Model serial code
|
||||
74, // Manufacturer's product code
|
||||
"OBPkeypad6/1", // Manufacturer's Model ID
|
||||
@@ -184,38 +188,51 @@ void setup() {
|
||||
delay(1000);
|
||||
digitalWrite(LED_USER, LOW);
|
||||
|
||||
// destination leds
|
||||
pinMode(LED_A, OUTPUT);
|
||||
digitalWrite(LED_A, HIGH);
|
||||
pinMode(LED_B, OUTPUT);
|
||||
digitalWrite(LED_B, LOW);
|
||||
pinMode(LED_C, OUTPUT);
|
||||
digitalWrite(LED_C, LOW);
|
||||
// Buzzer
|
||||
ledcSetup(LEDC_CHANNEL, LEDC_BASE_FREQ, LEDC_TIMER_8_BIT);
|
||||
ledcAttachPin(BUZZER, LEDC_CHANNEL);
|
||||
// Test tone while booting
|
||||
if (ledcWriteTone(BUZZER, 4000) == 0) {
|
||||
Serial.println("Error setting buzzer tone");
|
||||
} else {
|
||||
delay(750);
|
||||
ledcWriteTone(BUZZER, 0); // Buzzer off
|
||||
}
|
||||
|
||||
// Init onbard RGB LED
|
||||
// TODO
|
||||
|
||||
// enclosure rgb led (common anode)
|
||||
pinMode(LED_RGBA, OUTPUT);
|
||||
digitalWrite(LED_RGBA, HIGH);
|
||||
pinMode(LED_RGBB, OUTPUT);
|
||||
digitalWrite(LED_RGBB, HIGH);
|
||||
pinMode(LED_RGBC, OUTPUT);
|
||||
digitalWrite(LED_RGBC, HIGH);
|
||||
// destination leds
|
||||
pinMode(LED_A, OUTPUT);
|
||||
pinMode(LED_B, OUTPUT);
|
||||
pinMode(LED_C, OUTPUT);
|
||||
|
||||
Serial.begin(115200);
|
||||
delay(500);
|
||||
Serial.println("Starting...");
|
||||
//digitalWrite(LED_A, HIGH);
|
||||
//digitalWrite(LED_B, LOW);
|
||||
//digitalWrite(LED_C, LOW);
|
||||
analogWrite(LED_A, led_brightness);
|
||||
analogWrite(LED_B, 0);
|
||||
analogWrite(LED_C, 0);
|
||||
|
||||
// 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!
|
||||
digitalWrite(RGBLED_R, HIGH);
|
||||
digitalWrite(RGBLED_G, HIGH);
|
||||
digitalWrite(RGBLED_B, HIGH);
|
||||
|
||||
// I²C
|
||||
Serial.print("SHT31_LIB_VERSION: ");
|
||||
Serial.println(SHT31_LIB_VERSION);
|
||||
Wire.begin(I2C_SDA, I2C_SCL);
|
||||
Wire.setClock(100000);
|
||||
Wire.setClock(I2C_SPEED);
|
||||
uint16_t stat = sht.readStatus();
|
||||
Serial.print(stat, HEX);
|
||||
// stat = ffff anscheinend Fehler
|
||||
// = 8010 läuft anscheinend
|
||||
sht_available = (stat == 0x8010);
|
||||
Serial.print(stat, HEX);
|
||||
Serial.println();
|
||||
|
||||
}
|
||||
@@ -229,10 +246,10 @@ void loop() {
|
||||
button = 1;
|
||||
if (rgb_r) {
|
||||
rgb_r = false;
|
||||
digitalWrite(LED_RGBA, HIGH);
|
||||
digitalWrite(RGBLED_R, HIGH);
|
||||
} else {
|
||||
rgb_r = true;
|
||||
digitalWrite(LED_RGBA, LOW);
|
||||
digitalWrite(RGBLED_R, LOW);
|
||||
}
|
||||
}
|
||||
if (digitalRead(KEY_2) == LOW) {
|
||||
@@ -240,10 +257,10 @@ void loop() {
|
||||
button += 2;
|
||||
if (rgb_g) {
|
||||
rgb_g = false;
|
||||
digitalWrite(LED_RGBB, HIGH);
|
||||
digitalWrite(RGBLED_G, HIGH);
|
||||
} else {
|
||||
rgb_g = true;
|
||||
digitalWrite(LED_RGBB, LOW);
|
||||
digitalWrite(RGBLED_G, LOW);
|
||||
}
|
||||
}
|
||||
if (digitalRead(KEY_3) == LOW) {
|
||||
@@ -251,10 +268,10 @@ void loop() {
|
||||
button += 4;
|
||||
if (rgb_b) {
|
||||
rgb_b = false;
|
||||
digitalWrite(LED_RGBC, HIGH);
|
||||
digitalWrite(RGBLED_B, HIGH);
|
||||
} else {
|
||||
rgb_b = true;
|
||||
digitalWrite(LED_RGBC, LOW);
|
||||
digitalWrite(RGBLED_B, LOW);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -315,7 +332,7 @@ void loop() {
|
||||
delay(200);
|
||||
}
|
||||
|
||||
// ---- PRINT NUMBER EVERY SECOND ----
|
||||
// development heartbeat
|
||||
if (millis() - lastPrint >= 1000) {
|
||||
lastPrint = millis();
|
||||
counter++;
|
||||
|
||||
Reference in New Issue
Block a user