diff --git a/Firmware/EggbotWireless/include/QueueManager.h b/Firmware/EggbotWireless/include/QueueManager.h index b104844..4917f21 100644 --- a/Firmware/EggbotWireless/include/QueueManager.h +++ b/Firmware/EggbotWireless/include/QueueManager.h @@ -25,7 +25,7 @@ class QueueManager { QueueManager(); void init(); void loopRoutine(); - uint8_t execQueueNum(); + uint8_t execQueueSize(); void putCommand(std::string cmd); void putCommand(char *cmd); }; diff --git a/Firmware/EggbotWireless/include/WebAPI.h b/Firmware/EggbotWireless/include/WebAPI.h index 526e9b5..55b5bab 100644 --- a/Firmware/EggbotWireless/include/WebAPI.h +++ b/Firmware/EggbotWireless/include/WebAPI.h @@ -7,6 +7,7 @@ class WebAPI { private: void handleNotFound(); + void handlePutCommand(); public: WebAPI(); diff --git a/Firmware/EggbotWireless/src/QueueManager.cpp b/Firmware/EggbotWireless/src/QueueManager.cpp index e919a52..7fc4900 100644 --- a/Firmware/EggbotWireless/src/QueueManager.cpp +++ b/Firmware/EggbotWireless/src/QueueManager.cpp @@ -5,16 +5,16 @@ QueueManager::QueueManager() {} void QueueManager::init() {} void QueueManager::printSts(Status status) { - if (status.type == StatusType::WAIT) { - shouldPrintSts = true; - } else if (status.type == StatusType::NEXT) { - Serial.println("OK"); - } else if (status.type == StatusType::TIMEOUT) { - Serial.println("Timeout"); - } else { - Serial.print("Error: "); - Serial.println(static_cast(status.type)); - } + if (status.type == StatusType::WAIT) { + shouldPrintSts = true; + } else if (status.type == StatusType::NEXT) { + Serial.println("OK"); + } else if (status.type == StatusType::TIMEOUT) { + Serial.println("Timeout"); + } else { + Serial.print("Error: "); + Serial.println(static_cast(status.type)); + } } void QueueManager::loopRoutine() { @@ -44,4 +44,10 @@ void QueueManager::putCommand(std::string cmd) { } } +uint8_t QueueManager::execQueueSize() { + return commandQueue.size(); +} + +void QueueManager::putCommand(char *cmd) { putCommand(std::string(cmd)); } + QueueManager queueManager; \ No newline at end of file diff --git a/Firmware/EggbotWireless/src/WebAPI.cpp b/Firmware/EggbotWireless/src/WebAPI.cpp index c085fc7..18c1f7d 100644 --- a/Firmware/EggbotWireless/src/WebAPI.cpp +++ b/Firmware/EggbotWireless/src/WebAPI.cpp @@ -1,4 +1,5 @@ #include "WebAPI.h" +#include "QueueManager.h" ESP8266WebServer server(80); @@ -8,7 +9,13 @@ void WebAPI::handleNotFound() { server.send(404, "text/plain", "File Not Found\n\n"); } +void WebAPI::handlePutCommand() { + queueManager.putCommand(server.arg("plain").c_str()); + server.send(200, "text/plain", String(queueManager.execQueueSize())); +} + void WebAPI::init() { + server.on("/putCommand", HTTP_POST, std::bind(&WebAPI::handlePutCommand, this)); server.onNotFound(std::bind(&WebAPI::handleNotFound, this)); server.begin(); }