Is this a bug, I find some registers setup (which seems static so we
can't freely work with the registers, all predefined for us), are off
in the values allowed. For example the "VBI1_FIFO_MODE" register, or
bits of register 0x457, specifically bits 4-6 on page 217 of the cx25840
datasheet. This should be 0x08 for CC mode, but you can't set it to
0x08, shown in the code below...
echo 'VBI1_FIFO_MODE=0x08'|cx25840ctl -s
It actually sets to 0x00 instead, looking below you will see the code in
"cx25840-registers.c" at line 4125 which shows the setup for this
register, all looks correct, starts at bit 4 and 3 bits long, but I have to
set it to 4 bits long to get it to allow 0x08 as a setting.
DEFINE_SETTING_ENTRY("VBI1_FORMAT_TYPE", VBI_Custom_1_Miscellaneous, 0,
4, RW, 0x0006, VBI1_FORMAT_TYPE_value_map,
"Specifies basic VBI decoding model. Find the
standard format"),
DEFINE_SETTING_ENTRY("VBI1_FIFO_MODE", VBI_Custom_1_Miscellaneous, 4, 3,
RW, 0x0008, VBI1_FIFO_MODE_value_map,
"Determines which payload FIFO is loaded."),
DEFINE_SETTING_ENTRY("VBI1_HAM_EN", VBI_Custom_1_Miscellaneous, 7, 1,
RW, 0x0000, 0,
"Enable hamming comparison for framing comparison
when"),
So what is the
deal here, I also notice for other registers the value listings seem wrong,
like the VBI_MD_LINE1_value_map at line 2326 of the same file, says CC is
{0x0048, "CC525"},, when according to the datasheet it is actually 0x66 to
set a line to CC. Is the integrity of the static register code bad? I am
not happy with the way the driver is programmed being very ambiguous and
not open to us developing on top of this code easily, little help has been
given, it looks like an actually great interface and rather advanced, if it
is solid, else we need help changing it, which there's some dynamic generation
of code we need access to (Ulf???). I really am trying to do some work for
CC with that code right now, but it's an uphill battle using code which I
can't tell how true it is and like an API in front of actual register control,
and I only have the data sheet with raw register values to work from, so
need either the dynamic generation code for the register values, and help
figuring out why values are as they are, or else some light on why it's done
this way (I had hoped for some collaboration for this, but it was closed till
release and sprung upon me to replace the old code completely, hence I haven't
been really able to get back on track and make progress for the newer cards).
Thanks,
Chris
Thanks,
Chris
--
---
Chris Kennedy / [EMAIL PROTECTED]
Engineer KMOS-TV/KTBG-FM
Broadcasting Services Department
Central Missouri State University
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
ivtv-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ivtv-devel