Crates.io | libdvb |
lib.rs | libdvb |
version | 0.3.1 |
source | src |
created_at | 2021-01-20 12:11:36.794264 |
updated_at | 2024-10-18 07:02:32.495866 |
description | Interface for DVB-API v5 devices in Linux |
homepage | |
repository | https://github.com/cesbo/libdvb |
max_upload_size | |
id | 344362 |
size | 81,743 |
libdvb is an interface library for DVB-API v5 devices in Linux.
Supports three types of delivery systems:
TODO:
Example DVB-S2 tune:
let cmdseq = vec![
DtvProperty::new(DTV_DELIVERY_SYSTEM, SYS_DVBS2),
DtvProperty::new(DTV_FREQUENCY, (11044 - 9750) * 1000),
DtvProperty::new(DTV_MODULATION, PSK_8),
DtvProperty::new(DTV_VOLTAGE, SEC_VOLTAGE_13),
DtvProperty::new(DTV_TONE, SEC_TONE_OFF),
DtvProperty::new(DTV_INVERSION, INVERSION_AUTO),
DtvProperty::new(DTV_SYMBOL_RATE, 27500 * 1000),
DtvProperty::new(DTV_INNER_FEC, FEC_AUTO),
DtvProperty::new(DTV_PILOT, PILOT_AUTO),
DtvProperty::new(DTV_ROLLOFF, ROLLOFF_35),
DtvProperty::new(DTV_TUNE, 0),
];
let fe = FeDevice::open_rw(0, 0)?;
fe.set_properties(&cmdseq)?;
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);