Initial commit

ESP32-S3 firmware acting as BMC for another board, controlling an ATX power supply and providing access to UART.

Co-authored with GLM-5
This commit is contained in:
2026-03-11 17:39:43 +01:00
commit 064e8812a4
21 changed files with 4235 additions and 0 deletions

61
main/web_server.h Normal file
View File

@@ -0,0 +1,61 @@
#ifndef WEB_SERVER_H
#define WEB_SERVER_H
#include "esp_err.h"
#include "esp_http_server.h"
// ============================================================================
// Function Declarations
// ============================================================================
/**
* @brief Initialize and start the web server
*
* Starts the HTTP server and registers all URI handlers.
*
* @return ESP_OK on success, error code otherwise
*/
esp_err_t web_server_start(void);
/**
* @brief Stop the web server
*
* @return ESP_OK on success, error code otherwise
*/
esp_err_t web_server_stop(void);
/**
* @brief Check if web server is running
*
* @return true if running, false otherwise
*/
bool web_server_is_running(void);
/**
* @brief Get the server handle
*
* @return httpd_handle_t or NULL if not running
*/
httpd_handle_t web_server_get_handle(void);
// ============================================================================
// WebSocket Functions
// ============================================================================
/**
* @brief Broadcast data to all connected WebSocket clients
*
* @param data Data to send
* @param len Length of data
* @return ESP_OK on success, error code otherwise
*/
esp_err_t web_server_ws_broadcast(const uint8_t *data, size_t len);
/**
* @brief Get number of connected WebSocket clients
*
* @return Number of connected clients
*/
int web_server_ws_client_count(void);
#endif // WEB_SERVER_H