esp-sdr-zephyr
Raw I/Q receive and transmit on the ESP32-S3/C6 Wi-Fi radio, for Zephyr
Loading...
Searching...
No Matches
esp_sdr_replay.h
Go to the documentation of this file.
1/*
2 * SPDX-License-Identifier: GPL-3.0-or-later
3 */
4
21
22#ifndef ESP_SDR_ESP_SDR_REPLAY_H_
23#define ESP_SDR_ESP_SDR_REPLAY_H_
24
25#include <stdbool.h>
26#include <stddef.h>
27#include <stdint.h>
28
29#include <esp_sdr/esp_sdr.h>
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
39
41#define ESP_SDR_REPLAY_MAX 16383U
42
48 size_t count;
50 unsigned int passes;
55 unsigned int power;
60 uint8_t scale;
62 uint32_t ctrl_extra;
63};
64
66static inline uint32_t esp_sdr_replay_word(int32_t i, int32_t q)
67{
68 i = i < -511 ? -511 : (i > 511 ? 511 : i);
69 q = q < -511 ? -511 : (q > 511 ? 511 : q);
70 return ((uint32_t)i & 0x3ffU) | (((uint32_t)q & 0x3ffU) << 10);
71}
72
79uint32_t *esp_sdr_replay_buf(size_t *words);
80
91
100int esp_sdr_replay_wait(uint32_t timeout_us, uint32_t *cycles);
101
111
113uint32_t esp_sdr_replay_ctrl(void);
114
117
120
122
123#ifdef __cplusplus
124}
125#endif
126
127#endif /* ESP_SDR_ESP_SDR_REPLAY_H_ */
ESP-SDR: raw I/Q receive and transmit on the ESP32-S3 Wi-Fi radio.
esp_sdr_rate
Definition esp_sdr.h:84
uint32_t * esp_sdr_replay_buf(size_t *words)
The sample buffer the engine plays from.
int esp_sdr_replay_start(const struct esp_sdr_replay_cfg *cfg)
Turn the transmit chain on and start the engine.
int esp_sdr_replay_wait(uint32_t timeout_us, uint32_t *cycles)
Wait for a finite replay to finish.
uint32_t esp_sdr_replay_ctrl(void)
void esp_sdr_replay_stop(void)
Stop the engine, give the bank back and return to receive.
int esp_sdr_replay_restart(void)
Start a finished replay again, with the same settings and samples.
static uint32_t esp_sdr_replay_word(int32_t i, int32_t q)
Definition esp_sdr_replay.h:66
bool esp_sdr_replay_active(void)
Definition esp_sdr_replay.h:44
enum esp_sdr_rate rate
Definition esp_sdr_replay.h:46
uint32_t ctrl_extra
Definition esp_sdr_replay.h:62
size_t count
Definition esp_sdr_replay.h:48
unsigned int passes
Definition esp_sdr_replay.h:50
unsigned int power
Definition esp_sdr_replay.h:55
uint8_t scale
Definition esp_sdr_replay.h:60