device
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1331
Device::SNP 1.2
Device::SNP is a Perl extension for the GE Fanuc SNP-X serial protocol as used by GE Fanuc DataPanel data terminals. more>>
Device::SNP is a Perl extension for the GE Fanuc SNP-X serial protocol as used by GE Fanuc DataPanel data terminals. See http://www.gefanuc.com/en/ProductServices/VisPCSolutions/DataPanel/index.html
SYNOPSIS
use Device::SNP;
my $s = new Device::SNP::Slave(
Portname => /dev/ttyUSB0,
Debug => 0);
$s->run();
Amarok serial interface program: datapanel.pl [-h] [-d] [-p portdevice]
portdevice defaults to /dev/ttyUSB0
ABSTRACT
This Device::SNP module contains an implementation of the GE Fanuc SNP-X serial protocol as used by GE Fanuc DataPanel data terminals. See http://www.gefanuc.com/en/ProductServices/VisPCSolutions/DataPanel/index.html
DESCRIPTION
DataPanels are usually used with PLCs to monitor and control industrial equipment. They provide a programmable bitmap display, programmable function keys, and can poll and display data values and set data values in a remote PLC using the SNP-X serial protocol.
The Device::SNP::Slave object implements an SNP-X slave, opens a Device::Serial port and answers SNP-X requests to read and write data to a simulated PLC.
This package also contains a sample application that uses a DataPanel 160 to implement a remote control panel for the Amarok music player on Linux, allowing you to play, pause, next, prev tracks etc.
DataPanels are programmed with a GE application called DataDesigner, available from the GE web site for registered customers. Included in this package is a database for DataDesigner 5.2 for the Amarok remote control application. You will need DataDesigner 5.2 to download the datadesigner/linux.DTB database to the DataPanel 160
Tested on SuSE linux, but should run on pretty well any Linux or Unix.
<<lessSYNOPSIS
use Device::SNP;
my $s = new Device::SNP::Slave(
Portname => /dev/ttyUSB0,
Debug => 0);
$s->run();
Amarok serial interface program: datapanel.pl [-h] [-d] [-p portdevice]
portdevice defaults to /dev/ttyUSB0
ABSTRACT
This Device::SNP module contains an implementation of the GE Fanuc SNP-X serial protocol as used by GE Fanuc DataPanel data terminals. See http://www.gefanuc.com/en/ProductServices/VisPCSolutions/DataPanel/index.html
DESCRIPTION
DataPanels are usually used with PLCs to monitor and control industrial equipment. They provide a programmable bitmap display, programmable function keys, and can poll and display data values and set data values in a remote PLC using the SNP-X serial protocol.
The Device::SNP::Slave object implements an SNP-X slave, opens a Device::Serial port and answers SNP-X requests to read and write data to a simulated PLC.
This package also contains a sample application that uses a DataPanel 160 to implement a remote control panel for the Amarok music player on Linux, allowing you to play, pause, next, prev tracks etc.
DataPanels are programmed with a GE application called DataDesigner, available from the GE web site for registered customers. Included in this package is a database for DataDesigner 5.2 for the Amarok remote control application. You will need DataDesigner 5.2 to download the datadesigner/linux.DTB database to the DataPanel 160
Tested on SuSE linux, but should run on pretty well any Linux or Unix.
Download (0.022MB)
Added: 2007-01-05 License: Perl Artistic License Price:
604 downloads
Device::Cdio 2.3
Device::Cdio is a Perl module for CD Input and Control library. more>>
Device::Cdio is a Perl module for CD Input and Control library.
SYNOPSIS
This encapsulates CD-ROM reading and control. Applications wishing to be oblivious of the OS- and device-dependent properties of a CD-ROM can use this library.
use Device::Cdio;
use Device::Cdio::Device;
@cd_drives = Device::Cdio::get_devices($perlcdio::DRIVER_DEVICE);
@cd_drives = Device::Cdio::get_devices_with_cap($perlcdio::FS_AUDIO, 0);
foreach my $drive (@cd_drives) {
print "Drive $driven";
}
foreach my $driver_name (sort keys(%Device::Cdio::drivers)) {
print "Driver $driver_name is installed.n"
if Device::Cdio::have_driver($driver_name) and
$driver_name !~ m{device|Unknown};
}
This is an Perl Object-Oriented interface to the GNU CD Input and Control library, libcdio, written in C. The library encapsulates CD-ROM reading and control. Perl programs wishing to be oblivious of the OS- and device-dependent properties of a CD-ROM can use this library.
The encapsulation is done in two parts. The lower-level Perl interface is called perlcdio and is generated by SWIG.
The more object-oriented package Device::Cdio and uses perlcdio. Actually, there are no objects in Device::Cdio, but there are in its sub packages Device::Cdio::Device and Device::Cdio::Tracks.
Although perlcdio is perfectly usable on its own, it is expected that Cdio is what most people will use. As perlcdio more closely models the C interface libcdio, it is conceivable (if unlikely) that die-hard libcdio C users who are very familiar with that interface could prefer that.
<<lessSYNOPSIS
This encapsulates CD-ROM reading and control. Applications wishing to be oblivious of the OS- and device-dependent properties of a CD-ROM can use this library.
use Device::Cdio;
use Device::Cdio::Device;
@cd_drives = Device::Cdio::get_devices($perlcdio::DRIVER_DEVICE);
@cd_drives = Device::Cdio::get_devices_with_cap($perlcdio::FS_AUDIO, 0);
foreach my $drive (@cd_drives) {
print "Drive $driven";
}
foreach my $driver_name (sort keys(%Device::Cdio::drivers)) {
print "Driver $driver_name is installed.n"
if Device::Cdio::have_driver($driver_name) and
$driver_name !~ m{device|Unknown};
}
This is an Perl Object-Oriented interface to the GNU CD Input and Control library, libcdio, written in C. The library encapsulates CD-ROM reading and control. Perl programs wishing to be oblivious of the OS- and device-dependent properties of a CD-ROM can use this library.
The encapsulation is done in two parts. The lower-level Perl interface is called perlcdio and is generated by SWIG.
The more object-oriented package Device::Cdio and uses perlcdio. Actually, there are no objects in Device::Cdio, but there are in its sub packages Device::Cdio::Device and Device::Cdio::Tracks.
Although perlcdio is perfectly usable on its own, it is expected that Cdio is what most people will use. As perlcdio more closely models the C interface libcdio, it is conceivable (if unlikely) that die-hard libcdio C users who are very familiar with that interface could prefer that.
Download (0.22MB)
Added: 2007-02-27 License: Perl Artistic License Price:
970 downloads
Device::Gsm 1.48
Device::Gsm is a Perl extension to interface GSM phones / modems. more>>
Device::Gsm is a Perl extension to interface GSM phones / modems.
SYNOPSIS
use Device::Gsm;
my $gsm = new Device::Gsm( port => /dev/ttyS1, pin => xxxx );
if( $gsm->connect() ) {
print "connected!n";
} else {
print "sorry, no connection with gsm phone on serial port!n";
}
# Register to GSM network (you must supply PIN number in above new() call)
$gsm->register();
# Send quickly a short text message
$gsm->send_sms(
recipient => +3934910203040,
content => Hello world! from Device::Gsm
);
# Get list of Device::Gsm::Sms message objects
# see `examples/read_messages.pl for all the details
my @messages = $gsm->messages();
Device::Gsm class implements basic GSM functions, network registration and SMS sending.
This class supports also PDU mode to send SMS messages, and should be fairly usable. In the past, I have developed and tested it under Linux RedHat 7.1 with a 16550 serial port and Siemens C35i/C45 GSM phones attached with a Siemens-compatible serial cable. Currently, Im developing and testing this stuff with Linux Slackware 10.2 and a Cambridge Silicon Radio (CSR) USB bluetooth dongle, connecting to a Nokia 6600 phone.
Please be kind to the universe and contact me if you have troubles or you are interested in this.
Please be monstruosly kind to the universe and (if you dont mind spending an SMS) use the examples/send_to_cosimo.pl script to make me know that Device::Gsm works with your device (thanks!).
Recent versions of Device::Gsm have also an utility called autoscan in the bin/ folder, that creates a little profile of the devices it runs against, that contains information about supported commands and exact output of commands to help recognize similar devices.
Be sure to send me your profile by email (if you want to), so I can add better support for your device in the future!
<<lessSYNOPSIS
use Device::Gsm;
my $gsm = new Device::Gsm( port => /dev/ttyS1, pin => xxxx );
if( $gsm->connect() ) {
print "connected!n";
} else {
print "sorry, no connection with gsm phone on serial port!n";
}
# Register to GSM network (you must supply PIN number in above new() call)
$gsm->register();
# Send quickly a short text message
$gsm->send_sms(
recipient => +3934910203040,
content => Hello world! from Device::Gsm
);
# Get list of Device::Gsm::Sms message objects
# see `examples/read_messages.pl for all the details
my @messages = $gsm->messages();
Device::Gsm class implements basic GSM functions, network registration and SMS sending.
This class supports also PDU mode to send SMS messages, and should be fairly usable. In the past, I have developed and tested it under Linux RedHat 7.1 with a 16550 serial port and Siemens C35i/C45 GSM phones attached with a Siemens-compatible serial cable. Currently, Im developing and testing this stuff with Linux Slackware 10.2 and a Cambridge Silicon Radio (CSR) USB bluetooth dongle, connecting to a Nokia 6600 phone.
Please be kind to the universe and contact me if you have troubles or you are interested in this.
Please be monstruosly kind to the universe and (if you dont mind spending an SMS) use the examples/send_to_cosimo.pl script to make me know that Device::Gsm works with your device (thanks!).
Recent versions of Device::Gsm have also an utility called autoscan in the bin/ folder, that creates a little profile of the devices it runs against, that contains information about supported commands and exact output of commands to help recognize similar devices.
Be sure to send me your profile by email (if you want to), so I can add better support for your device in the future!
Download (0.055MB)
Added: 2007-04-17 License: Perl Artistic License Price:
927 downloads
Device::TNC 0.03
Device::TNC is a Perl module that acts like a generic interface to a TNC. more>>
Device::TNC is a Perl module that acts like a generic interface to a TNC.
This module implements a generic interface to a Terminal Node Controller (TNC).
It loads sub classes that provide the low level interface for the appropriate TNC to be used and provides higher level methods to return frames of data to the user is human readable form.
SYNOPSIS
use Device::TNC;
my $tnc_type = KISS;
my %tnc_config = (
port => ($Config{osname} eq "MSWin32") ? "COM3" : "/dev/TNC-X",
baudrate => 9600,
warn_malformed_kiss => 1,
raw_log => "raw_packet.log",
);
my $tnc = new Device::TNC($tnc_type, %tnc_config);
die "Error: Something went wrong connecting to the TNC.n" unless $tnc;
while (1)
{
my $data = $tnc->read_frame();
my $repeaters = join ", ", @{$data->{ADDRESS}->{REPEATERS}};
my $info = join "", @{$data->{INFO}};
print "From: $data->{ADDRESS}->{SOURCE} ";
print "To: $data->{ADDRESS}->{DESTINATION} ";
print "via $repeatersn";
print "Data: $infon";
}
new()
my $type = "KISS";
my %tnc_data = { option => value };
my $tnc = new Device::TNC($type, %tnc_data);
The new method creates and returns a new Device::TNC object that can be used to communicate with a Terminal Node Controller (TNC) of the type passed.
The method requires that the first passed argument be the type of TNC to connect to. This will try and load the appropriate module for the TNC type.
The subsequent options are passed to the module that is loaded to connect to the desired TNC.
For more details on these options see the module documentation for the TNC type.
read_frame()
my $frame_data = $tnc->read_frame();
my %frame_data = $tnc->read_frame();
This method reads a HDLC frame from the TNC and returns a structure as either a hash or a hash reference that contains the fields of the frame.
The structure of the returned data is like the following.
{
INFO => [
/, 0, 6, 4, 6, 5, 8, h, 3, 3, 5, 0, ., 0, 0,
S, \, 1, 5, 1, 1, 2, ., 0, 0, E, O, 2, 2, 6,
/, 0, 0, 0, /, A, =, 0, 0, 0, 1, 1, 1
],
PID => F0,
CONTROL => {
POLL_FINAL => 0,
FIELD_TYPE => UI,
FRAME_TYPE => U
},
ADDRESS => {
DESTINATION => APT311,
REPEATERS => [
WIDE1-1,
WIDE2-2
],
SOURCE => VK2KFJ-7
}
}
While developing this module I only received U (UI) type frames and so development of the code to work with I and S frames didnt really progress. If anyone wants to read I or S frames please let me know and Ill have a look at implementing them. Please create a KISS log of the data and email it to me.
<<lessThis module implements a generic interface to a Terminal Node Controller (TNC).
It loads sub classes that provide the low level interface for the appropriate TNC to be used and provides higher level methods to return frames of data to the user is human readable form.
SYNOPSIS
use Device::TNC;
my $tnc_type = KISS;
my %tnc_config = (
port => ($Config{osname} eq "MSWin32") ? "COM3" : "/dev/TNC-X",
baudrate => 9600,
warn_malformed_kiss => 1,
raw_log => "raw_packet.log",
);
my $tnc = new Device::TNC($tnc_type, %tnc_config);
die "Error: Something went wrong connecting to the TNC.n" unless $tnc;
while (1)
{
my $data = $tnc->read_frame();
my $repeaters = join ", ", @{$data->{ADDRESS}->{REPEATERS}};
my $info = join "", @{$data->{INFO}};
print "From: $data->{ADDRESS}->{SOURCE} ";
print "To: $data->{ADDRESS}->{DESTINATION} ";
print "via $repeatersn";
print "Data: $infon";
}
new()
my $type = "KISS";
my %tnc_data = { option => value };
my $tnc = new Device::TNC($type, %tnc_data);
The new method creates and returns a new Device::TNC object that can be used to communicate with a Terminal Node Controller (TNC) of the type passed.
The method requires that the first passed argument be the type of TNC to connect to. This will try and load the appropriate module for the TNC type.
The subsequent options are passed to the module that is loaded to connect to the desired TNC.
For more details on these options see the module documentation for the TNC type.
read_frame()
my $frame_data = $tnc->read_frame();
my %frame_data = $tnc->read_frame();
This method reads a HDLC frame from the TNC and returns a structure as either a hash or a hash reference that contains the fields of the frame.
The structure of the returned data is like the following.
{
INFO => [
/, 0, 6, 4, 6, 5, 8, h, 3, 3, 5, 0, ., 0, 0,
S, \, 1, 5, 1, 1, 2, ., 0, 0, E, O, 2, 2, 6,
/, 0, 0, 0, /, A, =, 0, 0, 0, 1, 1, 1
],
PID => F0,
CONTROL => {
POLL_FINAL => 0,
FIELD_TYPE => UI,
FRAME_TYPE => U
},
ADDRESS => {
DESTINATION => APT311,
REPEATERS => [
WIDE1-1,
WIDE2-2
],
SOURCE => VK2KFJ-7
}
}
While developing this module I only received U (UI) type frames and so development of the code to work with I and S frames didnt really progress. If anyone wants to read I or S frames please let me know and Ill have a look at implementing them. Please create a KISS log of the data and email it to me.
Download (0.016MB)
Added: 2007-04-17 License: Perl Artistic License Price:
924 downloads
Device::Modem 1.47
Device::Modem is a Perl extension to talk to modem devices connected via serial port. more>>
Device::Modem is a Perl extension created to talk to modem devices connected via serial port.
WARNING
This is BETA software, so use it at your own risk, and without ANY warranty! Have fun.
SYNOPSIS
use Device::Modem;
my $modem = new Device::Modem( port => /dev/ttyS1 );
if( $modem->connect( baudrate => 9600 ) ) {
print "connected!n";
} else {
print "sorry, no connection with serial port!n";
}
$modem->attention(); # send `attention sequence (+++)
($ok, $answer) = $modem->dial(02270469012); # dial phone number
$ok = $modem->dial(3); # 1-digit parameter = dial number stored in memory 3
$modem->echo(1); # enable local echo (0 to disable)
$modem->offhook(); # Take off hook (ready to dial)
$modem->hangup(); # returns modem answer
$modem->is_active(); # Tests whether modem device is active or not
# So far it works for modem OFF/ modem ON condition
$modem->reset(); # hangup + attention + restore setting 0 (Z0)
$modem->restore_factory_settings(); # Handle with care!
$modem->restore_factory_settings(1); # Same with preset profile 1 (can be 0 or 1)
$modem->send_init_string(); # Send initialization string
# Now this is fixed to AT H0 Z S7=45 S0=0 Q0 V1 E0 &C0 X4
# Get/Set value of S1 register
my $S1 = $modem->S_register(1);
my $S1 = $modem->S_register(1, 55); # Dont do that if you definitely dont know!
# Get status of managed signals (CTS, DSR, RLSD, RING)
my %signal = $modem->status();
if( $signal{DSR} ) { print "Data Set Ready signal active!n"; }
# Stores this number in modem memory number 3
$modem->store_number(3, 01005552817);
$modem->repeat(); # Repeat last command
$modem->verbose(1); # Normal text responses (0=numeric codes)
# Some raw AT commands
$modem->atsend( ATH0 );
print $modem->answer();
$modem->atsend( ATDT01234567 . Device::Modem::CR );
print $modem->answer();
Device::Modem class implements basic AT (Hayes) compliant device abstraction. It can be inherited by sub classes (as Device::Gsm), which are based on serial connections.
<<lessWARNING
This is BETA software, so use it at your own risk, and without ANY warranty! Have fun.
SYNOPSIS
use Device::Modem;
my $modem = new Device::Modem( port => /dev/ttyS1 );
if( $modem->connect( baudrate => 9600 ) ) {
print "connected!n";
} else {
print "sorry, no connection with serial port!n";
}
$modem->attention(); # send `attention sequence (+++)
($ok, $answer) = $modem->dial(02270469012); # dial phone number
$ok = $modem->dial(3); # 1-digit parameter = dial number stored in memory 3
$modem->echo(1); # enable local echo (0 to disable)
$modem->offhook(); # Take off hook (ready to dial)
$modem->hangup(); # returns modem answer
$modem->is_active(); # Tests whether modem device is active or not
# So far it works for modem OFF/ modem ON condition
$modem->reset(); # hangup + attention + restore setting 0 (Z0)
$modem->restore_factory_settings(); # Handle with care!
$modem->restore_factory_settings(1); # Same with preset profile 1 (can be 0 or 1)
$modem->send_init_string(); # Send initialization string
# Now this is fixed to AT H0 Z S7=45 S0=0 Q0 V1 E0 &C0 X4
# Get/Set value of S1 register
my $S1 = $modem->S_register(1);
my $S1 = $modem->S_register(1, 55); # Dont do that if you definitely dont know!
# Get status of managed signals (CTS, DSR, RLSD, RING)
my %signal = $modem->status();
if( $signal{DSR} ) { print "Data Set Ready signal active!n"; }
# Stores this number in modem memory number 3
$modem->store_number(3, 01005552817);
$modem->repeat(); # Repeat last command
$modem->verbose(1); # Normal text responses (0=numeric codes)
# Some raw AT commands
$modem->atsend( ATH0 );
print $modem->answer();
$modem->atsend( ATDT01234567 . Device::Modem::CR );
print $modem->answer();
Device::Modem class implements basic AT (Hayes) compliant device abstraction. It can be inherited by sub classes (as Device::Gsm), which are based on serial connections.
Download (0.046MB)
Added: 2007-04-17 License: Perl Artistic License Price:
929 downloads
Device::Serdisp 0.06
Device::Serdisp is a Perl extension for talking to the serdisplib. more>>
Device::Serdisp is a Perl extension for talking to the serdisplib.
SYNOPSIS
use Device::Serdisp;
my $d = Device::Serdisp->new(USB:7c0/1501, ctinclud);
$d->init();
$d->clear();
# reserves a color-indexed picture
my $image = GD::Image->new(128,64);
my $black = $image->colorAllocate(0,0,0);
my $white = $image->colorAllocate(255,255,255);
$image->transparent($black);
$image->arc(10,10,10,10,0,270, $white);
$d->copyGD($image);
<<lessSYNOPSIS
use Device::Serdisp;
my $d = Device::Serdisp->new(USB:7c0/1501, ctinclud);
$d->init();
$d->clear();
# reserves a color-indexed picture
my $image = GD::Image->new(128,64);
my $black = $image->colorAllocate(0,0,0);
my $white = $image->colorAllocate(255,255,255);
$image->transparent($black);
$image->arc(10,10,10,10,0,270, $white);
$d->copyGD($image);
Download (0.034MB)
Added: 2007-04-12 License: Perl Artistic License Price:
925 downloads
Device::USB::FAQ 0.21
Device::USB::FAQ Perl module contains Frequently Asked Questions for Device::USB. more>>
Device::USB::FAQ Perl module contains Frequently Asked Questions for Device::USB.
This is an attempt to answer some of the frequently asked questions about the Device::USB module.
Which platforms does Device::USB support?
Device:USB supports any platform that libusb supports. This list currently includes Linux, FreeBSD, NetBSD, OpenBSD, Darwin, and MacOS X.
There is a port of the libusb library to the Windows environment called LibUsb-Win32. Because I dont have a development environment for testing this library, Device::USB does not yet support this library.
Do I have to use Device::USB as root?
By default, access to the USB devices on a Unix-based system appear to be limited to the root account. This usually causes access to most of the libusb features to fail with a permission error.
Using the Device::USB module as root avoids this feature, but is not very satisfying from a security standpoint. (See the next question for more options.)
How do I enable use of Device::USB as a non-root user?
Some of the attributes of USB devices are available to non-root users, but accessing many of the more interesting features require special privileges. According to the libusb source, the open() function requires either device nodes to be present or the usbfs file system to be mounted in specific locations. Those places in order are:
1)
/dev/bus/usb - pre-2.6.11: via devfs / post-2.6.11: via udev
2)
/proc/bus/usb - usbfs
Look in both locations on your system for which of these two methods your libusb will use.
No matter which method your system uses, you will probably want to create a separate group to control access. Run this command to add a system group:
addgroup --system usb
or
groupadd --system usb
You can then add users to that group to allow access to your usb devices.
<<lessThis is an attempt to answer some of the frequently asked questions about the Device::USB module.
Which platforms does Device::USB support?
Device:USB supports any platform that libusb supports. This list currently includes Linux, FreeBSD, NetBSD, OpenBSD, Darwin, and MacOS X.
There is a port of the libusb library to the Windows environment called LibUsb-Win32. Because I dont have a development environment for testing this library, Device::USB does not yet support this library.
Do I have to use Device::USB as root?
By default, access to the USB devices on a Unix-based system appear to be limited to the root account. This usually causes access to most of the libusb features to fail with a permission error.
Using the Device::USB module as root avoids this feature, but is not very satisfying from a security standpoint. (See the next question for more options.)
How do I enable use of Device::USB as a non-root user?
Some of the attributes of USB devices are available to non-root users, but accessing many of the more interesting features require special privileges. According to the libusb source, the open() function requires either device nodes to be present or the usbfs file system to be mounted in specific locations. Those places in order are:
1)
/dev/bus/usb - pre-2.6.11: via devfs / post-2.6.11: via udev
2)
/proc/bus/usb - usbfs
Look in both locations on your system for which of these two methods your libusb will use.
No matter which method your system uses, you will probably want to create a separate group to control access. Run this command to add a system group:
addgroup --system usb
or
groupadd --system usb
You can then add users to that group to allow access to your usb devices.
Download (0.027MB)
Added: 2007-07-26 License: Perl Artistic License Price:
824 downloads
Device::Audiotron 1.02
Device::Audiotron provides a tie-in into the API included in the latest firmware for Voyetra Turtle Beachs Audiotron. more>>
Device::Audiotron provides a tie-in into the API included in the latest firmware for Voyetra Turtle Beachs Audiotron.
SYNOPSIS
use Device::Audiotron; $at = new Device::Audiotron("Audiotron IP address","username","password"); if(!$at){die "Audiotron object failed to initialize.";}
my ($ref_status, $ref_shares, $ref_hosts) = $at->GlobalInfo(); my $firmware_version = $ref_status->{"Version"};
Device::Audiotron provides a tie-in into the API included in the latest firmware for Voyetra Turtle Beachs Audiotron.
I highly suggest reading through the API documentation located at http://www.turtlebeach.com/site/products/audiotron/api/dl_api.asp before attempting to implement this module.
The available methods for the Audiotron object and an example of usage for each are listed below. The native API call is listed in brackets below each method for informational purposes and for ease in referencing Voyetras API documentation.
GetInfo(Type,[Count],[Criteria])
[Apigetinfo.asp]
Returns a string containing the results from the command request.
$type = "Global";
$info = $at->GetInfo($type);
OR
$type = "artist";
$count = 4;
$criteria = "Staind";
$info = $at->GetInfo($type,$count,$criteria);
Qfile(Type,Criteria)
[Apiqfile.asp]
Returns a string containing the results from the command request.
$type = "File";
$file = q|LITHIUMMP3BushdeconstructedComedown.mp3|;
$cmd_result = $at->Qfile($type, $file);
AddFile(Full_File_Name)
[Apiaddfile.asp]
Returns a string containing the results from the command request.
$file = q|COBALTMP3new_song.mp3|;
$cmd_result = $at->AddFile($file);
Cmd(Command,[Arg])
[Apicmd.asp]
Returns a string containing the results from the command request.
$cmd_name = "play";
$cmd_result = $at->Cmd($cmd_name);
OR
$cmd_name = "goto";
$cmd_arg = "18";
$cmd_result = $at->Cmd($cmd_name, $cmd_arg);
GetStatus()
[Apigetstatus.asp]
Returns a hash containing element names equivalent to the field names returned by the Audiotron.
%status = $at->GetStatus();
print $status{State};
GlobalInfo()
[See GetInfo]
Returns references to a hash, an array, and an array of hashes.
This is simply a call to GetInfo with "Global" passed as the type but has been customized to pre-parse the results.
($ref_status, $ref_shares, $ref_hosts) = $at->GlobalInfo();
In the above example $ref_status is a reference to a hash containing element names equivalent to the field names returned from the "status" portion of the results. So for example, to get the version number of the firmware:
$firmware_version = $ref_status->{"Version"};
Next, $ref_shares is a reference to an array where each element contains the UNC name for the share as listed in the Audiotron.
Lastly, $ref_hosts is a reference to an array of hashes, one hash per host known by the Audiotron. Each hash in the array contains three elements named Host,IP, and State. So for example, to get the IP address of the first host in the array:
$ip_add = $ref_hosts->[0]->{"IP"};
Msg(Text_line1,[Text_line2],[Timeout])
[Apimsg.api]
Returns a string containing the results from the command request.
$line1 = "This is a test.";
$line2 = "Just Another Perl Hacker";
$time_out = "5";
$cmd_result = $at->Msg($line1, $line2, $time_out);
DumpToc(Share_name)
[Apidumptoc.asp]
Returns a (sometimes huge!) string containing the results from the command request.
$share = q|LITHIUMMP3|;
$toc = $at->DumpToc($share);
NOTE:
This is here just as a placeholder, newer versions will allow the output to be written to a file instead of be handed back as a string. Very inefficient in its current form.
<<lessSYNOPSIS
use Device::Audiotron; $at = new Device::Audiotron("Audiotron IP address","username","password"); if(!$at){die "Audiotron object failed to initialize.";}
my ($ref_status, $ref_shares, $ref_hosts) = $at->GlobalInfo(); my $firmware_version = $ref_status->{"Version"};
Device::Audiotron provides a tie-in into the API included in the latest firmware for Voyetra Turtle Beachs Audiotron.
I highly suggest reading through the API documentation located at http://www.turtlebeach.com/site/products/audiotron/api/dl_api.asp before attempting to implement this module.
The available methods for the Audiotron object and an example of usage for each are listed below. The native API call is listed in brackets below each method for informational purposes and for ease in referencing Voyetras API documentation.
GetInfo(Type,[Count],[Criteria])
[Apigetinfo.asp]
Returns a string containing the results from the command request.
$type = "Global";
$info = $at->GetInfo($type);
OR
$type = "artist";
$count = 4;
$criteria = "Staind";
$info = $at->GetInfo($type,$count,$criteria);
Qfile(Type,Criteria)
[Apiqfile.asp]
Returns a string containing the results from the command request.
$type = "File";
$file = q|LITHIUMMP3BushdeconstructedComedown.mp3|;
$cmd_result = $at->Qfile($type, $file);
AddFile(Full_File_Name)
[Apiaddfile.asp]
Returns a string containing the results from the command request.
$file = q|COBALTMP3new_song.mp3|;
$cmd_result = $at->AddFile($file);
Cmd(Command,[Arg])
[Apicmd.asp]
Returns a string containing the results from the command request.
$cmd_name = "play";
$cmd_result = $at->Cmd($cmd_name);
OR
$cmd_name = "goto";
$cmd_arg = "18";
$cmd_result = $at->Cmd($cmd_name, $cmd_arg);
GetStatus()
[Apigetstatus.asp]
Returns a hash containing element names equivalent to the field names returned by the Audiotron.
%status = $at->GetStatus();
print $status{State};
GlobalInfo()
[See GetInfo]
Returns references to a hash, an array, and an array of hashes.
This is simply a call to GetInfo with "Global" passed as the type but has been customized to pre-parse the results.
($ref_status, $ref_shares, $ref_hosts) = $at->GlobalInfo();
In the above example $ref_status is a reference to a hash containing element names equivalent to the field names returned from the "status" portion of the results. So for example, to get the version number of the firmware:
$firmware_version = $ref_status->{"Version"};
Next, $ref_shares is a reference to an array where each element contains the UNC name for the share as listed in the Audiotron.
Lastly, $ref_hosts is a reference to an array of hashes, one hash per host known by the Audiotron. Each hash in the array contains three elements named Host,IP, and State. So for example, to get the IP address of the first host in the array:
$ip_add = $ref_hosts->[0]->{"IP"};
Msg(Text_line1,[Text_line2],[Timeout])
[Apimsg.api]
Returns a string containing the results from the command request.
$line1 = "This is a test.";
$line2 = "Just Another Perl Hacker";
$time_out = "5";
$cmd_result = $at->Msg($line1, $line2, $time_out);
DumpToc(Share_name)
[Apidumptoc.asp]
Returns a (sometimes huge!) string containing the results from the command request.
$share = q|LITHIUMMP3|;
$toc = $at->DumpToc($share);
NOTE:
This is here just as a placeholder, newer versions will allow the output to be written to a file instead of be handed back as a string. Very inefficient in its current form.
Download (0.004MB)
Added: 2006-11-13 License: Perl Artistic License Price:
1077 downloads
Device::ISDN::OCLM 0.40
Device::ISDN::OCLM is a perl module to control the 3com OfficeConnect LanModem. more>>
Device::ISDN::OCLM is a perl module to control the 3com OfficeConnect LanModem.
SYNOPSIS
$sp = 1;
$pw = secret;
$lanmodem = Device::ISDN::OCLM->new ();
$lanmodem->password ($pw);
$command = manualConnect;
$status = $lanmodem->$command ($sp);
while (($status eq CLOCK) || ($status eq PASSWORD) ||
($status eq CONNECTING) || ($status eq LOGGING IN)) {
if ($status eq CLOCK) {
sleep (1);
$status = $lanmodem->setClock ();
} elsif ($status eq PASSWORD) {
sleep (1);
$status = $lanmodem->enterPasword ();
} elsif (($status eq CONNECTING) || ($status eq LOGGING IN)) {
$command = connectStatus;
$status = OK;
}
if ($status eq OK) {
sleep (1);
$status = $lanmodem->$command ($sp);
}
}
print "$statusn";
This module can be used to control the 3com OfficeConnect LanModem, an ISDN TA/router. Device statistics can be queried and manual connections can be brought up and taken down. Support is provided for setting the clock if the device is power-cycled, and for automatically entering the password if the device is password-protected.
All operations that access the device return a status code indicating whether the operation was successful or not; and, if not, why. For example, if you attempt to query device statistics and the device is locked then the status code will indicate this fact, allowing you to enter the password and retry the operation. Hence the loop in the above synopsis.
This module does not perform these loops internally in an effort to allow it to be embedded within a controlling application such as the oclm Perl command-line application, and a GNOME/GTK graphical user interface that is available separately.
This module has a few warts; some are mandated by the device itself and some are the fault of the author.
<<lessSYNOPSIS
$sp = 1;
$pw = secret;
$lanmodem = Device::ISDN::OCLM->new ();
$lanmodem->password ($pw);
$command = manualConnect;
$status = $lanmodem->$command ($sp);
while (($status eq CLOCK) || ($status eq PASSWORD) ||
($status eq CONNECTING) || ($status eq LOGGING IN)) {
if ($status eq CLOCK) {
sleep (1);
$status = $lanmodem->setClock ();
} elsif ($status eq PASSWORD) {
sleep (1);
$status = $lanmodem->enterPasword ();
} elsif (($status eq CONNECTING) || ($status eq LOGGING IN)) {
$command = connectStatus;
$status = OK;
}
if ($status eq OK) {
sleep (1);
$status = $lanmodem->$command ($sp);
}
}
print "$statusn";
This module can be used to control the 3com OfficeConnect LanModem, an ISDN TA/router. Device statistics can be queried and manual connections can be brought up and taken down. Support is provided for setting the clock if the device is power-cycled, and for automatically entering the password if the device is password-protected.
All operations that access the device return a status code indicating whether the operation was successful or not; and, if not, why. For example, if you attempt to query device statistics and the device is locked then the status code will indicate this fact, allowing you to enter the password and retry the operation. Hence the loop in the above synopsis.
This module does not perform these loops internally in an effort to allow it to be embedded within a controlling application such as the oclm Perl command-line application, and a GNOME/GTK graphical user interface that is available separately.
This module has a few warts; some are mandated by the device itself and some are the fault of the author.
Download (0.013MB)
Added: 2006-07-20 License: Perl Artistic License Price:
1191 downloads
Device::ParallelPort 1.00
Device::ParallelPort is a Parallel Port Driver for Perl. more>>
Device::ParallelPort is a Parallel Port Driver for Perl.
SYNOPSIS
my $port = Device::ParallelPort->new();
$port->set_bit(3,1);
print $port->get_bit(3) . "n";
print ord($port->get_byte(0)) . "n";
$port->set_byte(0, chr(255));
A parallel port driver module. This module provides an API to all parallel ports, by providing the ability to write any number of drivers. Modules are available for linux (both directly and via parport), win32 and a simple script version.
NOTE - This actual module is a factory class only - it is used to automatically return the correct class and has not other intelligence / purpose.
DRIVER MODULES
NOTE - You MUST load one of the drivers for your operating system before this module will correctly work - they are in separate CPAN Modules.
L - Direct hardware access to a base address.
L - Linux access to /dev/parport drivers
L - Run a script with parameters
L - Pretending byte driver for testing
L - Pretending bit driver for testing
L - Windows 32 DLL access driver
DEVICE MODULES ^
L - An example that can talk to a printer
L - Simple JayCar electronics latched, addressable controller
L - SerialFlash of bits - useful for many driver chips
<<lessSYNOPSIS
my $port = Device::ParallelPort->new();
$port->set_bit(3,1);
print $port->get_bit(3) . "n";
print ord($port->get_byte(0)) . "n";
$port->set_byte(0, chr(255));
A parallel port driver module. This module provides an API to all parallel ports, by providing the ability to write any number of drivers. Modules are available for linux (both directly and via parport), win32 and a simple script version.
NOTE - This actual module is a factory class only - it is used to automatically return the correct class and has not other intelligence / purpose.
DRIVER MODULES
NOTE - You MUST load one of the drivers for your operating system before this module will correctly work - they are in separate CPAN Modules.
L - Direct hardware access to a base address.
L - Linux access to /dev/parport drivers
L - Run a script with parameters
L - Pretending byte driver for testing
L - Pretending bit driver for testing
L - Windows 32 DLL access driver
DEVICE MODULES ^
L - An example that can talk to a printer
L - Simple JayCar electronics latched, addressable controller
L - SerialFlash of bits - useful for many driver chips
Download (0.020MB)
Added: 2007-04-12 License: Perl Artistic License Price:
928 downloads
Device::Cdio::Device 0.2.3
Device::Cdio::Device is a class for disc and device aspects of Cdio. more>>
Device::Cdio::Device is a class for disc and device aspects of Cdio.
SYNOPSIS
use Device::Cdio::Device;
$d = Device::Cdio::Device->new(-driver_id=>$perlcdio::DRIVER_DEVICE);
$drive_name = $d->get_device();
($i_read_cap, $i_write_cap, $i_misc_cap) = $d->get_drive_cap();
$start_lsn = $d->get_first_track()->get_lsn();
$end_lsn=$d->get_disc_last_lsn();
$drc = $d->audio_play_lsn($start_lsn, $end_lsn);
($vendor, $model, $release, $drc) = $d->get_hwinfo();
<<lessSYNOPSIS
use Device::Cdio::Device;
$d = Device::Cdio::Device->new(-driver_id=>$perlcdio::DRIVER_DEVICE);
$drive_name = $d->get_device();
($i_read_cap, $i_write_cap, $i_misc_cap) = $d->get_drive_cap();
$start_lsn = $d->get_first_track()->get_lsn();
$end_lsn=$d->get_disc_last_lsn();
$drc = $d->audio_play_lsn($start_lsn, $end_lsn);
($vendor, $model, $release, $drc) = $d->get_hwinfo();
Download (0.22MB)
Added: 2006-06-22 License: Perl Artistic License Price:
1220 downloads
Device Control Device 0.13
Device Control Device is a platform independent remote telescope and device control program. more>>
Device Control Device is a platform independent remote telescope and device control program compatible with the INDI standard (see http://indi.sourceforge.net/).
This program is a client (a user interface) and provides functions to control devices connected to a remote system that is running an INDI server.
The features and the structure of the GUI are similar to the Kstars INDI client. The only advantages are support for Windows and lower resource requirements.
<<lessThis program is a client (a user interface) and provides functions to control devices connected to a remote system that is running an INDI server.
The features and the structure of the GUI are similar to the Kstars INDI client. The only advantages are support for Windows and lower resource requirements.
Download (0.073MB)
Added: 2005-09-11 License: GPL (GNU General Public License) Price:
1509 downloads
Device::Cdio::Track 0.2.3
Device::Cdio::Track is a Perl class for track aspects of Device::Cdio. more>>
Device::Cdio::Track is a Perl class for track aspects of Device::Cdio.
SYNOPSIS
use Device::Cdio::Device;
use Device::Cdio::Track;
$device = Device::Cdio::Device->new(-source=>/dev/cdrom);
$track = $device->get_last_track();
print "track: %d, last lsn: %dn", $track->{track}, track->get_last_lsn();
$track = $device->get_first_track();
$format = $rackt->get_format();
<<lessSYNOPSIS
use Device::Cdio::Device;
use Device::Cdio::Track;
$device = Device::Cdio::Device->new(-source=>/dev/cdrom);
$track = $device->get_last_track();
print "track: %d, last lsn: %dn", $track->{track}, track->get_last_lsn();
$track = $device->get_first_track();
$format = $rackt->get_format();
Download (0.22MB)
Added: 2007-03-06 License: Perl Artistic License Price:
962 downloads
Device::Cdio::ISO9660 0.2.3
Device::Cdio::ISO9660 is a Perl module for ISO 9660 handling. more>>
Device::Cdio::ISO9660 is a Perl module for ISO 9660 handling.
SYNOPSIS
This encapsulates IS9660 filesystem handling. This library however needs to be used in conjunction with Device::Cdio, Device::Cdio::ISO9660::IFS and Device::Cdio::ISO::FS.
use Device::Cdio::ISO9660;
$name = Device::Cdio::ISO9660::name_translate(COPYING.;1);
$bool = Device::Cdio::ISO9660::is_achar(A);
This is an Object-Oriented Perl interface to the GNU CD Input and Control librarys ISO 9660 library, libiso9660.
Encapsulation is done in two parts. The lower-level Perl interface is called perliso9660 and is generated by SWIG.
The more object-oriented package Device::Cdio::ISO9660 and uses perliso9660. Actually, there are no objects in Device::Cdio::ISO9660, but there are in its sub packages Device::Cdio::ISO9660::IFS, Device::Cdio::ISO9660::FS (and in the future Device::Cdio::ISO9660::PVD).
Although perliso9660 is perfectly usable on its own, it is expected that these module and classes are what most people will use. As perliso9660 more closely models the C interface, it is conceivable (if unlikely) that die-hard libiso9660 C users who are very familiar with that interface could prefer that.
<<lessSYNOPSIS
This encapsulates IS9660 filesystem handling. This library however needs to be used in conjunction with Device::Cdio, Device::Cdio::ISO9660::IFS and Device::Cdio::ISO::FS.
use Device::Cdio::ISO9660;
$name = Device::Cdio::ISO9660::name_translate(COPYING.;1);
$bool = Device::Cdio::ISO9660::is_achar(A);
This is an Object-Oriented Perl interface to the GNU CD Input and Control librarys ISO 9660 library, libiso9660.
Encapsulation is done in two parts. The lower-level Perl interface is called perliso9660 and is generated by SWIG.
The more object-oriented package Device::Cdio::ISO9660 and uses perliso9660. Actually, there are no objects in Device::Cdio::ISO9660, but there are in its sub packages Device::Cdio::ISO9660::IFS, Device::Cdio::ISO9660::FS (and in the future Device::Cdio::ISO9660::PVD).
Although perliso9660 is perfectly usable on its own, it is expected that these module and classes are what most people will use. As perliso9660 more closely models the C interface, it is conceivable (if unlikely) that die-hard libiso9660 C users who are very familiar with that interface could prefer that.
Download (0.022MB)
Added: 2007-02-23 License: Perl Artistic License Price:
974 downloads
Device::Denon::DN1400F 0.02
Device::Denon::DN1400F is a Perl module that can control a Denon DN-1400F CD player. more>>
Device::Denon::DN1400F is a Perl module that can control a Denon DN-1400F CD player.
SYNOPSIS
use Device::Denon::DN1400F;
my $denon = new Device::Denon::DN1400F(
SerialPort => /dev/ttyS0,
Id => $deviceid,
);
$denon->load_disc($drive, $discno);
$denon->drive_play($drive, $track);
$denon->drive_pause($drive, $paused);
$denon->drive_stop($drive);
$denon->unload_disc($drive, $discno);
$denon->unload_discs;
print $denon->drive_status($drive);
print $denon->drive_subcode_qchannel($drive);
print $denon->toc_data_long($drive);
print $denon->toc_data_short($drive);
$denon->debug;
$denon->reset;
$denon->move_front;
This module gives an object oriented interface to control the Denon DN-1400F, an RS232 controlled 200 CD two-turntable jukebox designed for nonstop playout.
Many methods are available, it is currently still best to browse the source to find the details.
<<lessSYNOPSIS
use Device::Denon::DN1400F;
my $denon = new Device::Denon::DN1400F(
SerialPort => /dev/ttyS0,
Id => $deviceid,
);
$denon->load_disc($drive, $discno);
$denon->drive_play($drive, $track);
$denon->drive_pause($drive, $paused);
$denon->drive_stop($drive);
$denon->unload_disc($drive, $discno);
$denon->unload_discs;
print $denon->drive_status($drive);
print $denon->drive_subcode_qchannel($drive);
print $denon->toc_data_long($drive);
print $denon->toc_data_short($drive);
$denon->debug;
$denon->reset;
$denon->move_front;
This module gives an object oriented interface to control the Denon DN-1400F, an RS232 controlled 200 CD two-turntable jukebox designed for nonstop playout.
Many methods are available, it is currently still best to browse the source to find the details.
Download (0.006MB)
Added: 2006-12-27 License: Perl Artistic License Price:
1039 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above device search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed