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)
5MB
40K 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
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-config
、libcec-dev
(头文件和pkg-config配置)、libcec6
(动态库)、libp8-platform-dev
和libp8-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许可(LICENSE或https://opensource.org/licenses/GPL-2.0)
.github/
中的CI/CD设置基于rust-github/template,因此根据您的选择,许可协议为以下之一
- Apache License,版本2.0(LICENSE-CI-APACHE或http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-CI-MIT或http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则您有意提交以包含在作品中并由您定义的任何贡献,根据Apache-2.0许可证,应如上双重许可,无任何附加条款或条件。
发布
cargo release --no-publish --execute
并让github CD管道完成剩余工作。