Lines Matching full:model

223  * @name Models from the Mesh Model Specification
335 * @name Models from the Mesh Binary Large Object Transfer Model Specification
347 * @name Models from the Mesh Device Firmware Update Model Specification
362 /** Model opcode handler. */
377 * @param model Model instance receiving the message.
384 int (*const func)(const struct bt_mesh_model *model,
412 * @brief Helper to define an empty model array
420 * @brief Composition data SIG model entry with callback functions
426 * @param _id Model ID.
427 * @param _op Array of model opcode handlers.
428 * @param _pub Model publish parameters.
429 * @param _user_data User data for the model.
430 * @param _keys Number of keys that can be bound to the model.
432 * @param _grps Number of addresses that the model can be subscribed to.
451 * @brief Composition data vendor model entry with callback functions
458 * @param _id Model ID.
459 * @param _op Array of model opcode handlers.
460 * @param _pub Model publish parameters.
461 * @param _user_data User data for the model.
462 * @param _keys Number of keys that can be bound to the model.
464 * @param _grps Number of addresses that the model can be subscribed to.
484 * @brief Composition data SIG model entry with callback functions.
489 * @param _id Model ID.
490 * @param _op Array of model opcode handlers.
491 * @param _pub Model publish parameters.
492 * @param _user_data User data for the model.
503 * @brief Composition data SIG model entry with callback functions and metadata.
508 * @param _id Model ID.
509 * @param _op Array of model opcode handlers.
510 * @param _pub Model publish parameters.
511 * @param _user_data User data for the model.
538 * @brief Composition data vendor model entry with callback functions.
544 * @param _id Model ID.
545 * @param _op Array of model opcode handlers.
546 * @param _pub Model publish parameters.
547 * @param _user_data User data for the model.
557 * @brief Composition data vendor model entry with callback functions and metadata.
563 * @param _id Model ID.
564 * @param _op Array of model opcode handlers.
565 * @param _pub Model publish parameters.
566 * @param _user_data User data for the model.
592 * @brief Composition data SIG model entry.
597 * @param _id Model ID.
598 * @param _op Array of model opcode handlers.
599 * @param _pub Model publish parameters.
600 * @param _user_data User data for the model.
606 * @brief Composition data vendor model entry.
612 * @param _id Model ID.
613 * @param _op Array of model opcode handlers.
614 * @param _pub Model publish parameters.
615 * @param _user_data User data for the model.
629 * values of the configuration model data.
659 * values of the configuration model data.
686 * @param pub Model publication context.
697 * @param pub Model publication context.
703 /** Model publication context.
709 /** The model the context belongs to. Initialized by the stack. */
741 * When set to NULL, the model is assumed not to support
753 * @param mod The Model the Publication Context belongs to.
764 * Define a model publication context.
812 /** Model callback functions. */
814 /** @brief Set value handler of user data tied to the model.
818 * @param model Model to set the persistent data of.
827 int (*const settings_set)(const struct bt_mesh_model *model,
836 * When this callback fires, the mesh model may start its behavior,
839 * @param model Model this callback belongs to.
843 int (*const start)(const struct bt_mesh_model *model);
845 /** @brief Model init callback.
847 * Called on every model instance during mesh initialization.
849 * If any of the model init callbacks return an error, the Mesh
853 * @param model Model to be initialized.
857 int (*const init)(const struct bt_mesh_model *model);
859 /** @brief Model reset callback.
861 * Called when the mesh node is reset. All model data is deleted on
862 * reset, and the model should clear its state.
864 * @note If the model stores any persistent data, this needs to be
867 * @param model Model this callback belongs to.
869 void (*const reset)(const struct bt_mesh_model *model);
871 /** @brief Callback used to store pending model's user data.
877 * @param model Model this callback belongs to.
879 void (*const pending_store)(const struct bt_mesh_model *model);
882 /** Vendor model ID */
886 /** Model ID */
890 /** Abstraction that describes a Mesh Model instance */
893 /** SIG model ID */
895 /** Vendor model ID */
899 /* Model runtime information */
902 uint8_t mod_idx; /* Is the Nth model in the element */
903 uint16_t flags; /* Model flags for internal bookkeeping */
906 /* Pointer to the next model in a model extension list. */
909 /** Model-specific user data */
913 /** Model Publication */
925 /** List of Label UUIDs the model is subscribed to. */
932 /** Model callback structure. */
936 /* Pointer to the array of model metadata entries. */
941 /** Callback structure for monitoring model message sending */
967 * @param model Mesh (client) Model that the message belongs to.
975 int bt_mesh_model_send(const struct bt_mesh_model *model,
981 /** @brief Send a model publication message.
983 * Before calling this function, the user needs to ensure that the model
990 * @param model Mesh (client) Model that's publishing the message.
994 int bt_mesh_model_publish(const struct bt_mesh_model *model);
1000 * @param model Mesh Model that supports publication.
1004 static inline bool bt_mesh_model_pub_is_retransmission(const struct bt_mesh_model *model) in bt_mesh_model_pub_is_retransmission() argument
1006 return model->pub->count != BT_MESH_PUB_TRANSMIT_COUNT(model->pub->retransmit); in bt_mesh_model_pub_is_retransmission()
1009 /** @brief Get the element that a model belongs to.
1011 * @param mod Mesh model.
1013 * @return Pointer to the element that the given model belongs to.
1017 /** @brief Find a SIG model.
1019 * @param elem Element to search for the model in.
1020 * @param id Model ID of the model.
1022 * @return A pointer to the Mesh model matching the given parameters, or NULL
1023 * if no SIG model with the given ID exists in the given element.
1028 /** @brief Find a vendor model.
1030 * @param elem Element to search for the model in.
1031 * @param company Company ID of the model.
1032 * @param id Model ID of the model.
1034 * @return A pointer to the Mesh model matching the given parameters, or NULL
1035 * if no vendor model with the given ID exists in the given element.
1040 /** @brief Get whether the model is in the primary element of the device.
1042 * @param mod Mesh model.
1044 * @return true if the model is on the primary element, false otherwise.
1051 /** @brief Immediately store the model's user data in persistent storage.
1053 * @param mod Mesh model.
1054 * @param vnd This is a vendor model.
1057 * @param data Model data to store, or NULL to delete any model data.
1058 * @param data_len Length of the model data.
1066 /** @brief Schedule the model's user data store in persistent storage.
1069 * for the corresponding model after delay defined by
1075 * @param mod Mesh model.
1079 /** @brief Let a model extend another.
1082 * complex model. A Mesh model may extend any number of models, in any element.
1083 * The extensions may also be nested, ie a model that extends another may
1086 * A set of models that extend each other form a model extension list.
1097 * @param extending_mod Mesh model that is extending the base model.
1098 * @param base_mod The model being extended.
1100 * @retval 0 Successfully extended the base_mod model.
1105 /** @brief Let a model correspond to another.
1108 * other must be present too. A Mesh model may correspond to any number of models,
1117 * @param corresponding_mod Mesh model that is corresponding to the base model.
1118 * @param base_mod The model being corresponded to.
1120 * @retval 0 Successfully saved correspondence to the base_mod model.
1128 /** @brief Check if model is extended by another model.
1130 * @param model The model to check.
1132 * @retval true If model is extended by another model, otherwise false
1134 bool bt_mesh_model_is_extended(const struct bt_mesh_model *model);