Easy expansion resume as configured -- nobuild

This commit is contained in:
Willy-JL
2024-01-30 00:43:59 +00:00
parent 9243cf8eaf
commit 3b4832cfca
3 changed files with 18 additions and 3 deletions

View File

@@ -398,9 +398,7 @@ void expansion_on_system_start(void* arg) {
furi_record_create(RECORD_EXPANSION, instance);
expansion_settings_load(&instance->settings);
if(instance->settings.uart_index < FuriHalSerialIdMax) {
expansion_enable(instance, instance->settings.uart_index);
}
expansion_resume(instance);
}
// Public API functions
@@ -437,6 +435,12 @@ void expansion_disable(Expansion* instance) {
furi_mutex_release(instance->state_mutex);
}
void expansion_resume(Expansion* instance) {
if(instance->settings.uart_index < FuriHalSerialIdMax) {
expansion_enable(instance, instance->settings.uart_index);
}
}
ExpansionSettings* expansion_get_settings(Expansion* instance) {
return &instance->settings;
}

View File

@@ -45,6 +45,16 @@ void expansion_enable(Expansion* instance, FuriHalSerialId serial_id);
*/
void expansion_disable(Expansion* instance);
/**
* @brief Resume support for expansion modules as configured in settings.
*
* Calling this function when expansion module support is already enabled
* will first disable the previous setting, then enable the current one.
*
* @param[in,out] instance pointer to the Expansion instance.
*/
void expansion_resume(Expansion* instance);
#ifdef __cplusplus
}
#endif