Skip to content

pekkanikander/MacCEC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Mac OS X CEC implementation, in plain C.

This is a partial implementation of the HMDI CEC 1.3a, the latest public
version.  This software has not been tested with standards
conformance, so it may or may not work for you.  In any case, it does
not implement the full protocol, just a minimal subset.

This may or may not work with the Pulse-Eight USB-CEC Adapter, an
inexpensive CEC-to-USB adapter.  It has been tested with firmware
version 00 02, and is unlike to work with any other version.

This software has been mostly placed in public domain.  Hence, for the
most part, you may use it in any way you deem approriate, without
needing to consider any copyright.

Note, however, that a few files explicitly contain a distinct copyright
notice, due to having been derived from earlier, GPL-licensed and
copyrighted code.

Design goals
------------

Simple: No threads, no dynamic memory management, no global variables.
All data structures must be allocated and maintaned by the caller.

Structured to make porting easy.

Layered architecture without circular dependencies:

CEC:              TBD

CEC adaptation:   cec_rx, cec_tx, cec_rx_error, cec_tx_error

P8 upper layer:   p8_command, p8_cec_rx, p8_cec_tx, p8_error
P8 Dispatch:      p8_dispatch
P8 framing:       p8_codes, p8_frame, p8_frame_error
Serial I/O:       p8_io, p8_io_unix, p8_detect_apple

Frame & dispatch: proto, proto_dispatch

About

A minimal HDMI CEC implementation for the MacMini

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published