Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
F
FMC DEL 1ns 4cha - Software
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
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 DEL 1ns 4cha - Software
Commits
863fab63
Commit
863fab63
authored
May 03, 2012
by
Alessandro Rubini
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lib: added examples for read and fread
parent
5593ebfb
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
149 additions
and
1 deletion
+149
-1
.gitignore
lib/.gitignore
+3
-0
Makefile
lib/Makefile
+2
-0
fdelay-fread.c
lib/fdelay-fread.c
+66
-0
fdelay-read.c
lib/fdelay-read.c
+77
-0
fdelay-tdc.c
lib/fdelay-tdc.c
+1
-1
No files found.
lib/.gitignore
View file @
863fab63
...
...
@@ -3,3 +3,6 @@
fdelay-list
fdelay-board-time
fdelay-term
fdelay-read
fdelay-fread
lib/Makefile
View file @
863fab63
...
...
@@ -11,6 +11,8 @@ LDFLAGS = -L. -lfdelay
DEMOSRC
:=
fdelay-list.c
DEMOSRC
+=
fdelay-board-time.c
DEMOSRC
+=
fdelay-term.c
DEMOSRC
+=
fdelay-read.c
DEMOSRC
+=
fdelay-fread.c
DEMOS
:=
$
(
DEMOSRC:.c
=)
...
...
lib/fdelay-fread.c
0 → 100644
View file @
863fab63
/* Simple demo that reads samples using the fread call */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include "fdelay-lib.h"
int
main
(
int
argc
,
char
**
argv
)
{
struct
fdelay_board
*
b
;
int
i
,
j
,
npulses
;
struct
fdelay_time
*
t
;
if
(
argc
!=
2
)
{
fprintf
(
stderr
,
"%s: Use
\"
%s <nsamples>
\n
"
,
argv
[
0
],
argv
[
0
]);
exit
(
1
);
}
i
=
fdelay_init
();
if
(
i
<
0
)
{
fprintf
(
stderr
,
"%s: fdelay_init(): %s
\n
"
,
argv
[
0
],
strerror
(
errno
));
exit
(
1
);
}
if
(
i
==
0
)
{
fprintf
(
stderr
,
"%s: no boards found
\n
"
,
argv
[
0
]);
exit
(
1
);
}
if
(
i
!=
1
)
{
fprintf
(
stderr
,
"%s: found %i boards, using first one
\n
"
,
argv
[
0
],
i
);
}
b
=
fdelay_open
(
0
,
-
1
);
if
(
!
b
)
{
fprintf
(
stderr
,
"%s: fdelay_open(): %s
\n
"
,
argv
[
0
],
strerror
(
errno
));
exit
(
1
);
}
npulses
=
atoi
(
argv
[
1
]);
t
=
calloc
(
npulses
,
sizeof
(
*
t
));
if
(
!
t
)
{
fprintf
(
stderr
,
"%s: calloc(): %s
\n
"
,
argv
[
0
],
strerror
(
errno
));
exit
(
1
);
}
fprintf
(
stderr
,
"%s: reading %i pulses using fread..."
,
argv
[
0
],
npulses
);
i
=
fdelay_fread
(
b
,
t
,
npulses
);
fprintf
(
stderr
,
" got %i of them
\n
"
,
i
);
for
(
j
=
0
;
j
<
i
;
j
++
)
{
printf
(
"seq %5i: time %lli.%09li + %04x
\n
"
,
t
[
j
].
seq_id
,
t
[
j
].
utc
,
(
long
)
t
[
j
].
coarse
*
8
,
t
[
j
].
frac
);
}
if
(
i
<
0
)
{
fprintf
(
stderr
,
"%s: fdelay_read: %s
\n
"
,
argv
[
0
],
strerror
(
errno
));
exit
(
1
);
}
fdelay_close
(
b
);
fdelay_exit
();
return
0
;
}
lib/fdelay-read.c
0 → 100644
View file @
863fab63
/* Simple demo that reads samples using the read call */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include "fdelay-lib.h"
int
main
(
int
argc
,
char
**
argv
)
{
struct
fdelay_board
*
b
;
int
i
,
j
,
npulses
;
struct
fdelay_time
*
t
;
if
(
argc
!=
2
)
{
fprintf
(
stderr
,
"%s: Use
\"
%s <nsamples>
\n
"
,
argv
[
0
],
argv
[
0
]);
exit
(
1
);
}
i
=
fdelay_init
();
if
(
i
<
0
)
{
fprintf
(
stderr
,
"%s: fdelay_init(): %s
\n
"
,
argv
[
0
],
strerror
(
errno
));
exit
(
1
);
}
if
(
i
==
0
)
{
fprintf
(
stderr
,
"%s: no boards found
\n
"
,
argv
[
0
]);
exit
(
1
);
}
if
(
i
!=
1
)
{
fprintf
(
stderr
,
"%s: found %i boards, using first one
\n
"
,
argv
[
0
],
i
);
}
b
=
fdelay_open
(
0
,
-
1
);
if
(
!
b
)
{
fprintf
(
stderr
,
"%s: fdelay_open(): %s
\n
"
,
argv
[
0
],
strerror
(
errno
));
exit
(
1
);
}
npulses
=
atoi
(
argv
[
1
]);
t
=
calloc
(
npulses
,
sizeof
(
*
t
));
if
(
!
t
)
{
fprintf
(
stderr
,
"%s: calloc(): %s
\n
"
,
argv
[
0
],
strerror
(
errno
));
exit
(
1
);
}
/* Read twice: first blocking then non-blocking */
fprintf
(
stderr
,
"%s: reading %i pulses in blocking mode..."
,
argv
[
0
],
npulses
);
i
=
fdelay_read
(
b
,
t
,
npulses
,
0
);
fprintf
(
stderr
,
" got %i of them
\n
"
,
i
);
for
(
j
=
0
;
j
<
i
;
j
++
)
{
printf
(
"seq %5i: time %lli.%09li + %04x
\n
"
,
t
[
j
].
seq_id
,
t
[
j
].
utc
,
(
long
)
t
[
j
].
coarse
*
8
,
t
[
j
].
frac
);
}
if
(
i
<
0
)
{
fprintf
(
stderr
,
"%s: fdelay_read: %s
\n
"
,
argv
[
0
],
strerror
(
errno
));
exit
(
1
);
}
fprintf
(
stderr
,
"%s: reading %i pulses in non-blocking mode..."
,
argv
[
0
],
npulses
);
i
=
fdelay_read
(
b
,
t
,
npulses
,
O_NONBLOCK
);
fprintf
(
stderr
,
" got %i of them
\n
"
,
i
);
for
(
j
=
0
;
j
<
i
;
j
++
)
{
printf
(
"seq %5i: time %lli.%09li + %04x
\n
"
,
t
[
j
].
seq_id
,
t
[
j
].
utc
,
(
long
)
t
[
j
].
coarse
*
8
,
t
[
j
].
frac
);
}
fdelay_close
(
b
);
fdelay_exit
();
return
0
;
}
lib/fdelay-tdc.c
View file @
863fab63
...
...
@@ -128,7 +128,7 @@ int fdelay_fread(struct fdelay_board *userb, struct fdelay_time *t, int n)
int
i
,
loop
;
for
(
i
=
0
;
i
<
n
;
)
{
loop
=
fdelay_read
(
userb
,
t
,
n
-
i
,
0
);
loop
=
fdelay_read
(
userb
,
t
+
i
,
n
-
i
,
0
);
if
(
loop
<
0
)
return
-
1
;
i
+=
loop
;
...
...
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