-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
39 lines (27 loc) · 1.38 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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