MeshX 0.4
This repository provides an implementation for Bluetooth Low Energy (BLE) Mesh network nodes. The project allows you to create BLE mesh nodes that can communicate with each other, enabling the development of smart home solutions or other IoT-based applications.
Loading...
Searching...
No Matches
meshx_task.h
Go to the documentation of this file.
1/**
2 * @file meshx_task.h
3 * @brief MeshX Task Interface
4 *
5 * This file contains the MeshX Task Interface.
6 *
7 * @note This file should not be modified.
8 *
9 * @version 1.0
10 *
11 * @author Pranjal Chanda
12 */
13
14#ifndef __MESHX_TASK_H
15#define __MESHX_TASK_H
16
17#include <stddef.h>
18#include "meshx_err.h"
19
20/**
21 * @brief MeshX Task Function
22 * @param[in] arg Task Argument
23 *
24 * @return None
25 */
26typedef void (*meshx_task_cb_t)(void *arg);
27
28/**
29 * @brief MeshX Task Structure
30 */
31typedef struct meshx_task
32{
33 /* Public */
34 const char *task_name; /**< Task Name */
35 void *arg; /**< Task Argument */
36 size_t stack_size; /**< Task Stack Size */
37 int priority; /**< Task Priority */
38 meshx_task_cb_t task_cb; /**< Task Callback */
39 /* Private */
40 void *__task_handle; /**< Task Handle */
42
43/**
44 * @brief Create a MeshX Task
45 *
46 * This function creates a MeshX Task.
47 *
48 * @param[in,out] task_handle Task Handle
49 *
50 * @return meshx_err_t
51 */
53
54/**
55 * @brief Delete a MeshX Task
56 *
57 * This function deletes a MeshX Task.
58 *
59 * @param[in] task_handle Task Handle
60 */
62
63/**
64 * @brief Suspend a MeshX Task
65 *
66 * This function suspends a MeshX Task.
67 *
68 * @param[in] task_handle Task Handle
69 */
70
72
73/**
74 * @brief Resume a MeshX Task
75 *
76 * This function resumes a MeshX Task.
77 *
78 * @param[in] task_handle Task Handle
79 */
81
82/**
83 * @brief Get Task Handle
84 *
85 * This function gets the Task Handle.
86 *
87 * @param[in] task_handle Task Handle
88 *
89 * @return meshx_err_t
90 */
92
93/**
94 * @brief Delay a MeshX Task
95 *
96 * This function delays a MeshX Task.
97 *
98 * @param[in] delay_ms Delay in milliseconds
99 * @return meshx_err_t
100 */
101meshx_err_t meshx_task_delay(uint32_t delay_ms);
102
103#endif /* __MESHX_TASK_H */
MeshX Error Codes.
meshx_err_t
MeshX Error Codes.
Definition meshx_err.h:43
meshx_err_t meshx_task_get_handle(meshx_task_t *task_handle)
Get Task Handle.
meshx_err_t meshx_task_suspend(meshx_task_t *task_handle)
Suspend a MeshX Task.
void(* meshx_task_cb_t)(void *arg)
MeshX Task Function.
Definition meshx_task.h:26
struct meshx_task meshx_task_t
MeshX Task Structure.
meshx_err_t meshx_task_resume(meshx_task_t *task_handle)
Resume a MeshX Task.
meshx_err_t meshx_task_delay(uint32_t delay_ms)
Delay a MeshX Task.
meshx_err_t meshx_task_create(meshx_task_t *task_handle)
Create a MeshX Task.
meshx_err_t meshx_task_delete(meshx_task_t *task_handle)
Delete a MeshX Task.
MeshX Task Structure.
Definition meshx_task.h:32
const char * task_name
Definition meshx_task.h:34
size_t stack_size
Definition meshx_task.h:36
int priority
Definition meshx_task.h:37
void * arg
Definition meshx_task.h:35
meshx_task_cb_t task_cb
Definition meshx_task.h:38
void * __task_handle
Definition meshx_task.h:40