AFBR-S50 API Reference Manual  v1.6.5
AFBR-S50 Time-of-Flight Sensor SDK for Embedded Software
explorer_tasks.h
Go to the documentation of this file.
1 /*************************************************************************/
38 #ifndef EXPLORER_TASKS_H
39 #define EXPLORER_TASKS_H
40 
41 /*!***************************************************************************
42  * @defgroup explorer_tasks AFBR-S50 Explorer Application - Tasks
43  * @ingroup explorer_app
44  * @brief AFBR-S50 Explorer Application - Tasks
45  * @details Contains the scheduler task definitions for the AFBR-S50 Explorer
46  * Application.
47  *
48  * A simple task scheduler is used to host the Argus API and a
49  * simple systems communication interface is implemented to
50  * connect to the AFBR-S50 Explorer GUI. The latter is an evaluation
51  * software for the Argus time-of-flight devices.
52  *
53  * @addtogroup explorer_tasks
54  * @{
55  *****************************************************************************/
56 
57 #include "api/argus_status.h"
58 #include "explorer_app.h"
59 #include "argus.h"
60 
61 
63 typedef enum explorer_task_t
64 {
65  TASK_ERROR = 7U,
69  TASK_IDLE = 0U
71 
72 /*!***************************************************************************
73  * @brief Initializes the scheduler tasks.
74  * @return Returns the \link #status_t status\endlink (#STATUS_OK on success).
75  *****************************************************************************/
77 
78 /*!***************************************************************************
79  * @brief Callback function after measurement cycle was finished.
80  *
81  * @details Pass this to the #Argus_StartMeasurementTimer and
82  * #Argus_TriggerMeasurement functions.
83  *
84  * @param status The current API measurement status.
85  *
86  * @param argus The AFBR-S50-API instance that invokes the callback.
87  *
88  * @return Returns the \link #status_t status\endlink (#STATUS_OK on success).
89  *****************************************************************************/
91 
92 /*!***************************************************************************
93  * @brief Switches the scheduler task context.
94  * @details Pauses the execution of the current task and lets the lower priority
95  * tasks run. Useful when current task depends on any lower priority
96  * task.
97  *****************************************************************************/
98 void ExplorerApp_SwitchContext(void);
99 
101 #endif /* EXPLORER_TASKS_H */
argus_status.h
This file is part of the AFBR-S50 API.
TASK_EVAL_DAT
@ TASK_EVAL_DAT
Definition: explorer_tasks.h:68
explorer_app.h
This file is part of the AFBR-S50 Explorer Demo Application.
TASK_SEND_DAT
@ TASK_SEND_DAT
Definition: explorer_tasks.h:67
argus_hnd_t
struct argus_hnd_t argus_hnd_t
Definition: argus_def.h:320
argus.h
This file is part of the AFBR-S50 API.
explorer_task_t
explorer_task_t
Definition: explorer_tasks.h:63
TASK_HNDL_CMD
@ TASK_HNDL_CMD
Definition: explorer_tasks.h:66
ExplorerApp_MeasurementReadyCallback
status_t ExplorerApp_MeasurementReadyCallback(status_t status, argus_hnd_t *argus)
Callback function after measurement cycle was finished.
Definition: explorer_tasks.c:431
ExplorerApp_InitTasks
status_t ExplorerApp_InitTasks()
Initializes the scheduler tasks.
Definition: explorer_tasks.c:190
TASK_ERROR
@ TASK_ERROR
Definition: explorer_tasks.h:65
status
static status_t status
Definition: argus_xtalk_cal_cli.c:140
TASK_IDLE
@ TASK_IDLE
Definition: explorer_tasks.h:69
status_t
int32_t status_t
Type used for all status and error return values.
Definition: argus_status.h:70
ExplorerApp_SwitchContext
void ExplorerApp_SwitchContext(void)
Switches the scheduler task context.
Definition: explorer_tasks.c:238