25#ifndef __RTOS_UTILS_H__
26#define __RTOS_UTILS_H__
28#include "freertos/FreeRTOS.h"
29#include "freertos/task.h"
30#include "freertos/queue.h"
55#define WORD_LEN_BYTE (4)
56#define BASIC_QUEUE_DEPTH (5)
57#define SENSOR_RESEND_QUEUE_DEPTH (32)
92 const char *
const TAG;
109 TaskFunction_t pxTaskCode,
111 void *
const pvParameters
const BaseType_t CORE
CPU core for pinning the task.
Definition rtos_utils.h:90
const char *const TAG
Tag used for logging.
Definition rtos_utils.h:92
const uint32_t STACK_SIZE
Task stack size in words.
Definition rtos_utils.h:89
TaskHandle_t task_handle
FreeRTOS task handle.
Definition rtos_utils.h:88
const UBaseType_t PRIORITY
Task priority.
Definition rtos_utils.h:91
QueueHandle_t queue_scd30
Definition rtos_utils.c:29
QueueHandle_t queue_pkt_tx
Definition rtos_utils.c:34
QueueHandle_t queue_pkt_rx
Definition rtos_utils.c:35
pal_err_t system_queues_init(void)
Definition rtos_utils.c:123
QueueHandle_t queue_veml7700
Definition rtos_utils.c:30
BaseType_t task_create(TaskFunction_t pxTaskCode, rtos_instance_t *inst, void *const pvParameters)
Create a FreeRTOS task using the provided instance parameters.
Definition rtos_utils.c:52
QueueHandle_t queue_pkt_retx
Definition rtos_utils.c:36
QueueHandle_t queue_bme280
Definition rtos_utils.c:31
void log_watermark(const rtos_instance_t *const inst)
Log the high-water mark (stack usage in bytes) of a FreeRTOS task.
Definition rtos_utils.c:68
rtos_event_t
Definition rtos_utils.h:76
void log_info(const rtos_instance_t *const inst)
Log general task information in a human-readable way.
Definition rtos_utils.c:80
QueueHandle_t queue_sens_agg
Definition rtos_utils.c:33
QueueHandle_t queue_mem_evt
Definition rtos_utils.c:38
pal_err_t sensor_queues_init(void)
Definition rtos_utils.c:107
@ RESEND_IMAGE
Definition rtos_utils.h:78
@ RESEND_VIDEO
Definition rtos_utils.h:79
@ RESEND_SENSOR
Definition rtos_utils.h:77
Instance of a FreeRTOS task.
Definition rtos_utils.h:87
int pal_err_t
Definition pal_err.h:9