Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
W
White Rabbit Switch - Software
Manage
Activity
Members
Labels
Plan
Issues
87
Issue boards
Milestones
Wiki
Code
Merge requests
4
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Projects
White Rabbit Switch - Software
Commits
0d522c6a
Commit
0d522c6a
authored
1 year ago
by
Adam Wujek
Browse files
Options
Downloads
Patches
Plain Diff
userspace/tools/wr_mon: add c option, printout of extra PPSI configuration parameters
Signed-off-by:
Adam Wujek
<
dev_public@wujek.eu
>
parent
9c0e712d
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
userspace/tools/wr_mon.c
+84
-8
84 additions, 8 deletions
userspace/tools/wr_mon.c
with
84 additions
and
8 deletions
userspace/tools/wr_mon.c
+
84
−
8
View file @
0d522c6a
...
...
@@ -135,6 +135,9 @@ static uint32_t nanoseconds;
/* ignore checking if process is alive */
static
int
ignore_alive
;
/* Print extra ppsi configuration like priority1, sync-interval etc. */
static
int
print_extra_ppsi_conf
=
0
;
/* define size of pp_instance_state_to_name as a last element + 1 */
#define PP_INSTANCE_STATE_MAX (sizeof(pp_instance_state_to_name)/sizeof(char *))
...
...
@@ -370,6 +373,7 @@ void help(char *prgname)
" The program has the following options
\n
"
" -a show all (same as -i -m -s -o -e -t options)
\n
"
" -b black and white output
\n
"
" -c printout of extra PPSI configuration parameters
\n
"
" -e show servo statistics
\n
"
" -h print help
\n
"
" -H <dir> Open shmem dumps from the given directory
\n
"
...
...
@@ -383,6 +387,7 @@ void help(char *prgname)
"
\n
"
"During execution the user can enter:
\n
"
"q - to exit the program
\n
"
"c - to toggle printout of extra PPSI configuration parameters
\n
"
"t - to toggle forcibly disabled tracking
\n
"
);
exit
(
1
);
}
...
...
@@ -742,6 +747,8 @@ void show_ports(int hal_alive, int ppsi_alive)
int
vlan_i
;
int
nvlans
;
int
*
p
;
char
*
ppsi_extra_conf_header_dash_str
;
char
*
ppsi_extra_conf_header_str
;
struct
PPSG_WB
*
pps
=
(
struct
PPSG_WB
*
)(
_fpga_base_virt
+
FPGA_BASE_PPS_GEN
);
...
...
@@ -804,12 +811,51 @@ void show_ports(int hal_alive, int ppsi_alive)
term_cprintf
(
C_BLUE
,
" Domain: "
);
term_cprintf
(
C_WHITE
,
"%d"
,
defaultDS
->
domainNumber
);
term_cprintf
(
C_WHITE
,
"
\n
"
);
if
(
print_extra_ppsi_conf
)
{
ClockIdentity
*
p
=
&
defaultDS
->
clockIdentity
;
term_cprintf
(
C_BLUE
,
"local clockId: "
);
term_cprintf
(
C_WHITE
,
"%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x"
,
p
->
id
[
0
],
p
->
id
[
1
],
p
->
id
[
2
],
p
->
id
[
3
],
p
->
id
[
4
],
p
->
id
[
5
],
p
->
id
[
6
],
p
->
id
[
7
]);
term_cprintf
(
C_BLUE
,
" clockClass:"
);
term_cprintf
(
C_WHITE
,
"%4d%s"
,
defaultDS
->
clockQuality
.
clockClass
,
getClockClassLabel
(
defaultDS
->
clockQuality
.
clockClass
));
term_cprintf
(
C_BLUE
,
" clockAccuracy:"
);
term_cprintf
(
C_WHITE
,
"0x%X%-8s"
,
defaultDS
->
clockQuality
.
clockAccuracy
,
getAccuracyLabel
(
defaultDS
->
clockQuality
.
clockAccuracy
));
term_cprintf
(
C_BLUE
,
" logVar:"
);
term_cprintf
(
C_WHITE
,
"%6d"
,
defaultDS
->
clockQuality
.
offsetScaledLogVariance
);
term_cprintf
(
C_WHITE
,
"
\n
"
);
term_cprintf
(
C_BLUE
,
"prio1:"
);
term_cprintf
(
C_WHITE
,
"%4d "
,
defaultDS
->
priority1
);
term_cprintf
(
C_BLUE
,
"prio2:"
);
term_cprintf
(
C_WHITE
,
"%4d"
,
defaultDS
->
priority2
);
term_cprintf
(
C_WHITE
,
"
\n
"
);
}
}
print_gm_info
();
term_cprintf
(
C_CYAN
,
"----- HAL ----|--------------------------- PPSI -----------------------------------------------------------
\n
"
);
term_cprintf
(
C_CYAN
,
" Iface | Freq |Inst| Name | Config | MAC of peer port | PTP/EXT/PDETECT States | PrConf | VLANs
\n
"
);
ppsi_extra_conf_header_dash_str
=
""
;
ppsi_extra_conf_header_str
=
""
;
if
(
print_extra_ppsi_conf
)
{
ppsi_extra_conf_header_dash_str
=
"----------------------------"
;
ppsi_extra_conf_header_str
=
"annI|syncI|delReqI|pdelReqI|"
;
}
term_cprintf
(
C_CYAN
,
"----- HAL ----|--------------------------- PPSI --------------------------------------------------------%s------
\n
"
,
ppsi_extra_conf_header_dash_str
);
term_cprintf
(
C_CYAN
,
" Iface | Freq |Inst| Name | Config | MAC of peer port | PTP/EXT/PDETECT States | PrConf |%s VLANs
\n
"
,
ppsi_extra_conf_header_str
);
}
if
(
mode
&
(
SHOW_SLAVE_PORTS
|
SHOW_MASTER_PORTS
))
{
...
...
@@ -821,6 +867,7 @@ void show_ports(int hal_alive, int ppsi_alive)
int
print_port
=
0
;
int
instance_port
=
0
;
int
color
;
int
port_up
=
0
;
snprintf
(
if_name
,
10
,
"wri%d"
,
i
+
1
);
...
...
@@ -834,9 +881,10 @@ void show_ports(int hal_alive, int ppsi_alive)
if
(
!
(
port_state
->
calib
.
sfp
.
flags
&
SFP_FLAG_IN_DB
))
term_cprintf
(
C_BLUE
,
"-"
);
/* check if link is up */
if
(
state_up
(
port_state
))
if
(
state_up
(
port_state
))
{
term_cprintf
(
C_GREEN
,
"%s %-5s"
,
port_state
->
calib
.
sfp
.
flags
&
SFP_FLAG_IN_DB
?
"+"
:
""
,
if_name
);
else
{
port_up
=
1
;
}
else
{
term_cprintf
(
C_RED
,
"%s*%-5s"
,
port_state
->
calib
.
sfp
.
flags
&
SFP_FLAG_IN_DB
?
"+"
:
""
,
if_name
);
}
term_cprintf
(
C_CYAN
,
"| "
);
...
...
@@ -1001,11 +1049,27 @@ void show_ports(int hal_alive, int ppsi_alive)
color
=
extensionStateColor
(
ppi
);
term_cprintf
(
color
,
"%s"
,
getStateAsString
(
pp_instance_profile
,
ppi
->
cfg
.
profile
));
term_cprintf
(
C_CYAN
,
" |"
);
if
(
print_extra_ppsi_conf
)
{
if
(
port_up
)
color
=
C_GREEN
;
else
color
=
C_RED
;
term_cprintf
(
color
,
"%3d"
,
ppi_pt
->
portDS
->
logAnnounceInterval
);
term_cprintf
(
C_CYAN
,
" |"
);
term_cprintf
(
color
,
"%4d"
,
ppi_pt
->
portDS
->
logSyncInterval
);
term_cprintf
(
C_CYAN
,
" |"
);
term_cprintf
(
color
,
"%6d"
,
ppi_pt
->
portDS
->
logMinDelayReqInterval
);
term_cprintf
(
C_CYAN
,
" |"
);
term_cprintf
(
color
,
"%7d"
,
ppi_pt
->
portDS
->
logMinPdelayReqInterval
);
term_cprintf
(
C_CYAN
,
" |"
);
}
nvlans
=
ppi
->
nvlans
;
term_cprintf
(
C_CYAN
,
" | "
);
for
(
vlan_i
=
0
;
vlan_i
<
nvlans
;
vlan_i
++
)
{
term_cprintf
(
C_WHITE
,
"%d"
,
term_cprintf
(
C_WHITE
,
"
%d"
,
ppi
->
vlans
[
vlan_i
]);
if
(
vlan_i
<
nvlans
-
1
)
term_cprintf
(
C_WHITE
,
","
);
...
...
@@ -1030,6 +1094,9 @@ void show_ports(int hal_alive, int ppsi_alive)
term_cprintf
(
C_BLUE
,
"Iface: +/- SFP in DB; "
"PrConf-Protocol config: V-Eth over VLAN, "
"U-UDP, R-Ethernet; a-ext autoneg; Profile: W-WR, L-HA
\n
"
);
if
(
print_extra_ppsi_conf
)
{
term_cprintf
(
C_BLUE
,
"annI-logAnnounceInterval;syncI-logSyncInterval;delReqI-logMinDelayReqInterval;pdelReqI-logMinPdelayReqInterval;
\n
"
);
}
}
}
...
...
@@ -1284,7 +1351,7 @@ void show_all(void)
term_clear
();
term_pcprintf
(
1
,
1
,
C_BLUE
,
"WR Switch Sync Monitor "
);
term_cprintf
(
C_WHITE
,
"%s"
,
__GIT_VER__
);
term_cprintf
(
C_BLUE
,
" [q = quit]
\n\n
"
);
term_cprintf
(
C_BLUE
,
" [q = quit
, t = toggle servo, c = extra ppsi params
]
\n\n
"
);
}
hal_alive
=
(
hal_head
->
pid
&&
(
kill
(
hal_head
->
pid
,
0
)
==
0
))
...
...
@@ -1342,7 +1409,7 @@ int main(int argc, char *argv[])
wrs_msg_init
(
argc
,
argv
,
LOG_USER
);
while
((
opt
=
getopt
(
argc
,
argv
,
"
himsoetabwqv
H:"
))
!=
-
1
)
{
while
((
opt
=
getopt
(
argc
,
argv
,
"
abcehimoqstvw
H:"
))
!=
-
1
)
{
switch
(
opt
)
{
case
'h'
:
...
...
@@ -1374,6 +1441,9 @@ int main(int argc, char *argv[])
case
'w'
:
mode
|=
WEB_INTERFACE
;
break
;
case
'c'
:
print_extra_ppsi_conf
=
!
print_extra_ppsi_conf
;
break
;
case
'H'
:
wrs_shm_set_path
(
optarg
);
/* ignore WRS_SHM_LOCKED flag */
...
...
@@ -1412,6 +1482,12 @@ int main(int argc, char *argv[])
int
c
=
term_get
();
switch
(
c
)
{
case
'c'
:
print_extra_ppsi_conf
=
!
print_extra_ppsi_conf
;
/* Force refresh */
last_seconds
=
0
;
break
;
case
'q'
:
goto
quit
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment