► events | |
Event.h | Defines the Event structure and related utilities for event messaging |
EventManager.h | Event pub/sub manager for embedded applications using FreeRTOS |
GpioEvent.h | |
GpioEventManager.h | Posts GPIO change events (rising/falling edge) via EventManager |
Notification.h | |
TimerService.h | Time-of-day and interval-based scheduler for embedded events |
► events | |
EventManager.cpp | |
GpioEventManager.cpp | |
TimerService.cpp | |
► framework | |
AppContext.h | |
FileView.h | View that loads static HTML/text content from storage |
framework_config_system.h | |
FrameworkApp.h | Base class for applications using the PicoFramework |
FrameworkController.h | The FrameworkController class for event-driven control logic in embedded applications |
FrameworkManager.h | Orchestrates application startup and network initialization |
FrameworkModel.h | Base model class for persistent JSON collections |
FrameworkTask.h | FreeRTOS-aware task abstraction with built-in notification and queue support |
FrameworkView.h | Abstract base class for all views in the PicoFramework |
HtmlTemplateView.h | HTML template rendering view, supporting both inline and file-based templates |
JsonView.h | View for rendering JSON using nlohmann::json, with automatic content type |
PasswordHasher.h | |
StaticView.h | |
► framework | |
AppContext.cpp | |
FileView.cpp | |
FrameworkApp.cpp | Implementation of FrameworkApp for embedded applications |
FrameworkController.cpp | |
FrameworkManager.cpp | Framework manager for initializing tasks and triggering App after network ready |
FrameworkModel.cpp | Base model class for persistent JSON collections |
FrameworkTask.cpp | Implementation of the FrameworkTask class for FreeRTOS task abstraction |
HtmlTemplateView.cpp | Implements HTML template rendering from string or file with {{key}} substitution |
JsonView.cpp | Implementation of JsonView for rendering JSON responses |
► http | |
ChunkedDecoder.h | |
HttpClient.h | |
HttpFileserver.h | HTTP file server and file handling helpers for static content |
HttpParser.h | |
HttpRequest.h | Defines the HttpRequest class for handling HTTP requests: headers, method, path, query string, cookies, and body (including multipart forms) |
HttpResponse.h | HTTP HttpResponse class for managing status, headers, body, and streaming support |
HttpServer.h | HTTP Server class that listens for connections and dispatches requests to a Router |
JsonRequestHelper.h | Helper functions to extract fields from JSON request bodies |
JsonResponse.h | Utility functions to send standard JSON responses using nlohmann::json |
JwtAuthenticator.h | Stateless singleton class for creating and validating JWTs using HMAC-SHA256 |
Middleware.h | Middleware definitions for HTTP routing (e.g., logging, auth). Part of the PicoFramework HTTP server. This module defines middleware functions that can be used in the HTTP request processing pipeline. Middleware can perform tasks such as authentication, logging, and modifying requests or responses before passing them to the next handler in the chain. Middleware functions are designed to be composable, allowing multiple middleware components to be applied in sequence. Each middleware function can either allow the request to continue to the next handler or stop further processing based on certain conditions |
MultipartParser.h | Parser for handling multipart/form-data file uploads. Part of the PicoFramework HTTP server. This module provides the MultipartParser class, which is responsible for processing multipart/form-data uploads over HTTP. It handles detecting boundaries, parsing headers, extracting filenames, and writing file data to storage (e.g., an SD card). It also sends appropriate HTTP responses based on the success or failure of the upload process |
Router.h | HTTP routing with middleware and optional JWT-based authorization. Part of the PicoFramework HTTP server. This module provides the Router class, which manages HTTP routes, middleware, and optional JWT authentication. It allows dynamic route registration, regex-based path matching, and supports global and per-route middleware. The Router can handle requests, invoke appropriate handlers, and apply middleware functions in sequence. It also includes a built-in route handler for testing JWT tokens at the /auth endpoint |
RouteTypes.h | |
url_utils.h | Utility functions for URL decoding, form parsing, MIME type lookup, and IP address extraction |
► http-client | |
ChunkedDecoder.cpp | |
HttpClient.cpp | |
► http-common | |
HttpParser.cpp | HTTP parser for status codes, headers, and body handling |
HttpRequest.cpp | Implementation of the HttpRequest class for parsing HTTP requests |
HttpResponse.cpp | Implementation of the HttpResponse class for managing and sending HTTP responses |
JsonRequestHelper.cpp | Implementation of helper functions to extract fields from JSON request bodies |
JsonResponse.cpp | |
url_utils.cpp | Implementation of URL utility functions for decoding, parsing, and MIME type detection |
► http-server | |
HttpFileserver.cpp | Implementation of file serving and directory listing over HTTP |
HttpServer.cpp | HTTP Server implementation with per-client task handling |
JwtAuthenticator.cpp | Implementation of JwtAuthenticator for JWT creation and validation |
Middleware.cpp | Predefined middleware implementations for logging and JWT authentication |
MultipartParser.cpp | Implementation of multipart/form-data parsing and file upload handling |
Router.cpp | HTTP routing with middleware and optional JWT-based authorization |
► json | |
IJsonImpl.h | |
json.h | |
NlohmannJsonImpl.h | |
► network | |
lwip_dns_resolver.h | |
Network.h | Manages Wi-Fi initialization, connection status, and power management for Pico W |
Tcp.h | General-purpose TCP socket abstraction with optional TLS support for both client and server use |
► network | |
lwip_dns_resolver.cpp | |
Network.cpp | |
Tcp.cpp | |
► port | |
FreeRTOSConfig.h | |
FreeRTOSConfig_examples.h | |
FreeRTOSFATConfig.h | |
lwipopts.h | Configuration options for the lwIP stack |
mbedtls_config.h | |
► port | |
cppMemory.cpp | Global new /delete operators using FreeRTOS memory routines |
► storage | |
FatFsFileReader.h | |
FatFsStorageManager.h | FatFs-based implementation of the StorageManager interface for SD card access |
JsonService.h | Lightweight JSON wrapper for persistent config management using StorageManager |
LittleFsFileReader.h | |
LittleFsStorageManager.h | Flash-backed implementation of the StorageManager interface using LittleFS |
StorageFileReader.h | |
StorageManager.h | Abstract interface for file and directory storage backends |
► storage | |
FatFsFileReader.cpp | |
FatFsStorageManager.cpp | Implementation of the FatFs-based StorageManager |
JsonService.cpp | Implementation of JsonService for loading, saving, and manipulating persistent JSON data |
LittleFsFileReader.cpp | |
LittleFsStorageManager.cpp | |
► test-app | |
► include | |
App.h | |
dashboard.h | |
DashboardController.h | |
DashboardView.h | |
framework_config_user.h | |
GpioController.h | |
PicoModel.h | |
App.cpp | Application class for the PicoFramework test application |
DashboardController.cpp | DashboardController for handling dashboard-related HTTP requests |
DashboardView.cpp | |
GpioController.cpp | |
main.cpp | |
PicoModel.cpp | |
► time | |
DaysOfWeek.h | Defines a bitmask enum for days of the week |
PicoTime.h | Time utility functions for the Pico platform (RP2040/RP2350) |
TimeManager.h | |
TimeOfDay.h | A simple representation of wall-clock time (HH:MM or HH:MM:SS) |
TimeOfDayJson.h | |
► time | |
PicoTime.cpp | Implementation of time utilities for RP2040 and RP2350 platforms |
TimeManager.cpp | |
► utility | |
Logger.h | Lightweight structured logging class for embedded applications |
utility.h | System utilities for diagnostics, memory, stack usage, and tracing |
WithFlag.h | RAII-style scoped flag setter. Temporarily sets a boolean flag and restores it on destruction |
► utility | |
Logger.cpp | Implementation of Logger for structured logging to stdout and optionally SD |
utility.cpp | Implementation of diagnostics and utility functions for memory, stack, and lwIP state |
DebugTrace.h | Macro-based debug trace system with optional SD file logging |
framework_config.h | Delegates to user or system configuration |
framework_config_old.h | |