13#ifndef ESP_SDR_ESP_SDR_RX_H_
14#define ESP_SDR_ESP_SDR_RX_H_
31#define ESP_SDR_RX_GAIN_AUTO (-1)
34#define ESP_SDR_RX_LPF_AUTO (-1)
36#define ESP_SDR_RX_LPF_MAX 63
39#define ESP_SDR_RX_DECIM_MIN 2U
40#define ESP_SDR_RX_DECIM_MAX 160U
43#define ESP_SDR_RX_FOLD_MIN 2U
44#define ESP_SDR_RX_FOLD_MAX 160U
173 struct esp_sdr_iq16 *out,
size_t max_out,
size_t *n_out,
203 struct esp_sdr_iq16 *out,
size_t max_out,
size_t *n_out,
218 return (int16_t)((int32_t)(word << 12) >> 22);
224 return (int16_t)((int32_t)(word << 22) >> 22);
ESP-SDR: raw I/Q receive and transmit on the ESP32-S3 Wi-Fi radio.
esp_sdr_rate
Definition esp_sdr.h:84
int esp_sdr_rx_set_bandwidth(uint32_t mhz)
Select the analog low-pass filter by approximate bandwidth.
int esp_sdr_rx_set_gain(int index)
Select hardware AGC or a fixed receive gain.
size_t esp_sdr_rx_pack_iq8(const uint32_t *words, size_t count, uint8_t *out)
Pack raw words to signed 8-bit I then Q (upper 8 of 10 bits).
int esp_sdr_rx_get_lpf(void)
static int16_t esp_sdr_rx_i(uint32_t word)
Definition esp_sdr_rx.h:216
static int16_t esp_sdr_rx_q(uint32_t word)
Definition esp_sdr_rx.h:222
int esp_sdr_rx_set_lpf(int code)
Select a raw low-pass filter capacitor code.
int esp_sdr_rx_capture_decimated(enum esp_sdr_rate rate, size_t count, unsigned int m, struct esp_sdr_iq16 *out, size_t max_out, size_t *n_out, uint64_t *first_ns)
Capture a burst and decimate it with a third order CIC filter.
int esp_sdr_rx_get_gain(void)
int esp_sdr_rx_gain_max(void)
size_t esp_sdr_rx_pack_iq10(const uint32_t *words, size_t count, uint8_t *out)
Pack raw words to the upstream packed 10-bit format.
int esp_sdr_rx_capture_bank(enum esp_sdr_rate rate, size_t count, int bank, struct esp_sdr_rx_burst *burst)
Capture one burst into a chosen bank, like esp_sdr_rx_capture().
void esp_sdr_rx_bandwidth_range(uint32_t *min, uint32_t *max)
Supported bandwidth range in MHz.
int esp_sdr_rx_capture(enum esp_sdr_rate rate, size_t count, struct esp_sdr_rx_burst *burst)
Capture one burst of complex samples.
int esp_sdr_rx_capture_folded(enum esp_sdr_rate rate, size_t count, unsigned int n, struct esp_sdr_iq16 *out, size_t max_out, size_t *n_out, uint64_t *first_ns)
Capture a burst and fold its spectrum by n: a power estimation mode.
int esp_sdr_rx_capture_iq(enum esp_sdr_rate rate, size_t count, struct esp_sdr_iq16 *out, uint64_t *first_ns)
Capture one burst and convert it to I/Q (raw units, -512 to 511) under the radio lock.
uint32_t esp_sdr_rx_rate_hz(enum esp_sdr_rate rate)
Definition esp_sdr_rx.h:47
uint32_t * words
Definition esp_sdr_rx.h:49
uint32_t elapsed_us
Definition esp_sdr_rx.h:53
size_t count
Definition esp_sdr_rx.h:51