aboutsummaryrefslogtreecommitdiffstats
path: root/src/tv/channels.c
blob: fc2ad00225a6f8ed60551fe54832802083e45197 (plain)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#include <stdio.h>
#include <string.h>

static struct tv_channels {
	const char	*channel;
	double		video_mhz;
	double		audio_mhz;
} tv_channels[] = {
	{ "1",		41.25,	46.75	},
	{ "2",		48.25,	53.75	},
	{ "3",		55.25,	60.75	},
	{ "4",		62.25,	67.75	},
	{ "S1",		105.25,	110.75	},
	{ "S2",		112.25,	117.75	},
	{ "S3",		118.25,	123.75	},
	{ "S4",		126.25,	131.75	},
	{ "S5",		133.25,	138.75	},
	{ "S6",		140.25,	148.75	},
	{ "S7",		147.25,	152.75	},
	{ "S8",		154.25,	159.75	},
	{ "S9",		161.25,	166.75	},
	{ "S10",	168.25,	173.75	},
	{ "5",		175.25,	180.75	},
	{ "6",		182.25,	187.75	},
	{ "7",		189.25,	194.75	},
	{ "8",		196.25,	201.75	},
	{ "9",		203.25,	208.75	},
	{ "10",		210.25,	215.75	},
	{ "11",		217.25,	222.75	},
	{ "12",		224.25,	229.75	},
	{ "S11",	231.25,	236.75	},
	{ "S12",	238.25,	243.75	},
	{ "S13",	245.25,	250.75	},
	{ "S14",	252.25,	257.75	},
	{ "S15",	259.25,	264.75	},
	{ "S16",	266.25,	271.75	},
	{ "S17",	273.25,	278.75	},
	{ "S18",	280.25,	285.75	},
	{ "S19",	287.25,	292.75	},
	{ "S20",	294.25,	299.75	},
	{ "S21",	303.25,	308.75	},
	{ "S22",	311.25,	316.75	},
	{ "S23",	319.25,	324.75	},
	{ "S24",	327.25,	332.75	},
	{ "S25",	335.25,	340.75	},
	{ "S26",	343.25,	348.75	},
	{ "S27",	351.25,	356.75	},
	{ "S28",	359.25,	364.75	},
	{ "S29",	367.25,	372.75	},
	{ "S30",	375.25,	380.75	},
	{ "S31",	383.25,	388.75	},
	{ "S32",	391.25,	396.75	},
	{ "S33",	399.25,	404.75	},
	{ "S34",	407.25,	412.75	},
	{ "S35",	415.25,	420.75	},
	{ "S36",	423.25,	428.75	},
	{ "S37",	431.25,	436.75	},
	{ "S38",	439.25,	444.75	},
	{ "S39",	447.25,	452.75	},
	{ "S40",	455.25,	460.75	},
	{ "S41",	463.25,	468.75	},
	{ "21",		471.25,	476.75	},
	{ "22",		479.25,	484.75	},
	{ "23",		487.25,	492.75	},
	{ "24",		495.25,	500.75	},
	{ "25",		503.25,	508.75	},
	{ "26",		511.25,	516.75	},
	{ "27",		519.25,	524.75	},
	{ "28",		527.25,	532.75	},
	{ "29",		535.25,	540.75	},
	{ "30",		543.25,	548.75	},
	{ "31",		551.25,	556.75	},
	{ "32",		559.25,	564.75	},
	{ "33",		567.25,	572.75	},
	{ "34",		575.25,	580.75	},
	{ "35",		583.25,	588.75	},
	{ "36",		591.25,	596.75	},
	{ "37",		599.25,	604.75	},
	{ "38",		607.25,	612.75	},
	{ "39",		615.25,	620.75	},
	{ "40",		623.25,	628.75	},
	{ "41",		631.25,	636.75	},
	{ "42",		639.25,	644.75	},
	{ "43",		647.25,	652.75	},
	{ "44",		655.25,	660.75	},
	{ "45",		663.25,	668.75	},
	{ "46",		671.25,	676.75	},
	{ "47",		679.25,	684.75	},
	{ "48",		687.25,	692.75	},
	{ "49",		695.25,	700.75	},
	{ "50",		703.25,	708.75	},
	{ "51",		711.25,	716.75	},
	{ "52",		719.25,	724.75	},
	{ "53",		727.25,	732.75	},
	{ "54",		735.25,	740.75	},
	{ "55",		743.25,	748.75	},
	{ "56",		751.25,	756.75	},
	{ "57",		759.25,	764.75	},
	{ "58",		767.25,	772.75	},
	{ "59",		775.25,	780.75	},
	{ "60",		783.25,	788.75	},
	{ "61",		791.25,	796.75	},
	{ "62",		799.25,	804.75	},
	{ "63",		807.25,	812.75	},
	{ "64",		815.25,	820.75	},
	{ "65",		823.25,	828.75	},
	{ "66",		831.25,	836.75	},
	{ "67",		839.25,	844.75	},
	{ "68",		847.25,	852.75	},
	{ "69",		855.25,	860.75	},
	{ 0,		0,	0,	}
};

double get_tv_frequency(const char *channel, double *audio_offset)
{
	int i;

	for (i = 0; tv_channels[i].channel; i++) {
		if (!strcasecmp(tv_channels[i].channel, channel)) {
			*audio_offset = (tv_channels[i].audio_mhz - tv_channels[i].video_mhz) * 1e6;
			return tv_channels[i].video_mhz * 1e6;
		}
	}

	return 0.0;
}

void list_tv_channels(void)
{
	int i;

	printf("List of TV channels in MHz:\n\n");
	printf("Channel Video   Audio\n");
	printf("------------------------\n");
	for (i = 0; tv_channels[i].channel; i++) {
		printf("%s\t%.2f\t%.2f\n", tv_channels[i].channel, tv_channels[i].video_mhz, tv_channels[i].audio_mhz);
	}
}