Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
01810bfc
Commit
01810bfc
authored
Mar 24, 2011
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
DTV: Linux-specific DiSEqC 1.0 master support
parent
9f5e603e
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
48 additions
and
16 deletions
+48
-16
modules/access/dtv/access.c
modules/access/dtv/access.c
+8
-6
modules/access/dtv/linux.c
modules/access/dtv/linux.c
+40
-5
modules/access/dvb/access.c
modules/access/dvb/access.c
+0
-5
No files found.
modules/access/dtv/access.c
View file @
01810bfc
...
...
@@ -172,13 +172,16 @@ static const char *const polarization_user[] = { N_("Unspecified (0V)"),
"A continuous tone at 22kHz can be sent on the cable. " \
"This normally selects the higher frequency band from a universal LNB.")
#if 0
#define SATNO_TEXT N_("DiSEqC LNB number")
#define SATNO_LONGTEXT N_( \
"If the satellite receiver is connected to multiple " \
"low noise block-downconverters (LNB) through a DiSEqC 1.0 switch, " \
"the correct LNB can be selected (1 to 4). " \
"If there is no switch, this parameter should be 0.")
#ifdef __linux__
static
const
int
satno_vlc
[]
=
{
0
,
1
,
2
,
3
,
4
};
static
const
char
*
const
satno_user
[]
=
{
N_
(
"Unspecified"
),
"A/1"
,
"B/2"
,
"C/3"
,
"D/4"
};
#endif
static
int
Open
(
vlc_object_t
*
);
...
...
@@ -286,13 +289,12 @@ vlc_module_begin ()
LNB_SWITCH_TEXT
,
LNB_SWITCH_LONGTEXT
,
true
)
change_integer_range
(
0
,
0x7fffffff
)
add_deprecated_alias
(
"dvb-lnb-slof"
)
add_integer
(
"dvb-tone"
,
-
1
,
TONE_TEXT
,
TONE_LONGTEXT
,
true
)
change_integer_list
(
auto_off_on_vlc
,
auto_off_on_user
)
#if 0
#ifdef __linux
add_integer
(
"dvb-satno"
,
0
,
SATNO_TEXT
,
SATNO_LONGTEXT
,
true
)
change_integer_range (0, 4)
change_safe ()
change_integer_list
(
satno_vlc
,
satno_user
)
#endif
add_integer
(
"dvb-tone"
,
-
1
,
TONE_TEXT
,
TONE_LONGTEXT
,
true
)
change_integer_list
(
auto_off_on_vlc
,
auto_off_on_user
)
vlc_module_end
()
struct
access_sys_t
...
...
modules/access/dtv/linux.c
View file @
01810bfc
...
...
@@ -595,9 +595,6 @@ known:
freq
*=
-
1
;
assert
(
freq
<
0x7fffffff
);
/* TODO: DiSEqC */
/* Continuous tone (to select high oscillator frequency) */
int
tone
;
switch
(
var_InheritInteger
(
d
->
obj
,
"dvb-tone"
))
{
...
...
@@ -606,10 +603,48 @@ known:
default:
tone
=
high
?
SEC_TONE_ON
:
SEC_TONE_OFF
;
}
/*** LNB selection / DiSEqC ***/
unsigned
voltage
=
dvb_parse_polarization
(
pol
);
if
(
dvb_set_props
(
d
,
2
,
DTV_TONE
,
SEC_TONE_OFF
,
DTV_VOLTAGE
,
voltage
))
return
-
1
;
unsigned
satno
=
var_InheritInteger
(
d
->
obj
,
"dvb-satno"
);
if
(
satno
>
0
)
{
/* DiSEqC 1.0 */
#undef msleep
/* we know what we are doing! */
struct
dvb_diseqc_master_cmd
cmd
;
satno
=
(
satno
-
1
)
&
3
;
cmd
.
msg
[
0
]
=
0xE0
;
/* framing: master, no reply, 1st TX */
cmd
.
msg
[
1
]
=
0x10
;
/* address: all LNB/switch */
cmd
.
msg
[
2
]
=
0x38
;
/* command: Write Port Group 0 */
cmd
.
msg
[
3
]
=
0xF0
/* data[0]: clear all bits */
|
(
satno
<<
2
)
/* LNB (A, B, C or D) */
|
((
voltage
==
SEC_VOLTAGE_18
)
<<
1
)
/* polarization */
|
(
tone
==
SEC_TONE_ON
);
/* option */
cmd
.
msg
[
4
]
=
cmd
.
msg
[
5
]
=
0
;
/* unused */
msleep
(
15000
);
/* wait 15 ms before DiSEqC command */
if
(
ioctl
(
d
->
frontend
,
FE_DISEQC_SEND_MASTER_CMD
,
&
cmd
)
<
0
)
{
msg_Err
(
d
->
obj
,
"cannot send DiSEqC command: %m"
);
return
-
1
;
}
msleep
(
54000
+
15000
);
return
dvb_set_props
(
d
,
3
,
DTV_FREQUENCY
,
freq
,
DTV_VOLTAGE
,
voltage
,
DTV_TONE
,
tone
);
/* Mini-DiSEqC */
satno
&=
1
;
if
(
ioctl
(
d
->
frontend
,
FE_DISEQC_SEND_BURST
,
satno
?
SEC_MINI_B
:
SEC_MINI_A
)
<
0
)
{
msg_Err
(
d
->
obj
,
"cannot send Mini-DiSEqC tone burst: %m"
);
return
-
1
;
}
msleep
(
15000
);
}
/* Continuous tone (to select high oscillator frequency) */
return
dvb_set_props
(
d
,
2
,
DTV_FREQUENCY
,
freq
,
DTV_TONE
,
tone
);
}
int
dvb_set_dvbs
(
dvb_device_t
*
d
,
uint32_t
freq
,
...
...
modules/access/dvb/access.c
View file @
01810bfc
...
...
@@ -68,9 +68,6 @@ static void Close( vlc_object_t *p_this );
#define SATELLITE_TEXT N_("Satellite scanning config")
#define SATELLITE_LONGTEXT N_("filename of config file in share/dvb/dvb-s")
#define SATNO_TEXT N_("Satellite number in the Diseqc system")
#define SATNO_LONGTEXT N_("[0=no diseqc, 1-4=satellite number].")
#define HOST_TEXT N_( "HTTP Host address" )
#define HOST_LONGTEXT N_( \
"To enable the internal HTTP server, set its address and port here." )
...
...
@@ -115,8 +112,6 @@ vlc_module_begin ()
/* DVB-S (satellite) */
add_string
(
"dvb-satellite"
,
NULL
,
SATELLITE_TEXT
,
SATELLITE_LONGTEXT
,
true
)
add_integer
(
"dvb-satno"
,
0
,
SATNO_TEXT
,
SATNO_LONGTEXT
,
true
)
#ifdef ENABLE_HTTPD
/* MMI HTTP interface */
set_section
(
N_
(
"HTTP server"
),
0
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment