22#ifndef __FOSPHOR_FOSPHOR_H__
23#define __FOSPHOR_FOSPHOR_H__
55#define FOSPHOR_MAX_CHANNELS 8
64#define FRO_LIVE (1<<0)
65#define FRO_MAX_HOLD (1<<1)
66#define FRO_HISTO (1<<2)
67#define FRO_WATERFALL (1<<3)
68#define FRO_LABEL_FREQ (1<<4)
69#define FRO_LABEL_PWR (1<<5)
70#define FRO_LABEL_TIME (1<<6)
71#define FRO_CHANNELS (1<<7)
72#define FRO_COLOR_SCALE (1<<8)
void fosphor_set_power_range(struct fosphor *self, int db_ref, int db_per_div)
int fosphor_pwr2pos(struct fosphor *self, struct fosphor_render *render, float pwr)
void fosphor_set_fft_window(struct fosphor *self, float *win)
void fosphor_draw(struct fosphor *self, struct fosphor_render *render)
void fosphor_render_defaults(struct fosphor_render *render)
int fosphor_pos2samp(struct fosphor *self, struct fosphor_render *render, int y)
int fosphor_samp2pos(struct fosphor *self, struct fosphor_render *render, int time)
void fosphor_set_fft_window_default(struct fosphor *self)
void fosphor_set_frequency_range(struct fosphor *self, double center, double span)
void fosphor_release(struct fosphor *self)
float fosphor_pos2pwr(struct fosphor *self, struct fosphor_render *render, int y)
struct fosphor * fosphor_init(void)
double fosphor_pos2freq(struct fosphor *self, struct fosphor_render *render, int x)
int fosphor_process(struct fosphor *self, void *samples, int len)
#define FOSPHOR_MAX_CHANNELS
Definition: fosphor.h:55
int fosphor_render_pos_inside(struct fosphor_render *render, int x, int y)
void fosphor_render_refresh(struct fosphor_render *render)
int fosphor_freq2pos(struct fosphor *self, struct fosphor_render *render, double freq)
int enabled
Showed (1) or hidden (0)
Definition: fosphor.h:59
float width
Normalized bandwidth.
Definition: fosphor.h:61
float center
Normalized center frequency.
Definition: fosphor.h:60
fosphor render options
Definition: fosphor.h:76
float histo_wf_ratio
Ratio histogram/waterfall ]0,1[.
Definition: fosphor.h:83
float freq_center
Frequency zoom center ]0,1[.
Definition: fosphor.h:85
int _wf_pos
(private) Waterfall position
Definition: fosphor.h:93
float _x_label
(private) X location for labels
Definition: fosphor.h:97
float _y_histo_div
(private) Y histogram divisions height
Definition: fosphor.h:99
int width
Width
Definition: fosphor.h:80
float _y_histo[2]
(private) Y histogram endpoints
Definition: fosphor.h:100
float _y_wf[2]
(private) Y waterfall endpoints
Definition: fosphor.h:101
struct fosphor_channel channels[FOSPHOR_MAX_CHANNELS]
Displayed channels.
Definition: fosphor.h:90
float _x[2]
(private) X endpoints
Definition: fosphor.h:96
int pos_x
X origin (lower left corner)
Definition: fosphor.h:78
float freq_span
Frequency zoom span ]0,1].
Definition: fosphor.h:86
int pos_y
Y origin (lower left corner)
Definition: fosphor.h:79
float _y_label
(private) Y location for label
Definition: fosphor.h:102
int freq_n_div
Number of frequency divisions.
Definition: fosphor.h:84
int height
Height.
Definition: fosphor.h:81
float _x_div
(private) X divisions width
Definition: fosphor.h:95
int options
Options (See FRO_??? constants)
Definition: fosphor.h:82
float wf_span
Waterfall time zoom ]0,1].
Definition: fosphor.h:87
int db_per_div
Definition: private.h:59
double center
Definition: private.h:65
double span
Definition: private.h:66
int db_ref
Definition: private.h:58