#include "I2C_COM_API.hpp" buffer resetCommand; buffer startCommand; buffer stopCommand; buffer ChronoMillisecondsBuffer; volatile long lastMs = 0x00; bool logged = true; void ConfigureAPI() { // Inicializar instancias de comandos resetCommand.data.command = ChronoCommands::ForceReset; startCommand.data.command = ChronoCommands::ForceStart; stopCommand.data.command = ChronoCommands::ForceStop; resetCommand.data.type = DATAGRAM_HDR; stopCommand.data.type = DATAGRAM_HDR; startCommand.data.type = DATAGRAM_HDR; Logger::Log("CMD Reset"); for (int i = 0; i < sizeof(resetCommand.data); i++) Logger::Log(String(resetCommand.buffer[i])); Logger::Log("CMD Start"); for (int i = 0; i < sizeof(startCommand.data); i++) Logger::Log(String(startCommand.buffer[i])); Logger::Log("CMD Stop"); for (int i = 0; i < sizeof(stopCommand.data); i++) Logger::Log(String(stopCommand.buffer[i])); server.on("/api/getElapsedTime", HTTP_GET, [](AsyncWebServerRequest *request) { String response = "{\"elapsed\":" + String(ChronoMillisecondsBuffer.data) + "}"; request->send(200, MIME_JSON, response); }); server.on("/api/stop", HTTP_GET, [](AsyncWebServerRequest *request) { //commandBuffer.buffer Logger::Log(Logger::DEBUG, "Received Stop request"); Wire.flush(); Wire.writeTransmission(0x26, stopCommand.buffer, sizeof(stopCommand.data)); request->send(200, MIME_HTML); }); server.on("/api/start", HTTP_GET, [](AsyncWebServerRequest *request) { Logger::Log(Logger::DEBUG, "Received Start request"); Wire.writeTransmission(0x26, startCommand.buffer, sizeof(startCommand.data)); request->send(200, MIME_HTML); }); server.on("/api/reset", HTTP_GET, [](AsyncWebServerRequest *request) { Logger::Log(Logger::DEBUG, "Received Reset request"); Wire.writeTransmission(0x26, resetCommand.buffer, sizeof(resetCommand.data)); request->send(200, MIME_HTML); }); }