- First complete version of firmware. Currently being tested in the rehearsal room

- Added bunch of screens, fonts and images
 - Added script to read out frame buffer (function currently disabled in Firmware)
This commit is contained in:
2025-10-26 20:57:58 +01:00
parent 90bca063e6
commit 89c875e38f
62 changed files with 4668 additions and 489 deletions

View File

@@ -47,9 +47,9 @@ const Message_Box_Style _Message_Box_Style_Regular = {
Configuration_Menu_Select _Configuration_Default_Select_Menu = {
.X_Offset = 60,
.X_Indent = -4,
.Font = { _Font_DejaVu_Sans_Mono_Bold_7x15, _Font_DejaVu_Sans_Mono_7x15, _Font_DejaVu_Sans_Mono_6x12 },
.X_Offset = 70,
.X_Indent = -6,
.Font = { _Font_DejaVu_Sans_Mono_10x17, _Font_DejaVu_Sans_Mono_7x15, _Font_DejaVu_Sans_Mono_6x12 },
.Color = { DISPLAY_COLOR_WHITE, DISPLAY_COLOR_LIGHTGREY, DISPLAY_COLOR_DARKGREY }
};
@@ -104,9 +104,19 @@ Configuration_Select_YesNo _Configuration_Default_Select_YesNo = {
Configuration_Select_List _Configuration_Default_Select_List = {
.Font = _Font_DejaVu_Sans_Mono_10x17,
.List_Entry_Y_Gap = 10,
.Color_Selected = DISPLAY_COLOR_WHITE,
.Color_Not_Selected = DISPLAY_COLOR_DARKGREY
.Color_Not_Selected = DISPLAY_COLOR_DARKGREY,
.Y_Top = 80,
.List_Entry_Y_Gap = 10,
.Visible_Items = 5, // Show 5 items on screen
.Show_Selection_Box = true,
.Selection_Box_Padding = 4,
.Selection_Box_Min_Width = 120,
.Selection_Box_Color = DISPLAY_COLOR_CYAN,
.Mark_Initial_Entry = true
};
Configuration_Select_Value _Configuration_Default_Select_Value = {
@@ -129,116 +139,37 @@ Configuration_Select_RGB _Configuration_Default_Select_RGB = {
.Ring_Color_Blue = DISPLAY_COLOR_FROM_RGB888(68, 68, 255), // Bright blue #4444ff
// Geometry settings optimized for 240x240 circular display
.Center_Preview_Radius = 70, // 140px diameter color preview (leaves 50px margin)
.Center_Preview_Radius = 40, // 140px diameter color preview (leaves 50px margin)
.Progress_Ring_Radius = 100, // 200px diameter progress ring (20px from edge)
.Progress_Ring_Thickness = 8, // Substantial ring thickness for visibility
.Indicator_Radius = 8, // 16px diameter indicator dot
// Colors for UI elements - clean monochrome scheme
.Preview_Border_Color = DISPLAY_COLOR_WHITE, // White border for contrast
.Preview_Border_Thickness = 3, // Visible but not thick border
.Indicator_Core_Color = DISPLAY_COLOR_WHITE, // White indicator core
.Indicator_Glow_Color = DISPLAY_COLOR_FROM_RGB888(200, 200, 255), // Subtle blue glow
.Preview_Border_Color = DISPLAY_COLOR_WHITE, // White border for contrast
.Preview_Border_Thickness = 3, // Visible but not thick border
.Indicator_Core_Color = DISPLAY_COLOR_WHITE, // White indicator core
.Indicator_Glow_Color = DISPLAY_COLOR_FROM_RGB888(200, 200, 255), // Subtle blue glow
.Background_Ring_Color = DISPLAY_COLOR_FROM_RGB888(64, 64, 64), // Dark gray background ring
.Background_Ring_Thickness = 2, // Thin background ring
.Background_Ring_Thickness = 2, // Thin background ring
// Previous marker settings - NEW
// Previous marker settings
.Previous_Marker_Color = DISPLAY_COLOR_WHITE,
.Previous_Marker_Radius = 3,
.Previous_Marker_Ring_Offset = 15, // 15 pixels inside the main ring
.Show_Previous_Markers = true,
// Text display settings - clear hierarchy
.Component_Label_Font = _Font_DejaVu_Sans_Mono_Bold_7x15, // Bold for component labels (RED/GREEN/BLUE)
.Value_Font = _Font_DejaVu_Sans_Mono_10x17, // Large readable font for values
.Text_Color = DISPLAY_COLOR_WHITE, // High contrast white text
.Text_Y_Offset = 100, // 100px from bottom edge
.Component_Font = _Font_DejaVu_Sans_Mono_Bold_11x17, // Bold for component labels (RED/GREEN/BLUE)
.Value_Font = _Font_DejaVu_Sans_Mono_10x17, // Large readable font for values
.Text_Color = DISPLAY_COLOR_WHITE, // High contrast white text
.Component_Text_Y_Offset = DISPLAY_Y_CENTER - 60,
.Value_Text_Y_Offset = DISPLAY_Y_CENTER + 60,
// Animation and interaction settings
.Smooth_Animation_Steps = 8, // Smooth but not too slow transitions
.Enable_Encoder_Acceleration = true, // Enable fast value changes
.Acceleration_Threshold = 3, // Trigger acceleration after 3 fast steps
.Acceleration_Multiplier = 5 // 5x speed during fast rotation
};
// Alternative configuration for smaller displays or different aesthetics
Configuration_Select_RGB _Configuration_Compact_Select_RGB = {
// More subdued colors for compact interface
.Ring_Color_Red = DISPLAY_COLOR_FROM_RGB888(220, 80, 80), // Softer red
.Ring_Color_Green = DISPLAY_COLOR_FROM_RGB888(80, 220, 80), // Softer green
.Ring_Color_Blue = DISPLAY_COLOR_FROM_RGB888(80, 80, 220), // Softer blue
// Smaller geometry for compact displays
.Center_Preview_Radius = 50, // Smaller preview circle
.Progress_Ring_Radius = 80, // Closer to center
.Progress_Ring_Thickness = 6, // Thinner ring
.Indicator_Radius = 6, // Smaller indicator
// Minimal UI colors
.Preview_Border_Color = DISPLAY_COLOR_LIGHTGREY,
.Preview_Border_Thickness = 2,
.Indicator_Core_Color = DISPLAY_COLOR_WHITE,
.Indicator_Glow_Color = DISPLAY_COLOR_LIGHTGREY,
.Background_Ring_Color = DISPLAY_COLOR_DARKGREY,
.Background_Ring_Thickness = 1,
// Previous marker settings - NEW
.Previous_Marker_Color = DISPLAY_COLOR_WHITE,
.Previous_Marker_Radius = 3,
.Previous_Marker_Ring_Offset = 15, // 15 pixels inside the main ring
.Show_Previous_Markers = true,
// Smaller fonts for compact layout
.Component_Label_Font = _Font_DejaVu_Sans_Mono_6x12, // Smaller label font
.Value_Font = _Font_DejaVu_Sans_Mono_Bold_7x15, // Medium value font
.Text_Color = DISPLAY_COLOR_LIGHTGREY,
.Text_Y_Offset = 25,
// Faster, more responsive settings for compact interface
.Smooth_Animation_Steps = 4, // Faster transitions
.Enable_Encoder_Acceleration = true,
.Acceleration_Threshold = 2, // More sensitive acceleration
.Acceleration_Multiplier = 8 // Higher acceleration
};
// High contrast configuration for accessibility
Configuration_Select_RGB _Configuration_High_Contrast_Select_RGB = {
// Pure, high contrast colors
.Ring_Color_Red = DISPLAY_COLOR_RED, // Pure red
.Ring_Color_Green = DISPLAY_COLOR_GREEN, // Pure green
.Ring_Color_Blue = DISPLAY_COLOR_BLUE, // Pure blue
// Standard geometry
.Center_Preview_Radius = 70,
.Progress_Ring_Radius = 100,
.Progress_Ring_Thickness = 10, // Thicker for better visibility
.Indicator_Radius = 10, // Larger indicator
// High contrast UI
.Preview_Border_Color = DISPLAY_COLOR_WHITE,
.Preview_Border_Thickness = 4, // Thick border for definition
.Indicator_Core_Color = DISPLAY_COLOR_WHITE,
.Indicator_Glow_Color = DISPLAY_COLOR_WHITE, // No glow, just solid white
.Background_Ring_Color = DISPLAY_COLOR_BLACK, // Maximum contrast
.Background_Ring_Thickness = 3,
// Previous marker settings - NEW
.Previous_Marker_Color = DISPLAY_COLOR_WHITE,
.Previous_Marker_Radius = 3,
.Previous_Marker_Ring_Offset = 15, // 15 pixels inside the main ring
.Show_Previous_Markers = true,
// Large, clear fonts
.Component_Label_Font = _Font_DejaVu_Sans_Mono_10x17, // Larger labels
.Value_Font = _Font_DejaVu_Sans_Mono_Bold_7x15, // Bold values
.Text_Color = DISPLAY_COLOR_WHITE,
.Text_Y_Offset = 35,
// Conservative animation for accessibility
.Smooth_Animation_Steps = 12, // Slower, more predictable
.Enable_Encoder_Acceleration = false, // Disable acceleration for precision
.Acceleration_Threshold = 5,
.Acceleration_Multiplier = 2
.Smooth_Animation_Steps = 8, // Smooth but not too slow transitions
.Enable_Encoder_Acceleration = true, // Enable fast value changes
.Acceleration_Threshold = 3, // Trigger acceleration after 3 fast steps
.Acceleration_Multiplier = 5 // 5x speed during fast rotation
};
Configuration_Entry_Indicator _Configuration_Default_Entry_Indicator_Arc = {