9#ifndef OAKFIELD_SDR_OBSERVER_H
10#define OAKFIELD_SDR_OBSERVER_H
55#define SIM_SDR_OBSERVER_STATUS_MESSAGE_MAX 159U
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
Declarative complex-first operator splitting (substep expansion at plan time).
const char * sim_sdr_observer_fallback_reason_name(SimSdrObserverFallbackReason reason)
Return the schema name for an SDR fallback reason.
SimSdrObserverFallbackReason
Reason the observer most recently fell back from hardware input.
Definition sdr_observer.h:45
@ SIM_SDR_OBSERVER_FALLBACK_RTLSDR_DISABLED
Definition sdr_observer.h:47
@ SIM_SDR_OBSERVER_FALLBACK_BUFFER_ALLOCATION_FAILED
Definition sdr_observer.h:51
@ SIM_SDR_OBSERVER_FALLBACK_READ_FAILED
Definition sdr_observer.h:52
@ SIM_SDR_OBSERVER_FALLBACK_NONE
Definition sdr_observer.h:46
@ SIM_SDR_OBSERVER_FALLBACK_DEVICE_OPEN_FAILED
Definition sdr_observer.h:49
@ SIM_SDR_OBSERVER_FALLBACK_DEVICE_CONFIG_FAILED
Definition sdr_observer.h:50
SimResult sim_sdr_observer_config(struct SimContext *context, size_t operator_index, SimSdrObserverConfig *out_config)
Copy the current SDR observer configuration from a registered operator.
SimSdrObserverDemod
Demodulation mode applied to observed SDR IQ samples.
Definition sdr_observer.h:26
@ SIM_SDR_OBSERVER_DEMOD_PM
Definition sdr_observer.h:30
@ SIM_SDR_OBSERVER_DEMOD_AM
Definition sdr_observer.h:28
@ SIM_SDR_OBSERVER_DEMOD_RAW
Definition sdr_observer.h:27
@ SIM_SDR_OBSERVER_DEMOD_FM
Definition sdr_observer.h:29
SimResult sim_sdr_observer_update(struct SimContext *context, size_t operator_index, const SimSdrObserverConfig *config)
Replace the configuration of a registered experimental SDR observer.
SimResult sim_add_sdr_observer_operator(struct SimContext *context, const SimSdrObserverConfig *config, size_t *out_index)
Register an experimental SDR observer operator.
SimSdrObserverBackendMode
Active SDR sample backend.
Definition sdr_observer.h:36
@ SIM_SDR_OBSERVER_BACKEND_SYNTHETIC
Definition sdr_observer.h:38
@ SIM_SDR_OBSERVER_BACKEND_UNKNOWN
Definition sdr_observer.h:37
@ SIM_SDR_OBSERVER_BACKEND_RTL_SDR
Definition sdr_observer.h:39
const char * sim_sdr_observer_backend_mode_name(SimSdrObserverBackendMode mode)
Return the schema name for an SDR backend mode.
SimResult sim_sdr_observer_status(struct SimContext *context, size_t operator_index, SimSdrObserverStatus *out_status)
Copy runtime status from a registered experimental SDR observer.
Simulation runtime state.
Definition sim_context.h:70
Configuration for an SDR observer operator.
Definition sdr_observer.h:60
double bandwidth
Definition sdr_observer.h:67
double gain
Definition sdr_observer.h:64
bool scale_by_dt
Definition sdr_observer.h:71
double center_freq
Definition sdr_observer.h:62
double freq_offset
Definition sdr_observer.h:66
bool accumulate
Definition sdr_observer.h:70
int device_index
Definition sdr_observer.h:72
double sample_rate
Definition sdr_observer.h:63
SimSdrObserverDemod demod
Definition sdr_observer.h:65
bool normalize
Definition sdr_observer.h:69
size_t field_index
Definition sdr_observer.h:61
double amplitude
Definition sdr_observer.h:68
Runtime status snapshot for an SDR observer operator.
Definition sdr_observer.h:78
bool has_last_error
Definition sdr_observer.h:85
double effective_tuned_freq
Definition sdr_observer.h:86
size_t successful_read_count
Definition sdr_observer.h:87
bool has_successful_read
Definition sdr_observer.h:84
SimResult last_error_code
Definition sdr_observer.h:90
bool using_synthetic
Definition sdr_observer.h:83
int last_backend_error
Definition sdr_observer.h:91
SimSdrObserverBackendMode active_backend
Definition sdr_observer.h:79
size_t fallback_count
Definition sdr_observer.h:88
SimSdrObserverFallbackReason last_fallback_reason
Definition sdr_observer.h:80
bool device_open
Definition sdr_observer.h:82
bool rtl_sdr_enabled
Definition sdr_observer.h:81
size_t last_read_iq_bytes
Definition sdr_observer.h:89
char last_error_message[SIM_SDR_OBSERVER_STATUS_MESSAGE_MAX+1U]
Definition sdr_observer.h:93