rtl433  UNKNOWN
RTL-433 utility
r_api.c File Reference

Generic RF data receiver and decoder for ISM band devices using RTL-SDR and SoapySDR. More...

Functions

char const * version_string (void)
 
void r_init_cfg (r_cfg_t *cfg)
 
r_cfg_tr_create_cfg (void)
 
void r_free_cfg (r_cfg_t *cfg)
 
void update_protocol (r_cfg_t *cfg, r_device *r_dev)
 
void register_protocol (r_cfg_t *cfg, r_device *r_dev, char *arg)
 
void free_protocol (r_device *r_dev)
 
void unregister_protocol (r_cfg_t *cfg, r_device *r_dev)
 
void register_all_protocols (r_cfg_t *cfg, unsigned disabled)
 
void update_protocols (r_cfg_t *cfg)
 
void calc_rssi_snr (r_cfg_t *cfg, pulse_data_t *pulse_data)
 
char * time_pos_str (r_cfg_t *cfg, unsigned samples_ago, char *buf)
 
char const ** well_known_output_fields (r_cfg_t *cfg)
 
char const ** determine_csv_fields (r_cfg_t *cfg, char const **well_known, int *num_fields)
 
int run_ook_demods (list_t *r_devs, pulse_data_t *pulse_data)
 
int run_fsk_demods (list_t *r_devs, pulse_data_t *fsk_pulse_data)
 
void event_occurred_handler (r_cfg_t *cfg, data_t *data)
 Pass the data structure to all output handlers. More...
 
void data_acquired_handler (r_device *r_dev, data_t *data)
 Pass the data structure to all output handlers. More...
 
data_tcreate_report_data (r_cfg_t *cfg, int level)
 
void flush_report_data (r_cfg_t *cfg)
 
static FILE * fopen_output (char *param)
 
void add_json_output (r_cfg_t *cfg, char *param)
 
void add_csv_output (r_cfg_t *cfg, char *param)
 
void start_outputs (r_cfg_t *cfg, char const **well_known)
 
void add_kv_output (r_cfg_t *cfg, char *param)
 
void add_mqtt_output (r_cfg_t *cfg, char *param)
 
void add_syslog_output (r_cfg_t *cfg, char *param)
 
void add_null_output (r_cfg_t *cfg, char *param)
 
void add_dumper (r_cfg_t *cfg, char const *spec, int overwrite)
 
void add_infile (r_cfg_t *cfg, char *in_file)
 

Variables

static char const * well_known_default [15] = {0}
 

Detailed Description

Generic RF data receiver and decoder for ISM band devices using RTL-SDR and SoapySDR.

Copyright (C) 2019 Christian W. Zuckschwerdt zany@.nosp@m.triq.nosp@m..net

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Function Documentation

◆ add_csv_output()

void add_csv_output ( r_cfg_t cfg,
char *  param 
)

◆ add_dumper()

◆ add_infile()

void add_infile ( r_cfg_t cfg,
char *  in_file 
)

References r_cfg::in_files, and list_push().

Referenced by main(), and parse_conf_option().

◆ add_json_output()

void add_json_output ( r_cfg_t cfg,
char *  param 
)

◆ add_kv_output()

void add_kv_output ( r_cfg_t cfg,
char *  param 
)

◆ add_mqtt_output()

void add_mqtt_output ( r_cfg_t cfg,
char *  param 
)

◆ add_null_output()

void add_null_output ( r_cfg_t cfg,
char *  param 
)

References list_push(), and r_cfg::output_handler.

Referenced by parse_conf_option().

◆ add_syslog_output()

void add_syslog_output ( r_cfg_t cfg,
char *  param 
)

◆ calc_rssi_snr()

◆ create_report_data()

◆ data_acquired_handler()

◆ determine_csv_fields()

char const** determine_csv_fields ( r_cfg_t cfg,
char const **  well_known,
int *  num_fields 
)

◆ event_occurred_handler()

void event_occurred_handler ( r_cfg_t cfg,
data_t data 
)

Pass the data structure to all output handlers.

Frees data afterwards.

References data_free(), data_output_print(), data_prepend(), DATA_STRING, list::elems, list::len, r_cfg::output_handler, r_cfg::report_time, REPORT_TIME_OFF, and time_pos_str().

Referenced by main(), and sdr_callback().

◆ flush_report_data()

◆ fopen_output()

static FILE* fopen_output ( char *  param)
static

◆ free_protocol()

void free_protocol ( r_device r_dev)

◆ r_create_cfg()

r_cfg_t* r_create_cfg ( void  )

References cfg, and r_init_cfg().

◆ r_free_cfg()

◆ r_init_cfg()

◆ register_all_protocols()

void register_all_protocols ( r_cfg_t cfg,
unsigned  disabled 
)

◆ register_protocol()

◆ run_fsk_demods()

◆ run_ook_demods()

◆ start_outputs()

void start_outputs ( r_cfg_t cfg,
char const **  well_known 
)

◆ time_pos_str()

◆ unregister_protocol()

void unregister_protocol ( r_cfg_t cfg,
r_device r_dev 
)

◆ update_protocol()

◆ update_protocols()

void update_protocols ( r_cfg_t cfg)

◆ version_string()

char const* version_string ( void  )

Referenced by print_version().

◆ well_known_output_fields()

char const** well_known_output_fields ( r_cfg_t cfg)

Variable Documentation

◆ well_known_default

char const* well_known_default[15] = {0}
static