Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
F
FMC ADC 100M 14b 4cha - Software
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
FMC ADC 100M 14b 4cha - Software
Commits
7f30a87e
Commit
7f30a87e
authored
May 09, 2014
by
Federico Vaga
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
libtools: fald-trg-cfg with parameters use them and quit
Signed-off-by:
Federico Vaga
<
federico.vaga@cern.ch
>
parent
b8653944
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
15 deletions
+41
-15
fald-trg-cfg.c
libtools/fald-trg-cfg.c
+41
-15
No files found.
libtools/fald-trg-cfg.c
View file @
7f30a87e
...
...
@@ -7,19 +7,36 @@
#include <string.h>
#include <errno.h>
#define FALD_TRG_ARGC 2
void
send_config
(
int
fd
,
char
*
msg
)
{
/* removing newline at the end */
if
(
msg
[
strlen
(
msg
)
-
1
]
==
'\n'
)
msg
[
strlen
(
msg
)
-
1
]
=
'\0'
;
if
(
strlen
(
msg
))
{
write
(
fd
,
msg
,
strlen
(
msg
));
fprintf
(
stdout
,
"New trig setting sent: %s(len: %d)
\n
"
,
msg
,
(
int
)
strlen
(
msg
));
}
else
{
fprintf
(
stdout
,
"Nothing sent due to an empty user input
\n
"
);
}
}
int
main
(
int
argc
,
char
*
argv
[])
{
int
fd
;
int
i
,
fd
;
char
adcfifo
[
128
];
char
msg
[
512
],
*
ptr
;
unsigned
int
devid
;
if
(
argc
<
2
)
{
if
(
argc
<
FALD_TRG_ARGC
)
{
fprintf
(
stderr
,
"
\n
Usage:
\n
fald-trg-cfg <dev_id> [options]
\n
"
);
return
-
1
;
}
sscanf
(
argv
[
1
],
"%x"
,
&
devid
);
sscanf
(
argv
[
FALD_TRG_ARGC
-
1
],
"%x"
,
&
devid
);
if
(
access
(
adcfifo
,
F_OK
)
==
-
1
)
{
sprintf
(
adcfifo
,
"/tmp/adcfifo-%04x"
,
devid
);
/* create the FIFO (named pipe) */
...
...
@@ -31,8 +48,26 @@ int main(int argc, char *argv[])
fprintf
(
stdout
,
"open %s failed errno:%d
\n
"
,
adcfifo
,
errno
);
exit
(
1
);
}
/*
* If we have parameters from the command line, then send them
* immediately and close the program. This allow external program to
* invoke this one for the configuration instead of interactive input
*/
if
(
argc
>
FALD_TRG_ARGC
)
{
memset
(
msg
,
0
,
512
);
for
(
i
=
2
;
i
<
argc
;
++
i
)
{
strcat
(
msg
,
argv
[
i
]);
strcat
(
msg
,
" "
);
}
send_config
(
fd
,
msg
);
close
(
fd
);
return
0
;
}
/* get user input */
for
(;;
)
{
while
(
1
)
{
memset
(
msg
,
0
,
512
);
fprintf
(
stdout
,
"Change trig config using standard args: -a -b -c -n -e
\n
>>>: "
);
ptr
=
fgets
(
msg
,
sizeof
(
msg
),
stdin
);
...
...
@@ -40,17 +75,8 @@ int main(int argc, char *argv[])
fprintf
(
stderr
,
"Error while reading options
\n
"
);
break
;
}
/* removing newline at the end */
if
(
msg
[
strlen
(
msg
)
-
1
]
==
'\n'
)
msg
[
strlen
(
msg
)
-
1
]
=
'\0'
;
if
(
strlen
(
msg
))
{
write
(
fd
,
msg
,
strlen
(
msg
));
fprintf
(
stdout
,
"New trig setting sent: %s(len: %d)
\n
"
,
msg
,
(
int
)
strlen
(
msg
));
}
else
{
fprintf
(
stdout
,
"Nothing sent due to an empty user input
\n
"
);
}
continue
;
send_config
(
fd
,
msg
);
}
close
(
fd
);
/* don't remove the FIFO to not break the reader side */
...
...
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