#pragma once #include typedef struct SubGhzWorker SubGhzWorker; typedef void (*SubGhzWorkerOverrunCallback)(void* context); typedef void (*SubGhzWorkerPairCallback)(void* context, LevelPair pair); void subghz_worker_rx_callback(ApiHalSubGhzCaptureLevel level, uint32_t duration, void* context); /** Allocate SubGhzWorker * * @return SubGhzWorker* */ SubGhzWorker* subghz_worker_alloc(); /** Free SubGhzWorker * * @param instance SubGhzWorker instance */ void subghz_worker_free(SubGhzWorker* instance); /** Overrun callback SubGhzWorker * * @param instance SubGhzWorker instance * @param callback SubGhzWorkerOverrunCallback callback */ void subghz_worker_set_overrun_callback(SubGhzWorker* instance, SubGhzWorkerOverrunCallback callback); /** Pair callback SubGhzWorker * * @param instance SubGhzWorker instance * @param callback SubGhzWorkerOverrunCallback callback */ void subghz_worker_set_pair_callback(SubGhzWorker* instance, SubGhzWorkerPairCallback callback); /** Context callback SubGhzWorker * * @param instance SubGhzWorker instance * @param context */ void subghz_worker_set_context(SubGhzWorker* instance, void* context); /** Start SubGhzWorker * * @param instance SubGhzWorker instance */ void subghz_worker_start(SubGhzWorker* instance); /** Stop SubGhzWorker * * @param instance SubGhzWorker instance */ void subghz_worker_stop(SubGhzWorker* instance);