Expansion settings singleton

This commit is contained in:
Willy-JL
2024-01-30 00:40:38 +00:00
parent 66aec507f4
commit 9243cf8eaf
4 changed files with 22 additions and 10 deletions

View File

@@ -1,4 +1,5 @@
#include "expansion.h"
#include "expansion_i.h"
#include <furi_hal_power.h>
#include <furi_hal_serial.h>
@@ -53,6 +54,8 @@ struct Expansion {
FuriHalSerialId serial_id;
FuriHalSerialHandle* serial_handle;
RpcSession* rpc_session;
ExpansionSettings settings;
};
static void expansion_detect_callback(void* context);
@@ -394,10 +397,9 @@ void expansion_on_system_start(void* arg) {
Expansion* instance = expansion_alloc();
furi_record_create(RECORD_EXPANSION, instance);
ExpansionSettings settings = {};
expansion_settings_load(&settings);
if(settings.uart_index < FuriHalSerialIdMax) {
expansion_enable(instance, settings.uart_index);
expansion_settings_load(&instance->settings);
if(instance->settings.uart_index < FuriHalSerialIdMax) {
expansion_enable(instance, instance->settings.uart_index);
}
}
@@ -434,3 +436,7 @@ void expansion_disable(Expansion* instance) {
furi_mutex_release(instance->state_mutex);
}
ExpansionSettings* expansion_get_settings(Expansion* instance) {
return &instance->settings;
}

View File

@@ -0,0 +1,6 @@
#pragma once
#include "expansion_settings.h"
#include "expansion.h"
ExpansionSettings* expansion_get_settings(Expansion* instance);