- Added initial version of Hierarchical Menu

- Beautified the Message Box a bit
This commit is contained in:
2025-09-19 15:21:15 +02:00
parent 097a50f073
commit c8f14373d3
36 changed files with 2998 additions and 1973 deletions

View File

@@ -23,27 +23,14 @@
// ============================================================================================
// Datatypes
typedef struct {
uint8_t Base_Threshold; // Steps needed to trigger level 1 acceleration
uint8_t Level_Step; // Additional steps per acceleration level
uint8_t Max_Level; // Maximum acceleration level (1-10)
uint16_t Timeout_ms; // Inactivity timeout to reset acceleration (ms)
uint8_t Multipliers[10]; // Multiplier for each acceleration level
uint8_t Base_Step; // Basic Step width, without any multiplier
uint8_t Base_Threshold; // Steps needed to trigger level 1 acceleration
uint8_t Level_Step; // Additional steps per acceleration level
uint8_t Max_Level; // Maximum acceleration level (1-10)
uint16_t Timeout_ms; // Inactivity timeout to reset acceleration (ms)
uint8_t Multipliers[10]; // Multiplier for each acceleration level
} Encoder_Acceleration_Config;
typedef struct {
// Configuration
const Encoder_Acceleration_Config* config;
// State tracking
uint8_t Speed_Counter; // Current speed counter
uint8_t Acceleration_Level; // Current acceleration level (0 = no accel)
uint32_t Last_Activity_Time; // Last encoder activity timestamp (ms)
// Statistics (for debugging)
uint32_t Total_Steps; // Total encoder steps processed
uint32_t Accelerated_Steps; // Steps that used acceleration
} Encoder_Acceleration_Instance;
// ============================================================================================
// Function Declarations