C#控制DTA-115卡
由于公司新上的DTV产品线标准多,型号多,产量大,最重要的是经验还处于学习总结阶段,所以根据设备供应商的建议建了个中央信号源,专门购买了个 机柜放在中心机房,采购了一批Dectek的DTA-115卡来作为DVB-C,DVB-T,ATSC和ISDB-T的信号源。这样就带来了管理的麻烦, 需要改点什么必须使用远程桌面管理,这样换个session就看不见管理界面了,对多用户管理造成不便,每台公共机只插了两块卡,普通用户根本不知道想更 改某块卡的参数的时候需要连接哪台公共机,并且把远程桌面开放给普通用户还会带来安全等问题。
所以就考虑结合公司实际情况,自己写一套 DTA-115的管理程序,利用现有已实现的EOfficeAgent中的IPMSG模块进行管理,这样用户只需要使用飞鸽给EOfficeAgent发 送一条命令,相应的设置就会立刻更改,而不需要知道自己想更改的设置所在的位置。
这段代码是控制DTA-115的demo,测试已经可以跑得很好了。抛砖引玉。
可惜,CMMB那块烂卡,没办法这么做。
1
namespace DTA115_test
2
{
3
class Program
4
{
5
static DtDevice Dvc0=new DtDevice();
6
const Int32 BufSize = 1 << 16;
7
const Int32 IniLoad = (1 << 20) * 8;
8
static void Main(string[] args)
9
{
10
try
11
{
12
if (Dvc0.AttachToType(115, 0) == DTAPI_RESULT.OK)
13
{
14
FileInfo TSFile = new FileInfo(@"R:\Video_Teletext.trp");
15
FileStream TSStream = TSFile.OpenRead();
16
DtOutpChannel TsOut = new DtOutpChannel();
17
if (TsOut.AttachToPort(Dvc0, 2) == DTAPI_RESULT.OK)
18
{
19
Console.WriteLine("OK!");
20
TsOut.SetTxMode(DTAPI.TXMODE_188, 1);
21
//DVB-T工作模式
22
TsOut.SetModControl(DTAPI.MOD_DVBT, DTAPI.MOD_7_8,
23
DTAPI.MOD_DVBT_8MHZ | DTAPI.MOD_DVBT_8K
24
| DTAPI.MOD_DVBT_QAM64 | DTAPI.MOD_DVBT_G_1_4,
25
-1);
26
//初始化FIFO
27
TsOut.SetTxControl(DTAPI.TXCTRL_HOLD);
28
byte[] Buf = new byte[BufSize];
29
Int32 Load = 0;
30
int NumBytes = TSStream.Read(Buf, 0, BufSize);
31
while ((Load < IniLoad) && (NumBytes != 0))
32
{
33
TsOut.Write(Buf, NumBytes);
34
Load += NumBytes;
35
NumBytes = TSStream.Read(Buf, 0, BufSize);
36
}
37
//设置频点
38
TsOut.SetRfControl(698000000);
39
//设置衰减
40
TsOut.SetOutputLevel(-180);
41
//开始发射
42
TsOut.SetTxControl(DTAPI.TXCTRL_SEND);
43
while (NumBytes != 0)
44
{
45
TsOut.Write(Buf, NumBytes);
46
NumBytes = TSStream.Read(Buf, 0, BufSize);
47
}
48
//卸载设备
49
TsOut.Detach(DTAPI.INSTANT_DETACH);
50
}
51
}
52
}
53
catch (Exception e)
54
{
55
Console.Write(e.Message);
56
}
57
}
58
}
59
}
60![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
56
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
57
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
58
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
59
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
60
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)