Merge branch 'fix/serial-manager-invalid-json' into beta

# Conflicts:
#	ESP/lib/src/io/Serial/SerialManager.cpp
#	ESP/lib/src/network/wifihandler/wifihandler.cpp
This commit is contained in:
lorow 2024-05-31 18:03:15 +02:00
commit 84cb556a71
2 changed files with 26 additions and 28 deletions

View File

@ -5,10 +5,6 @@ SerialManager::SerialManager(CommandManager* commandManager, ProjectConfig& proj
#ifdef ETVR_EYE_TRACKER_USB_API
void SerialManager::send_frame() {
// if we failed to capture the frame, we bail, but we still want to listen to commands
if (err != ESP_OK)
return;
if (!last_frame)
last_frame = esp_timer_get_time();
@ -21,14 +17,17 @@ void SerialManager::send_frame() {
if (fb) {
len = fb->len;
buf = fb->buf;
} else {
log_e("Camera capture failed with response: %s", esp_err_to_name(err));
} else
err = ESP_FAIL;
// if we failed to capture the frame, we bail, but we still want to listen to
// commands
if (err != ESP_OK) {
log_e("Camera capture failed with response: %s", esp_err_to_name(err));
return;
}
if (err == ESP_OK)
Serial.write(ETVR_HEADER, 2);
Serial.write(ETVR_HEADER, 2);
Serial.write(ETVR_HEADER_FRAME, 2);
len_bytes[0] = len & 0xFF;
len_bytes[1] = (len >> CHAR_BIT) & 0xFF;
@ -54,7 +53,7 @@ void SerialManager::send_frame() {
void SerialManager::init() {
Serial.begin(3000000);
if (SERIAL_FLUSH_ENABLED){
if (SERIAL_FLUSH_ENABLED) {
Serial.flush();
}
}

View File

@ -18,14 +18,14 @@ WiFiHandler::WiFiHandler(ProjectConfig& configManager,
WiFiHandler::~WiFiHandler() {}
void WiFiHandler::begin() {
log_i("Starting WiFi Handler \n\r");
// forcefully disconnect to reset anything that could've been saved before
// just to be sure, we reeset everything before we do anything, some boards were having problems otherwise
WiFi.disconnect();
// we purposefully set the lowest min required security level, some boards have problems connecting otherwise
// https://github.com/espressif/arduino-esp32/issues/8770
WiFi.setMinSecurity(WIFI_AUTH_WEP);
log_i("Starting WiFi Handler \n\r");
if (this->_enable_adhoc ||
wifiStateManager.getCurrentState() == WiFiState_e::WiFiState_ADHOC) {
log_d("ADHOC is enabled, setting up ADHOC network \n\r");
@ -47,8 +47,6 @@ void WiFiHandler::begin() {
if (networks.empty()) {
log_i("No networks found in config, trying the default one \n\r");
// since networks may not have a password, we only need to check if we have an ssid
// bail if we don't
if (this->iniSTA(
this->ssid,
this->password,
@ -142,6 +140,8 @@ bool WiFiHandler::iniSTA(const std::string& ssid,
uint8_t channel,
wifi_power_t power) {
// since networks may not have a password, we only need to check if we have an ssid
// bail if we don't
if (ssid == ""){
log_d("ssid missing, bailing");
return false;
@ -155,14 +155,14 @@ bool WiFiHandler::iniSTA(const std::string& ssid,
wifiStateManager.setState(WiFiState_e::WiFiState_Connecting);
log_i("Trying to connect to: %s with password: %s\n\r", ssid.c_str(), password.c_str());
auto mdnsConfig = configManager.getMDNSConfig();
log_d("Setting hostname %s \n\r");
WiFi.config(INADDR_NONE, INADDR_NONE, INADDR_NONE,
INADDR_NONE); // need to call before setting hostname
log_d("Setting hostname %s \n\r");
WiFi.setHostname(mdnsConfig.hostname.c_str());
log_i("Setting TX power to: %d \n\r", (uint8_t)power);
WiFi.setTxPower(power); // https://github.com/espressif/arduino-esp32/issues/5698
WiFi.begin(ssid.c_str(), password.c_str(), channel);
log_d("Waiting for WiFi to connect... \n\r");
while (WiFi.status() != WL_CONNECTED) {
progress++;
@ -193,7 +193,6 @@ bool WiFiHandler::iniSTA(const std::string& ssid,
}
wifiStateManager.setState(WiFiState_e::WiFiState_Connected);
log_i("Successfully connected to %s \n\r", ssid.c_str());
log_i("Setting TX power to: %d \n\r", (uint8_t)power);
return true;
}