rtl433  UNKNOWN
RTL-433 utility
r_api.h
Go to the documentation of this file.
1 
12 #ifndef INCLUDE_R_API_H_
13 #define INCLUDE_R_API_H_
14 
15 #include <stdint.h>
16 
17 struct r_cfg;
18 struct r_device;
19 struct data;
20 struct pulse_data;
21 struct list;
22 
23 /* general */
24 
25 char const *version_string(void);
26 
27 struct r_cfg *r_create_cfg(void);
28 
29 void r_init_cfg(struct r_cfg *cfg);
30 
31 void r_free_cfg(struct r_cfg *cfg);
32 
33 /* device decoder protocols */
34 
35 void update_protocol(struct r_cfg *cfg, struct r_device *r_dev);
36 
37 void register_protocol(struct r_cfg *cfg, struct r_device *r_dev, char *arg);
38 
39 void free_protocol(struct r_device *r_dev);
40 
41 void unregister_protocol(struct r_cfg *cfg, struct r_device *r_dev);
42 
43 void register_all_protocols(struct r_cfg *cfg, unsigned disabled);
44 
45 void update_protocols(struct r_cfg *cfg);
46 
47 /* output helper */
48 
49 void calc_rssi_snr(struct r_cfg *cfg, struct pulse_data *pulse_data);
50 
51 char *time_pos_str(struct r_cfg *cfg, unsigned samples_ago, char *buf);
52 
53 char const **well_known_output_fields(struct r_cfg *cfg);
54 
55 char const **determine_csv_fields(struct r_cfg *cfg, char const **well_known, int *num_fields);
56 
57 int run_ook_demods(struct list *r_devs, struct pulse_data *pulse_data);
58 
59 int run_fsk_demods(struct list *r_devs, struct pulse_data *fsk_pulse_data);
60 
61 /* handlers */
62 
63 void event_occurred_handler(struct r_cfg *cfg, struct data *data);
64 
65 void data_acquired_handler(struct r_device *r_dev, struct data *data);
66 
67 struct data *create_report_data(struct r_cfg *cfg, int level);
68 
69 void flush_report_data(struct r_cfg *cfg);
70 
71 /* setup */
72 
73 void add_json_output(struct r_cfg *cfg, char *param);
74 
75 void add_csv_output(struct r_cfg *cfg, char *param);
76 
77 void add_kv_output(struct r_cfg *cfg, char *param);
78 
79 void add_mqtt_output(struct r_cfg *cfg, char *param);
80 
81 void add_syslog_output(struct r_cfg *cfg, char *param);
82 
83 void add_null_output(struct r_cfg *cfg, char *param);
84 
85 void start_outputs(struct r_cfg *cfg, char const **well_known);
86 
87 void add_dumper(struct r_cfg *cfg, char const *spec, int overwrite);
88 
89 void add_infile(struct r_cfg *cfg, char *in_file);
90 
91 /* runtime */
92 
93 //void set_center_freq(struct r_cfg *cfg, uint32_t center_frequency);
94 
95 //void set_sample_rate(struct r_cfg *cfg, uint32_t samp_rate);
96 
97 #endif /* INCLUDE_R_API_H_ */
void add_null_output(struct r_cfg *cfg, char *param)
Definition: r_api.c:858
int run_fsk_demods(struct list *r_devs, struct pulse_data *fsk_pulse_data)
Definition: r_api.c:419
void register_protocol(struct r_cfg *cfg, struct r_device *r_dev, char *arg)
Definition: r_api.c:159
void add_mqtt_output(struct r_cfg *cfg, char *param)
Definition: r_api.c:838
struct data * create_report_data(struct r_cfg *cfg, int level)
Definition: r_api.c:710
Data for a compact representation of generic pulse train.
Definition: pulse_detect.h:28
int run_ook_demods(struct list *r_devs, struct pulse_data *pulse_data)
Definition: r_api.c:373
struct r_cfg * r_create_cfg(void)
Definition: r_api.c:95
void r_init_cfg(struct r_cfg *cfg)
Definition: r_api.c:74
void start_outputs(struct r_cfg *cfg, char const **well_known)
Definition: r_api.c:821
void unregister_protocol(struct r_cfg *cfg, struct r_device *r_dev)
Definition: r_api.c:192
void update_protocol(struct r_cfg *cfg, struct r_device *r_dev)
Definition: r_api.c:140
void add_syslog_output(struct r_cfg *cfg, char *param)
Definition: r_api.c:848
void free_protocol(struct r_device *r_dev)
Definition: r_api.c:185
char const ** determine_csv_fields(struct r_cfg *cfg, char const **well_known, int *num_fields)
Definition: r_api.c:347
void add_infile(struct r_cfg *cfg, char *in_file)
Definition: r_api.c:894
void r_free_cfg(struct r_cfg *cfg)
Definition: r_api.c:108
void calc_rssi_snr(struct r_cfg *cfg, struct pulse_data *pulse_data)
Definition: r_api.c:225
void event_occurred_handler(struct r_cfg *cfg, struct data *data)
Pass the data structure to all output handlers.
Definition: r_api.c:456
Device protocol decoder struct.
Definition: r_device.h:41
char * time_pos_str(struct r_cfg *cfg, unsigned samples_ago, char *buf)
Definition: r_api.c:245
static r_cfg_t cfg
Definition: rtl_433.c:1007
void data_acquired_handler(struct r_device *r_dev, struct data *data)
Pass the data structure to all output handlers.
Definition: r_api.c:474
void add_json_output(struct r_cfg *cfg, char *param)
Definition: r_api.c:811
Dynamically growing list, elems is always NULL terminated, call list_ensure_size() to alloc elems...
Definition: list.h:18
void add_dumper(struct r_cfg *cfg, char const *spec, int overwrite)
Definition: r_api.c:863
char const * version_string(void)
Definition: r_api.c:48
void add_kv_output(struct r_cfg *cfg, char *param)
Definition: r_api.c:833
char const ** well_known_output_fields(struct r_cfg *cfg)
Definition: r_api.c:281
void add_csv_output(struct r_cfg *cfg, char *param)
Definition: r_api.c:816
Definition: rtl_433.h:48
void register_all_protocols(struct r_cfg *cfg, unsigned disabled)
Definition: r_api.c:203
void update_protocols(struct r_cfg *cfg)
Definition: r_api.c:213
Definition: data.h:58
void flush_report_data(struct r_cfg *cfg)
Definition: r_api.c:773