Added info and reboot api into the backend. Created the basics for a backend server.
This commit is contained in:
@@ -1,14 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include "cJSON.h"
|
||||
#include "esp_http_server.h"
|
||||
#include "esp_system.h"
|
||||
#include "esp_timer.h"
|
||||
|
||||
#include "types.hpp"
|
||||
|
||||
static void restart_timer_callback(void *arg) { esp_restart(); }
|
||||
internal void restart_timer_callback(void *arg) { esp_restart(); }
|
||||
|
||||
static esp_err_t api_system_reboot_handler(httpd_req_t *req) {
|
||||
internal esp_err_t api_system_reboot_handler(httpd_req_t *req) {
|
||||
httpd_resp_set_type(req, "application/json");
|
||||
|
||||
cJSON *root = cJSON_CreateObject();
|
||||
@@ -24,18 +23,20 @@ static esp_err_t api_system_reboot_handler(httpd_req_t *req) {
|
||||
.callback = &restart_timer_callback,
|
||||
.arg = (void *)0,
|
||||
.dispatch_method = ESP_TIMER_TASK,
|
||||
.name = "restart_timer"};
|
||||
.name = "restart_timer",
|
||||
.skip_unhandled_events = false};
|
||||
esp_timer_handle_t restart_timer;
|
||||
esp_timer_create(&restart_timer_args, &restart_timer);
|
||||
|
||||
// Schedule reboot 1 second from now to allow HTTP response to flush
|
||||
esp_timer_start_once(restart_timer, 1000000);
|
||||
// Schedule reboot 1 second (in microseconds) from now to allow HTTP response
|
||||
// to flush
|
||||
esp_timer_start_once(restart_timer, 1'000'000);
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
static const httpd_uri_t api_system_reboot_uri = {.uri = "/api/system/reboot",
|
||||
.method = HTTP_POST,
|
||||
.handler =
|
||||
api_system_reboot_handler,
|
||||
.user_ctx = NULL};
|
||||
internal const httpd_uri_t api_system_reboot_uri = {
|
||||
.uri = "/api/system/reboot",
|
||||
.method = HTTP_POST,
|
||||
.handler = api_system_reboot_handler,
|
||||
.user_ctx = NULL};
|
||||
|
||||
Reference in New Issue
Block a user