#!/usr/pkg/bin/perl use strict; use warnings; use Carp qw(carp croak); use Text::CSV::Munge; use Device::LabJack::Control; my $lj = Device::LabJack::Control->new(); $lj->set_configs( 'ID Number' => -1, 'Demo' => 0, 'State D' => Device::LabJack::Control::bin_to_dec('1111111100000010'), 'State IO' => Device::LabJack::Control::bin_to_dec('10'), 'Tris D' => Device::LabJack::Control::bin_to_dec('0000000000000000'), 'Update Digital' => 1, 'Update IO' => 1, 'AI Wiring' => 'DDDD', 'AI Gains' => [0, 0, 0, 0,], 'Disable Cal' => 0, 'LED On' => 1, ); print "\n" . '=' x 50 . "\n\n"; print "Calling easy_analog_in() \n\n"; print $lj->explain( $lj->easy_analog_in( 3 ) ); print "\n" . '=' x 50 . "\n\n"; print "Calling easy_analog_out() \n\n"; print $lj->explain( $lj->easy_analog_out( 2.2, 3.3 ) ); print "\n" . '=' x 50 . "\n\n"; print "Calling easy_count() \n\n"; print $lj->explain( $lj->easy_count(0) ); print "\n" . '=' x 50 . "\n\n"; print "Calling easy_digital_in() \n\n"; print $lj->explain( $lj->easy_digital_in(15,1) ); print "\n" . '=' x 50 . "\n\n"; print "Calling easy_digital_out() \n\n"; print $lj->explain( $lj->easy_digital_out(15,1,1) ); print "\n" . '=' x 50 . "\n\n"; print "Calling ai_sample() \n\n"; print $lj->explain( $lj->ai_sample([0,1,2,3]) ); print "\n" . '=' x 50 . "\n\n"; print "Calling ai_burst() \n\n"; print $lj->explain( $lj->ai_burst([0,1,2,3]) ); print "\n" . '=' x 50 . "\n\n"; print "Calling ai_stream_start() \n\n\n\t" . join qq{\n\t}, $lj->ai_stream_start(); print "\n" . '=' x 50 . "\n\n"; print "Calling ai_stream_read() \n\n\n\t" . join qq{\n\t}, $lj->ai_stream_read(); print "\n" . '=' x 50 . "\n\n"; print "Calling ai_stream_clear \n\n\t" . join qq{\n\t}, $lj->ai_stream_clear(); print "\n" . '=' x 50 . "\n\n"; print "Calling ao_update() \n\n"; print $lj->explain( $lj->ao_update(1.75, 4.25) ); print "\n" . '=' x 50 . "\n\n"; print "Calling asynch_config() \n\n"; print $lj->explain( $lj->asynch_config() ); print "\n" . '=' x 50 . "\n\n"; print "Calling asynch() \n\n"; print $lj->explain( $lj->asynch( [1 .. 18] ) ); print "This feature is not tested and not at all trusted.\n"; print "\n" . '=' x 50 . "\n\n"; print "Calling bits_to_volts() \n\n"; print $lj->explain( $lj->bits_to_volts( 0, 4095 ) ); print "\n" . '=' x 50 . "\n\n"; print "Calling volts_to_bits() \n\n"; print $lj->explain( $lj->volts_to_bits( 0, 19.99 ) ); print "\n" . '=' x 50 . "\n\n"; print "Calling counter() \n\n"; print $lj->explain( $lj->counter() ); print "\n" . '=' x 50 . "\n\n"; print "Calling digital_io() \n\n"; print $lj->explain( $lj->digital_io() ); # my $foo = Device::LabJack::Control::bin_to_dec('1010101010101010'); # print "$foo = ", Device::LabJack::Control::dec_to_bin($foo), ".\n"; print "\n" . '=' x 50 . "\n\n"; print "Calling get_firmware_version() \n\n"; print $lj->explain( $lj->get_firmware_version() ); print "\n" . '=' x 50 . "\n\n"; print "Calling local_id() \n\n"; #print $lj->explain( $lj->local_id(108) ); print "\n" . '=' x 50 . "\n\n"; print "Calling pulse_out_calc() \n\n"; print $lj->explain( $lj->pulse_out_calc(5, 0.666) ); print "\n" . '=' x 50 . "\n\n"; print "Calling pulse_out_calc_retro() \n\n"; # Args = timeB1 timeC1 timeB2 timeC2 print $lj->explain( $lj->pulse_out_calc_retro( 254, 26, 255, 13 ) ); print "\n" . '=' x 50 . "\n\n"; print "Calling pulse_out() \n\n"; # Args = lowFirst bitSelect numPulses timeB1 timeC1 timeB2 timeC2 print $lj->explain( $lj->pulse_out( 0, Device::LabJack::Control::bin_to_dec('10'), 100, 254, 26, 254, 13 ) ); print "\n" . '=' x 50 . "\n\n"; print "Calling easy_pulse_out() \n\n"; # Args = lowFirst bitSelect numPulses freq duty_cycle print $lj->explain( $lj->easy_pulse_out( 0, Device::LabJack::Control::bin_to_dec('10'), 100, 5, 0.5 ) ); print "\n" . '=' x 50 . "\n\n"; print "Calling easy_pulse_out_start() \n\n"; # Args = lowFirst bitSelect numPulses freq duty_cycle print $lj->explain( $lj->easy_pulse_out_start( 0, Device::LabJack::Control::bin_to_dec('0101010'), 76, 8, 0.25 ) ); print "\n" . '=' x 50 . "\n\n"; print "Calling pulse_out_finish() \n\n"; print $lj->explain( $lj->pulse_out_finish(1000 * 15) # Fifteen seconds in miliseconds. ); print "\n" . '=' x 50 . "\n\n"; print "Calling re_enum() \n\n"; print $lj->explain( $lj->re_enum() ); print "\n" . '=' x 50 . "\n"; print "Calling re_set() \n\n\n"; print $lj->explain( $lj->re_set() ); print "\n" . '=' x 50 . "\n"; print "Calling sht1x() \n\n\n\t" . join qq{\n\t}, $lj->sht1x(); print "\n" . '=' x 50 . "\n"; print "\n"; __END__