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

View File

@@ -45,6 +45,16 @@ void expansion_enable(Expansion* instance, FuriHalSerialId serial_id);
*/ */
void expansion_disable(Expansion* instance); 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 #ifdef __cplusplus
} }
#endif #endif

View File

@@ -927,6 +927,7 @@ Function,-,exp2f,float,float
Function,-,exp2l,long double,long double Function,-,exp2l,long double,long double
Function,+,expansion_disable,void,Expansion* Function,+,expansion_disable,void,Expansion*
Function,+,expansion_enable,void,"Expansion*, FuriHalSerialId" Function,+,expansion_enable,void,"Expansion*, FuriHalSerialId"
Function,+,expansion_resume,void,Expansion*
Function,-,expf,float,float Function,-,expf,float,float
Function,-,expl,long double,long double Function,-,expl,long double,long double
Function,-,explicit_bzero,void,"void*, size_t" Function,-,explicit_bzero,void,"void*, size_t"
1 entry status name type params
927 Function - exp2l long double long double
928 Function + expansion_disable void Expansion*
929 Function + expansion_enable void Expansion*, FuriHalSerialId
930 Function + expansion_resume void Expansion*
931 Function - expf float float
932 Function - expl long double long double
933 Function - explicit_bzero void void*, size_t