Fixed int[10] type variable error in bindings

Hamlib-3.1
Hegedüs Ervin 2016-08-27 21:24:17 +02:00
rodzic cef8c2d157
commit 37cac121f4
4 zmienionych plików z 96 dodań i 0 usunięć

Wyświetl plik

@ -44,6 +44,87 @@
%include cstring.i
#ifdef SWIGPYTHON
%include python/file.i
%typemap(out) int [ANY] {
int len,i;
len = $1_dim0;
$result = PyList_New(len);
for (i = 0; i < len; i++) {
PyList_SetItem($result,i,PyInt_FromLong((long)$1[i]));
}
}
%typemap(varout) int [ANY] {
int len,i;
len = $1_dim0;
$result = PyList_New(len);
for (i = 0; i < len; i++) {
PyList_SetItem($result,i,PyInt_FromLong((long)$1[i]));
}
}
#endif
#ifdef SWIGPERL
%typemap(out) int [ANY] {
AV * av = newAV();
int i = 0,len = 0;
len = $1_dim0;
for (i = 0; i < len ; i++) {
SV* perlval = newSV(0);
sv_setiv(perlval, (IV)$1[i]);
av_push(av, perlval);
}
$result = newRV_noinc((SV *)av);
sv_2mortal( $result );
argvi++;
}
%typemap(argout) int [ANY] {
AV * av = newAV();
int i = 0,len = 0;
len = $1_dim0;
for (i = 0; i < len ; i++) {
SV* perlval = newSV(0);
sv_setiv(perlval, (IV)$1[i]);
av_push(av, perlval);
}
$result = newRV_noinc((SV *)av);
sv_2mortal( $result );
argvi++;
}
#endif
#ifdef SWIGTCL
%typemap(out) int [ANY] {
int i, len, l;
len = $1_dim0;
Tcl_Obj * list = Tcl_NewListObj(len, NULL);
for(i=0; i < len; i++) {
Tcl_ListObjAppendElement(interp, list, Tcl_NewIntObj($1[i]));
}
Tcl_SetObjResult(interp, list);
}
%typemap(varout) int [ANY] {
int i, len, l;
len = $1_dim0;
Tcl_Obj * list = Tcl_NewListObj(len, NULL);
for(i=0; i < len; i++) {
Tcl_ListObjAppendElement(interp, list, Tcl_NewIntObj($1[i]));
}
$result = list;
}
#endif
%apply double *OUTPUT { double *distance, double *azimuth };

Wyświetl plik

@ -40,6 +40,9 @@ $rig->set_mode($Hamlib::RIG_MODE_CW, $Hamlib::RIG_PASSBAND_NORMAL);
print "ITU region:\t\t$rig->{state}->{itu_region}\n";
print "Backend copyright:\t$rig->{caps}->{copyright}\n";
print "Model:\t\t\t$rig->{caps}->{model_name}\n";
print "Manufacturer:\t\t$rig->{caps}->{mfg_name}\n";
print "Backend version:\t$rig->{caps}->{version}\n";
$inf = $rig->get_info();
print "get_info:\t\t$inf\n";
@ -62,6 +65,9 @@ print "get_channel status:\t$rig->{error_status} = ".Hamlib::rigerror($rig->{err
print "VFO:\t\t\t".Hamlib::rig_strvfo($chan->{vfo}).", $chan->{freq}\n";
$att = $rig->{caps}->{attenuator};
print "Attenuators:\t\t@$att\n";
print "\nSending Morse, '73'\n";
$rig->send_morse($Hamlib::RIG_VFO_A, "73");

Wyświetl plik

@ -66,6 +66,7 @@ def StartUp ():
print "get_channel status:\t",my_rig.error_status
print "VFO:\t\t\t",Hamlib.rig_strvfo(chan.vfo),", ",chan.freq
print "Attenuators:\t\t", my_rig.caps.attenuator
print "\nSending Morse, '73'"
my_rig.send_morse(Hamlib.RIG_VFO_A, "73")

Wyświetl plik

@ -36,6 +36,14 @@ puts "ITU_region:\t[$state cget -itu_region]"
# The following works well also
# puts ITU_region:[[my_rig cget -state] cget -itu_region]
set rigcaps [my_rig cget -caps]
#set model [$rigcaps cget -model_name]
puts "Model:\t\t[$rigcaps cget -model_name]"
puts "Manufacturer:\t\t[$rigcaps cget -mfg_name]"
puts "Backend version:\t[$rigcaps cget -version]"
puts "Backend license:\t[$rigcaps cget -copyright]"
puts "Attenuators:\t[$rigcaps cget -attenuator]"
puts "getinfo:\t[my_rig get_info]"
my_rig set_level "VOX" 1