Astro-SkyX
view release on metacpan or search on metacpan
lib/Astro/SkyX.pm view on Meta::CPAN
}
sub sky6RASCOMTele {
my $self = shift @_;
return $self->{_sky6RASCOMTele};
}
sub sky6RASCOMTheSky {
my $self = shift @_;
return $self->{_sky6RASCOMTheSky};
}
sub sky6Raven {
my $self = shift @_;
return $self->{_sky6Raven};
}
sub sky6StarChart {
my $self = shift @_;
return $self->{_sky6StarChart};
}
sub sky6TheSky {
my $self = shift @_;
return $self->{_sky6TheSky};
}
sub sky6Utils {
my $self = shift @_;
return $self->{_sky6Utils};
}
sub sky6Web {
my $self = shift @_;
return $self->{_sky6Web};
}
sub ccdsoftCamera {
my $self = shift @_;
return $self->{_ccdsoftCamera};
}
sub ccdsoftCameraImage {
my $self = shift @_;
return $self->{_ccdsoftCameraImage};
}
sub ccdsoftAutoguiderImage {
my $self = shift @_;
return $self->{_ccdsoftAutoguiderImage};
}
sub connect {
my ($obj,$destinationIP,$destinationPort) = @_;
$SkyXConnection = IO::Socket::INET->new (
PeerAddr => $destinationIP,
PeerPort => $destinationPort,
Blocking => 0,
autoflush => 1,
Proto => 'tcp',
Timeout => "300",
);
if ( ! Scalar::Util::openhandle($SkyXConnection ) ){
die "Unable to connect to The Sky X\n";
}
$SkyXConnection->autoflush(1);
select $SkyXConnection;
$| = 1;
$select = IO::Select->new();
$select->add($SkyXConnection);
select STDOUT;
return 0 unless $SkyXConnection;
return $SkyXConnection;
}
sub Send {
my $signal = $SIG{INT};
if ( IGNORECTLC ){
$SIG{INT} = 'IGNORE';
}
my ($self,$sendtext) = @_;
$sendtext =~ s/\\/\\\\/g;
print $SkyXConnection "$sendtext\r\n";
# print "Sending...\n$sendtext\n";
$SkyXConnection->flush;
$SIG{INT} = $signal;
}
sub Get {
my $signal = $SIG{INT};
if ( IGNORECTLC ){
$SIG{INT} = 'IGNORE';
}
my ($self) = @_;
my $output = undef;
$error = "";
while ( ! defined($output) or ($output !~ /[|].*Error = .*\./) ) {
while ( my @read_from = $select->can_read(0) ) {
my $data = '';
$read_from[0]->recv($data,1024);
$output .= $data if $data;
}
}
($output,$error) = split(/\|([^|]+)$/,$output);
$SIG{INT} = $signal;
return ($output);
}
sub getError {
return ($error);
}
sub Wait {
my ($waitsecs) = @_;
select(undef,undef,undef,$waitsecs);
}
( run in 1.976 second using v1.01-cache-2.11-cpan-39bf76dae61 )