mirror of
https://github.com/Hamlib/Hamlib.git
synced 2024-09-21 10:27:18 +00:00
moved from Hamlib/ subdir, to make VPATH working easier
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@1006 7ae35d74-ebe9-4afe-98af-79ac388436b8
This commit is contained in:
parent
b10631f5c1
commit
26b7df3c36
6
perl/Changes
Normal file
6
perl/Changes
Normal file
@ -0,0 +1,6 @@
|
||||
Revision history for Perl extension Hamlib.
|
||||
|
||||
0.01 Sat Feb 9 22:12:07 2002
|
||||
- original version; created by h2xs 1.21 with options
|
||||
-Oax -n Hamlib -p rig_ -o '^[R]IG \*$' -F -I../../include rig.h
|
||||
|
715
perl/Hamlib.pm
Normal file
715
perl/Hamlib.pm
Normal file
@ -0,0 +1,715 @@
|
||||
package Hamlib;
|
||||
|
||||
# Copyright 2002 Stephane Fillod. See accompanying README file for
|
||||
# usage information
|
||||
|
||||
use 5.006;
|
||||
use strict;
|
||||
use warnings;
|
||||
use Errno;
|
||||
use Carp;
|
||||
|
||||
require Exporter;
|
||||
require DynaLoader;
|
||||
use AutoLoader;
|
||||
#use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $AUTOLOAD);
|
||||
our $VERSION = '0.02';
|
||||
|
||||
our @ISA = qw(Exporter DynaLoader);
|
||||
|
||||
# Items to export into callers namespace by default. Note: do not export
|
||||
# names by default without a very good reason. Use EXPORT_OK instead.
|
||||
# Do not simply export all your public functions/methods/constants.
|
||||
|
||||
# This allows declaration use Hamlib ':all';
|
||||
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
|
||||
# will save memory.
|
||||
our %EXPORT_TAGS = ( 'ann' => [ qw(
|
||||
RIG_ANN_ALL
|
||||
RIG_ANN_FREQ
|
||||
RIG_ANN_NONE
|
||||
RIG_ANN_OFF
|
||||
RIG_ANN_RXMODE
|
||||
) ] ,
|
||||
'conf' => [ qw(
|
||||
RIG_CONF_CHECKBUTTON
|
||||
RIG_CONF_COMBO
|
||||
RIG_CONF_NUMERIC
|
||||
RIG_CONF_STRING
|
||||
) ] ,
|
||||
'err_code' => [ qw(
|
||||
RIG_OK
|
||||
RIG_ECONF
|
||||
RIG_EINTERNAL
|
||||
RIG_EINVAL
|
||||
RIG_EIO
|
||||
RIG_ENAVAIL
|
||||
RIG_ENIMPL
|
||||
RIG_ENOMEM
|
||||
RIG_ENTARGET
|
||||
RIG_EPROTO
|
||||
RIG_ERJCTED
|
||||
RIG_ETIMEOUT
|
||||
RIG_ETRUNC
|
||||
) ] ,
|
||||
'flag' => [ qw(
|
||||
RIG_FLAG_APRS
|
||||
RIG_FLAG_COMPUTER
|
||||
RIG_FLAG_DXCLUSTER
|
||||
RIG_FLAG_HANDHELD
|
||||
RIG_FLAG_MOBILE
|
||||
RIG_FLAG_RECEIVER
|
||||
RIG_FLAG_SCANNER
|
||||
RIG_FLAG_TNC
|
||||
RIG_FLAG_TRANSCEIVER
|
||||
RIG_FLAG_TRANSMITTER
|
||||
RIG_FLAG_TRUNKING
|
||||
) ] ,
|
||||
'func' => [ qw(
|
||||
RIG_FUNC_ABM
|
||||
RIG_FUNC_AIP
|
||||
RIG_FUNC_ANF
|
||||
RIG_FUNC_APF
|
||||
RIG_FUNC_ARO
|
||||
RIG_FUNC_BC
|
||||
RIG_FUNC_COMP
|
||||
RIG_FUNC_FAGC
|
||||
RIG_FUNC_FBKIN
|
||||
RIG_FUNC_LMP
|
||||
RIG_FUNC_LOCK
|
||||
RIG_FUNC_MBC
|
||||
RIG_FUNC_MN
|
||||
RIG_FUNC_MON
|
||||
RIG_FUNC_MUTE
|
||||
RIG_FUNC_NB
|
||||
RIG_FUNC_NONE
|
||||
RIG_FUNC_NR
|
||||
RIG_FUNC_REV
|
||||
RIG_FUNC_RNF
|
||||
RIG_FUNC_SBKIN
|
||||
RIG_FUNC_SQL
|
||||
RIG_FUNC_TONE
|
||||
RIG_FUNC_TSQL
|
||||
RIG_FUNC_VOX
|
||||
RIG_FUNC_VSC
|
||||
) ] ,
|
||||
'itu_region' => [ qw(
|
||||
RIG_ITU_REGION1
|
||||
RIG_ITU_REGION2
|
||||
RIG_ITU_REGION3
|
||||
) ] ,
|
||||
'level' => [ qw(
|
||||
RIG_LEVEL_AF
|
||||
RIG_LEVEL_AGC
|
||||
RIG_LEVEL_ALC
|
||||
RIG_LEVEL_APF
|
||||
RIG_LEVEL_ATT
|
||||
RIG_LEVEL_BALANCE
|
||||
RIG_LEVEL_BKINDL
|
||||
RIG_LEVEL_COMP
|
||||
RIG_LEVEL_CWPITCH
|
||||
RIG_LEVEL_FLOAT_LIST
|
||||
RIG_LEVEL_IF
|
||||
RIG_LEVEL_KEYSPD
|
||||
RIG_LEVEL_METER
|
||||
RIG_LEVEL_MICGAIN
|
||||
RIG_LEVEL_NONE
|
||||
RIG_LEVEL_NOTCHF
|
||||
RIG_LEVEL_NR
|
||||
RIG_LEVEL_PBT_IN
|
||||
RIG_LEVEL_PBT_OUT
|
||||
RIG_LEVEL_PREAMP
|
||||
RIG_LEVEL_READONLY_LIST
|
||||
RIG_LEVEL_RF
|
||||
RIG_LEVEL_RFPOWER
|
||||
RIG_LEVEL_SQL
|
||||
RIG_LEVEL_SQLSTAT
|
||||
RIG_LEVEL_STRENGTH
|
||||
RIG_LEVEL_SWR
|
||||
RIG_LEVEL_VOX
|
||||
) ] ,
|
||||
'mode' => [ qw(
|
||||
RIG_MODE_AM
|
||||
RIG_MODE_CW
|
||||
RIG_MODE_FM
|
||||
RIG_MODE_LSB
|
||||
RIG_MODE_NONE
|
||||
RIG_MODE_RTTY
|
||||
RIG_MODE_SSB
|
||||
RIG_MODE_USB
|
||||
RIG_MODE_WFM
|
||||
) ] ,
|
||||
'vfo_op' => [ qw(
|
||||
RIG_OP_BAND_DOWN
|
||||
RIG_OP_BAND_UP
|
||||
RIG_OP_CPY
|
||||
RIG_OP_DOWN
|
||||
RIG_OP_FROM_VFO
|
||||
RIG_OP_LEFT
|
||||
RIG_OP_MCL
|
||||
RIG_OP_NONE
|
||||
RIG_OP_RIGHT
|
||||
RIG_OP_TO_VFO
|
||||
RIG_OP_UP
|
||||
RIG_OP_XCHG
|
||||
) ] ,
|
||||
'parm' => [ qw(
|
||||
RIG_PARM_ANN
|
||||
RIG_PARM_APO
|
||||
RIG_PARM_BACKLIGHT
|
||||
RIG_PARM_BAT
|
||||
RIG_PARM_BEEP
|
||||
RIG_PARM_FLOAT_LIST
|
||||
RIG_PARM_NONE
|
||||
RIG_PARM_READONLY_LIST
|
||||
RIG_PARM_TIME
|
||||
) ] ,
|
||||
'scan' => [ qw(
|
||||
RIG_SCAN_DELTA
|
||||
RIG_SCAN_MEM
|
||||
RIG_SCAN_NONE
|
||||
RIG_SCAN_PRIO
|
||||
RIG_SCAN_PROG
|
||||
RIG_SCAN_SLCT
|
||||
RIG_SCAN_STOP
|
||||
) ] ,
|
||||
'trn' => [ qw(
|
||||
RIG_TRN_OFF
|
||||
RIG_TRN_POLL
|
||||
RIG_TRN_RIG
|
||||
) ] ,
|
||||
'type' => [ qw(
|
||||
RIG_TYPE_COMPUTER
|
||||
RIG_TYPE_HANDHELD
|
||||
RIG_TYPE_MASK
|
||||
RIG_TYPE_MOBILE
|
||||
RIG_TYPE_OTHER
|
||||
RIG_TYPE_PCRECEIVER
|
||||
RIG_TYPE_RECEIVER
|
||||
RIG_TYPE_SCANNER
|
||||
RIG_TYPE_TRANSCEIVER
|
||||
RIG_TYPE_TRUNKSCANNER
|
||||
) ] ,
|
||||
'vfo' => [ qw(
|
||||
RIG_VFO1
|
||||
RIG_VFO2
|
||||
RIG_VFO_A
|
||||
RIG_VFO_ALL
|
||||
RIG_VFO_B
|
||||
RIG_VFO_C
|
||||
RIG_VFO_CURR
|
||||
RIG_VFO_MAIN
|
||||
RIG_VFO_MEM
|
||||
RIG_VFO_NONE
|
||||
RIG_VFO_SUB
|
||||
RIG_VFO_VFO
|
||||
) ] );
|
||||
|
||||
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'vfo'} } );
|
||||
|
||||
our @EXPORT = qw(
|
||||
RIG_ANN_ALL
|
||||
RIG_ANN_FREQ
|
||||
RIG_ANN_NONE
|
||||
RIG_ANN_OFF
|
||||
RIG_ANN_RXMODE
|
||||
RIG_CONF_CHECKBUTTON
|
||||
RIG_CONF_COMBO
|
||||
RIG_CONF_NUMERIC
|
||||
RIG_CONF_STRING
|
||||
RIG_OK
|
||||
RIG_ECONF
|
||||
RIG_EINTERNAL
|
||||
RIG_EINVAL
|
||||
RIG_EIO
|
||||
RIG_ENAVAIL
|
||||
RIG_ENIMPL
|
||||
RIG_ENOMEM
|
||||
RIG_ENTARGET
|
||||
RIG_EPROTO
|
||||
RIG_ERJCTED
|
||||
RIG_ETIMEOUT
|
||||
RIG_ETRUNC
|
||||
RIG_FLAG_APRS
|
||||
RIG_FLAG_COMPUTER
|
||||
RIG_FLAG_DXCLUSTER
|
||||
RIG_FLAG_HANDHELD
|
||||
RIG_FLAG_MOBILE
|
||||
RIG_FLAG_RECEIVER
|
||||
RIG_FLAG_SCANNER
|
||||
RIG_FLAG_TNC
|
||||
RIG_FLAG_TRANSCEIVER
|
||||
RIG_FLAG_TRANSMITTER
|
||||
RIG_FLAG_TRUNKING
|
||||
RIG_FREQ_NONE
|
||||
RIG_FUNC_ABM
|
||||
RIG_FUNC_AIP
|
||||
RIG_FUNC_ANF
|
||||
RIG_FUNC_APF
|
||||
RIG_FUNC_ARO
|
||||
RIG_FUNC_BC
|
||||
RIG_FUNC_COMP
|
||||
RIG_FUNC_FAGC
|
||||
RIG_FUNC_FBKIN
|
||||
RIG_FUNC_LMP
|
||||
RIG_FUNC_LOCK
|
||||
RIG_FUNC_MBC
|
||||
RIG_FUNC_MN
|
||||
RIG_FUNC_MON
|
||||
RIG_FUNC_MUTE
|
||||
RIG_FUNC_NB
|
||||
RIG_FUNC_NONE
|
||||
RIG_FUNC_NR
|
||||
RIG_FUNC_REV
|
||||
RIG_FUNC_RNF
|
||||
RIG_FUNC_SBKIN
|
||||
RIG_FUNC_SQL
|
||||
RIG_FUNC_TONE
|
||||
RIG_FUNC_TSQL
|
||||
RIG_FUNC_VOX
|
||||
RIG_FUNC_VSC
|
||||
RIG_ITU_REGION1
|
||||
RIG_ITU_REGION2
|
||||
RIG_ITU_REGION3
|
||||
RIG_LEVEL_AF
|
||||
RIG_LEVEL_AGC
|
||||
RIG_LEVEL_ALC
|
||||
RIG_LEVEL_APF
|
||||
RIG_LEVEL_ATT
|
||||
RIG_LEVEL_BALANCE
|
||||
RIG_LEVEL_BKINDL
|
||||
RIG_LEVEL_COMP
|
||||
RIG_LEVEL_CWPITCH
|
||||
RIG_LEVEL_FLOAT_LIST
|
||||
RIG_LEVEL_IF
|
||||
RIG_LEVEL_KEYSPD
|
||||
RIG_LEVEL_METER
|
||||
RIG_LEVEL_MICGAIN
|
||||
RIG_LEVEL_NONE
|
||||
RIG_LEVEL_NOTCHF
|
||||
RIG_LEVEL_NR
|
||||
RIG_LEVEL_PBT_IN
|
||||
RIG_LEVEL_PBT_OUT
|
||||
RIG_LEVEL_PREAMP
|
||||
RIG_LEVEL_READONLY_LIST
|
||||
RIG_LEVEL_RF
|
||||
RIG_LEVEL_RFPOWER
|
||||
RIG_LEVEL_SQL
|
||||
RIG_LEVEL_SQLSTAT
|
||||
RIG_LEVEL_STRENGTH
|
||||
RIG_LEVEL_SWR
|
||||
RIG_LEVEL_VOX
|
||||
RIG_MODE_AM
|
||||
RIG_MODE_CW
|
||||
RIG_MODE_FM
|
||||
RIG_MODE_LSB
|
||||
RIG_MODE_NONE
|
||||
RIG_MODE_RTTY
|
||||
RIG_MODE_SSB
|
||||
RIG_MODE_USB
|
||||
RIG_MODE_WFM
|
||||
RIG_OP_BAND_DOWN
|
||||
RIG_OP_BAND_UP
|
||||
RIG_OP_CPY
|
||||
RIG_OP_DOWN
|
||||
RIG_OP_FROM_VFO
|
||||
RIG_OP_LEFT
|
||||
RIG_OP_MCL
|
||||
RIG_OP_NONE
|
||||
RIG_OP_RIGHT
|
||||
RIG_OP_TO_VFO
|
||||
RIG_OP_UP
|
||||
RIG_OP_XCHG
|
||||
RIG_PARM_ANN
|
||||
RIG_PARM_APO
|
||||
RIG_PARM_BACKLIGHT
|
||||
RIG_PARM_BAT
|
||||
RIG_PARM_BEEP
|
||||
RIG_PARM_FLOAT_LIST
|
||||
RIG_PARM_NONE
|
||||
RIG_PARM_READONLY_LIST
|
||||
RIG_PARM_TIME
|
||||
RIG_PASSBAND_NORMAL
|
||||
RIG_SCAN_DELTA
|
||||
RIG_SCAN_MEM
|
||||
RIG_SCAN_NONE
|
||||
RIG_SCAN_PRIO
|
||||
RIG_SCAN_PROG
|
||||
RIG_SCAN_SLCT
|
||||
RIG_SCAN_STOP
|
||||
RIG_SETTING_MAX
|
||||
RIG_TARGETABLE_ALL
|
||||
RIG_TARGETABLE_FREQ
|
||||
RIG_TARGETABLE_MODE
|
||||
RIG_TARGETABLE_NONE
|
||||
RIG_TRN_OFF
|
||||
RIG_TRN_POLL
|
||||
RIG_TRN_RIG
|
||||
RIG_TYPE_COMPUTER
|
||||
RIG_TYPE_HANDHELD
|
||||
RIG_TYPE_MASK
|
||||
RIG_TYPE_MOBILE
|
||||
RIG_TYPE_OTHER
|
||||
RIG_TYPE_PCRECEIVER
|
||||
RIG_TYPE_RECEIVER
|
||||
RIG_TYPE_SCANNER
|
||||
RIG_TYPE_TRANSCEIVER
|
||||
RIG_TYPE_TRUNKSCANNER
|
||||
RIG_VFO_A
|
||||
RIG_VFO_B
|
||||
RIG_VFO_C
|
||||
RIG_VFO_ALL
|
||||
RIG_VFO_CURR
|
||||
RIG_VFO_MAIN
|
||||
RIG_VFO_MEM
|
||||
RIG_VFO_NONE
|
||||
RIG_VFO_SUB
|
||||
RIG_VFO_VFO
|
||||
);
|
||||
|
||||
sub AUTOLOAD {
|
||||
# This AUTOLOAD is used to 'autoload' constants from the constant()
|
||||
# XS function. If a constant is not found then control is passed
|
||||
# to the AUTOLOAD in AutoLoader.
|
||||
|
||||
my $constname;
|
||||
our $AUTOLOAD;
|
||||
($constname = $AUTOLOAD) =~ s/.*:://;
|
||||
croak "& not defined" if $constname eq 'constant';
|
||||
my $val = constant($constname, @_ ? $_[0] : 0);
|
||||
if ($! != 0) {
|
||||
if ($!{EINVAL}) {
|
||||
$AutoLoader::AUTOLOAD = $AUTOLOAD;
|
||||
goto &AutoLoader::AUTOLOAD;
|
||||
}
|
||||
else {
|
||||
croak "Your vendor has not defined Hamlib macro $constname";
|
||||
}
|
||||
}
|
||||
{
|
||||
no strict 'refs';
|
||||
# Fixed between 5.005_53 and 5.005_61
|
||||
if ($] >= 5.00561) {
|
||||
*$AUTOLOAD = sub () { $val };
|
||||
}
|
||||
else {
|
||||
*$AUTOLOAD = sub { $val };
|
||||
}
|
||||
}
|
||||
goto &$AUTOLOAD;
|
||||
}
|
||||
|
||||
bootstrap Hamlib $VERSION;
|
||||
|
||||
# Preloaded methods go here.
|
||||
|
||||
|
||||
# Autoload methods go after =cut, and are processed by the autosplit program.
|
||||
|
||||
1;
|
||||
__END__
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Hamlib - Perl extension for Hamlib
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
use Hamlib;
|
||||
blah blah blah
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Stub documentation for Hamlib, created by h2xs. It looks like the
|
||||
author of the extension was negligent enough to leave the stub
|
||||
unedited.
|
||||
|
||||
Blah blah blah.
|
||||
|
||||
=head2 EXPORT
|
||||
|
||||
None by default.
|
||||
|
||||
=head2 Exportable constants
|
||||
|
||||
CHANLSTSIZ
|
||||
FILPATHLEN
|
||||
FLTLSTSIZ
|
||||
FRQRANGESIZ
|
||||
MAXCHANDESC
|
||||
MAXDBLSTSIZ
|
||||
RIGNAMSIZ
|
||||
RIGVERSIZ
|
||||
RIG_ANN_ALL
|
||||
RIG_ANN_FREQ
|
||||
RIG_ANN_NONE
|
||||
RIG_ANN_OFF
|
||||
RIG_ANN_RXMODE
|
||||
RIG_COMBO_MAX
|
||||
RIG_CONF_CHECKBUTTON
|
||||
RIG_CONF_COMBO
|
||||
RIG_CONF_NUMERIC
|
||||
RIG_CONF_STRING
|
||||
RIG_CTRL_MAIN
|
||||
RIG_CTRL_SUB
|
||||
RIG_ECONF
|
||||
RIG_EINTERNAL
|
||||
RIG_EINVAL
|
||||
RIG_EIO
|
||||
RIG_ENAVAIL
|
||||
RIG_ENIMPL
|
||||
RIG_ENOMEM
|
||||
RIG_ENTARGET
|
||||
RIG_EPROTO
|
||||
RIG_ERJCTED
|
||||
RIG_ETIMEOUT
|
||||
RIG_ETRUNC
|
||||
RIG_FLAG_APRS
|
||||
RIG_FLAG_COMPUTER
|
||||
RIG_FLAG_DXCLUSTER
|
||||
RIG_FLAG_HANDHELD
|
||||
RIG_FLAG_MOBILE
|
||||
RIG_FLAG_RECEIVER
|
||||
RIG_FLAG_SCANNER
|
||||
RIG_FLAG_TNC
|
||||
RIG_FLAG_TRANSCEIVER
|
||||
RIG_FLAG_TRANSMITTER
|
||||
RIG_FLAG_TRUNKING
|
||||
RIG_FREQ_NONE
|
||||
RIG_FUNC_ABM
|
||||
RIG_FUNC_AIP
|
||||
RIG_FUNC_ANF
|
||||
RIG_FUNC_APF
|
||||
RIG_FUNC_ARO
|
||||
RIG_FUNC_BC
|
||||
RIG_FUNC_COMP
|
||||
RIG_FUNC_FAGC
|
||||
RIG_FUNC_FBKIN
|
||||
RIG_FUNC_LMP
|
||||
RIG_FUNC_LOCK
|
||||
RIG_FUNC_MBC
|
||||
RIG_FUNC_MN
|
||||
RIG_FUNC_MON
|
||||
RIG_FUNC_MUTE
|
||||
RIG_FUNC_NB
|
||||
RIG_FUNC_NONE
|
||||
RIG_FUNC_NR
|
||||
RIG_FUNC_REV
|
||||
RIG_FUNC_RNF
|
||||
RIG_FUNC_SBKIN
|
||||
RIG_FUNC_SQL
|
||||
RIG_FUNC_TONE
|
||||
RIG_FUNC_TSQL
|
||||
RIG_FUNC_VOX
|
||||
RIG_FUNC_VSC
|
||||
RIG_ITU_REGION1
|
||||
RIG_ITU_REGION2
|
||||
RIG_ITU_REGION3
|
||||
RIG_LEVEL_AF
|
||||
RIG_LEVEL_AGC
|
||||
RIG_LEVEL_ALC
|
||||
RIG_LEVEL_APF
|
||||
RIG_LEVEL_ATT
|
||||
RIG_LEVEL_BALANCE
|
||||
RIG_LEVEL_BKINDL
|
||||
RIG_LEVEL_COMP
|
||||
RIG_LEVEL_CWPITCH
|
||||
RIG_LEVEL_FLOAT_LIST
|
||||
RIG_LEVEL_IF
|
||||
RIG_LEVEL_KEYSPD
|
||||
RIG_LEVEL_METER
|
||||
RIG_LEVEL_MICGAIN
|
||||
RIG_LEVEL_NONE
|
||||
RIG_LEVEL_NOTCHF
|
||||
RIG_LEVEL_NR
|
||||
RIG_LEVEL_PBT_IN
|
||||
RIG_LEVEL_PBT_OUT
|
||||
RIG_LEVEL_PREAMP
|
||||
RIG_LEVEL_READONLY_LIST
|
||||
RIG_LEVEL_RF
|
||||
RIG_LEVEL_RFPOWER
|
||||
RIG_LEVEL_SQL
|
||||
RIG_LEVEL_SQLSTAT
|
||||
RIG_LEVEL_STRENGTH
|
||||
RIG_LEVEL_SWR
|
||||
RIG_LEVEL_VOX
|
||||
RIG_MODE_AM
|
||||
RIG_MODE_CW
|
||||
RIG_MODE_FM
|
||||
RIG_MODE_LSB
|
||||
RIG_MODE_NONE
|
||||
RIG_MODE_RTTY
|
||||
RIG_MODE_SSB
|
||||
RIG_MODE_USB
|
||||
RIG_MODE_WFM
|
||||
RIG_OK
|
||||
RIG_OP_BAND_DOWN
|
||||
RIG_OP_BAND_UP
|
||||
RIG_OP_CPY
|
||||
RIG_OP_DOWN
|
||||
RIG_OP_FROM_VFO
|
||||
RIG_OP_LEFT
|
||||
RIG_OP_MCL
|
||||
RIG_OP_NONE
|
||||
RIG_OP_RIGHT
|
||||
RIG_OP_TO_VFO
|
||||
RIG_OP_UP
|
||||
RIG_OP_XCHG
|
||||
RIG_PARM_ANN
|
||||
RIG_PARM_APO
|
||||
RIG_PARM_BACKLIGHT
|
||||
RIG_PARM_BAT
|
||||
RIG_PARM_BEEP
|
||||
RIG_PARM_FLOAT_LIST
|
||||
RIG_PARM_NONE
|
||||
RIG_PARM_READONLY_LIST
|
||||
RIG_PARM_TIME
|
||||
RIG_PASSBAND_NORMAL
|
||||
RIG_SCAN_DELTA
|
||||
RIG_SCAN_MEM
|
||||
RIG_SCAN_NONE
|
||||
RIG_SCAN_PRIO
|
||||
RIG_SCAN_PROG
|
||||
RIG_SCAN_SLCT
|
||||
RIG_SCAN_STOP
|
||||
RIG_SETTING_MAX
|
||||
RIG_TARGETABLE_ALL
|
||||
RIG_TARGETABLE_FREQ
|
||||
RIG_TARGETABLE_MODE
|
||||
RIG_TARGETABLE_NONE
|
||||
RIG_TRN_OFF
|
||||
RIG_TRN_POLL
|
||||
RIG_TRN_RIG
|
||||
RIG_TYPE_COMPUTER
|
||||
RIG_TYPE_HANDHELD
|
||||
RIG_TYPE_MASK
|
||||
RIG_TYPE_MOBILE
|
||||
RIG_TYPE_OTHER
|
||||
RIG_TYPE_PCRECEIVER
|
||||
RIG_TYPE_RECEIVER
|
||||
RIG_TYPE_SCANNER
|
||||
RIG_TYPE_TRANSCEIVER
|
||||
RIG_TYPE_TRUNKSCANNER
|
||||
RIG_VFO1
|
||||
RIG_VFO2
|
||||
RIG_VFO_A
|
||||
RIG_VFO_ALL
|
||||
RIG_VFO_B
|
||||
RIG_VFO_C
|
||||
RIG_VFO_CURR
|
||||
RIG_VFO_MAIN
|
||||
RIG_VFO_MEM
|
||||
RIG_VFO_NONE
|
||||
RIG_VFO_SUB
|
||||
RIG_VFO_VFO
|
||||
|
||||
=head2 Exportable functions
|
||||
|
||||
int rig_check_backend (rig_model_t rig_model)
|
||||
int rig_cleanup (RIG *rig)
|
||||
int rig_close (RIG *rig)
|
||||
const struct confparams* rig_confparam_lookup (RIG *rig, const char *name)
|
||||
void rig_debug (enum rig_debug_level_e debug_level, const char *fmt, ...)
|
||||
int rig_get_ant (RIG *rig, vfo_t vfo, ant_t *ant)
|
||||
const struct rig_caps * rig_get_caps (rig_model_t rig_model)
|
||||
int rig_get_channel (RIG *rig, channel_t *chan)
|
||||
int rig_get_conf (RIG *rig, token_t token, char *val)
|
||||
int rig_get_ctcss_sql (RIG *rig, vfo_t vfo, tone_t *tone)
|
||||
int rig_get_ctcss_tone (RIG *rig, vfo_t vfo, tone_t *tone)
|
||||
int rig_get_dcd (RIG *rig, vfo_t vfo, dcd_t *dcd)
|
||||
int rig_get_dcs_code (RIG *rig, vfo_t vfo, tone_t *code)
|
||||
int rig_get_dcs_sql (RIG *rig, vfo_t vfo, tone_t *code)
|
||||
int rig_get_freq (RIG *rig, vfo_t vfo, freq_t *freq)
|
||||
int rig_get_func (RIG *rig, vfo_t vfo, setting_t func, int *status)
|
||||
const char * rig_get_info (RIG *rig)
|
||||
int rig_get_level (RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
||||
int rig_get_mem (RIG *rig, vfo_t vfo, int *ch)
|
||||
int rig_get_mode (RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
|
||||
int rig_get_parm (RIG *rig, setting_t parm, value_t *val)
|
||||
int rig_get_powerstat (RIG *rig, powerstat_t *status)
|
||||
int rig_get_ptt (RIG *rig, vfo_t vfo, ptt_t *ptt)
|
||||
const freq_range_t * rig_get_range (const freq_range_t *range_list, freq_t freq, rmode_t mode)
|
||||
shortfreq_t rig_get_resolution (RIG *rig, rmode_t mode)
|
||||
int rig_get_rit (RIG *rig, vfo_t vfo, shortfreq_t *rit)
|
||||
int rig_get_rptr_offs (RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs)
|
||||
int rig_get_rptr_shift (RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift)
|
||||
int rig_get_split (RIG *rig, vfo_t vfo, split_t *split)
|
||||
int rig_get_split_freq (RIG *rig, vfo_t vfo, freq_t *tx_freq)
|
||||
int rig_get_split_mode (RIG *rig, vfo_t vfo, rmode_t *tx_mode, pbwidth_t *tx_width)
|
||||
int rig_get_trn (RIG *rig, int *trn)
|
||||
int rig_get_ts (RIG *rig, vfo_t vfo, shortfreq_t *ts)
|
||||
int rig_get_vfo (RIG *rig, vfo_t *vfo)
|
||||
int rig_get_xit (RIG *rig, vfo_t vfo, shortfreq_t *xit)
|
||||
setting_t rig_has_get_func (RIG *rig, setting_t func)
|
||||
setting_t rig_has_get_level (RIG *rig, setting_t level)
|
||||
setting_t rig_has_get_parm (RIG *rig, setting_t parm)
|
||||
scan_t rig_has_scan (RIG *rig, scan_t scan)
|
||||
setting_t rig_has_set_func (RIG *rig, setting_t func)
|
||||
setting_t rig_has_set_level (RIG *rig, setting_t level)
|
||||
setting_t rig_has_set_parm (RIG *rig, setting_t parm)
|
||||
vfo_op_t rig_has_vfo_op (RIG *rig, vfo_op_t op)
|
||||
RIG * rig_init (rig_model_t rig_model)
|
||||
int rig_list_foreach (int (*cfunc)(const struct rig_caps*, void* ), void* data)
|
||||
int rig_load_all_backends ()
|
||||
int rig_load_backend (const char *be_name)
|
||||
int rig_mW2power (RIG *rig, float *power, unsigned int mwpower, freq_t freq, rmode_t mode)
|
||||
int rig_need_debug (enum rig_debug_level_e debug_level)
|
||||
int rig_open (RIG *rig)
|
||||
pbwidth_t rig_passband_narrow (RIG *rig, rmode_t mode)
|
||||
pbwidth_t rig_passband_normal (RIG *rig, rmode_t mode)
|
||||
pbwidth_t rig_passband_wide (RIG *rig, rmode_t mode)
|
||||
int rig_power2mW (RIG *rig, unsigned int *mwpower, float power, freq_t freq, rmode_t mode)
|
||||
rig_model_t rig_probe (port_t *p)
|
||||
rig_model_t rig_probe_all (port_t *p)
|
||||
int rig_recv_dtmf (RIG *rig, vfo_t vfo, char *digits, int *length)
|
||||
int rig_register (const struct rig_caps *caps)
|
||||
int rig_reset (RIG *rig, reset_t reset)
|
||||
int rig_restore_channel (RIG *rig, const channel_t *chan)
|
||||
int rig_save_channel (RIG *rig, channel_t *chan)
|
||||
int rig_scan (RIG *rig, vfo_t vfo, scan_t scan, int ch)
|
||||
int rig_send_dtmf (RIG *rig, vfo_t vfo, const char *digits)
|
||||
int rig_send_morse (RIG *rig, vfo_t vfo, const char *msg)
|
||||
int rig_set_ant (RIG *rig, vfo_t vfo, ant_t ant)
|
||||
int rig_set_bank (RIG *rig, vfo_t vfo, int bank)
|
||||
int rig_set_channel (RIG *rig, const channel_t *chan)
|
||||
int rig_set_conf (RIG *rig, token_t token, const char *val)
|
||||
int rig_set_ctcss_sql (RIG *rig, vfo_t vfo, tone_t tone)
|
||||
int rig_set_ctcss_tone (RIG *rig, vfo_t vfo, tone_t tone)
|
||||
int rig_set_dcs_code (RIG *rig, vfo_t vfo, tone_t code)
|
||||
int rig_set_dcs_sql (RIG *rig, vfo_t vfo, tone_t code)
|
||||
void rig_set_debug (enum rig_debug_level_e debug_level)
|
||||
int rig_set_freq (RIG *rig, vfo_t vfo, freq_t freq)
|
||||
int rig_set_func (RIG *rig, vfo_t vfo, setting_t func, int status)
|
||||
int rig_set_level (RIG *rig, vfo_t vfo, setting_t level, value_t val)
|
||||
int rig_set_mem (RIG *rig, vfo_t vfo, int ch)
|
||||
int rig_set_mode (RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
||||
int rig_set_parm (RIG *rig, setting_t parm, value_t val)
|
||||
int rig_set_powerstat (RIG *rig, powerstat_t status)
|
||||
int rig_set_ptt (RIG *rig, vfo_t vfo, ptt_t ptt)
|
||||
int rig_set_rit (RIG *rig, vfo_t vfo, shortfreq_t rit)
|
||||
int rig_set_rptr_offs (RIG *rig, vfo_t vfo, shortfreq_t rptr_offs)
|
||||
int rig_set_rptr_shift (RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift)
|
||||
int rig_set_split (RIG *rig, vfo_t vfo, split_t split)
|
||||
int rig_set_split_freq (RIG *rig, vfo_t vfo, freq_t tx_freq)
|
||||
int rig_set_split_mode (RIG *rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_width)
|
||||
int rig_set_trn (RIG *rig, int trn)
|
||||
int rig_set_ts (RIG *rig, vfo_t vfo, shortfreq_t ts)
|
||||
int rig_set_vfo (RIG *rig, vfo_t vfo)
|
||||
int rig_set_xit (RIG *rig, vfo_t vfo, shortfreq_t xit)
|
||||
int rig_setting2idx (setting_t s)
|
||||
int rig_token_foreach (RIG *rig, int (*cfunc)(const struct confparams *, void* ), void* data)
|
||||
token_t rig_token_lookup (RIG *rig, const char *name)
|
||||
int rig_unregister (rig_model_t rig_model)
|
||||
int rig_vfo_op (RIG *rig, vfo_t vfo, vfo_op_t op)
|
||||
const char * rigerror (int errnum)
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
A. U. Thor, E<lt>a.u.thor@a.galaxy.far.far.awayE<gt>
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<perl>.
|
||||
|
||||
=cut
|
3252
perl/Hamlib.xs
Normal file
3252
perl/Hamlib.xs
Normal file
File diff suppressed because it is too large
Load Diff
8
perl/MANIFEST
Normal file
8
perl/MANIFEST
Normal file
@ -0,0 +1,8 @@
|
||||
Changes
|
||||
Hamlib.pm
|
||||
Hamlib.xs
|
||||
Makefile.PL
|
||||
MANIFEST
|
||||
README
|
||||
test.pl
|
||||
typemap
|
19
perl/Makefile.PL
Normal file
19
perl/Makefile.PL
Normal file
@ -0,0 +1,19 @@
|
||||
use ExtUtils::MakeMaker;
|
||||
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
|
||||
# the contents of the Makefile that is written.
|
||||
WriteMakefile(
|
||||
'NAME' => 'Hamlib',
|
||||
'VERSION_FROM' => 'Hamlib.pm', # finds $VERSION
|
||||
'PREREQ_PM' => {}, # e.g., Module::Name => 1.1
|
||||
($] >= 5.005 ? ## Add these new keywords supported since 5.005
|
||||
(ABSTRACT_FROM => 'Hamlib.pm', # retrieve abstract from module
|
||||
AUTHOR => 'S. Fillod <fillods@users.sf.net>') : ()),
|
||||
# should use libtool somehow. Otherwise try -Wl,--rpath
|
||||
#'LIBS' => ['-L../../src/.libs -lhamlib'],
|
||||
'DEFINE' => '',
|
||||
#'INC' => '-I.',
|
||||
'dist' => {'COMPRESS'=>'gzip -9f', 'SUFFIX' => 'gz',
|
||||
'ZIP'=>'/usr/bin/zip','ZIPFLAGS'=>'-rl'},
|
||||
# Un-comment this if you add C files to link with later:
|
||||
# 'OBJECT' => '$(O_FILES)', # link all the C files too
|
||||
);
|
35
perl/README
Normal file
35
perl/README
Normal file
@ -0,0 +1,35 @@
|
||||
Hamlib version 0.01
|
||||
===================
|
||||
|
||||
The README is used to introduce the module and provide instructions on
|
||||
how to install the module, any machine dependencies it may have (for
|
||||
example C compilers and installed libraries) and any other information
|
||||
that should be provided before the module is installed.
|
||||
|
||||
A README file is required for CPAN modules since CPAN extracts the
|
||||
README file from a module distribution so that people browsing the
|
||||
archive can use it get an idea of the modules uses. It is usually a
|
||||
good idea to provide version information here so that people can
|
||||
decide whether fixes for the module are worth downloading.
|
||||
|
||||
INSTALLATION
|
||||
|
||||
To install this module type the following:
|
||||
|
||||
perl Makefile.PL
|
||||
make
|
||||
make test
|
||||
make install
|
||||
|
||||
DEPENDENCIES
|
||||
|
||||
This module requires these other modules and libraries:
|
||||
|
||||
blah blah blah
|
||||
|
||||
COPYRIGHT AND LICENCE
|
||||
|
||||
Put the correct copyright and licence information here.
|
||||
|
||||
Copyright (C) 2002 A. U. Thor blah blah blah
|
||||
|
62
perl/test.pl
Normal file
62
perl/test.pl
Normal file
@ -0,0 +1,62 @@
|
||||
# Before `make install' is performed this script should be runnable with
|
||||
# `make test'. After `make install' it should work as `perl test.pl'
|
||||
|
||||
#########################
|
||||
|
||||
# change 'tests => 1' to 'tests => last_test_to_print';
|
||||
|
||||
use Test;
|
||||
BEGIN { plan tests => 12 };
|
||||
use Hamlib;
|
||||
ok(1); # If we made it this far, we're ok.
|
||||
|
||||
#########################
|
||||
|
||||
# Insert your test code below, the Test module is use()ed here so read
|
||||
# its man page ( perldoc Test ) for help writing this test script.
|
||||
|
||||
# 1 => RIG_MODEL_DUMMY
|
||||
|
||||
$rig = Hamlib::Rig::init(1);
|
||||
ok(defined $rig);
|
||||
|
||||
# set configuration parameter and readback
|
||||
$rig->set_conf("itu_region", "1");
|
||||
ok($rig->get_conf("itu_region") eq "1");
|
||||
|
||||
# open rig communication
|
||||
$rig->open();
|
||||
ok(1);
|
||||
|
||||
# Get some info from the rig, is available
|
||||
print "Info: " . $rig->get_info() . "\n";
|
||||
ok(1);
|
||||
|
||||
# Here's the plan. Select VFO A, check we got it.
|
||||
# Then tune to 50.110 MHz, and set USB mode.
|
||||
|
||||
$rig->set_vfo(RIG_VFO_A);
|
||||
ok(1);
|
||||
|
||||
ok($rig->get_vfo() == RIG_VFO_A);
|
||||
|
||||
$rig->set_freq(50110000);
|
||||
ok(1);
|
||||
|
||||
ok($rig->get_freq() == 50110000);
|
||||
|
||||
$rig->set_mode(RIG_MODE_USB);
|
||||
ok(1);
|
||||
|
||||
my ($mode, $width) = $rig->get_mode();
|
||||
ok($mode == RIG_MODE_USB);
|
||||
|
||||
# CQ CQ ...
|
||||
|
||||
|
||||
# No propagation today on 6. Maybe tomorrow.
|
||||
$rig->close();
|
||||
ok(1);
|
||||
|
||||
# NB: destroy done automatically
|
||||
|
72
perl/typemap
Normal file
72
perl/typemap
Normal file
@ -0,0 +1,72 @@
|
||||
TYPEMAP
|
||||
Hamlib::Rig T_PTROBJ
|
||||
freq_t T_HAMLIB_QUAD
|
||||
const char * T_PV
|
||||
pbwidth_t T_IV
|
||||
rig_model_t T_IV
|
||||
rmode_t T_UV
|
||||
vfo_t T_IV
|
||||
|
||||
# will vanish one day..
|
||||
RIG * T_PTROBJ
|
||||
|
||||
# Following to be fixed:
|
||||
ant_t T_IV
|
||||
ant_t * T_PTROBJ
|
||||
channel_t * T_PTROBJ
|
||||
const channel_t * T_PTROBJ
|
||||
const freq_range_t * T_PTROBJ
|
||||
const struct confparams * T_PTROBJ
|
||||
const struct rig_caps * T_PTROBJ
|
||||
dcd_t * T_PTROBJ
|
||||
enum rig_debug_level_e T_PTROBJ
|
||||
float T_DOUBLE
|
||||
float * T_PTROBJ
|
||||
int ( * cfunc ) ( const struct confparams *, void * ) T_PTROBJ
|
||||
int ( * cfunc ) ( const struct rig_caps *, void * ) T_PTROBJ
|
||||
int * T_PTROBJ
|
||||
port_t * T_PTROBJ
|
||||
powerstat_t T_PTROBJ
|
||||
powerstat_t * T_PTROBJ
|
||||
ptt_t T_PTROBJ
|
||||
ptt_t * T_PTROBJ
|
||||
reset_t T_PTROBJ
|
||||
rptr_shift_t T_PTROBJ
|
||||
rptr_shift_t * T_PTROBJ
|
||||
scan_t T_IV
|
||||
setting_t T_HAMLIB_QUAD
|
||||
shortfreq_t T_IV
|
||||
shortfreq_t * T_PTROBJ
|
||||
split_t T_IV
|
||||
split_t * T_PTROBJ
|
||||
token_t T_IV
|
||||
tone_t T_UV
|
||||
tone_t * T_PTROBJ
|
||||
unsigned int * T_PTROBJ
|
||||
value_t T_OPAQUE_STRUCT
|
||||
value_t * T_PTROBJ
|
||||
vfo_op_t T_IV
|
||||
#############################################################################
|
||||
INPUT
|
||||
T_OPAQUE_STRUCT
|
||||
if (sv_derived_from($arg, \"${ntype}\")) {
|
||||
STRLEN len;
|
||||
char *s = SvPV((SV*)SvRV($arg), len);
|
||||
|
||||
if (len != sizeof($var))
|
||||
croak(\"Size %d of packed data != expected %d\",
|
||||
len, sizeof($var));
|
||||
$var = *($type *)s;
|
||||
}
|
||||
else
|
||||
croak(\"$var is not of type ${ntype}\")
|
||||
|
||||
T_HAMLIB_QUAD
|
||||
$var = ($type)SvNV($arg)
|
||||
#############################################################################
|
||||
OUTPUT
|
||||
T_OPAQUE_STRUCT
|
||||
sv_setref_pvn($arg, \"${ntype}\", (char *)&$var, sizeof($var));
|
||||
|
||||
T_HAMLIB_QUAD
|
||||
sv_setnv($arg, (NV)$var);
|
Loading…
Reference in New Issue
Block a user