libdvb

libdvb is an interface library for DVB-API v5 devices in Linux.

Supports three types of delivery systems:

TODO:

FeDevice

Example DVB-S2 tune:

```rust let cmdseq = vec![ DtvProperty::new(DTVDELIVERYSYSTEM, SYSDVBS2), DtvProperty::new(DTVFREQUENCY, (11044 - 9750) * 1000), DtvProperty::new(DTVMODULATION, PSK8), DtvProperty::new(DTVVOLTAGE, SECVOLTAGE13), DtvProperty::new(DTVTONE, SECTONEOFF), DtvProperty::new(DTVINVERSION, INVERSIONAUTO), DtvProperty::new(DTVSYMBOLRATE, 27500 * 1000), DtvProperty::new(DTVINNERFEC, FECAUTO), DtvProperty::new(DTVPILOT, PILOTAUTO), DtvProperty::new(DTVROLLOFF, ROLLOFF35), DtvProperty::new(DTVTUNE, 0), ];

let fe = FeDevice::openrw("/dev/dvb/adapter0/frontend0")?; fe.ioctlset_property(&cmdseq)?; ```

Frontend information:

rust let fe = FeDevice::open_rd("/dev/dvb/adapter0/frontend0")?; println!("{}", &fe);

Frontend status:

rust let fe = FeDevice::open_rd("/dev/dvb/adapter0/frontend0")?; let mut status = FeStatus::default(); status.read(&fe)?; println!("{}", &status.display(1));