GithubHelp home page GithubHelp logo

karry / libcec Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pulse-eight/libcec

0.0 3.0 0.0 5.33 MB

USB CEC Adapter communication Library http://libcec.pulse-eight.com/

License: Other

Shell 0.69% C++ 77.14% C 2.12% C# 20.04%

libcec's Introduction

This library provides support for the Pulse-Eight USB-CEC adapter.

You can find a list of frequently asked questions on the following page:
                    http://libcec.pulse-eight.com/faq

===============================================================================
                             === Linux & BSD ===
===============================================================================

libCEC needs the following dependencies in order to work correctly:
* udev v151 or later
* cdc-acm support compiled into the kernel or available as module
* liblockdev 1.0 or later

To compile libCEC on Linux, you'll need the following dependencies:
* autoconf 2.13 or later
* automake 1.11 or later
* libtool
* gcc 4.2 or later
* liblockdev 1.0 development headers

The following dependencies are recommended. Without them, the adapter can not
be auto-detected.
* pkg-config
* udev development headers v151 or later

To compile, execute the following commands:
# ./bootstrap 
# ./configure
# make
# sudo make install

===============================================================================
                                === OS-X ===
===============================================================================

To compile libCEC on OS-X, you'll need the following dependencies:
* autoconf 2.13 or later
* automake 1.11 or later
* pkg-config
* xcode 3.2.6 or later

To compile, execute the following command:
# ./bootstrap 
# ./configure
# make
# sudo make install

# Note: You may need to copy pkg.m4 to your m4 sources directory

===============================================================================
                              === Windows ===
===============================================================================

To compile libCEC on Windows, you'll need Visual Studio 2012 and Visual Studio
or Visual C++ 2008. The latter is needed to build LibCecSharp for .Net
Framework 2.0.

The adapter detection code needs the Windows DDK (Driver Development Kit).

To create an installer, you'll need Nullsoft's NSIS.

To compile libCEC, follow these instructions:
* open /project/libcec.sln with Visual Studio 2012.
* build the project.

To build an installer on Windows:
* download and install NSIS.
* go to /project and execute create-installer.bat to create the installer.
* the installer is stored as /build/libCEC-installer.exe

===============================================================================
                           === Raspberry Pi ===
===============================================================================

We've included a script that builds libCEC with support for the Raspberry Pi
in /project/RPi/build.sh. This script pulls in the latest toolchain and
firmware, builds the necessary dependencies, and finally builds libCEC. The
result will be a softfp build.

To build libCEc on your development machine, follow these instructions:
* run '/project/RPi/build.sh /desired/destination/path/for/binaries'
* run 'make install'

To build libCEC on the Pi itself, just follow the instructions for Linux.
The configure script automatically checks whether the required headers and
libraries can be found.

To specify the path of the Raspberry Pi's development headers, use the
following option for 'configure':
--with-rpi-include-path="/path/to/opt/vc/include"

To specify the path of the Raspberry Pi's libraries, use the following option
for 'configure':
--with-rpi-lib-path="/path/to/libbcm_host.so"

===============================================================================
                           === CuBox / TDA995x ===
===============================================================================

Solid-Run's CuBox uses a combined HDMI tranceiver / CEC controller by NXP. The
device driver for it is based on an SDK by the chip vendor and is compiled into
the Linux kernel. The following options for 'configure' have been introduced:

To enable support for the CuBox / TDA995x:
--enable-tda995x

To specify the path to the SDK part of the kernel driver:
--with-tda995x-toolkit-path='path/to/linux/drivers/video/dovefb/nxp_hdmi'

If the toolkit path is not specified, it is assumed that a directory named
'nxp_hdmi' (or a link to it) exists in the top level of the source tree.

===============================================================================
                            === Debugging / Testing ===
===============================================================================

To compile libCEC with extensive debugging output, pass the following argument
to configure on Linux/OS-X/BSD:
--enable-debug

We provide a test client, named cec-client, to debug the device.
To check whether the device can be detected, execute the following command:
* cec-client -l

"cec-client -h" shows a list of commands and options that are available.

===============================================================================
                              === Developers ===
===============================================================================

We provide a C, C++ and .NET CLR interface to the adapter.

C++ developers:
* the API can be found in /include/cec.h
* an example implementation can be found in /src/testclient/main.cpp

C developers:
* the API can be found in /include/cecc.h

.NET developers:
* add a reference to LibCecSharp.dll
* an example can be found in \src\CecSharpTester\CecSharpClient.cs

===============================================================================
                        === Developers Agreement ===
===============================================================================

If you wish to contribute to this project, you must first sign our contributors
agreement. Please see http://www.pulse-eight.net/contributors for more
information.

libcec's People

Contributors

bobo1on1 avatar davilla avatar finson avatar ghuron avatar jmarcet avatar kingosticks avatar ksooo avatar linuxstb avatar malard avatar mark-kendall avatar memphiz avatar mk01 avatar nedimlisica avatar obruni avatar opdenkamp avatar p8-jenkins avatar popcornmix avatar rbalint avatar warped-rudi avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.