Skip to content

Commit

Permalink
Merge pull request #446 from mc-hamster/master
Browse files Browse the repository at this point in the history
Give more details of why wifi is disconnected & Set device hostname with hardwire ID #445
  • Loading branch information
mc-hamster authored Sep 27, 2020
2 parents 0f64332 + 1f38404 commit 78fe417
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 5 deletions.
3 changes: 3 additions & 0 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

[platformio]
default_envs = tbeam # lora-relay-v1 # nrf52840dk-geeksville # linux # or if you'd like to change the default to something like lora-relay-v1 put that here
;default_envs = heltec # lora-relay-v1 # nrf52840dk-geeksville # linux # or if you'd like to change the default to something like lora-relay-v1 put that here

[common]
; common is not currently used
Expand All @@ -33,6 +34,8 @@ build_flags = -Wno-missing-field-initializers -Isrc -Isrc/mesh -Isrc/gps -Ilib/n
; leave this commented out to avoid breaking Windows
;upload_port = /dev/ttyUSB0
;monitor_port = /dev/ttyUSB0
upload_port = /dev/cu.SLAB_USBtoUART
monitor_port = /dev/cu.SLAB_USBtoUART

; the default is esptool
; upload_protocol = esp-prog
Expand Down
6 changes: 3 additions & 3 deletions src/graphics/Screen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -905,8 +905,8 @@ void DebugInfo::drawFrameWiFi(OLEDDisplay *display, OLEDDisplayUiState *state, i
display->drawString(x, y + FONT_HEIGHT * 1, "Connection Lost");
} else if (WiFi.status() == WL_CONNECT_FAILED) {
display->drawString(x, y + FONT_HEIGHT * 1, "Connection Failed");
} else if (WiFi.status() == WL_DISCONNECTED) {
display->drawString(x, y + FONT_HEIGHT * 1, "Disconnected");
//} else if (WiFi.status() == WL_DISCONNECTED) {
// display->drawString(x, y + FONT_HEIGHT * 1, "Disconnected");
} else if (WiFi.status() == WL_IDLE_STATUS) {
display->drawString(x, y + FONT_HEIGHT * 1, "Idle ... Reconnecting");
} else {
Expand Down Expand Up @@ -937,7 +937,7 @@ void DebugInfo::drawFrameWiFi(OLEDDisplay *display, OLEDDisplayUiState *state, i
} else if (getWifiDisconnectReason() == 14) {
display->drawString(x, y + FONT_HEIGHT * 1, "MIC_FAILURE");
} else if (getWifiDisconnectReason() == 15) {
display->drawString(x, y + FONT_HEIGHT * 1, "4WAY_HANDSHAKE_TIMEOUT");
display->drawString(x, y + FONT_HEIGHT * 1, "AP Handshake Timeout");
} else if (getWifiDisconnectReason() == 16) {
display->drawString(x, y + FONT_HEIGHT * 1, "GROUP_KEY_UPDATE_TIMEOUT");
} else if (getWifiDisconnectReason() == 17) {
Expand Down
18 changes: 16 additions & 2 deletions src/meshwifi/meshwifi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include "configuration.h"
#include "main.h"
#include "meshwifi/meshhttp.h"
#include "target_specific.h"
#include <DNSServer.h>
#include <WiFi.h>

Expand All @@ -16,11 +17,17 @@ static WiFiServerPort *apiPort;

uint8_t wifiDisconnectReason = 0;

// Stores the last 4 of our hardware ID, to make finding the device for pairing easier
static char ourHost[16];

bool isWifiAvailable()
{
const char *wifiName = radioConfig.preferences.wifi_ssid;
const char *wifiPsw = radioConfig.preferences.wifi_password;

//strcpy(radioConfig.preferences.wifi_ssid, "");
//strcpy(radioConfig.preferences.wifi_password, "");

if (*wifiName && *wifiPsw) {

// Once every 10 seconds, try to reconnect.
Expand Down Expand Up @@ -74,12 +81,19 @@ void initWifi()
dnsServer.start(53, "*", apIP);

} else {
uint8_t dmac[6];
getMacAddr(dmac);
sprintf(ourHost, "Meshtastic-%02x%02x", dmac[4], dmac[5]);

Serial.println(ourHost);

WiFi.mode(WIFI_MODE_STA);
WiFi.setHostname(ourHost);
WiFi.onEvent(WiFiEvent);
// esp_wifi_set_ps(WIFI_PS_NONE); // Disable power saving

//WiFiEventId_t eventID = WiFi.onEvent(
WiFi.onEvent(
// WiFiEventId_t eventID = WiFi.onEvent(
WiFi.onEvent(
[](WiFiEvent_t event, WiFiEventInfo_t info) {
Serial.print("\nWiFi lost connection. Reason: ");
Serial.println(info.disconnected.reason);
Expand Down

0 comments on commit 78fe417

Please sign in to comment.