working now, but not nice implemented

This commit is contained in:
Peter Buchegger 2020-12-03 23:09:29 +01:00
parent c5aa8ae48f
commit 8e1b31d95a
4 changed files with 50 additions and 46 deletions

View file

@ -50,6 +50,10 @@ build_flags = -Werror -Wall -DTTGO_T_Beam_V0_7
board = esp32doit-devkit-v1 board = esp32doit-devkit-v1
build_flags = -Werror -Wall -DTRACKERD -DLORA_SCK=18 -DLORA_MISO=19 -DLORA_MOSI=23 -DLORA_CS=16 -DLORA_RST=14 -DLORA_IRQ=26 build_flags = -Werror -Wall -DTRACKERD -DLORA_SCK=18 -DLORA_MISO=19 -DLORA_MOSI=23 -DLORA_CS=16 -DLORA_RST=14 -DLORA_IRQ=26
[env:ttgo-poe] [env:ttgo-poe-v1_0]
board = esp32doit-devkit-v1 board = esp32doit-devkit-v1
build_flags = -Werror -Wall -DETH_BOARD -DLORA_SCK=14 -DLORA_MISO=2 -DLORA_MOSI=15 -DLORA_CS=12 -DLORA_RST=4 -DLORA_IRQ=36 build_flags = -Werror -Wall -DETH_BOARD -DETH_BOARD_V1_0 -DLORA_SCK=14 -DLORA_MISO=2 -DLORA_MOSI=15 -DLORA_CS=12 -DLORA_RST=4 -DLORA_IRQ=36
[env:ttgo-poe-v1_2]
board = esp32doit-devkit-v1
build_flags = -Werror -Wall -DETH_BOARD -DETH_BOARD_V1_2 -DLORA_SCK=14 -DLORA_MISO=2 -DLORA_MOSI=15 -DLORA_CS=12 -DLORA_RST=4 -DLORA_IRQ=36

View file

@ -90,6 +90,7 @@ void setup()
setup_ota(); setup_ota();
setup_ntp(); setup_ntp();
setup_ftp(); setup_ftp();
setup_aprs_is();
#else #else
if(Config.wifi.active) if(Config.wifi.active)
{ {
@ -104,8 +105,8 @@ void setup()
WiFi.mode(WIFI_OFF); WiFi.mode(WIFI_OFF);
btStop(); btStop();
} }
#endif
if(Config.aprs_is.active) setup_aprs_is(); if(Config.aprs_is.active) setup_aprs_is();
#endif
setup_timer(); setup_timer();
if(Config.display.overwritePin != 0) if(Config.display.overwritePin != 0)
@ -178,7 +179,7 @@ void loop()
delay(1000); delay(1000);
return; return;
} }
if(eth_connected || (Config.aprs_is.active && !aprs_is->connected())) if((eth_connected && !aprs_is->connected()) || (Config.aprs_is.active && !aprs_is->connected()))
{ {
setup_display(); secondsSinceDisplay = 0; display_is_on = true; setup_display(); secondsSinceDisplay = 0; display_is_on = true;
logPrintI("connecting to APRS-IS server: "); logPrintI("connecting to APRS-IS server: ");
@ -364,32 +365,31 @@ void WiFiEvent(WiFiEvent_t event)
{ {
switch (event) { switch (event) {
case SYSTEM_EVENT_ETH_START: case SYSTEM_EVENT_ETH_START:
Serial.println("ETH Started"); logPrintlnI("ETH Started");
//set eth hostname here
ETH.setHostname("esp32-ethernet"); ETH.setHostname("esp32-ethernet");
break; break;
case SYSTEM_EVENT_ETH_CONNECTED: case SYSTEM_EVENT_ETH_CONNECTED:
Serial.println("ETH Connected"); logPrintlnI("ETH Connected");
break; break;
case SYSTEM_EVENT_ETH_GOT_IP: case SYSTEM_EVENT_ETH_GOT_IP:
Serial.print("ETH MAC: "); logPrintI("ETH MAC: ");
Serial.print(ETH.macAddress()); logPrintI(ETH.macAddress());
Serial.print(", IPv4: "); logPrintI(", IPv4: ");
Serial.print(ETH.localIP()); logPrintI(ETH.localIP().toString());
if (ETH.fullDuplex()) { if (ETH.fullDuplex()) {
Serial.print(", FULL_DUPLEX"); logPrintI(", FULL_DUPLEX");
} }
Serial.print(", "); logPrintI(", ");
Serial.print(ETH.linkSpeed()); logPrintI(String(ETH.linkSpeed()));
Serial.println("Mbps"); logPrintlnI("Mbps");
eth_connected = true; eth_connected = true;
break; break;
case SYSTEM_EVENT_ETH_DISCONNECTED: case SYSTEM_EVENT_ETH_DISCONNECTED:
Serial.println("ETH Disconnected"); logPrintlnW("ETH Disconnected");
eth_connected = false; eth_connected = false;
break; break;
case SYSTEM_EVENT_ETH_STOP: case SYSTEM_EVENT_ETH_STOP:
Serial.println("ETH Stopped"); logPrintlnW("ETH Stopped");
eth_connected = false; eth_connected = false;
break; break;
default: default:
@ -411,6 +411,10 @@ void setup_eth()
digitalWrite(NRST, 1); digitalWrite(NRST, 1);
ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK); ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK);
while(!eth_connected)
{
sleep(1);
}
} }
void setup_ota() void setup_ota()

View file

@ -7,15 +7,10 @@
#include "pins.h" #include "pins.h"
#include "logger.h" #include "logger.h"
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RST); Adafruit_SSD1306 display(128, 64, &Wire);
void setup_display() void setup_display()
{ {
pinMode(OLED_RST, OUTPUT);
digitalWrite(OLED_RST, LOW);
delay(20);
digitalWrite(OLED_RST, HIGH);
Wire.begin(OLED_SDA, OLED_SCL); Wire.begin(OLED_SDA, OLED_SCL);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3c, false, false)) if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3c, false, false))
{ {

View file

@ -8,35 +8,36 @@
#if defined(HELTEC_WIFI_LORA_32_V1) || defined(HELTEC_WIFI_LORA_32_V2) || defined(TTGO_LORA32_V1) #if defined(HELTEC_WIFI_LORA_32_V1) || defined(HELTEC_WIFI_LORA_32_V2) || defined(TTGO_LORA32_V1)
#define OLED_SDA 4 #define OLED_SDA 4
#define OLED_SCL 15 #define OLED_SCL 15
#define OLED_RST 16
#endif #endif
#if defined(TTGO_LORA32_V2) || defined(TTGO_T_Beam_V0_7) || defined(TTGO_T_Beam_V1_0) #if defined(TTGO_LORA32_V2) || defined(TTGO_T_Beam_V0_7) || defined(TTGO_T_Beam_V1_0)
#define OLED_SDA 21 #define OLED_SDA 21
#define OLED_SCL 22 #define OLED_SCL 22
#define OLED_RST 16
#endif #endif
#ifdef TRACKERD #ifdef TRACKERD
#define OLED_SDA 5 #define OLED_SDA 5
#define OLED_SCL 4 #define OLED_SCL 4
#define OLED_RST 25
#endif #endif
#ifdef ETH_BOARD #ifdef ETH_BOARD
#define OLED_SDA 33 #define OLED_SDA 33
#define OLED_SCL 32 #define OLED_SCL 32
#define OLED_RST 5 #define ETH_POWER_PIN -1
//#define ETH_CLK ETH_CLOCK_GPIO0_OUT // TTGO PoE V1.2 #define ETH_TYPE ETH_PHY_LAN8720
#define ETH_CLK ETH_CLOCK_GPIO17_OUT // TTGO PoE V1.0 #define ETH_ADDR 0
#define ETH_POWER_PIN -1 #define ETH_MDC_PIN 23
#define ETH_TYPE ETH_PHY_LAN8720 #define ETH_MDIO_PIN 18
#define ETH_ADDR 0 #define NRST 5
#define ETH_MDC_PIN 23
#define ETH_MDIO_PIN 18
#define NRST 5
#endif #endif
#ifdef ETH_BOARD_V1_0
#define ETH_CLK ETH_CLOCK_GPIO17_OUT // TTGO PoE V1.0
#endif
#ifdef ETH_BOARD_V1_2
#define ETH_CLK ETH_CLOCK_GPIO0_OUT // TTGO PoE V1.2
#endif
#undef KEY_BUILTIN #undef KEY_BUILTIN