mesh: add mesh_configuration_server_feature_changed

This commit is contained in:
Matthias Ringwald 2019-06-17 15:14:12 +02:00
parent 84d5ed818f
commit f18cf9fece
2 changed files with 12 additions and 1 deletions

View File

@ -1744,6 +1744,15 @@ static void config_heartbeat_publication_emit(mesh_heartbeat_publication_t * mes
mesh_heartbeat_publication->count--; mesh_heartbeat_publication->count--;
} }
} }
void mesh_configuration_server_feature_changed(void){
mesh_model_t * mesh_model = mesh_model_get_configuration_server();
mesh_heartbeat_publication_t * mesh_heartbeat_publication = &((mesh_configuration_server_model_context_t*) mesh_model->model_data)->heartbeat_publication;
// active features
uint16_t active_features = mesh_foundation_get_features();
if (mesh_heartbeat_publication->active_features == active_features) return;
config_heartbeat_publication_emit(mesh_heartbeat_publication);
}
static void config_heartbeat_publication_timeout_handler(btstack_timer_source_t * ts){ static void config_heartbeat_publication_timeout_handler(btstack_timer_source_t * ts){

View File

@ -74,13 +74,15 @@ typedef struct {
typedef struct { typedef struct {
mesh_heartbeat_publication_t heartbeat_publication; mesh_heartbeat_publication_t heartbeat_publication;
mesh_heartbeat_subscription_t heartbeat_subscription; mesh_heartbeat_subscription_t heartbeat_subscription;
} mesh_configuration_server_model_context_t; } mesh_configuration_server_model_context_t;
// API // API
const mesh_operation_t * mesh_configuration_server_get_operations(void); const mesh_operation_t * mesh_configuration_server_get_operations(void);
void mesh_configuration_server_feature_changed(void);
void mesh_load_virtual_addresses(void); void mesh_load_virtual_addresses(void);
void mesh_delete_virtual_addresses(void); void mesh_delete_virtual_addresses(void);