any way to disable error messages?
-
- Posts: 37
- Joined: Sun Feb 19, 2012 5:04 am
- Location:
- HTPC Specs:
any way to disable error messages?
hey all. i have a pci infinitv4 which has been nothing but headaches for well over a year. constant errors, on multiple computers, ive had the cable guys here several times, and ive been playing the ceton support ticket game for a year with no luck as of yet. basically the problem is losing service a lot and then getting these "no tv signal" errors from WMC. they make me choose either "cancel" or "recorded tv" to make them go away, and the computer is unusable until either one is picked. this happens whether im watching netflix, listening to music, or doing anything in WMC. since i havent been able to fix the actual problem i want to turn off error messages from WMC. is there any way possible to do this? i am still trying to fix the main problem with ceton thru there support system but in the mean time i need to get rid of these error messages before i lose my mind. again, this is not to complain about ceton or request ceton support, but specifically remove error messages from WMC to make this computer less rage inducing in the mean time. thanks.
-
- Posts: 5738
- Joined: Tue Jun 21, 2011 7:23 pm
- Location: Titusville, Florida, USA
- HTPC Specs:
-
- Posts: 3
- Joined: Fri Aug 31, 2012 7:23 pm
- Location:
- HTPC Specs:
What is your signal strength. I had the same problem but had to add an in-line power increaser (forget the technical name). I found that anything under +10dB is not sufficient for the ceton to work 100%. Since I added the devie I have had over 99% uptime.
- WhatHappend
- Posts: 69
- Joined: Mon Jun 06, 2011 8:00 pm
- Location:
- HTPC Specs:
That fix is for a different issue and has no effect on these recording popups. I don't know why Ceton quit all communications with me on my tickets about this. It is the most annoying thing. I bought a HDhomerun Prime and it never has this issue.barnabas1969 wrote:Just out of curiosity, have you tried this fix:
http://support.microsoft.com/kb/2708283
I am about to buy a 2nd HDHR Prime and leave these issues behind.
-
- Posts: 5738
- Joined: Tue Jun 21, 2011 7:23 pm
- Location: Titusville, Florida, USA
- HTPC Specs:
That's what I did, and my problems went away too.WhatHappend wrote:I bought a HDhomerun Prime and it never has this issue.
I am about to buy a 2nd HDHR Prime and leave these issues behind.
-
- Posts: 37
- Joined: Sun Feb 19, 2012 5:04 am
- Location:
- HTPC Specs:
thanks guys, ive been eyeballing the prime too because ive been reading it fixes all the ceton's issues, but i spent so much money on this card and the potential seems there... but it has been over a year of consistant errors. im almost ready to admit defeat. so disappointed.
what kind of signal booster did you get? i cant get a straight answer about these things out of anyone.
i did do 4-5 hotfixs recommended by ceton, they havent abandoned my tickets yet but the replys are getting more spaced out, i must say overall the support has been courteous but i dont think theres a fix for the issue to be found. so, self-bump - anyone know how to stop the "no tv signal" errors or shut them off? just have everything work or not work and not report the errors to me?
what kind of signal booster did you get? i cant get a straight answer about these things out of anyone.
i did do 4-5 hotfixs recommended by ceton, they havent abandoned my tickets yet but the replys are getting more spaced out, i must say overall the support has been courteous but i dont think theres a fix for the issue to be found. so, self-bump - anyone know how to stop the "no tv signal" errors or shut them off? just have everything work or not work and not report the errors to me?
-
- Posts: 10
- Joined: Sun Aug 28, 2011 5:21 pm
- Location:
- HTPC Specs:
I know this is slightly off topic, but I recently got a PPC EVO1-5-U/U drop amp and it has greatly improved my signal levels... Im also getting FAR fewer no tv signal errors..
You can get one off eBay for pretty cheap.
http://www.ebay.com/sch/i.html?_nkw=EVO1-5-U%2FP
Or get one for free from a cable tech if your nice like I was
You can get one off eBay for pretty cheap.
http://www.ebay.com/sch/i.html?_nkw=EVO1-5-U%2FP
Or get one for free from a cable tech if your nice like I was
-
- Posts: 5738
- Joined: Tue Jun 21, 2011 7:23 pm
- Location: Titusville, Florida, USA
- HTPC Specs:
My signal amplifier came free from my cable company. If you insist, they will install it for free. If memory serves, mine boosts the signal 7dB.
You've got nothing on me... I paid $525.00 on e-bay for my Ceton card because I didn't want to wait for the three-month backlog at the time (I was an early adopter). I sold it on e-bay for more than I paid for one of my HDHR Primes, so I wasn't too upset to see it go.
What are you signal levels? What about the SNR? Try it on several different channels to see how different frequencies affect it.
You've got nothing on me... I paid $525.00 on e-bay for my Ceton card because I didn't want to wait for the three-month backlog at the time (I was an early adopter). I sold it on e-bay for more than I paid for one of my HDHR Primes, so I wasn't too upset to see it go.
What are you signal levels? What about the SNR? Try it on several different channels to see how different frequencies affect it.
-
- Posts: 37
- Joined: Sun Feb 19, 2012 5:04 am
- Location:
- HTPC Specs:
tested at the wall, signal levels are -.05, ceton is reporting -18db. this is even with the wire going directly into the pc with no splitters or anything. i had cable company here a few times and they will not give me a signal amplifier because it tests correct at the wire coming into the house. i ended up having to pay for one and it should be on its way now... this is the last attempt im making with this card. i didnt pay $525 thankfully but i did take a $300 hit on this and i promise it still hurts.
-
- Posts: 5738
- Joined: Tue Jun 21, 2011 7:23 pm
- Location: Titusville, Florida, USA
- HTPC Specs:
Signal level can change with variations in frequency. The -.05 that you wrote about... is that what the cable tech told you? At what frequency was that? Typically, signal levels are lower in the upper frequencies. Have you tried tuning various channels on the Ceton, and see if you have low signal on some frequencies, and better signal on others? If so, you may need to ask your cable tech to "balance" the signals. He can do that up on the pole (or in the utility box near the street).
At $525.00, maybe now some people can understand why I was screaming so loud about my problems.
At $525.00, maybe now some people can understand why I was screaming so loud about my problems.
-
- Posts: 37
- Joined: Sun Feb 19, 2012 5:04 am
- Location:
- HTPC Specs:
Oh, I understand at almost half that price. Bump me up $50 tho for the signal amplifier I just bought lol. Not sure about frequency... I can do computers but cable stuff is beyond me. I figured I'd just be messing with drivers when I got this thing, seeing as my cable and internet has always been rock solid, and continues to be.... just as long as I don't use the PC with the ceton in it.
-
- Posts: 5738
- Joined: Tue Jun 21, 2011 7:23 pm
- Location: Titusville, Florida, USA
- HTPC Specs:
When you tune a channel, the Ceton diagnostic page shows the frequency. Try some different channels and see what frequencies are displayed. Make a chart of the signal strength, SNR, and frequency. You may see a pattern. The cable company assigns all kinds of crazy channel numbers, so the frequency may not be higher for higher channel numbers. For example, it's possible for channel 300 to be at a higher frequency than channel 1000. This is because the channel numbers assigned by the cable company (the ones you see in the guide) have no relation to the frequencies that are being transmitted.
- WhatHappend
- Posts: 69
- Joined: Mon Jun 06, 2011 8:00 pm
- Location:
- HTPC Specs:
With the Ceton tuner you don't have to do trial and error to find the highest and lowest frequency channels on your Cable system.
Just use this line: http://192.168.200.1/Services/ChannelMap.html ( If you have changed your Ceton's IP address, Replace the 192.168.200.1 )
You will want to click the "All" link.
This will show a list of all your provider's cable card channels and their frequencies like this:
Just use this line: http://192.168.200.1/Services/ChannelMap.html ( If you have changed your Ceton's IP address, Replace the 192.168.200.1 )
You will want to click the "All" link.
This will show a list of all your provider's cable card channels and their frequencies like this:
Code: Select all
Channel Name Modulation Frequency (kHz) Program EIA
1 VOD QAM256 651000 1 100.1
2 KTCA QAM256 711000 2 110.2
3 KPXM QAM256 711000 4 110.4
- WhatHappend
- Posts: 69
- Joined: Mon Jun 06, 2011 8:00 pm
- Location:
- HTPC Specs:
Here is a html / vbcript that will run in IE and show your 10 largest and 10 smallest frequencies in your cable card's channel map (for Ceton tuners):
Save this to a file with html extension and open it in IE:
Here is the output for my cable system:
Save this to a file with html extension and open it in IE:
Code: Select all
<html>
<head>
</head>
<body>
<script type="text/vbscript">
const CetonChannelXMLUrl = "http://192.168.200.1/view_channel_map.cgi?page=0&xml=1"
Function EncodeBase64( binary )
Dim objXML
Dim objNode
' help from MSXML
Set objXML = CreateObject("MSXml2.DOMDocument")
' byte array to base64
Set objNode = objXML.createElement("b64")
objNode.dataType = "bin.base64"
objNode.nodeTypedValue = binary
EncodeBase64 = objNode.Text
Set objNode = Nothing
Set objXML = Nothing
End Function
Function SimpleBinaryToString(Binary)
'SimpleBinaryToString converts binary data (VT_UI1 | VT_ARRAY Or MultiByte string)
'to a string (BSTR) using MultiByte VBS functions
Dim I, S
For I = 1 To LenB(Binary)
S = S & Chr(AscB(MidB(Binary, I, 1)))
Next
SimpleBinaryToString = S
End Function
Function DecodeBase64( Text )
Dim objXML
Dim objNode
' help from MSXML
Set objXML = CreateObject("MSXml2.DOMDocument")
Set objNode = objXML.createElement("b64")
objNode.dataType = "bin.base64"
objNode.Text = Text
DecodeBase64 = (objNode.nodeTypedValue)
Set objNode = Nothing
Set objXML = Nothing
End Function
Class Channel
Public name
Public names
Public frequency
Public number
End Class
Const NumMinMaxToTrack = 10
Class ChannelList
'Public channels
Public LargestFreqChannels()
Public sizeOfLargestFreqChannels
Public SmallestFreqChannels()
Public sizeOfSmallestFreqChannels
Public Sub Class_Initialize()
ReDim LargestFreqChannels(NumMinMaxToTrack)
ReDim SmallestFreqChannels(NumMinMaxToTrack)
sizeOfLargestFreqChannels = 0
sizeOfSmallestFreqChannels = 0
End Sub
Public Sub AddChannel( chan )
Dim i,x
For i = 1 To sizeOfLargestFreqChannels
If chan.frequency = LargestFreqChannels(i).frequency Then
LargestFreqChannels(i).names = LargestFreqChannels(i).names & ", ("&chan.number&","&chan.name&")"
Exit For
ElseIf chan.frequency > LargestFreqChannels(i).frequency Then
' Shift all values to make room for new value
For x = sizeOfLargestFreqChannels to i + 1 Step -1
Set LargestFreqChannels(x) = LargestFreqChannels(x-1)
Next
Set LargestFreqChannels(i) = chan
LargestFreqChannels(i).names = "("&chan.number&","&chan.name&")"
Exit For
End If
Next
If i < NumMinMaxToTrack+1 And sizeOfLargestFreqChannels < NumMinMaxToTrack Then
sizeOfLargestFreqChannels = sizeOfLargestFreqChannels + 1
Set LargestFreqChannels(sizeOfLargestFreqChannels) = chan
End If
For i = 1 To sizeOfSmallestFreqChannels
If chan.frequency = SmallestFreqChannels(i).frequency Then
SmallestFreqChannels(i).names = SmallestFreqChannels(i).names & ", ("&chan.number&","&chan.name&")"
Exit For
ElseIf chan.frequency < SmallestFreqChannels(i).frequency Then
' Shift all values to make room for new value
For x = sizeOfSmallestFreqChannels to i + 1 Step -1
Set SmallestFreqChannels(x) = SmallestFreqChannels(x-1)
Next
Set SmallestFreqChannels(i) = chan
SmallestFreqChannels(i).names = "("&chan.number&","&chan.name&")"
Exit For
End If
Next
If i < NumMinMaxToTrack+1 And sizeOfSmallestFreqChannels < NumMinMaxToTrack Then
sizeOfSmallestFreqChannels = sizeOfSmallestFreqChannels + 1
Set SmallestFreqChannels(sizeOfSmallestFreqChannels) = chan
End If
End Sub
End Class
Set xmlDoc=CreateObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load(CetonChannelXMLUrl)
Dim objDocElem, strNode, strSubNode, xmlnn, xmlnv, xmlnc, xmldd, xmlfd, xmlfv, nodeName, nodeValue
Dim channel_list, chan
Set channel_list = New ChannelList
Dim i,z
Set objDocElem=xmlDoc.documentElement
Set y = objDocElem.childNodes
i=0
Do While i < y.length
If y(i).nodeType <> 3 Then
if y(i).nodeName = "channel" Then
xmlnc = xmlnc + 1
Set chan = New Channel
z=0
Do While z < y(i).childNodes.length
If y(i).childNodes(z).nodeType <> 3 Then
nodeName = y(i).childNodes(z).nodeName
nodeValue = y(i).childNodes(z).text
If nodeName = "name" Then
nodeValue = SimpleBinaryToString(DecodeBase64(nodeValue))
chan.name = nodeValue
ElseIf nodeName = "frequency" Then
chan.frequency = CLng(nodeValue)
ElseIf nodeName = "number" Then
chan.number = CInt(nodeValue)
End If
End If
z=z+1
Loop
channel_list.AddChannel chan
End if
End If
i=i+1
Loop
document.write("Information read from: "&CetonChannelXMLUrl& "<br />"& "<br />")
document.write( "Largest Frequency Channels (Freqency (channel#,Name), (channel#,Name), ...: <br />" )
For i= 1 To channel_list.sizeOfLargestFreqChannels
document.write( channel_list.LargestFreqChannels(i).frequency & chr(9)&_
channel_list.LargestFreqChannels(i).names & "<br />")
Next
document.write("<br />")
document.write( "Smallest Frequency Channels (Freqency (channel#,Name), (channel#,Name), ...: <br />" )
For i= 1 To channel_list.sizeOfSmallestFreqChannels
document.write( channel_list.SmallestFreqChannels(i).frequency & chr(9) &_
channel_list.SmallestFreqChannels(i).names & "<br />")
Next
document.write("<br />Channel List count: " & xmlnc & "<br />")
</script>
</body>
</html>
Information read from: http://192.168.200.1/view_channel_map.cgi?page=0&xml=1
Largest Frequency Channels (Freqency (channel#,Name), (channel#,Name), ...:
759000 (107,COOL), (208,NGC), (212,FSC), (601,MUN2), (603,CINEL), (604,VeMove), (605,FOXDEP), (606,CNNESP), (607,ESPNDEP), (609,HISTe)
753000 (108,WUCWD3), (821,WUCWHD), (825,WGNHD)
747000 (105,KSTCD3), (106,KSTCD2), (113,KPXMDT2), (114,KPXMDT3), (806,KSTCHD), (822,KPXMHD)
741000 (4,WCCO), (5,KSTP), (5,KSTP), (6,KSTC), (6,KSTC), (9,KMSP), (9,KMSP), (10,WFTC), (10,WFTC), (11,KARE), (11,KARE), (13,KTCID3), (13,KTCID3), (21,WUCW), (21,WUCW), (23,WUMN), (23,WUMN), (103,KTCID3)
735000 (14,HSN), (18,QVC), (18,QVC), (78,WGN), (87,CSPAN2), (88,CSPAN3), (90,3ABN), (91,TCCD), (92,TBN), (93,INSP), (94,EWTN), (96,ShopNBC), (97,CSPAN), (814,QVC), (997,Pace), (1001,VOD49)
729000 (804,WCCOHD), (805,KSTPHD)
723000 (101,KTCID4), (102,KTCAD2), (111,KARED2), (802,KTCADT), (811,KAREHD), (999,DIGEAS)
717000 (215,Youtoo), (275,TVG), (701,MC-HitList), (702,MC-HH&RB), (703,MC-MixTape), (704,MC-D/E), (705,MC-Rap), (706,MC-HHClass), (707,MC-Jamz), (708,MC-RBClass), (709,MC-RBSoul), (710,MC-Gospel), (711,MC-Reggae), (712,MC-ClasRock), (713,MC-RetRock), (714,MC-Rock), (715,MC-Metal), (716,MC-Altern), (717,MC-ClasAlt), (718,MC-AdlAlt), (719,MC-SoftRock), (720,MC-PopHits), (721,MC-90's), (722,MC-80's), (723,MC-70's), (724,MC-GoldOld), (725,MC-Party), (726,MC-Stage), (727,MC-Kidz), (728,MC-Toddler), (729,MC-TodayCo), (730,MC-TrueCo), (731,MC-ClasCO), (732,MC-Christian), (733,MC-SoofSea), (734,MC-Soscape), (735,MC-SmoJazz), (736,MC-Jazz), (737,MC-Blues), (738,MC-Swing), (739,MC-Easy), (740,MC-Master), (741,MC-LtClass), (742,MC-Urbana), (743,MC-PopLat), (744,MC-Trop), (745,MC-Mexi), (981,SeaChange Barker #1)
711000 (2,KTCA), (3,KPXM), (3,KPXM), (12,KEYC), (12,KEYC), (22,MC5), (22,MC5)
711000 (2,KTCA), (3,KPXM), (3,KPXM), (12,KEYC), (12,KEYC), (22,MC5), (22,MC5)
Smallest Frequency Channels (Freqency (channel#,Name), (channel#,Name), ...:
99000 (8,LOCAL)
135000 (991,HIC2), (992,HIC2), (993,HIC2), (994,HIC2), (995,HIC2)
153000 (812,KEYCHD), (813,KOZJ)
213000 (98,KTCI (Hutheinson))
225000 (830,ESPNHD), (831,ESN2HD)
231000 (833,BTNMNHD), (836,TBSHDe)
237000 (766,NFLHD), (767,NFLRZHD)
243000 (838,USA HD), (856,FNCHD), (863,LIFEHDe)
249000 (839,SYFYHDe), (847,A&EHD), (848,HISHD)
255000 (835,TNTHDe), (857,HGTVHD), (858,FOODHD)
Channel List count: 402
- WhatHappend
- Posts: 69
- Joined: Mon Jun 06, 2011 8:00 pm
- Location:
- HTPC Specs:
Here is an update that Will use Tuner Instance 0 and display signal levels and SNR for the 10 lowest and highest frequency channels in your cable card lineup.
This should be useful for any one wanting to double check their signal levels.
Note: Don't run this script when recordings or liveTV are using tuner instance 0.
Save this code as CetonChannelExtremes.html and then open it in IE.
Here is a sample of the output:
This should be useful for any one wanting to double check their signal levels.
Note: Don't run this script when recordings or liveTV are using tuner instance 0.
Save this code as CetonChannelExtremes.html and then open it in IE.
Code: Select all
<html>
<head>
</head>
<body>
<script type="text/vbscript">
const BaseCetonUrl = "http://192.168.200.1"
DIM CetonChannelXMLUrl
CetonChannelXMLUrl = BaseCetonUrl & "/view_channel_map.cgi?page=0&xml=1"
const MaxLenChanNums = 160
Function EncodeBase64( binary )
Dim objXML
Dim objNode
' help from MSXML
Set objXML = CreateObject("MSXml2.DOMDocument")
' byte array to base64
Set objNode = objXML.createElement("b64")
objNode.dataType = "bin.base64"
objNode.nodeTypedValue = binary
EncodeBase64 = objNode.Text
Set objNode = Nothing
Set objXML = Nothing
End Function
Function SimpleBinaryToString(Binary)
'SimpleBinaryToString converts binary data (VT_UI1 | VT_ARRAY Or MultiByte string)
'to a string (BSTR) using MultiByte VBS functions
Dim I, S
For I = 1 To LenB(Binary)
S = S & Chr(AscB(MidB(Binary, I, 1)))
Next
SimpleBinaryToString = S
End Function
Function DecodeBase64( Text )
Dim objXML
Dim objNode
' help from MSXML
Set objXML = CreateObject("MSXml2.DOMDocument")
Set objNode = objXML.createElement("b64")
objNode.dataType = "bin.base64"
objNode.Text = Text
DecodeBase64 = (objNode.nodeTypedValue)
Set objNode = Nothing
Set objXML = Nothing
End Function
Class Channel
Public name
Public CH_numbers
Public frequency
Public number
Public modulation
Public Function Clone()
Set Clone = New Channel
Clone.name = name
Clone.CH_numbers = CH_numbers
Clone.frequency = frequency
Clone.number = number
Clone.modulation = modulation
End Function
End Class
Const NumMinMaxToTrack = 10
Class ChannelList
'Public channels
Public LargestFreqChannels()
Public sizeOfLargestFreqChannels
Public SmallestFreqChannels()
Public sizeOfSmallestFreqChannels
Public Sub Class_Initialize()
ReDim LargestFreqChannels(NumMinMaxToTrack)
ReDim SmallestFreqChannels(NumMinMaxToTrack)
sizeOfLargestFreqChannels = 0
sizeOfSmallestFreqChannels = 0
End Sub
Public Sub AddChannel( chan )
Dim i,x,added
chan.CH_numbers = CStr(chan.number)
' Make a Deep chopy of Chan for the Smallest Freq tracking
Dim lowChan
Set lowChan = chan.Clone()
added = False
For i = 1 To sizeOfLargestFreqChannels
If chan.frequency = LargestFreqChannels(i).frequency Then
' This Frequency already exists, add this channel number to the list
' cap channel number list len to MaxLenChanNums
If (Len(LargestFreqChannels(i).CH_numbers) < MaxLenChanNums ) Then
LargestFreqChannels(i).CH_numbers = LargestFreqChannels(i).CH_numbers & "," & chan.CH_numbers
End If
added = True
Exit For
ElseIf chan.frequency > LargestFreqChannels(i).frequency Then
' Increment Count to indicate the new inserted frequency.
If sizeOfLargestFreqChannels < NumMinMaxToTrack Then
sizeOfLargestFreqChannels = sizeOfLargestFreqChannels + 1
End If
' Shift all values down one to make room for new value
For x = sizeOfLargestFreqChannels to i + 1 Step -1
Set LargestFreqChannels(x) = LargestFreqChannels(x-1)
Next
Set LargestFreqChannels(i) = chan
added = True
Exit For
End If
Next
If Not added And sizeOfLargestFreqChannels < NumMinMaxToTrack Then
sizeOfLargestFreqChannels = sizeOfLargestFreqChannels + 1
Set LargestFreqChannels(sizeOfLargestFreqChannels) = chan
End If
added = False
For i = 1 To sizeOfSmallestFreqChannels
If lowChan.frequency = SmallestFreqChannels(i).frequency Then
' This Frequency already exists, add this channel number to the list
' cap channel number list len to MaxLenChanNums
If Len(SmallestFreqChannels(i).CH_numbers) < MaxLenChanNums Then
SmallestFreqChannels(i).CH_numbers = SmallestFreqChannels(i).CH_numbers & "," & lowChan.CH_numbers
End If
added = True
Exit For
ElseIf lowChan.frequency < SmallestFreqChannels(i).frequency Then
' Increment Count to indicate the new inserted frequency.
If sizeOfSmallestFreqChannels < NumMinMaxToTrack Then
sizeOfSmallestFreqChannels = sizeOfSmallestFreqChannels + 1
End If
' Shift all values to make room for new value
For x = sizeOfSmallestFreqChannels to i + 1 Step -1
Set SmallestFreqChannels(x) = SmallestFreqChannels(x-1)
Next
Set SmallestFreqChannels(i) = lowChan
added = True
Exit For
End If
Next
If Not added And sizeOfSmallestFreqChannels < NumMinMaxToTrack Then
sizeOfSmallestFreqChannels = sizeOfSmallestFreqChannels + 1
Set SmallestFreqChannels(sizeOfSmallestFreqChannels) = lowChan
End If
End Sub
End Class
'
' Retreive the Signal, SNR, & Frequency for the passed in channel#
'
Sub WriteFrequencyTable( in_channel )
Dim oHF , objHTTP
Set objHTTP = CreateObject("Microsoft.XMLHTTP")
objHTTP.open "POST", BaseCetonUrl & "/channel_request.cgi", False
objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.send "instance_id=0"& Chr(38) & "channel=" & in_channel
If objHTTP.Status = 200 Then
Do
objHTTP.open "GET", BaseCetonUrl & "/get_var?i=0&s=cas&v=VirtualChannelNumber", False
objHTTP.send
Set oHF = CreateObject("HTMLFILE")
oHF.write objHTTP.responseText
Loop Until ( CInt(oHF.body.innerHTML) = CInt(in_channel) )
objHTTP.open "GET", BaseCetonUrl & "/get_var?i=0&s=diag&v=Signal_Level", False
objHTTP.send
Set oHF = CreateObject("HTMLFILE")
oHF.write objHTTP.responseText
Signal = CStr(oHF.body.innerHTML)
objHTTP.open "GET", BaseCetonUrl & "/get_var?i=0&s=diag&v=Signal_SNR", False
objHTTP.send
Set oHF = CreateObject("HTMLFILE")
oHF.write objHTTP.responseText
SNR = CStr(oHF.body.innerHTML)
objHTTP.open "GET", BaseCetonUrl & "/get_var?i=0&s=tuner&v=Frequency", False
objHTTP.send
Set oHF = CreateObject("HTMLFILE")
oHF.write objHTTP.responseText
Frequency = CStr(oHF.body.innerHTML)
document.write( "<tr><td>" & Signal & "</td><td>" & SNR & "</td><td>" & Frequency & "</td></td>" )
End If
Set objHTTP = Nothing
End Sub
Set xmlDoc=CreateObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load(CetonChannelXMLUrl)
Dim objDocElem, strNode, strSubNode, xmlnn, xmlnv, xmlnc, xmldd, xmlfd, xmlfv, nodeName, nodeValue
Dim SNR, Signal, Frequency
Dim channel_list, chan
Set channel_list = New ChannelList
Dim i,z
Set objDocElem=xmlDoc.documentElement
Set y = objDocElem.childNodes
For i=0 to y.length - 1
If y(i).nodeType <> 3 Then
if y(i).nodeName = "channel" Then
xmlnc = xmlnc + 1
Set chan = New Channel
z=0
Do While z < y(i).childNodes.length
If y(i).childNodes(z).nodeType <> 3 Then
nodeName = y(i).childNodes(z).nodeName
nodeValue = y(i).childNodes(z).text
If nodeName = "name" Then
nodeValue = SimpleBinaryToString(DecodeBase64(nodeValue))
chan.name = nodeValue
ElseIf nodeName = "frequency" Then
chan.frequency = CLng(nodeValue)
ElseIf nodeName = "number" Then
chan.number = CInt(nodeValue)
ElseIf nodeName = "modulation" Then
chan.modulation = CStr(nodeValue)
End If
End If
z=z+1
Loop
' Skip NTSC Channels as the Ceton can't tune these....
If chan.modulation <> "NTSC" Then
channel_list.AddChannel chan
End If
End if
End If
Next
document.write("<b>Information From Ceton Card at: "&BaseCetonUrl& "</b><br \><br \>")
' Output a Table that shows Signal Level, SNR and Frequency
document.write( "<table style="&chr(34)&"border=5px solid;display: inline-block; float: left;"&chr(34)&"><caption>Smallest Frequency Table</caption><tr><th>Signal</th><th>SNR</th><th>Frequency</th></tr>")
For i= 1 To channel_list.sizeOfSmallestFreqChannels
WriteFrequencyTable channel_list.SmallestFreqChannels(i).number
Next
document.write("</table>")
' Output a Table that shows Signal Level, SNR and Frequency
document.write( "<table style="&chr(34)&"border=5px solid;display: inline-block;"&chr(34)&"><caption>Largest Frequency Table</caption><tr><th>Signal</th><th>SNR</th><th>Frequency</th></tr>")
For i= 1 To channel_list.sizeOfLargestFreqChannels
WriteFrequencyTable channel_list.LargestFreqChannels(i).number
Next
document.write("</table>")
' Output a Table that shows Smallest Freq Channel numbers
document.write( "<table style="&chr(34)&"border=5px solid;display: inline-block; float: left;"&chr(34)&"><caption>Smallest Frequency Table</caption><tr><th>Frequency</th><th>channel#,channel#,...</th></tr>")
For i= 1 To channel_list.sizeOfSmallestFreqChannels
document.write( "<tr><td>" & channel_list.SmallestFreqChannels(i).frequency & "</td><td>" &_
channel_list.SmallestFreqChannels(i).CH_numbers & "</td></tr>")
Next
document.write("</table>")
' Output a Table that shows LargestFreq Channel numbers
document.write( "<table style="&chr(34)&"border=5px solid;display: inline-block;"&chr(34)&"><caption>Largest Frequency Table</caption><tr><th>Frequency</th><th>channel#,channel#,...</th></tr>")
For i= 1 To channel_list.sizeOfLargestFreqChannels
document.write( "<tr><td>" & channel_list.LargestFreqChannels(i).frequency & "</td><td>" &_
channel_list.LargestFreqChannels(i).CH_numbers & "</td></tr>")
Next
document.write("</table>")
document.write("<br />Channel List count: " & xmlnc & "<br />")
</script>
</body>
</html>
-
- Posts: 5738
- Joined: Tue Jun 21, 2011 7:23 pm
- Location: Titusville, Florida, USA
- HTPC Specs:
Good info, Whathappend. It would be a good idea to collect the signal level and SNR for a high, middle, and low frequency... not just the upper and lower ends.
- WhatHappend
- Posts: 69
- Joined: Mon Jun 06, 2011 8:00 pm
- Location:
- HTPC Specs:
Here is an update that adds Center Frequencies.
A progress window was also added, but it might get hidden behind the current window if you have to ok an ActiveX popup permission dialog.
Hope someone finds this useful
Update!!! Save the code contents to a text file named CetonChannelExtremes.hta The HTA extension runs it as an application and you don't have to confirm any security pop-ups and the progress display works great! (See attached image)
A progress window was also added, but it might get hidden behind the current window if you have to ok an ActiveX popup permission dialog.
Hope someone finds this useful
Update!!! Save the code contents to a text file named CetonChannelExtremes.hta The HTA extension runs it as an application and you don't have to confirm any security pop-ups and the progress display works great! (See attached image)
Code: Select all
<html>
<head>
</head>
<body>
<script type="text/vbscript">
const BaseCetonUrl = "http://192.168.200.1"
DIM CetonChannelXMLUrl
CetonChannelXMLUrl = BaseCetonUrl & "/view_channel_map.cgi?page=0&xml=1"
const MaxLenChanNums = 120
Class ProgressBar
Private m_PercentComplete
Private m_CurrentStep
Private m_ProgressBar
Private m_Title
Private m_Text
Private m_StatusBarText
'Initialize defaults
Private Sub ProgessBar_Initialize
m_PercentComplete = 0
m_CurrentStep = 0
m_Title = "Progress"
m_Text = ""
End Sub
Public Function SetTitle(pTitle)
m_Title = pTitle
End Function
Public Function SetText(pText)
m_Text = pText
End Function
Public Function Update(percentComplete)
m_PercentComplete = Int(percentComplete)
UpdateProgressBar()
End Function
Public Function Show()
Set m_ProgressBar = CreateObject("InternetExplorer.Application")
'in code, the colon acts as a line feed
m_ProgressBar.navigate2 "about:blank" : m_ProgressBar.width = 315 : m_ProgressBar.height = 40 : m_ProgressBar.toolbar = false : m_ProgressBar.menubar = false : m_ProgressBar.statusbar = false : m_ProgressBar.visible = True
m_ProgressBar.document.write "<body Scroll=no style='margin:0px;padding:0px;'><div style='text-align:center;'><span name='pc' id='pc'>0</span></div>"
m_ProgressBar.document.write "<div id='statusbar' name='statusbar' style='border:1px solid blue;line-height:10px;height:10px;color:blue;'></div>"
m_ProgressBar.document.write "<div style='text-align:center'><span id='text' name='text'></span></div>"
m_ProgressBar.document.focus()
End Function
Public Function Close()
m_ProgressBar.quit
Set m_ProgressBar = Nothing
End Function
Private Function UpdateProgressBar()
If m_PercentComplete = 0 Then
m_StatusBarText = ""
End If
For n = m_CurrentStep to m_PercentComplete - 1
m_StatusBarText = m_StatusBarText & "|"
m_ProgressBar.Document.GetElementById("statusbar").InnerHtml = m_StatusBarText
m_ProgressBar.Document.title = n & "% Complete : " & m_Title
m_ProgressBar.Document.GetElementById("pc").InnerHtml = n & "% Complete : " & m_Title
'wscript.sleep 10
Next
m_ProgressBar.Document.GetElementById("statusbar").InnerHtml = m_StatusBarText
m_ProgressBar.Document.title = m_PercentComplete & "% Complete : " & m_Title
m_ProgressBar.Document.GetElementById("pc").InnerHtml = m_PercentComplete & "% Complete : " & m_Title
m_ProgressBar.Document.GetElementById("text").InnerHtml = m_Text
m_CurrentStep = m_PercentComplete
m_ProgressBar.document.focus()
End Function
End Class
Class Channel
Public CH_numbers
Public frequency
Public number
Public modulation
Public Function Clone()
Set Clone = New Channel
Clone.CH_numbers = CH_numbers
Clone.frequency = frequency
Clone.number = number
Clone.modulation = modulation
End Function
End Class
Const NumMinMaxToTrack = 10
Class ChannelList
Public LargestFreqChannels()
Public sizeOfLargestFreqChannels
Public SmallestFreqChannels()
Public sizeOfSmallestFreqChannels
Public MiddleFreqChannels()
Public sizeOfMiddleFreqChannels
Public AllFreqChannels()
Public NumberOfChannels
Public Sub Class_Initialize()
ReDim LargestFreqChannels(NumMinMaxToTrack)
ReDim SmallestFreqChannels(NumMinMaxToTrack)
ReDim MiddleFreqChannels(NumMinMaxToTrack)
sizeOfLargestFreqChannels = 0
sizeOfSmallestFreqChannels = 0
sizeOfMiddleFreqChannels = 0
NumberOfChannels = 0
End Sub
Public Sub LocateCenterFreqChannels
' Calculate Center Freq
centerFreq = (LargestFreqChannels(1).frequency + SmallestFreqChannels(1).frequency) / 2
For Each chan In AllFreqChannels
FreqDelta = Abs(chan.frequency - centerFreq)
added = False
For i = 1 To sizeOfMiddleFreqChannels
set midChan = MiddleFreqChannels(i)
If midChan.frequency = chan.frequency Then
midChan.CH_numbers = midChan.CH_numbers & "," & chan.CH_numbers
Exit For
ElseIf FreqDelta < Abs(midChan.frequency - centerFreq) Then
' Insert this lower delta channel
' Increment Count to indicate the new inserted frequency.
If sizeOfMiddleFreqChannels < NumMinMaxToTrack Then
sizeOfMiddleFreqChannels = sizeOfMiddleFreqChannels + 1
End If
' Shift all values down one to make room for new value
For x = sizeOfMiddleFreqChannels to i + 1 Step -1
Set MiddleFreqChannels(x) = MiddleFreqChannels(x-1)
Next
Set MiddleFreqChannels(i) = chan
added = True
Exit For
End If
Next
If Not added Then
' See if out Middle Frequency List has room to add one.
If sizeOfMiddleFreqChannels < NumMinMaxToTrack Then
' Increment Count to indicate the new Added frequency.
sizeOfMiddleFreqChannels = sizeOfMiddleFreqChannels + 1
Set MiddleFreqChannels(sizeOfMiddleFreqChannels) = chan
End If
End if
Next
End Sub
Public Sub AddChannel( chan )
Dim i,x,added
chan.CH_numbers = CStr(chan.number)
' Make a Deep copies of Chan for the Smallest Freq and all Freq tracking
Dim lowChan
Set lowChan = chan.Clone()
ReDim Preserve AllFreqChannels(NumberOfChannels)
Set AllFreqChannels(NumberOfChannels) = chan.Clone() ' Save Deep Copy of Channel in All list
NumberOfChannels = NumberOfChannels + 1
added = False
For i = 1 To sizeOfLargestFreqChannels
If chan.frequency = LargestFreqChannels(i).frequency Then
' This Frequency already exists, add this channel number to the list
' cap channel number list len to MaxLenChanNums
If (Len(LargestFreqChannels(i).CH_numbers) < MaxLenChanNums ) Then
LargestFreqChannels(i).CH_numbers = LargestFreqChannels(i).CH_numbers & "," & chan.CH_numbers
End If
added = True
Exit For
ElseIf chan.frequency > LargestFreqChannels(i).frequency Then
' Increment Count to indicate the new inserted frequency.
If sizeOfLargestFreqChannels < NumMinMaxToTrack Then
sizeOfLargestFreqChannels = sizeOfLargestFreqChannels + 1
End If
' Shift all values down one to make room for new value
For x = sizeOfLargestFreqChannels to i + 1 Step -1
Set LargestFreqChannels(x) = LargestFreqChannels(x-1)
Next
Set LargestFreqChannels(i) = chan
added = True
Exit For
End If
Next
If Not added And sizeOfLargestFreqChannels < NumMinMaxToTrack Then
sizeOfLargestFreqChannels = sizeOfLargestFreqChannels + 1
Set LargestFreqChannels(sizeOfLargestFreqChannels) = chan
End If
added = False
For i = 1 To sizeOfSmallestFreqChannels
If lowChan.frequency = SmallestFreqChannels(i).frequency Then
' This Frequency already exists, add this channel number to the list
' cap channel number list len to MaxLenChanNums
If Len(SmallestFreqChannels(i).CH_numbers) < MaxLenChanNums Then
SmallestFreqChannels(i).CH_numbers = SmallestFreqChannels(i).CH_numbers & "," & lowChan.CH_numbers
End If
added = True
Exit For
ElseIf lowChan.frequency < SmallestFreqChannels(i).frequency Then
' Increment Count to indicate the new inserted frequency.
If sizeOfSmallestFreqChannels < NumMinMaxToTrack Then
sizeOfSmallestFreqChannels = sizeOfSmallestFreqChannels + 1
End If
' Shift all values to make room for new value
For x = sizeOfSmallestFreqChannels to i + 1 Step -1
Set SmallestFreqChannels(x) = SmallestFreqChannels(x-1)
Next
Set SmallestFreqChannels(i) = lowChan
added = True
Exit For
End If
Next
If Not added And sizeOfSmallestFreqChannels < NumMinMaxToTrack Then
sizeOfSmallestFreqChannels = sizeOfSmallestFreqChannels + 1
Set SmallestFreqChannels(sizeOfSmallestFreqChannels) = lowChan
End If
End Sub
End Class
'
' Retreive the Signal, SNR, & Frequency for the passed in channel#
'
Sub WriteFrequencyTable( in_channel )
Dim oHF , objHTTP
Set objHTTP = CreateObject("Microsoft.XMLHTTP")
objHTTP.open "POST", BaseCetonUrl & "/channel_request.cgi", False
objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.send "instance_id=0"& Chr(38) & "channel=" & in_channel
If objHTTP.Status = 200 Then
Do
objHTTP.open "GET", BaseCetonUrl & "/get_var?i=0&s=cas&v=VirtualChannelNumber", False
objHTTP.send
Set oHF = CreateObject("HTMLFILE")
oHF.write objHTTP.responseText
Loop Until ( CInt(oHF.body.innerHTML) = CInt(in_channel) )
objHTTP.open "GET", BaseCetonUrl & "/get_var?i=0&s=diag&v=Signal_Level", False
objHTTP.send
Set oHF = CreateObject("HTMLFILE")
oHF.write objHTTP.responseText
Signal = CStr(oHF.body.innerHTML)
objHTTP.open "GET", BaseCetonUrl & "/get_var?i=0&s=diag&v=Signal_SNR", False
objHTTP.send
Set oHF = CreateObject("HTMLFILE")
oHF.write objHTTP.responseText
SNR = CStr(oHF.body.innerHTML)
objHTTP.open "GET", BaseCetonUrl & "/get_var?i=0&s=tuner&v=Frequency", False
objHTTP.send
Set oHF = CreateObject("HTMLFILE")
oHF.write objHTTP.responseText
Frequency = CStr(oHF.body.innerHTML)
document.write( "<tr><td>" & Signal & "</td><td>" & SNR & "</td><td>" & Frequency & "</td></td>" )
End If
Set objHTTP = Nothing
End Sub
Set xmlDoc=CreateObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load(CetonChannelXMLUrl)
Dim objDocElem, strNode, strSubNode, xmlnn, xmlnv, xmlnc, xmldd, xmlfd, xmlfv, nodeName, nodeValue
Dim SNR, Signal, Frequency
Dim channel_list, chan
Set channel_list = New ChannelList
Dim i,z
Set objDocElem=xmlDoc.documentElement
Set y = objDocElem.childNodes
'Declare progressbar and percentage complete
Dim pb
Dim percentComplete
'Setup the initial progress bar
Set pb = New ProgressBar
percentComplete = 0
pb.SetTitle("Step 1 of 5")
pb.SetText("Parsing Channel Map..")
pb.Show()
For i=0 to y.length - 1
If y(i).nodeType <> 3 Then
if y(i).nodeName = "channel" Then
xmlnc = xmlnc + 1
Set chan = New Channel
z=0
Do While z < y(i).childNodes.length
If y(i).childNodes(z).nodeType <> 3 Then
nodeName = y(i).childNodes(z).nodeName
nodeValue = y(i).childNodes(z).text
If nodeName = "frequency" Then
chan.frequency = CLng(nodeValue)
ElseIf nodeName = "number" Then
chan.number = CInt(nodeValue)
ElseIf nodeName = "modulation" Then
chan.modulation = CStr(nodeValue)
End If
End If
z=z+1
Loop
' Skip NTSC Channels as the Ceton can't tune these....
If chan.modulation <> "NTSC" Then
channel_list.AddChannel chan
End If
End if
End If
Next
'Locate the Center Frequencies
channel_list.LocateCenterFreqChannels
document.write("<b>Information From Ceton Card at: "&BaseCetonUrl& "</b><br \><br \>")
pb.SetTitle("Step 2 of 5")
pb.SetText("Tuning Smallest Frequency Channels..")
pb.Update(percentComplete)
' Output a Table that shows Signal Level, SNR and Frequency
document.write( "<table style="&chr(34)&"border=5px solid;display: inline-block; float: left;"&chr(34)&"><caption>Smallest Frequency Table</caption><tr><th>Signal</th><th>SNR</th><th>Frequency</th></tr>")
For i= 1 To channel_list.sizeOfSmallestFreqChannels
percentComplete=percentComplete+3.3
pb.Update(percentComplete)
WriteFrequencyTable channel_list.SmallestFreqChannels(i).number
Next
document.write("</table>")
' Output a Table that shows Smallest Freq Channel numbers
document.write( "<table style="&chr(34)&"border=5px solid;display: inline-block; "&chr(34)&"><caption>Smallest Frequency Table</caption><tr><th>Frequency</th><th>channel#,channel#,...</th></tr>")
For i= 1 To channel_list.sizeOfSmallestFreqChannels
document.write( "<tr><td>" & channel_list.SmallestFreqChannels(i).frequency & "</td><td>" &_
channel_list.SmallestFreqChannels(i).CH_numbers & "</td></tr>")
Next
document.write("</table>")
pb.SetTitle("Step 3 of 5")
pb.SetText("Tuning Center Frequency Channels..")
pb.Update(percentComplete)
' Output a Table that shows Signal Level, SNR and Frequency
document.write( "<table style="&chr(34)&"border=5px solid;display: inline-block;float: left;"&chr(34)&"><caption>Center Frequency Table</caption><tr><th>Signal</th><th>SNR</th><th>Frequency</th></tr>")
For i= 1 To channel_list.sizeOfMiddleFreqChannels
percentComplete=percentComplete+3.3
pb.Update(percentComplete)
WriteFrequencyTable channel_list.MiddleFreqChannels(i).number
Next
document.write("</table>")
' Output a Table that shows CenterFreq Channel numbers
document.write( "<table style="&chr(34)&"border=5px solid;display: inline-block;"&chr(34)&"><caption>Center Frequency Table</caption><tr><th>Frequency</th><th>channel#,channel#,...</th></tr>")
For i= 1 To channel_list.sizeOfMiddleFreqChannels
document.write( "<tr><td>" & channel_list.MiddleFreqChannels(i).frequency & "</td><td>" &_
channel_list.MiddleFreqChannels(i).CH_numbers & "</td></tr>")
Next
document.write("</table>")
pb.SetTitle("Step 4 of 5")
pb.SetText("Tuning Largest Frequency Channels..")
pb.Update(percentComplete)
' Output a Table that shows Signal Level, SNR and Frequency
document.write( "<table style="&chr(34)&"border=5px solid;display: inline-block;float: left;"&chr(34)&"><caption>Largest Frequency Table</caption><tr><th>Signal</th><th>SNR</th><th>Frequency</th></tr>")
For i= 1 To channel_list.sizeOfLargestFreqChannels
percentComplete=percentComplete+3.3
pb.Update(percentComplete)
WriteFrequencyTable channel_list.LargestFreqChannels(i).number
Next
document.write("</table>")
pb.SetTitle("Step 5 of 5")
pb.SetText("Outputting Frequency to Channel Tables..")
pb.Update(percentComplete)
' Output a Table that shows LargestFreq Channel numbers
document.write( "<table style="&chr(34)&"border=5px solid;display: inline-block;"&chr(34)&"><caption>Largest Frequency Table</caption><tr><th>Frequency</th><th>channel#,channel#,...</th></tr>")
For i= 1 To channel_list.sizeOfLargestFreqChannels
document.write( "<tr><td>" & channel_list.LargestFreqChannels(i).frequency & "</td><td>" &_
channel_list.LargestFreqChannels(i).CH_numbers & "</td></tr>")
Next
document.write("</table>")
document.write("<br />Channel List count: " & xmlnc & "<br />")
pb.SetTitle("Step 5 of 5")
pb.SetText("Done")
percentComplete=100
pb.Update(percentComplete)
pb.Close()
</script>
</body>
</html>
Last edited by WhatHappend on Tue Sep 11, 2012 6:07 pm, edited 1 time in total.
- CyberSimian
- Posts: 516
- Joined: Mon Jun 20, 2011 5:52 pm
- Location: Southampton, UK
- HTPC Specs:
"Tunning"?WhatHappend wrote:pb.SetText("Tunning Smallest Frequency Channels..")
pb.SetText("Tunning Center Frequency Channels..")
pb.SetText("Tunning Largest Frequency Channels..")
-- from Cyber "I went to a grammar school" Simian in the UK
- WhatHappend
- Posts: 69
- Joined: Mon Jun 06, 2011 8:00 pm
- Location:
- HTPC Specs:
FYI - I posted an updated version here: http://experts.windows.com/frms/windows ... spx#554438
maximus4, Did you ever run the script? What were your results?
maximus4, Did you ever run the script? What were your results?
- Crash2009
- Posts: 4357
- Joined: Thu May 17, 2012 12:38 am
- Location: Ann Arbor, Michigan
- HTPC Specs:
you gotta hate that, when that happens. Thanks for the code.WhatHappend wrote:FYI - I posted an updated version here: http://experts.windows.com/frms/windows ... spx#554438
maximus4, Did you ever run the script? What were your results?