服务¶
服务 (service) 框架是具体产品功能在软件层面上的实现,如输入按键、网络配置管理、电池检测等功能。每个服务也是对硬件的抽象,如输入按键服务支持 ADC 类型和 GPIO 类型的的按键。服务可以复用在不同产品上,高级 API 和事件可以让用户简单便捷的开发产品。
更多信息请参考以下文档。
Header File¶
Functions¶
-
periph_service_handle_t
periph_service_create
(periph_service_config_t *config)¶ brief Create peripheral service instance
- Return
NULL, Fail
Others, Success
- Parameters
[in] config
: Configuration of the peripheral service instance
-
esp_err_t
periph_service_destroy
(periph_service_handle_t handle)¶ brief Destroy peripheral service instance
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The peripheral service instance
-
esp_err_t
periph_service_start
(periph_service_handle_t handle)¶ brief Start the specific peripheral service
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The peripheral service instance
-
esp_err_t
periph_service_stop
(periph_service_handle_t handle)¶ brief Stop the specific peripheral service
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The peripheral service instance
-
esp_err_t
periph_service_set_callback
(periph_service_handle_t handle, periph_service_cb cb, void *ctx)¶ brief Set the specific peripheral service callback function
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The peripheral service instance[in] cb
: A pointer to service_callback[in] ctx
: A pointer to user context
-
esp_err_t
periph_service_callback
(periph_service_handle_t handle, periph_service_event_t *evt)¶ brief Called peripheral service by configurations
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The peripheral service instance[in] evt
: A pointer to periph_service_event_t
-
esp_err_t
periph_service_set_data
(periph_service_handle_t handle, void *data)¶ brief Set user data to specific peripheral service instance
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The peripheral service instance[in] data
: A pointer to user data
-
void *
periph_service_get_data
(periph_service_handle_t handle)¶ brief Get user data by specific peripheral service instance
- Return
A pointer to user data
- Parameters
[in] handle
: The peripheral service instance
-
esp_err_t
periph_service_ioctl
(periph_service_handle_t handle, void *ioctl_handle, int cmd, int value)¶ brief In/out control by peripheral service instance
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The peripheral service instance[in] ioctl_handle
: Sub-instance handle[in] cmd
: Command of value[in] value
: Data of the command
Structures¶
-
struct
periph_service_event_t
¶ Peripheral service event informations.
-
struct
periph_service_config_t
¶ Peripheral service configurations.
Public Members
-
int
task_stack
¶ >0 Service task stack; =0 with out task created
-
int
task_prio
¶ Service task priority (based on freeRTOS priority)
-
int
task_core
¶ Service task running in core (0 or 1)
-
TaskFunction_t
task_func
¶ Service task function
-
bool
extern_stack
¶ Task stack allocate on the extern ram
-
periph_service_ctrl
service_start
¶ Start function
-
periph_service_ctrl
service_stop
¶ Stop function
-
periph_service_ctrl
service_destroy
¶ Destroy function
-
periph_service_io
service_ioctl
¶ In out control function
-
char *
service_name
¶ Name of peripheral service
-
void *
user_data
¶ User data
-
int
Type Definitions¶
-
typedef struct periph_service_impl *
periph_service_handle_t
¶
-
typedef esp_err_t (*
periph_service_ctrl
)(periph_service_handle_t handle)¶
-
typedef esp_err_t (*
periph_service_io
)(void *ioctl_handle, int cmd, int value)¶
-
typedef esp_err_t (*
periph_service_cb
)(periph_service_handle_t handle, periph_service_event_t *evt, void *ctx)¶
Enumerations¶
Header File¶
Functions¶
-
audio_service_handle_t
audio_service_create
(audio_service_config_t *config)¶ brief Create audio service instance
- Return
NULL, Fail
Others, Success
- Parameters
[in] config
: Configuration of the audio service instance
-
esp_err_t
audio_service_destroy
(audio_service_handle_t handle)¶ brief Destroy audio service instance
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The audio service instance
-
esp_err_t
audio_service_start
(audio_service_handle_t handle)¶ brief Start the specific audio service
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The audio service instance
-
esp_err_t
audio_service_stop
(audio_service_handle_t handle)¶ brief Stop the specific audio service
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The audio service instance
-
esp_err_t
audio_service_set_callback
(audio_service_handle_t handle, service_callback cb, void *ctx)¶ brief Set the specific audio service callback function.
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The audio service instance[in] cb
: A pointer to service_callback[in] ctx
: A pointer to user context
-
esp_err_t
audio_service_callback
(audio_service_handle_t handle, service_event_t *evt)¶ brief Called audio service by configurations
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The audio service instance[in] evt
: A pointer to service_event_t
-
esp_err_t
audio_service_connect
(audio_service_handle_t handle)¶ brief Connect the specific audio service
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The audio service instance
-
esp_err_t
audio_service_disconnect
(audio_service_handle_t handle)¶ brief Disconnect the specific audio service
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The audio service instance
-
esp_err_t
audio_service_set_data
(audio_service_handle_t handle, void *data)¶ brief Set user data to specific audio service instance
- Return
ESP_OK
ESP_FAIL
ESP_ERR_INVALID_ARG
- Parameters
[in] handle
: The audio service instance[in] data
: A pointer to user data
-
void *
audio_service_get_data
(audio_service_handle_t handle)¶ brief Get user data by specific audio service instance
- Return
A pointer to user data
- Parameters
[in] handle
: The audio service instance
Structures¶
-
struct
service_event_t
¶ Audio service event informations.
-
struct
audio_service_config_t
¶ Audio service configurations.
Public Members
-
int
task_stack
¶ >0 Service task stack; =0 with out task created
-
int
task_prio
¶ Service task priority (based on freeRTOS priority)
-
int
task_core
¶ Service task running in core (0 or 1)
-
TaskFunction_t
task_func
¶ A pointer to TaskFunction_t for service task function
-
service_ctrl
service_start
¶ Start function
-
service_ctrl
service_stop
¶ Stop function
-
service_ctrl
service_connect
¶ Connect function
-
service_ctrl
service_disconnect
¶ Disconnect function
-
service_ctrl
service_destroy
¶ Destroy function
-
const char *
service_name
¶ Name of audio service
-
void *
user_data
¶ User context
-
int
Type Definitions¶
-
typedef struct audio_service_impl *
audio_service_handle_t
¶
-
typedef esp_err_t (*
service_ctrl
)(audio_service_handle_t handle)¶
-
typedef esp_err_t (*
service_callback
)(audio_service_handle_t handle, service_event_t *evt, void *ctx)¶