Initial revision
[comedilib.git] / perl / example.perl
1
2 #   A little input demo
3
4 use constant N_SAMPLES => 64;
5
6 use Comedi qw( :Functions :Constants :Ioctls ) ;
7
8 # allocate a data buffer
9
10 # create a channel list
11 $ch = pack('L*', CR_PACK(0, 0, AREF_GROUND));
12
13 # create a data buffer
14 $buf = pack('S' . N_SAMPLES);
15
16 # create a trigger object
17 #
18 $it = pack('L4 p2 L5 L3',
19            0,
20            0,
21            0,
22            1,
23            $ch,
24            $buf,
25            N_SAMPLES,
26            0,
27            0,
28            0
29            );
30
31 $fn = '/dev/comedi0';
32
33 sysopen(FILE, $fn, O_RDWR) || die "Can't open '$fn': $!";
34
35 ioctl(FILE, COMEDI_TRIG, $it) || die "ioctl failed: $!";
36
37 foreach (unpack('S*', $buf)) {
38     printf("%d\n", $_);
39 }
40
41