From 3222cc349dc00940c1419f62a14d5922d0b7fdae Mon Sep 17 00:00:00 2001 From: Thomas Hooge Date: Mon, 1 Dec 2025 20:10:22 +0100 Subject: [PATCH] Some more basic work --- README | 49 ++++++++++++++++++++++++++++++++++++++++++------- include/main.h | 4 ++-- src/main.cpp | 13 +++++++++++-- 3 files changed, 55 insertions(+), 11 deletions(-) diff --git a/README b/README index 6d6130c..76fb497 100644 --- a/README +++ b/README @@ -27,6 +27,25 @@ Optionen für später Damit die LEDs nicht stören, kann umgeschaltet werden zwischen permanentem Leuchten und nur kurzem Aufblinken bei Betätigung. +Einschaltvorgang +---------------- + +Es erfolgt ein "Lampentest": Alle LEDs werden einmal durchgeschaltet. + +Sind alle Tests erfolgreich ertönt ein Buzzer-Signal. + +Beschreibung +------------ + +Die zu verbindenden Geräte müssen über die Weboberfläche ausgewählt +werden. Eine NMEA2000-Geräteliste wird dargestellt. + +Die Destination-LEDs leuchten nur, wenn ein entsprechendes +N2K-Zielgerät konfiguriert und erkannt wurde. + + + + Bohrung Taster: 12mm Taster Außenmaß: 17.5mm @@ -108,19 +127,21 @@ BUZZER Bauteilliste ------------ - 1x ESP32-S3 Nano oder ESP32-S3 Pico + 1x ESP32-S3 Nano (Waveshare) 5x Taster schwarz 2x Taster gelb 1x M12 Einbaubuchse - 1x Spannungswandler 12V -> 3.3V - 1x RGB LED (gemeinsame Anode) - 3x LED grün + 1x RGB LED (gemeinsame Anode), diffus + 3x LED grün, diffus + 6x Widerstand 330 Ohm 1x SN65HVD230 CAN Transceiver 1x Buzzer, passiv - 1x Gehäuse 150x60x40 - 4x Befestigungsschraube M4 1x Kabelsatz - + 1x Terminalblock 4pol. 2,54mm schraubbar + 1x Gehäuse 150x60x40 bestehend auf Front- und Rückseite + 4x Befestigungsschraube M4 + 4x Gehäuseschraube M2,5 + 1x Silikondichtschnur 2mm Konfiguration @@ -131,3 +152,17 @@ Konfiguration - Tastencodes Tasten 1 bis 6 - Tastennamen - Web-AP + +NMEA2000 +-------- + +Es werden keine eingehenden Pakete verarbeitet bis auf die ISO-Pflichtpakete + +Es wird eine Geräteliste geführt + +Aus der Geräteliste können 3 Geräten den Zielen A, B und C zugeordnet werden + +Die Tastencodes werden an das jeweils aktive Gerät gesendet + +Ist ein Temp./-Feuchtesensor vorhanden werden die gemessenen Werte +regelmäßig auf den Bus gesendet diff --git a/include/main.h b/include/main.h index f3097a8..cf1af1e 100644 --- a/include/main.h +++ b/include/main.h @@ -17,7 +17,7 @@ #define KEY_DST GPIO_NUM_17 // D8 // Buzzer -#define BUZZER GPIO_NUM_0 // B1 +#define BUZZER GPIO_NUM_0 // ! B1 <-> LED green #define LEDC_CHANNEL 0 #define LEDC_TIMER_8_BIT 8 #define LEDC_BASE_FREQ 5000 @@ -33,7 +33,7 @@ #define LED_USER GPIO_NUM_48 // internal red user led #define LED_IR GPIO_NUM_46 // intername rgb led on strapping pins -#define LED_IG GPIO_NUM_0 +#define LED_IG GPIO_NUM_0 // ! B1 <-> Buzzer #define LED_IB GPIO_NUM_45 // CAN bus for NMEA2000 connection diff --git a/src/main.cpp b/src/main.cpp index 4e0efa8..677fa5f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -122,8 +122,8 @@ void wifi_init_softap() void setup() { Serial.begin(115200); - while (!Serial) delay(10); - delay(200); + // while (!Serial) delay(10); + delay(500); // Arduino ESP32 logging esp_log_level_set("*", ESP_LOG_INFO); @@ -182,6 +182,11 @@ void setup() { server.begin(); // NMEA2000 configuration + + NMEA2000.SetN2kCANMsgBufSize(8); + NMEA2000.SetN2kCANReceiveFrameBufSize(250); + NMEA2000.SetN2kCANSendFrameBufSize(250); + NMEA2000.SetProductInformation("00000001", // Manufacturer's Model serial code 74, // Manufacturer's product code "OBPkeypad6/1", // Manufacturer's Model ID @@ -393,6 +398,10 @@ void loop() { delay(200); } + + // NMEA2000.loop(); + // NMEA2000.ParseMessages(); + // development heartbeat if (millis() - lastPrint >= 1000) { lastPrint = millis();