Toolbox¶
TinyToolbox — Platform Adaptation & Utility Library for Edge Devices
TinyToolbox provides the foundation layer for the Tiny* ecosystem: platform-specific adaptation, hardware abstraction, and common utilities. Currently targets ESP32 with planned STM32 support.
Architecture¶
-
TIME — Time Management
tiny_time· Running time, SNTP sync, datetime
tiny_get_running_time()· µs since boot
sync_time_with_timezone()· Internet time sync
tiny_get_current_datetime()· Human-readable time -
Platform Adaptation
ESP-IDF integration layer
FreeRTOS · esptimer · esplog · heap management
Custom driver bridge (node_rtc, etc.) -
Command (Planned)
MQTT command parser framework
Unified command dispatch
Scheduled & delayed task triggers
Quick Start¶
#include "tiny_toolbox.h"
// Get running time since boot (microseconds)
TinyTimeMark_t t0 = tiny_get_running_time();
// Synchronize time via SNTP (call once after WiFi is up)
sync_time_with_timezone("CST-8");
// Get current date and time
TinyDateTime_t now = tiny_get_current_datetime(true);
printf("Current time: %04d-%02d-%02d %02d:%02d:%02d\n",
now.year, now.month, now.day,
now.hour, now.minute, now.second);
Dependency Chain¶
ESP-IDF (FreeRTOS, esp_timer, esp_log) ──► tiny_toolbox
│
┌─────────┼─────────┐
│ │
Platform Utilities
Adaptation (TIME, ...)
│
Custom Drivers
(node_rtc, ...)
- No dependency on other Tiny* modules — toolbox is the lowest layer
- Platform-specific — adaptation layer must be modified when porting (e.g., ESP32 → STM32)
- All higher Tiny* modules (tinymath, tinydsp, tiny_ai) depend on toolbox for platform access
Code Structure¶
Platform Porting Notes¶
ESP32 is the primary target
Currently developed and tested on ESP32 only. Porting to STM32 or other platforms requires modifications to the adaptation layer (FreeRTOS → CMSIS-RTOS, esp_timer → HAL timer, etc.).
Submodule pattern
Each submodule is independent and can be included separately. tiny_toolbox.h serves as a directory that integrates all submodules — tiny_toolbox.c is a formal placeholder without specific functionality.