mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-13 12:28:36 -07:00
Expansion settings singleton
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
6
applications/services/expansion/expansion_i.h
Normal file
6
applications/services/expansion/expansion_i.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "expansion_settings.h"
|
||||
#include "expansion.h"
|
||||
|
||||
ExpansionSettings* expansion_get_settings(Expansion* instance);
|
||||
Reference in New Issue
Block a user