Crates.io | libdvb-rs |
lib.rs | libdvb-rs |
version | 0.4.5 |
source | src |
created_at | 2022-03-19 21:22:35.728787 |
updated_at | 2022-03-30 17:31:52.577784 |
description | Safer and feature-complete pure-Rust interface for DVB-API v5 devices in Linux |
homepage | |
repository | https://github.com/cesbo/libdvb |
max_upload_size | |
id | 553334 |
size | 96,365 |
libdvb is an interface library for DVB-API v5 devices in Linux.
Supports three types of delivery systems:
TODO:
Example DVB-S2 tune:
let fe = FeDevice::open_rw(0, 0)?;
set_dtv_properties!(
fe,
DTV_DELIVERY_SYSTEM(SYS_DVBS2),
DTV_FREQUENCY((11044 - 9750) * 1000),
DTV_MODULATION(PSK_8),
DTV_VOLTAGE(SEC_VOLTAGE_13),
DTV_TONE(SEC_TONE_OFF),
DTV_INVERSION(INVERSION_AUTO),
DTV_SYMBOL_RATE(27500 * 1000),
DTV_INNER_FEC(FEC_AUTO),
DTV_PILOT(PILOT_AUTO),
DTV_ROLLOFF(ROLLOFF_35),
DTV_TUNE(()),
)?;
Frontend information:
let fe = FeDevice::open_ro(0, 0)?;
println!("{}", &fe);
Frontend status:
let fe = FeDevice::open_ro(0, 0)?;
let mut status = FeStatus::default();
status.read(&fe)?;
println!("{}", &status);