mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-16 04:24:45 -07:00
VGM/RPC: Rework custom colors, smoother config, better rainbow support (#53)
* first poc works * rainbow mode now works over rpc still not done refrash rate from flipper change and is slow so the rainbow mode doesnt look good * transmit VgmMode * use all the 32bit * some config stuff * sync apps * Change protobuf repo * Some lib naming changes and cleanup * Format protobuf * Update from RGB backlight if enabled * Remove old expansion toggling * Update settings UI * Fix searching previous value * VGM Tool: Add new RGB firmware * Update changelog * These are unused --------- Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
This commit is contained in:
@@ -46,12 +46,20 @@ typedef enum {
|
||||
} SpiHandle;
|
||||
|
||||
typedef enum {
|
||||
VgmColorModeDefault,
|
||||
VgmColorModeCustom,
|
||||
VgmColorModeRainbow,
|
||||
VgmColorModeRgbBacklight,
|
||||
VgmColorModeCount,
|
||||
} VgmColorMode;
|
||||
ScreenColorModeDefault,
|
||||
ScreenColorModeCustom,
|
||||
ScreenColorModeRainbow,
|
||||
ScreenColorModeRgbBacklight,
|
||||
ScreenColorModeCount,
|
||||
} ScreenColorMode;
|
||||
|
||||
typedef union __attribute__((packed)) {
|
||||
struct {
|
||||
ScreenColorMode mode;
|
||||
RgbColor rgb;
|
||||
};
|
||||
uint32_t value;
|
||||
} ScreenFrameColor;
|
||||
|
||||
typedef struct {
|
||||
char asset_pack[ASSET_PACKS_NAME_LEN];
|
||||
@@ -87,10 +95,9 @@ typedef struct {
|
||||
FuriHalSerialId uart_esp_channel;
|
||||
FuriHalSerialId uart_nmea_channel;
|
||||
bool file_naming_prefix_after;
|
||||
VgmColorMode vgm_color_mode;
|
||||
Rgb565Color vgm_color_fg;
|
||||
Rgb565Color vgm_color_bg;
|
||||
FuriHalVersionColor spoof_color;
|
||||
ScreenFrameColor rpc_color_fg;
|
||||
ScreenFrameColor rpc_color_bg;
|
||||
} MomentumSettings;
|
||||
|
||||
typedef struct {
|
||||
|
||||
@@ -39,10 +39,9 @@ MomentumSettings momentum_settings = {
|
||||
.uart_esp_channel = FuriHalSerialIdUsart, // pin 13,14
|
||||
.uart_nmea_channel = FuriHalSerialIdUsart, // pin 13,14
|
||||
.file_naming_prefix_after = false, // Before
|
||||
.vgm_color_mode = VgmColorModeDefault, // Default
|
||||
.vgm_color_fg.value = 0x0000, // Default Black
|
||||
.vgm_color_bg.value = 0xFC00, // Default Orange
|
||||
.spoof_color = FuriHalVersionColorUnknown, // Real
|
||||
.rpc_color_fg = {{ScreenColorModeDefault, {.value = 0x000000}}}, // Default Black
|
||||
.rpc_color_bg = {{ScreenColorModeDefault, {.value = 0xFF8200}}}, // Default Orange
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
@@ -110,10 +109,9 @@ static const struct {
|
||||
{setting_enum(uart_esp_channel, FuriHalSerialIdMax)},
|
||||
{setting_enum(uart_nmea_channel, FuriHalSerialIdMax)},
|
||||
{setting_bool(file_naming_prefix_after)},
|
||||
{setting_enum(vgm_color_mode, VgmColorModeCount)},
|
||||
{setting_uint(vgm_color_fg, 0x0000, 0xFFFF)},
|
||||
{setting_uint(vgm_color_bg, 0x0000, 0xFFFF)},
|
||||
{setting_enum(spoof_color, FuriHalVersionColorCount)},
|
||||
{setting_uint(rpc_color_fg, 0x000000, 0xFFFFFF)},
|
||||
{setting_uint(rpc_color_bg, 0x000000, 0xFFFFFF)},
|
||||
};
|
||||
|
||||
void momentum_settings_load(void) {
|
||||
|
||||
Reference in New Issue
Block a user