mirror of
https://github.com/EyeTrackVR/OpenIris.git
synced 2025-11-04 15:39:42 +08:00
PoC query manager for better flasher logging
This commit is contained in:
parent
47b52417d0
commit
635c6b04de
8
ESP/lib/src/data/QueryManager/QueryManager.cpp
Normal file
8
ESP/lib/src/data/QueryManager/QueryManager.cpp
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#include "QueryManager.hpp"
|
||||||
|
|
||||||
|
std::string QueryManager::formatMessage(QueryPayload* messagePayload) {
|
||||||
|
return Helpers::format_string(
|
||||||
|
"{\"action\": \"%s\", \"status\": %d, \"additional_info\": \"%s\"}",
|
||||||
|
queryActionMap.at(messagePayload->action).c_str(), messagePayload->status,
|
||||||
|
messagePayload->additionalInfo.c_str());
|
||||||
|
}
|
||||||
46
ESP/lib/src/data/QueryManager/QueryManager.hpp
Normal file
46
ESP/lib/src/data/QueryManager/QueryManager.hpp
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#pragma once
|
||||||
|
#ifndef QUERY_MANAGER_HPP
|
||||||
|
#define QUERY_MANAGER_HPP
|
||||||
|
#include <string>
|
||||||
|
#include <unordered_map>
|
||||||
|
#include "data/utilities/helpers.hpp"
|
||||||
|
|
||||||
|
enum QueryAction {
|
||||||
|
READY_TO_RECEIVE,
|
||||||
|
PARSE_COMMANDS,
|
||||||
|
CONNECT_TO_WIFI,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum QueryStatus {
|
||||||
|
NONE,
|
||||||
|
SUCCESS,
|
||||||
|
ERROR,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct QueryPayload {
|
||||||
|
QueryAction action;
|
||||||
|
QueryStatus status;
|
||||||
|
std::string additionalInfo;
|
||||||
|
|
||||||
|
QueryPayload(QueryAction action,
|
||||||
|
QueryStatus status,
|
||||||
|
std::string additionalInfo) {
|
||||||
|
this->action = action;
|
||||||
|
this->status = status;
|
||||||
|
this->additionalInfo = additionalInfo;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class QueryManager {
|
||||||
|
private:
|
||||||
|
const std::unordered_map<QueryAction, std::string> queryActionMap = {
|
||||||
|
{QueryAction::READY_TO_RECEIVE, "ready_to_receive"},
|
||||||
|
{QueryAction::PARSE_COMMANDS, "parse_commands"},
|
||||||
|
{QueryAction::CONNECT_TO_WIFI, "connect_to_wifi"},
|
||||||
|
};
|
||||||
|
|
||||||
|
public:
|
||||||
|
std::string formatMessage(QueryPayload* messagePayload);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
@ -1,7 +1,9 @@
|
|||||||
#include "SerialManager.hpp"
|
#include "SerialManager.hpp"
|
||||||
|
|
||||||
SerialManager::SerialManager(CommandManager* commandManager)
|
SerialManager::SerialManager(CommandManager* commandManager)
|
||||||
: commandManager(commandManager) {}
|
: commandManager(commandManager) {
|
||||||
|
this->queryManager = new QueryManager();
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef ETVR_EYE_TRACKER_USB_API
|
#ifdef ETVR_EYE_TRACKER_USB_API
|
||||||
void SerialManager::send_frame() {
|
void SerialManager::send_frame() {
|
||||||
@ -56,6 +58,14 @@ void SerialManager::init() {
|
|||||||
if (SERIAL_FLUSH_ENABLED) {
|
if (SERIAL_FLUSH_ENABLED) {
|
||||||
Serial.flush();
|
Serial.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryPayload* setupFinishedMessage =
|
||||||
|
new QueryPayload(QueryAction::READY_TO_RECEIVE, QueryStatus::NONE, "");
|
||||||
|
this->snedQuery(setupFinishedMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SerialManager::snedQuery(QueryPayload* messagePayload) {
|
||||||
|
Serial.println(this->queryManager->formatMessage(messagePayload).c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
void SerialManager::run() {
|
void SerialManager::run() {
|
||||||
|
|||||||
@ -7,6 +7,7 @@
|
|||||||
#include <USBCDC.h>
|
#include <USBCDC.h>
|
||||||
#include <esp_camera.h>
|
#include <esp_camera.h>
|
||||||
#include "data/CommandManager/CommandManager.hpp"
|
#include "data/CommandManager/CommandManager.hpp"
|
||||||
|
#include "data/QueryManager/QueryManager.hpp"
|
||||||
#include "data/config/project_config.hpp"
|
#include "data/config/project_config.hpp"
|
||||||
|
|
||||||
const char* const ETVR_HEADER = "\xff\xa0";
|
const char* const ETVR_HEADER = "\xff\xa0";
|
||||||
@ -16,6 +17,7 @@ class SerialManager {
|
|||||||
private:
|
private:
|
||||||
esp_err_t err = ESP_OK;
|
esp_err_t err = ESP_OK;
|
||||||
CommandManager* commandManager;
|
CommandManager* commandManager;
|
||||||
|
QueryManager* queryManager;
|
||||||
|
|
||||||
#ifdef ETVR_EYE_TRACKER_USB_API
|
#ifdef ETVR_EYE_TRACKER_USB_API
|
||||||
int64_t last_frame = 0;
|
int64_t last_frame = 0;
|
||||||
@ -26,6 +28,7 @@ class SerialManager {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
SerialManager(CommandManager* commandManager);
|
SerialManager(CommandManager* commandManager);
|
||||||
|
void snedQuery(QueryPayload* messagePayload);
|
||||||
void init();
|
void init();
|
||||||
void run();
|
void run();
|
||||||
};
|
};
|
||||||
|
|||||||
@ -20,7 +20,11 @@ CameraHandler cameraHandler(deviceConfig);
|
|||||||
#endif // SIM_ENABLED
|
#endif // SIM_ENABLED
|
||||||
|
|
||||||
#ifndef ETVR_EYE_TRACKER_USB_API
|
#ifndef ETVR_EYE_TRACKER_USB_API
|
||||||
WiFiHandler wifiHandler(deviceConfig, WIFI_SSID, WIFI_PASSWORD, WIFI_CHANNEL, ENABLE_ADHOC);
|
WiFiHandler wifiHandler(deviceConfig,
|
||||||
|
WIFI_SSID,
|
||||||
|
WIFI_PASSWORD,
|
||||||
|
WIFI_CHANNEL,
|
||||||
|
ENABLE_ADHOC);
|
||||||
MDNSHandler mdnsHandler(deviceConfig);
|
MDNSHandler mdnsHandler(deviceConfig);
|
||||||
#ifdef SIM_ENABLED
|
#ifdef SIM_ENABLED
|
||||||
APIServer apiServer(deviceConfig, wifiStateManager, "/control");
|
APIServer apiServer(deviceConfig, wifiStateManager, "/control");
|
||||||
@ -83,7 +87,7 @@ void setup() {
|
|||||||
#endif // SIM_ENABLED
|
#endif // SIM_ENABLED
|
||||||
deviceConfig.load();
|
deviceConfig.load();
|
||||||
|
|
||||||
serialManager.init();
|
serialManager.init();
|
||||||
|
|
||||||
#ifndef ETVR_EYE_TRACKER_USB_API
|
#ifndef ETVR_EYE_TRACKER_USB_API
|
||||||
etvr_eye_tracker_web_init();
|
etvr_eye_tracker_web_init();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user