Spracherkennung für: .rst vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
.. SPDX-License-Identifier: GPL-
2.
0
The cx88 driver
===============
Author: Gerd Hoffmann
Documentation missing at the cx88 datasheet
-------------------------------------------
MO_OUTPUT_FORMAT (
0x310164)
.. code-block:: none
Previous default from DScaler:
0x1c1f0008
Digit
8:
31-
28
28: PREVREMOD =
1
Digit
7:
27-
24 (
0xc =
12 = b1100 )
27: COMBALT =
1
26: PAL_INV_PHASE
(DScaler apparently set this to
1, resulted in sucky picture)
Digits
6,
5:
23-
16
25-
16: COMB_RANGE =
0x1f [default] (
9 bits -> max
512)
Digit
4:
15-
12
15: DISIFX =
0
14: INVCBF =
0
13: DISADAPT =
0
12: NARROWADAPT =
0
Digit
3:
11-
8
11: FORCE2H
10: FORCEREMD
9: NCHROMAEN
8: NREMODEN
Digit
2:
7-
4
7-
6: YCORE
5-
4: CCORE
Digit
1:
3-
0
3: RANGE =
1
2: HACTEXT
1: HSFMT
0x47 is the sync byte for MPEG-
2 transport stream packets.
Datasheet incorrectly states to use
47 decimal.
188 is the length.
All DVB compliant frontends output packets with this start code.
Hauppauge WinTV cx88 IR information
-----------------------------------
The controls for the mux are GPIO [
0,
1] for source, and GPIO
2 for muting.
====== ======== =================================================
GPIO0 GPIO1
====== ======== =================================================
0 0 TV Audio
1 0 FM radio
0 1 Line-In
1 1 Mono tuner bypass or CD passthru (tuner specific)
====== ======== =================================================
GPIO
16(I believe) is tied to the IR port (if present).
From the data sheet:
- Register
24'h20004 PCI Interrupt Status
- bit [
18] IR_SMP_INT Set when
32 input samples have been collected over
- gpio[
16] pin into GP_SAMPLE register.
What's missing from the data sheet:
- Setup
4KHz sampling rate (roughly
2x oversampled; good enough for our RC5
compat remote)
- set register
0x35C050 to
0xa80a80
- enable sampling
- set register
0x35C054 to
0x5
- enable the IRQ bit
18 in the interrupt mask register (and
provide for a handler)
GP_SAMPLE register is at
0x35C058
Bits are then right shifted into the GP_SAMPLE register at the specified
rate; you get an interrupt when a full DWORD is received.
You need to recover the actual RC5 bits out of the (oversampled) IR sensor
bits. (Hint: look for the
0/
1and
1/
0 crossings of the RC5 bi-phase data) An
actual raw RC5 code will span
2-
3 DWORDS, depending on the actual alignment.
I'm pretty sure when no IR signal is present the receiver is always in a
marking state(
1); but stray light, etc can cause intermittent noise values
as well. Remember, this is a free running sample of the IR receiver state
over time, so don't assume any sample starts at any particular place.
Additional info
~~~~~~~~~~~~~~~
This data sheet (google search) seems to have a lovely description of the
RC5 basics:
http://www.atmel.com/dyn/resources/prod_documents/doc2817.pdf
This document has more data:
http://www.nenya.be/beor/electronics/rc5.htm
This document has a how to decode a bi-phase data stream:
http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt
This document has still more info:
http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm