13个稳定版本 (4个主要版本)

4.0.3 2023年7月5日
4.0.0 2022年8月7日
3.0.0 2022年2月9日
2.0.1 2021年12月30日
0.2.1 2019年11月30日

硬件支持中排名第247


4个包中使用(通过cec-rs

GPL-2.0许可证

5MB
40K SLoC

C++ 15K SLoC // 0.1% comments C# 10K SLoC // 0.3% comments .NET Resource 7.5K SLoC // 0.1% comments Rust 4K SLoC // 0.0% comments Python 1.5K SLoC // 0.1% comments Batch 1K SLoC C 444 SLoC // 0.1% comments Visual Studio Project 368 SLoC Shell 243 SLoC // 0.1% comments SWIG 144 SLoC // 0.0% comments Visual Studio Solution 96 SLoC

包含(《DOS exe》, 1MB) p8-usbcec-bootloader-driver-installer.exe,(《DOS exe》, 1MB) p8-usbcec-bootloader-driver-installer.exe,(《DOS exe》, 620KB) p8-usbcec-driver-installer.exe,(《DOS exe》, 620KB) p8-usbcec-driver-installer.exe,(《Windows DLL, 68KB) libusb0.dll,(《Windows DLL, 68KB) vendor/support/windows/libusb0.dll

libcec-sys

Crates.io Docs.rs CI

libcec的FFI绑定

链接到系统libcec

该crate与libcec v4.x, v5.x和v6.x(撰写时的最新版本)兼容。在构建过程中,我们尝试使用pkg-config查找libcec系统库安装,并使用默认C编译器(cc crate)进行编译。作为备用方案,在构建过程中使用 vendored libcec(v6.x)。

或者,可以决定跳过上述逻辑,并通过启用vendored功能强制使用vendored源。

该crate主要与Linux和Windows兼容,但也可能与其他平台兼容。欢迎提交PR。

Linux(通用)

在Linux上,为了最方便的构建过程,建议在安装此crate之前从您的包发行版中安装pkg-configlibcec-dev(头文件和pkg-config配置)、libcec6(动态库)、libp8-platform-devlibp8-platform2。确切包名因发行版和包管理器而异。

此外可能还需要libudev-dev

对于基于debian的发行版,您可以简单地进行以下操作

sudo apt-get install libudev-dev libp8-platform2 libp8-platform-dev libcec-dev pkg-config libcec6

Raspberry Pi OS

如果您使用Raspberry Pi OS并希望使用内置的HDMI端口CEC,可能需要自己构建libcec,因为截至2022年,debian打包的libcec没有提供驱动程序

改编自libcec文档

# Remove libcec (since we are going to build it ourselves)
apt-get remove libcec6

# Install libcec build dependencies, but not libcec itself
sudo apt-get install libp8 platform-dev libp8-platform cmake libudev-dev libxrandr-dev python3-dev swig git

# Build libcec 6.0.2 with RPI CEC driver enabled
sudo rmdir -rf /tmp/libcec-build-tmp
sudo mkdir /tmp/libcec-build-tmp
sudo cd /tmp/libcec-build-tmp
sudo git clone --recursive https://github.com/Pulse-Eight/libcec.git
sudo cd libcec
sudo git checkout libcec-6.0.2
sudo mkdir build
sudo cd build
sudo cmake -DRPI_INCLUDE_DIR=/opt/vc/include -DRPI_LIB_DIR=/opt/vc/lib ..
sudo make -j4
sudo make install
sudo ldconfig

Windows

在Windows上,建议通过安装程序安装libcec,并将cec.dll添加到PATH环境变量中。

对于内部构建,libcec-sys将动态链接到编译好的cec.dll。这意味着您必须将编译好的动态库打包到独立的可执行文件中。

内部构建必备条件

  • Visual Studio 2019带有Desktop Development with C++Universal Windows Platform development
  • CMake 3.12+
  • Python 3.6+带有调试二进制文件

许可证

根据GNU通用公共许可证版本2许可(LICENSEhttps://opensource.org/licenses/GPL-2.0

.github/中的CI/CD设置基于rust-github/template,因此根据您的选择,许可协议为以下之一

由您选择。

贡献

除非您明确声明,否则您有意提交以包含在作品中并由您定义的任何贡献,根据Apache-2.0许可证,应如上双重许可,无任何附加条款或条件。

CONTRIBUTING.md

发布

cargo release --no-publish --execute并让github CD管道完成剩余工作。

依赖项