16#ifndef __MESHX_PLAT_GEN_SRV_H__
17#define __MESHX_PLAT_GEN_SRV_H__
Common BLE Mesh interface definitions and utility functions.
struct meshx_model meshx_model_t
struct meshx_ctx meshx_ctx_t
Structure to hold context information for BLE Mesh operations.
void * meshx_ptr_t
Definition meshx_ble_mesh_cmn_def.h:636
meshx_err_t meshx_plat_gen_srv_delete(void **p_pub, void **p_srv)
Deletes the Generic OnOff Server model and its associated resources.
meshx_err_t meshx_plat_set_gen_srv_state(void *p_model, const meshx_gen_server_state_t *state, uint16_t state_len)
Set the state of a generic server model.
meshx_err_t meshx_plat_on_off_gen_srv_create(void *p_model, void **p_pub, void **p_onoff_srv)
Creates a Generic OnOff Server model and its publication context.
meshx_err_t meshx_plat_power_onoff_setup_gen_srv_create(void *p_model, void **p_pub, void **p_power_onoff_setup_srv)
Creates a Generic Power OnOff Setup Server model and its publication context.
meshx_err_t meshx_plat_level_gen_srv_create(void *p_model, void **p_pub, void **p_level_srv)
Creates a Generic Level Server model and its publication context.
meshx_err_t meshx_plat_gen_srv_init(void)
Initialize the generic server model platform.
control_task_msg_handle_t meshx_server_cb
Definition meshx_ble_mesh_gen_srv.h:222
meshx_err_t meshx_plat_battery_gen_srv_create(void *p_model, void **p_pub, void **p_battery_srv)
Creates a Generic Battery Server model and its publication context.
meshx_err_t meshx_plat_def_trans_time_gen_srv_create(void *p_model, void **p_pub, void **p_trans_time_srv)
Creates a Generic Default Transition Time Server model and its publication context.
meshx_err_t meshx_plat_location_gen_srv_create(void *p_model, void **p_pub, void **p_location_srv)
Creates a Generic Location Server model and its publication context.
struct meshx_gen_server_state meshx_gen_server_state_t
Generic Server Model state Used to set/restore the model state values internally.
meshx_err_t meshx_plat_power_level_gen_srv_create(void *p_model, void **p_pub, void **p_power_level_srv)
Creates a Generic Power Level Server model and its publication context.
meshx_err_t meshx_plat_gen_on_off_srv_restore(void *p_model, uint8_t state)
Restores the state of the Generic OnOff Server model.
struct meshx_gen_srv_cb_param meshx_gen_srv_cb_param_t
meshx_err_t meshx_plat_gen_srv_send_status(meshx_model_t *p_model, meshx_ctx_t *p_ctx, meshx_ptr_t p_data, uint32_t data_len)
Send a status message from the Generic Server model.
meshx_err_t meshx_plat_power_onoff_gen_srv_create(void *p_model, void **p_pub, void **p_power_onoff_srv)
Creates a Generic Power OnOff Server model and its publication context.
Header file for the control task in the BLE mesh node application.
meshx_err_t(* control_task_msg_handle_t)(dev_struct_t *pdev, control_task_msg_evt_t evt, void *params)
Function pointer type for control task message handler.
Definition meshx_control_task.h:188
meshx_err_t
MeshX Error Codes.
Definition meshx_err.h:43
uint8_t state
Definition meshx_serial.c:39
Definition meshx_ble_mesh_gen_srv.h:164
uint32_t battery_flags
Definition meshx_ble_mesh_gen_srv.h:168
uint32_t time_to_discharge
Definition meshx_ble_mesh_gen_srv.h:166
uint32_t battery_level
Definition meshx_ble_mesh_gen_srv.h:165
uint32_t time_to_charge
Definition meshx_ble_mesh_gen_srv.h:167
Definition meshx_ble_mesh_gen_srv.h:202
uint8_t trans_time
Definition meshx_ble_mesh_gen_srv.h:203
Definition meshx_ble_mesh_gen_srv.h:153
int32_t last_delta
Definition meshx_ble_mesh_gen_srv.h:157
bool move_start
Definition meshx_ble_mesh_gen_srv.h:159
int16_t target_level
Definition meshx_ble_mesh_gen_srv.h:155
int16_t level
Definition meshx_ble_mesh_gen_srv.h:154
int16_t last_level
Definition meshx_ble_mesh_gen_srv.h:156
bool positive
Definition meshx_ble_mesh_gen_srv.h:160
Definition meshx_ble_mesh_gen_srv.h:172
int32_t global_longitude
Definition meshx_ble_mesh_gen_srv.h:174
int32_t global_latitude
Definition meshx_ble_mesh_gen_srv.h:173
uint8_t floor_number
Definition meshx_ble_mesh_gen_srv.h:179
uint16_t uncertainty
Definition meshx_ble_mesh_gen_srv.h:180
int16_t global_altitude
Definition meshx_ble_mesh_gen_srv.h:175
int16_t local_north
Definition meshx_ble_mesh_gen_srv.h:176
int16_t local_altitude
Definition meshx_ble_mesh_gen_srv.h:178
int16_t local_east
Definition meshx_ble_mesh_gen_srv.h:177
Definition meshx_ble_mesh_gen_srv.h:147
uint8_t target_onoff
Definition meshx_ble_mesh_gen_srv.h:149
uint8_t onoff
Definition meshx_ble_mesh_gen_srv.h:148
Definition meshx_ble_mesh_gen_srv.h:184
uint8_t onpowerup
Definition meshx_ble_mesh_gen_srv.h:185
Definition meshx_ble_mesh_gen_srv.h:189
uint16_t target_power_actual
Definition meshx_ble_mesh_gen_srv.h:191
uint16_t power_last
Definition meshx_ble_mesh_gen_srv.h:193
uint16_t power_actual
Definition meshx_ble_mesh_gen_srv.h:190
uint16_t power_default
Definition meshx_ble_mesh_gen_srv.h:194
uint8_t status_code
Definition meshx_ble_mesh_gen_srv.h:196
uint16_t power_range_max
Definition meshx_ble_mesh_gen_srv.h:198
uint16_t power_range_min
Definition meshx_ble_mesh_gen_srv.h:197
Generic Server Model state Used to set/restore the model state values internally.
Definition meshx_ble_mesh_gen_srv.h:211
meshx_gen_def_trans_time_state_t def_trans_time
Definition meshx_ble_mesh_gen_srv.h:218
meshx_gen_battery_state_t battery
Definition meshx_ble_mesh_gen_srv.h:214
meshx_gen_onoff_state_t onoff
Definition meshx_ble_mesh_gen_srv.h:212
meshx_gen_level_state_t level
Definition meshx_ble_mesh_gen_srv.h:213
meshx_gen_location_state_t location
Definition meshx_ble_mesh_gen_srv.h:215
meshx_gen_onpowerup_state_t onpowerup
Definition meshx_ble_mesh_gen_srv.h:216
meshx_gen_power_level_state_t power_level
Definition meshx_ble_mesh_gen_srv.h:217
Definition meshx_ble_mesh_gen_srv.h:140
meshx_ctx_t ctx
Definition meshx_ble_mesh_gen_srv.h:141
meshx_model_t model
Definition meshx_ble_mesh_gen_srv.h:142
meshx_gen_srv_state_change_t state_change
Definition meshx_ble_mesh_gen_srv.h:143
Definition meshx_ble_mesh_gen_srv.h:104
uint16_t id
Definition meshx_ble_mesh_gen_srv.h:105
uint8_t access
Definition meshx_ble_mesh_gen_srv.h:106
void * value
Definition meshx_ble_mesh_gen_srv.h:107
Definition meshx_ble_mesh_gen_srv.h:48
uint8_t trans_time
Definition meshx_ble_mesh_gen_srv.h:49
Definition meshx_ble_mesh_gen_srv.h:36
int16_t level
Definition meshx_ble_mesh_gen_srv.h:37
Definition meshx_ble_mesh_gen_srv.h:30
int16_t level
Definition meshx_ble_mesh_gen_srv.h:31
Definition meshx_ble_mesh_gen_srv.h:79
int32_t longitude
Definition meshx_ble_mesh_gen_srv.h:81
int32_t latitude
Definition meshx_ble_mesh_gen_srv.h:80
int16_t altitude
Definition meshx_ble_mesh_gen_srv.h:82
Definition meshx_ble_mesh_gen_srv.h:87
uint16_t uncertainty
Definition meshx_ble_mesh_gen_srv.h:92
int16_t altitude
Definition meshx_ble_mesh_gen_srv.h:90
int16_t north
Definition meshx_ble_mesh_gen_srv.h:88
uint8_t floor_number
Definition meshx_ble_mesh_gen_srv.h:91
int16_t east
Definition meshx_ble_mesh_gen_srv.h:89
Definition meshx_ble_mesh_gen_srv.h:112
uint16_t id
Definition meshx_ble_mesh_gen_srv.h:113
uint8_t access
Definition meshx_ble_mesh_gen_srv.h:114
Definition meshx_ble_mesh_gen_srv.h:42
int16_t level
Definition meshx_ble_mesh_gen_srv.h:43
Definition meshx_ble_mesh_gen_srv.h:24
uint8_t onoff
Definition meshx_ble_mesh_gen_srv.h:25
Definition meshx_ble_mesh_gen_srv.h:54
uint8_t onpowerup
Definition meshx_ble_mesh_gen_srv.h:55
Definition meshx_ble_mesh_gen_srv.h:66
uint16_t power
Definition meshx_ble_mesh_gen_srv.h:67
Definition meshx_ble_mesh_gen_srv.h:60
uint16_t power
Definition meshx_ble_mesh_gen_srv.h:61
Definition meshx_ble_mesh_gen_srv.h:72
uint16_t range_max
Definition meshx_ble_mesh_gen_srv.h:74
uint16_t range_min
Definition meshx_ble_mesh_gen_srv.h:73
Definition meshx_ble_mesh_gen_srv.h:97
uint16_t id
Definition meshx_ble_mesh_gen_srv.h:98
void * value
Definition meshx_ble_mesh_gen_srv.h:99
Definition meshx_ble_mesh_gen_srv.h:118
meshx_state_change_gen_user_property_set_t user_property_set
Definition meshx_ble_mesh_gen_srv.h:133
meshx_state_change_gen_loc_global_set_t loc_global_set
Definition meshx_ble_mesh_gen_srv.h:128
meshx_state_change_gen_delta_set_t delta_set
Definition meshx_ble_mesh_gen_srv.h:125
meshx_state_change_gen_power_default_set_t power_default_set
Definition meshx_ble_mesh_gen_srv.h:131
meshx_state_change_gen_onpowerup_set_t onpowerup_set
Definition meshx_ble_mesh_gen_srv.h:127
meshx_state_change_gen_power_level_set_t power_level_set
Definition meshx_ble_mesh_gen_srv.h:129
meshx_state_change_gen_onoff_set_t onoff_set
Definition meshx_ble_mesh_gen_srv.h:123
meshx_state_change_gen_loc_local_set_t loc_local_set
Definition meshx_ble_mesh_gen_srv.h:126
meshx_state_change_gen_level_set_t level_set
Definition meshx_ble_mesh_gen_srv.h:124
meshx_state_change_gen_power_range_set_t power_range_set
Definition meshx_ble_mesh_gen_srv.h:130
meshx_state_change_gen_manu_property_set_t manu_property_set
Definition meshx_ble_mesh_gen_srv.h:132
meshx_state_change_gen_def_trans_time_set_t def_trans_time_set
Definition meshx_ble_mesh_gen_srv.h:135
meshx_state_change_gen_admin_property_set_t admin_property_set
Definition meshx_ble_mesh_gen_srv.h:134
meshx_state_change_gen_move_set_t move_set
Definition meshx_ble_mesh_gen_srv.h:122