mirror of
https://github.com/EyeTrackVR/OpenIris.git
synced 2025-09-26 23:29:14 +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"
|
||||
|
||||
SerialManager::SerialManager(CommandManager* commandManager)
|
||||
: commandManager(commandManager) {}
|
||||
: commandManager(commandManager) {
|
||||
this->queryManager = new QueryManager();
|
||||
}
|
||||
|
||||
#ifdef ETVR_EYE_TRACKER_USB_API
|
||||
void SerialManager::send_frame() {
|
||||
@ -56,6 +58,14 @@ void SerialManager::init() {
|
||||
if (SERIAL_FLUSH_ENABLED) {
|
||||
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() {
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include <USBCDC.h>
|
||||
#include <esp_camera.h>
|
||||
#include "data/CommandManager/CommandManager.hpp"
|
||||
#include "data/QueryManager/QueryManager.hpp"
|
||||
#include "data/config/project_config.hpp"
|
||||
|
||||
const char* const ETVR_HEADER = "\xff\xa0";
|
||||
@ -16,6 +17,7 @@ class SerialManager {
|
||||
private:
|
||||
esp_err_t err = ESP_OK;
|
||||
CommandManager* commandManager;
|
||||
QueryManager* queryManager;
|
||||
|
||||
#ifdef ETVR_EYE_TRACKER_USB_API
|
||||
int64_t last_frame = 0;
|
||||
@ -26,6 +28,7 @@ class SerialManager {
|
||||
|
||||
public:
|
||||
SerialManager(CommandManager* commandManager);
|
||||
void snedQuery(QueryPayload* messagePayload);
|
||||
void init();
|
||||
void run();
|
||||
};
|
||||
|
@ -20,7 +20,11 @@ CameraHandler cameraHandler(deviceConfig);
|
||||
#endif // SIM_ENABLED
|
||||
|
||||
#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);
|
||||
#ifdef SIM_ENABLED
|
||||
APIServer apiServer(deviceConfig, wifiStateManager, "/control");
|
||||
@ -83,7 +87,7 @@ void setup() {
|
||||
#endif // SIM_ENABLED
|
||||
deviceConfig.load();
|
||||
|
||||
serialManager.init();
|
||||
serialManager.init();
|
||||
|
||||
#ifndef ETVR_EYE_TRACKER_USB_API
|
||||
etvr_eye_tracker_web_init();
|
||||
|
Loading…
Reference in New Issue
Block a user