34#ifndef ESP_SDR_ESP_SDR_DIAG_H_
35#define ESP_SDR_ESP_SDR_DIAG_H_
51#define ESP_SDR_DIAG_PINS 8U
54#define ESP_SDR_DIAG_BLOCK 8192U
57#define ESP_SDR_DIAG_RING 57344U
60#define ESP_SDR_DIAG_LSB_AUTO 0xffU
63#define ESP_SDR_DIAG_LSB_MAX 6U
89#define ESP_SDR_DIAG_DECIM_MIN 8U
90#define ESP_SDR_DIAG_DECIM_MAX 255U
138 uint32_t
isrs, dma_raw, dw0[4];
int esp_sdr_diag_level(uint8_t *lsb)
The nibble window start that fits the current signal.
int esp_sdr_diag_run(const struct esp_sdr_diag_cfg *cfg, struct esp_sdr_diag_stats *stats)
Run the ring until the time is up, esp_sdr_diag_stop() or an overrun.
void esp_sdr_diag_armed_hook(void)
Bench hook: called by esp_sdr_diag_run() once the dump engine runs, before the pads and the ring star...
void(* esp_sdr_diag_sink_t)(void *user, const uint8_t *blk, size_t n, uint64_t index)
Definition esp_sdr_diag.h:75
void esp_sdr_diag_stop(void)
Ask a running esp_sdr_diag_run() to return.
bool esp_sdr_diag_active(void)
void(* esp_sdr_diag_iq_sink_t)(void *user, const int32_t *iq, size_t n, uint64_t index)
Definition esp_sdr_diag.h:86
Definition esp_sdr_diag.h:92
uint8_t clk_div
Definition esp_sdr_diag.h:98
const int8_t * pins
Definition esp_sdr_diag.h:94
uint8_t lsb
Definition esp_sdr_diag.h:96
uint32_t seconds
Definition esp_sdr_diag.h:102
esp_sdr_diag_sink_t sink
Definition esp_sdr_diag.h:104
bool falling_edge
Definition esp_sdr_diag.h:100
uint8_t decim
Definition esp_sdr_diag.h:110
esp_sdr_diag_iq_sink_t iq_sink
Definition esp_sdr_diag.h:112
Definition esp_sdr_diag.h:116
uint32_t isrs
Definition esp_sdr_diag.h:138
uint8_t lsb
Definition esp_sdr_diag.h:130
bool overrun
Definition esp_sdr_diag.h:126
int32_t ppm_x100
Definition esp_sdr_diag.h:128
uint32_t byte_rate
Definition esp_sdr_diag.h:134
uint32_t iq_rate
Definition esp_sdr_diag.h:136
uint32_t sink_cycles_x100
Definition esp_sdr_diag.h:132
uint64_t consumed
Definition esp_sdr_diag.h:120
uint32_t skips
Definition esp_sdr_diag.h:122
uint32_t skipped_blocks
Definition esp_sdr_diag.h:124
uint64_t bytes
Definition esp_sdr_diag.h:118