- Added initial version of Hierarchical Menu
- Beautified the Message Box a bit
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user