rtl433  UNKNOWN
RTL-433 utility
rtl_433.c File Reference

rtl_433, turns your Realtek RTL2832 based DVB dongle into a 433.92MHz generic data receiver. More...

Functions

r_deviceflex_create_device (char *spec)
 
static void print_version (void)
 
static void usage (int exit_code)
 
static void help_protocols (r_device *devices, unsigned num_devices, int exit_code)
 
static void help_device (void)
 
static void help_gain (void)
 
static void help_output (void)
 
static void help_meta (void)
 
static void help_read (void)
 
static void help_write (void)
 
static void sdr_callback (unsigned char *iq_buf, uint32_t len, void *ctx)
 
static int hasopt (int test, int argc, char *argv[], char const *optstring)
 
static void parse_conf_option (r_cfg_t *cfg, int opt, char *arg)
 
static void parse_conf_text (r_cfg_t *cfg, char *conf)
 
static void parse_conf_file (r_cfg_t *cfg, char const *path)
 
static void parse_conf_try_default_files (r_cfg_t *cfg)
 
static void parse_conf_args (r_cfg_t *cfg, int argc, char *argv[])
 
BOOL WINAPI sighandler (int signum)
 
int main (int argc, char **argv)
 

Variables

static struct conf_keywords const conf_keywords []
 
static r_cfg_t cfg
 

Detailed Description

rtl_433, turns your Realtek RTL2832 based DVB dongle into a 433.92MHz generic data receiver.

Copyright (C) 2012 by Benjamin Larsson benja.nosp@m.min@.nosp@m.south.nosp@m.pole.nosp@m..se

Based on rtl_sdr Copyright (C) 2012 by Steve Markgraf steve.nosp@m.@ste.nosp@m.ve-m..nosp@m.de

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.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Function Documentation

◆ flex_create_device()

◆ hasopt()

static int hasopt ( int  test,
int  argc,
char *  argv[],
char const *  optstring 
)
static

References cfg, getopt(), optind, optopt, and parse_conf_option().

Referenced by main().

◆ help_device()

static void help_device ( void  )
static

Referenced by parse_conf_option().

◆ help_gain()

static void help_gain ( void  )
static

Referenced by parse_conf_option().

◆ help_meta()

static void help_meta ( void  )
static

Referenced by parse_conf_option().

◆ help_output()

static void help_output ( void  )
static

Referenced by parse_conf_option().

◆ help_protocols()

static void help_protocols ( r_device devices,
unsigned  num_devices,
int  exit_code 
)
static

References r_device::disabled.

Referenced by parse_conf_option().

◆ help_read()

static void help_read ( void  )
static

Referenced by parse_conf_option().

◆ help_write()

static void help_write ( void  )
static

Referenced by parse_conf_option().

◆ main()

int main ( int  argc,
char **  argv 
)

References add_infile(), add_kv_output(), dm_state::am_analyze, am_analyze_classify(), baseband_init(), r_cfg::center_frequency, CF32_IQ, create_report_data(), CU8_IQ, r_cfg::demod, r_cfg::dev, r_cfg::dev_query, r_cfg::devices, r_cfg::do_exit, r_cfg::duration, list::elems, dm_state::enable_FM_demod, event_occurred_handler(), file_info_string(), flush_report_data(), file_info_t::format, r_cfg::frequencies, samp_grab::frequency, am_analyze::frequency, r_cfg::frequency, r_cfg::frequency_index, FSK_DEMOD_MIN_VAL, pulse_data::fsk_f2_est, r_cfg::gain_str, hasopt(), r_cfg::hop_start_time, r_cfg::hop_time, r_cfg::hop_times, r_cfg::in_filename, r_cfg::in_files, list::len, am_analyze::level_limit, dm_state::level_limit, dm_state::load_info, r_device::modulation, r_device::name, r_cfg::new_model_keys, r_cfg::no_default_devices, pulse_data::num_pulses, r_cfg::num_r_devices, optind, r_cfg::out_block_size, r_cfg::output_handler, parse_conf_args(), parse_conf_try_default_files(), parse_file_info(), file_info_t::path, r_cfg::ppm_error, print_version(), r_device::protocol_num, dm_state::pulse_data, pulse_data_load(), pulse_demod_string(), dm_state::pulse_detect, pulse_detect_create(), PULSE_OOK, dm_state::r_devs, r_free_cfg(), r_init_cfg(), register_all_protocols(), r_cfg::report_stats, r_cfg::report_time, REPORT_TIME_DATE, REPORT_TIME_DEFAULT, REPORT_TIME_SAMPLES, r_cfg::report_time_utc, run_fsk_demods(), run_ook_demods(), S16_AM, S16_FM, dm_state::samp_grab, samp_grab::samp_rate, am_analyze::samp_rate, r_cfg::samp_rate, dm_state::sample_file_pos, samp_grab::sample_size, am_analyze::sample_size, dm_state::sample_size, sdr_activate(), sdr_apply_settings(), sdr_callback(), sdr_open(), sdr_reset(), sdr_set_center_freq(), sdr_set_freq_correction(), sdr_set_sample_rate(), sdr_set_tuner_gain(), sdr_start(), r_cfg::settings_str, sighandler(), start_outputs(), r_cfg::stop_time, r_cfg::test_data, update_protocols(), r_cfg::verbosity, and well_known_output_fields().

◆ parse_conf_args()

static void parse_conf_args ( r_cfg_t cfg,
int  argc,
char *  argv[] 
)
static

References getopt(), optarg, optind, optopt, and parse_conf_option().

Referenced by main().

◆ parse_conf_file()

static void parse_conf_file ( r_cfg_t cfg,
char const *  path 
)
static

◆ parse_conf_option()

static void parse_conf_option ( r_cfg_t cfg,
int  opt,
char *  arg 
)
static

References add_csv_output(), add_dumper(), add_infile(), add_json_output(), add_kv_output(), add_mqtt_output(), add_null_output(), add_syslog_output(), r_cfg::after_successful_events_flag, dm_state::am_analyze, am_analyze_create(), dm_state::analyze_pulses, arg_param(), atobv(), atoi_time(), atoiv(), atouint32_metric(), r_cfg::bytes_to_read, r_cfg::conversion_mode, CONVERT_CUSTOMARY, CONVERT_NATIVE, CONVERT_SI, r_cfg::demod, r_cfg::dev_query, r_cfg::devices, r_device::disabled, r_cfg::duration, flex_create_device(), free_protocol(), r_cfg::frequencies, r_cfg::frequency, r_cfg::gain_str, r_cfg::grab_mode, help_device(), help_gain(), help_meta(), help_output(), help_protocols(), help_read(), help_write(), r_cfg::hop_time, r_cfg::hop_times, dm_state::level_limit, list_clear(), r_cfg::new_model_keys, r_cfg::no_default_devices, r_cfg::num_r_devices, r_cfg::out_block_size, r_cfg::output_tag, am_analyze::override_long, am_analyze::override_short, parse_conf_file(), r_cfg::ppm_error, dm_state::r_devs, register_all_protocols(), register_protocol(), r_cfg::report_description, r_cfg::report_meta, r_cfg::report_protocol, r_cfg::report_stats, r_cfg::report_time, REPORT_TIME_DATE, r_cfg::report_time_hires, REPORT_TIME_ISO, REPORT_TIME_OFF, REPORT_TIME_SAMPLES, REPORT_TIME_UNIX, r_cfg::report_time_utc, dm_state::samp_grab, samp_grab_create(), r_cfg::samp_rate, r_cfg::settings_str, r_cfg::stats_interval, r_cfg::stats_time, r_cfg::test_data, unregister_protocol(), usage(), r_cfg::verbose_bits, and r_cfg::verbosity.

Referenced by hasopt(), parse_conf_args(), and parse_conf_text().

◆ parse_conf_text()

static void parse_conf_text ( r_cfg_t cfg,
char *  conf 
)
static

References getconf(), and parse_conf_option().

Referenced by parse_conf_file().

◆ parse_conf_try_default_files()

static void parse_conf_try_default_files ( r_cfg_t cfg)
static

◆ print_version()

static void print_version ( void  )
static

References version_string().

Referenced by main().

◆ sdr_callback()

static void sdr_callback ( unsigned char *  iq_buf,
uint32_t  len,
void *  ctx 
)
static

References r_cfg::after_successful_events_flag, dm_state::am_analyze, am_analyze(), dm_state::am_buf, dm_state::analyze_pulses, baseband_demod_FM(), baseband_demod_FM_cs16(), baseband_low_pass_filter(), dm_state::buf, r_cfg::bytes_to_read, calc_rssi_snr(), CF32_IQ, cfg, create_report_data(), CS16_IQ, CS8_IQ, CU8_IQ, data_output_poll(), r_cfg::demod, dm_state::demod_FM_state, r_cfg::dev, r_cfg::do_exit, r_cfg::do_exit_async, dm_state::dumper, r_cfg::duration, list::elems, dm_state::enable_FM_demod, pulse_data::end_ago, envelope_detect(), event_occurred_handler(), F32_AM, dm_state::f32_buf, F32_FM, F32_I, F32_Q, file_info_t::file, flush_report_data(), dm_state::fm, file_info_t::format, dm_state::frame_end_ago, dm_state::frame_event_count, dm_state::frame_start_ago, r_cfg::frames_count, r_cfg::frames_events, r_cfg::frames_fsk, r_cfg::frequencies, r_cfg::frequency_index, dm_state::fsk_pulse_data, get_time_now(), r_cfg::grab_mode, r_cfg::hop_start_time, r_cfg::hop_time, r_cfg::hop_times, r_cfg::input_pos, list::len, dm_state::level_limit, dm_state::load_info, dm_state::lowpass_filter_state, magnitude_est_cs16(), dm_state::now, r_cfg::output_handler, pulse_analyzer(), dm_state::pulse_data, pulse_data_dump(), pulse_data_dump_raw(), PULSE_DATA_FSK, PULSE_DATA_OOK, pulse_data_print(), pulse_data_print_vcd(), dm_state::pulse_detect, pulse_detect_package(), PULSE_OOK, dm_state::r_devs, r_cfg::report_stats, run_fsk_demods(), run_ook_demods(), S16_AM, S16_FM, dm_state::samp_grab, samp_grab_push(), samp_grab_write(), r_cfg::samp_rate, dm_state::sample_size, sdr_stop(), pulse_data::start_ago, r_cfg::stats_interval, r_cfg::stats_now, r_cfg::stats_time, r_cfg::stop_time, dm_state::temp, time_pos_str(), dm_state::u8_buf, U8_LOGIC, VCD_LOGIC, and r_cfg::verbosity.

Referenced by main().

◆ sighandler()

static void sighandler ( int  signum)

◆ usage()

static void usage ( int  exit_code)
static

Referenced by parse_conf_option().

Variable Documentation

◆ cfg

◆ conf_keywords

struct conf_keywords const conf_keywords[]
static