Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit0607d35298790368b02b429b1baa7f14e97aaaf2 (patch)
Author
 Syndamia <kamen@syndamia.com>
2024-05-28 12:09:06 +0300
Committer
 Syndamia <kamen@syndamia.com>
2024-05-28 12:09:06 +0300
Files78cb33db7df50a9aecd90fe0ce529a345ab4571f
uni-projects-0607d35298790368b02b429b1baa7f14e97aaaf2.tar
uni-projects-0607d35298790368b02b429b1baa7f14e97aaaf2.tar.gz
uni-projects-0607d35298790368b02b429b1baa7f14e97aaaf2.zip
Parent7f694a56c3f71f49174dca4022aae897b69cbf02 (diff)
[iot/goam] Added a page favicon
diff --git a/Year 3/Internet of things/goam/favicon.xcf b/Year 3/Internet of things/goam/favicon.xcf
new file mode 100644
index 0000000..3af9ee1
--- /dev/null
+++ b/Year 3/Internet of things/goam/favicon.xcf
Binary files differ
diff --git a/Year 3/Internet of things/goam/main/CMakeLists.txt b/Year 3/Internet of things/goam/main/CMakeLists.txt
index 36a0201..f0d5d08 100644
--- a/Year 3/Internet of things/goam/main/CMakeLists.txt
+++ b/Year 3/Internet of things/goam/main/CMakeLists.txt
@@ -8,6 +8,7 @@ idf_component_register(SRCS "main.c"
"nvs.c"
"ibm-vga-8x16.c"
EMBED_TXTFILES "../webserver/index.html"
+ "../webserver/favicon.ico"
"../webserver/cacert.pem"
"../webserver/prvtkey.pem"
INCLUDE_DIRS "")
diff --git a/Year 3/Internet of things/goam/main/webserver.c b/Year 3/Internet of things/goam/main/webserver.c
index c3e78bb..9298b5b 100644
--- a/Year 3/Internet of things/goam/main/webserver.c
+++ b/Year 3/Internet of things/goam/main/webserver.c
@@ -54,6 +54,24 @@ static const httpd_uri_t get_index = {
.handler = get_handler,
};
+// Index page is embedded in binary
+static const unsigned char* favicon = NULL;
+static size_t favicon_len = 0;
+
+static esp_err_t get_favicon_handler(httpd_req_t *req)
+{
+ ESP_ERROR_CHECK(httpd_resp_set_type(req, "image/x-icon"));
+ httpd_resp_send(req, (const char*)favicon, favicon_len);
+
+ logi_get(req);
+ return ESP_OK;
+}
+static const httpd_uri_t get_favicon = {
+ .uri = "/favicon.ico",
+ .method = HTTP_GET,
+ .handler = get_favicon_handler,
+};
+
static esp_err_t get_image_handler(httpd_req_t *req)
{
ESP_ERROR_CHECK(httpd_resp_set_type(req, "image/jpeg"));
@@ -222,6 +240,7 @@ void webserver_init() {
/* ESP_ERROR_CHECK(esp_event_handler_register(WIFI_EVENT, WIFI_EVENT_STA_DISCONNECTED, &disconnect_handler, &server)); */
SET_EMBEDDED_PTR(index_page, index_page_len, index_page, "index_html");
+ SET_EMBEDDED_PTR(favicon, favicon_len, favicon, "favicon_ico");
}
void webserver_start()
@@ -246,6 +265,7 @@ void webserver_start()
}
httpd_register_uri_handler(server, &get_index);
+ httpd_register_uri_handler(server, &get_favicon);
httpd_register_uri_handler(server, &get_image);
httpd_register_uri_handler(server, &post_network);
httpd_register_uri_handler(server, &post_imagesave);
diff --git a/Year 3/Internet of things/goam/webserver/favicon.ico b/Year 3/Internet of things/goam/webserver/favicon.ico
new file mode 100644
index 0000000..5962764
--- /dev/null
+++ b/Year 3/Internet of things/goam/webserver/favicon.ico
Binary files differ
diff --git a/Year 3/Internet of things/goam/webserver/index.html b/Year 3/Internet of things/goam/webserver/index.html
index 2b581e8..42e7e92 100644
--- a/Year 3/Internet of things/goam/webserver/index.html
+++ b/Year 3/Internet of things/goam/webserver/index.html
@@ -2,6 +2,7 @@
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <link rel="shortcut icon" href="/favicon.ico" />
<title>GoAm</title>
<style>
* {