Comedi-Lib
    
    
  
  
  
view release on metacpan or search on metacpan
sub find_subdevice_by_type {
   my $self  = shift;
   my $type  = shift;
   my $start = shift;
   $self->_assert_open();
   return lib_find_subdevice_by_type($self->{handle}, $type, $start);
}
=item get_read_subdevice
Find streaming input subdevice.
Example code,
   my $streaming_input_support = $cref->get_read_subdevice();
   if ($streaming_input_support == -1) {
      print "No streaming input support available\n";
   }
   else {
      print "Comedi subdevice no. $streaming_input_support ",
            "allows streaming input\n";
   }
This class method returns the subdevice whose streaming input buffer is
accessible through the previous opened device. If there is no such subdevice,
-1 is returned.
=cut
sub get_read_subdevice {
   my $self = shift;
   $self->_assert_open();
   return lib_get_read_subdevice($self->{handle});
}
=item get_write_subdevice
Find streaming output subdevice.
Example code,
   my $streaming_output_support = $cref->get_write_subdevice();
   if ($streaming_output_support == -1) {
      print "No streaming output support available\n";
   }
   else {
      print "Comedi subdevice no. $streaming_output_support ",
            "allows streaming output\n";
   }
This class method returns the subdevice whose streaming output buffer is
accessible through the previous opened device. If there is no such subdevice,
-1 is returned.
=cut
sub get_write_subdevice {
   my $self = shift;
   $self->_assert_open();
   return lib_get_write_subdevice($self->{handle});
}
Streaming buffer size of subdevice.
Example code,
   my $buf_size = $cref->get_buffer_size($subdev);
   croak "An error has occurred" if $buf_size == -1;
   print "Streaming buffer size for the subdevice - $buf_size Bytes\n";
    
This class method returns the size -in Bytes- of the streaming buffer for the
specified subdevice. On error, -1 is returned.
=cut
sub get_buffer_size {
   my $self   = shift;
   my $subdev = shift;
   $self->_assert_open();
   return lib_get_buffer_size($self->{handle}, $subdev);
}
=item get_max_buffer_size
Maximum streaming buffer size.
Example code,
   my $max_size = $cref->get_max_buffer_size($subdev);
   croak "An error has occurred" if $max_size == -1;
   print "Max. streaming buffer size for the subdevice - $max_size Bytes\n";
This class method returns the maximum allowable size -in Bytes- of the
streaming buffer for the specified subdevice. On error, -1 is returned.
=cut
sub get_max_buffer_size {
   my $self   = shift;
   my $subdev = shift;
   $self->_assert_open();
   return lib_get_max_buffer_size($self->{handle}, $subdev);
}
Streaming buffer size of subdevice.
Example code,
   # First, determine the virtual memory page size (look at the Comedi docu)
   require POSIX;
   my $vmps = POSIX::sysconf(&POSIX::_SC_PAGESIZE);
   $vmps   *= 2;
   print "Trying to set the streaming buffer size to $vmps\n";
   if ($cref->set_buffer_size($subdev, $vmps) == -1) {
      print "Warning: Couldn't set new streaming buffer size\n";
   }
The C<set_buffer_size()> class method returns the new buffer size in Bytes.
On error, -1 is returned.
=cut
sub set_buffer_size {
   my $self   = shift;
   my $subdev = shift;
=cut
sub get_cmd_generic_timed {
   print STDERR __PACKAGE__, '::',
         "get_cmd_generic_timed: Sorry, I've no functionality at this time\n";
   return;
}
=item cancel
Stop streaming input/output in progress.
Example code,
   # This class method is useful in combination with command()
   # and this class method is not completely implemented yet.
If successful, C<cancel()> returns 0, otherwise -1.
=cut
   print STDERR __PACKAGE__, '::',
         "cancel: U use me at your own _risk_\n";
   my $self   = shift;
   my $subdev = shift;
   $self->_assert_open();
   return lib_cancel($self->{handle}, $subdev);
}
=item command
Start streaming input/output.
Note that this subroutine has no functionality as long as I have no testing
device with the associated driver.
Patches or suggestions are welcome, send me an email (Subject: Comedi::Lib).
=cut
sub command {
   print STDERR __PACKAGE__, '::',
         "command: Sorry, I've no functionality at this time\n";
   return;
}
=item command_test
Test streaming input/output configuration.
Note that this subroutine has no functionality as long as I have no testing
device with the associated driver.
Patches or suggestions are welcome, send me an email (Subject: Comedi::Lib).
=cut
sub command_test {
   print STDERR __PACKAGE__, '::',
         "command: Sorry, I've no functionality at this time\n";
   return;
}
=item poll
Force updating of streaming buffer.
Example code,
   my $retval = $cref->poll($subdev);
   croak "An error has occurred" if $retval == -1;
If successful, this class method returns the number of additional bytes
available. If there is an error, -1 is returned.
=cut
=item get_buffer_contents
Streaming buffer status.
Example code,
   # This class method is useful in combination with command()
   # and this class method is not completely implemented yet.
   
This class method returns the number of bytes that are available in the
streaming buffer. If there is an error, -1 is returned.
=cut
sub get_buffer_contents {
   print STDERR __PACKAGE__, '::',
         "get_buffer_contents: U use me at your own _risk_\n";
   my $self   = shift;
   my $subdev = shift;
   $self->_assert_open();
   return lib_get_buffer_contents($self->{handle}, $subdev);
=item get_buffer_offset
Streaming buffer status.
Example code,
   # This class method is useful in combination with command()
   # and this class method is not completely implemented yet.
This class method returns the offset in bytes of the read pointer in the
streaming buffer. If there is an error, -1 is returned.
=cut
sub get_buffer_offset {
   print STDERR __PACKAGE__, '::',
         "get_buffer_offset: U use me at your own _risk_\n";
   my $self   = shift;
   my $subdev = shift;
   $self->_assert_open();
   return lib_get_buffer_offset($self->{handle}, $subdev);
( run in 0.884 second using v1.01-cache-2.11-cpan-5dc5da66d9d )