blob: 1ba5a7d1df8723814298b5da5833eb8491c80260 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#ifndef SYNC_MANAGER_H
#define SYNC_MANAGER_H
#include "esp_err.h"
#include "relay_selector.h"
#include "freertos/FreeRTOS.h"
#include "freertos/semphr.h"
#include <stdbool.h>
typedef struct {
relay_selector_t *selector;
bool running;
bool sync_in_progress;
uint32_t last_negentropy_sync;
uint32_t last_reqdiff_sync;
SemaphoreHandle_t lock;
} sync_manager_t;
esp_err_t sync_manager_init(sync_manager_t *mgr, relay_selector_t *selector);
void sync_manager_start(sync_manager_t *mgr);
void sync_manager_stop(sync_manager_t *mgr);
esp_err_t sync_manager_do_negentropy_sync(sync_manager_t *mgr);
esp_err_t sync_manager_do_reqdiff_sync(sync_manager_t *mgr);
#endif
|