12#ifndef TELEMETRY_SERVICE_H
13#define TELEMETRY_SERVICE_H
15#include "freertos/FreeRTOS.h"
19#define TELEMETRY_SERVICE_TASK_NAME ("TELE_SRVC")
20#define TELEMETRY_SERVICE_TASK_STACK_DEPTH (4096U)
21#define TELEMETRY_SERVICE_TASK_PRIORITY (4U)
22#define TELEMETRY_SERVICE_TASK_CPU_AFFINITY (1U)
23#define TELEMETRY_SERVICE_TASK_NOTIFY_STOP_BIT (1U << 0)
24#define TELEMETRY_SERVICE_TASK_NOTIFY_LIVE_BIT (1U << 1)
25#define TELEMETRY_SERVICE_TASK_NOTIFY_REPLAY_BIT (1U << 2)
26#define TELEMETRY_SERVICE_TASK_NOTIFY_ONLINE_BIT (1U << 3)
MQTT bridge configuration structure.
Definition mqtt_bridge.h:27
Telemetry pipeline record structure.
Definition telemetry_pipeline.h:26
Provide pipeline for telemetry.
bool telemetry_service_publish_live(const telemetry_pipeline_record_t *payload_ptr)
Publish live record.
Definition telemetry_service.c:329
bool telemetry_service_publish_status(const telemetry_pipeline_record_t *payload_ptr)
Publish status.
Definition telemetry_service.c:340
void telemetry_service_deinit(void)
Deinitialize telemetry service.
Definition telemetry_service.c:378
bool telemetry_service_publish_replay(const telemetry_pipeline_record_t *payload_ptr)
Publish replay record.
Definition telemetry_service.c:334
bool telemetry_service_enqueue_live(const telemetry_pipeline_record_t *payload_ptr)
Enqueue live record.
Definition telemetry_service.c:317
bool telemetry_service_init(mqtt_bridge_config_t *mqtt_bridge_config_ptr, bool(*replay_check_cb)(void))
Initialize telemetry service.
Definition telemetry_service.c:262
telemetry_service_topics_t
Telemetry service_ topics enum.
Definition telemetry_service.h:33
@ TELEMETRY_SERVICE_TOPICS_REPLAY
Definition telemetry_service.h:35
@ TELEMETRY_SERVICE_TOPICS_MAX
Definition telemetry_service.h:37
@ TELEMETRY_SERVICE_TOPICS_LIVE
Definition telemetry_service.h:34
@ TELEMETRY_SERVICE_TOPICS_STATUS
Definition telemetry_service.h:36
void telemetry_service_notify_replay_available(void)
Send signal replay available.
Definition telemetry_service.c:346
bool telemetry_service_is_online(void)
Get online state.
Definition telemetry_service.c:366
void telemetry_service_set_online(bool online)
Set online state.
Definition telemetry_service.c:351