diff --git a/main/service/webserver.c b/main/service/webserver.c index 12b9131..649fd8d 100644 --- a/main/service/webserver.c +++ b/main/service/webserver.c @@ -87,5 +87,7 @@ void start_webserver(void) register_ws_endpoint(server); register_control_endpoint(server); register_reboot_endpoint(server); + register_version_endpoint(server); + init_status_monitor(); } diff --git a/main/service/webserver.h b/main/service/webserver.h index 93f993d..eb1e34f 100644 --- a/main/service/webserver.h +++ b/main/service/webserver.h @@ -15,5 +15,6 @@ void register_control_endpoint(httpd_handle_t server); void push_data_to_ws(const uint8_t* data, size_t len); void register_reboot_endpoint(httpd_handle_t server); esp_err_t change_baud_rate(int baud_rate); +void register_version_endpoint(httpd_handle_t server); #endif // ODROID_REMOTE_HTTP_WEBSERVER_H diff --git a/main/system/system.c b/main/system/system.c index 179e391..66c4737 100644 --- a/main/system/system.c +++ b/main/system/system.c @@ -77,3 +77,19 @@ void register_reboot_endpoint(httpd_handle_t server) .uri = "/api/reboot", .method = HTTP_POST, .handler = reboot_post_handler, .user_ctx = NULL}; httpd_register_uri_handler(server, &post_uri); } + +static esp_err_t version_get_handler(httpd_req_t* req) +{ + httpd_resp_set_type(req, "application/json"); + char buf[100]; + sprintf(buf, "{\"version\": \"%s\"}", VERSION_HASH); + httpd_resp_send(req, buf, strlen(buf)); + return ESP_OK; +} + +void register_version_endpoint(httpd_handle_t server) +{ + httpd_uri_t post_uri = { + .uri = "/api/version", .method = HTTP_GET, .handler = version_get_handler, .user_ctx = NULL}; + httpd_register_uri_handler(server, &post_uri); +} \ No newline at end of file diff --git a/page/index.html b/page/index.html index 98912b5..084a40d 100644 --- a/page/index.html +++ b/page/index.html @@ -130,9 +130,12 @@ -