From dad9fe5f7cf86a3fc203b1b104e4b08513306e13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Fillod=2C=20F8CFE?= Date: Sun, 4 May 2008 21:47:06 +0000 Subject: [PATCH] more tests/examples git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2353 7ae35d74-ebe9-4afe-98af-79ac388436b8 --- bindings/perltest.pl | 62 +++++++++++++++++++++++------------------- bindings/pytest.py | 65 +++++++++++++++++++++++++++----------------- bindings/tcltest.tcl | 18 +++++++----- 3 files changed, 85 insertions(+), 60 deletions(-) diff --git a/bindings/perltest.pl b/bindings/perltest.pl index d54ce5512..6a4120ed3 100755 --- a/bindings/perltest.pl +++ b/bindings/perltest.pl @@ -2,78 +2,84 @@ use Hamlib; -print "Perl test, version: $Hamlib::hamlib_version\n"; -print "FM: $Hamlib::RIG_MODE_FM\n"; +print "Perl $] test, version: $Hamlib::hamlib_version\n"; -Hamlib::rig_set_debug($Hamlib::RIG_DEBUG_TRACE); +#Hamlib::rig_set_debug($Hamlib::RIG_DEBUG_TRACE); +Hamlib::rig_set_debug($Hamlib::RIG_DEBUG_NONE); $rig = new Hamlib::Rig($Hamlib::RIG_MODEL_DUMMY); # replace "/dev/Rig" with your path to serial port +$rig->set_conf("retry","50"); $rig->set_conf("rig_pathname","/dev/Rig"); -$rig->set_conf("serial_speed","9600"); $rig->open(); # 1073741944 is token value for "itu_region" -$rpath = $rig->get_conf("rig_pathname"); -$rate = $rig->get_conf("serial_speed"); +# but using get_conf is much more convenient $region = $rig->get_conf(1073741944); -print "get_conf: path=\"$rpath\", baud rate=$rate, ITU region=$region\n"; +$rpath = $rig->get_conf("rig_pathname"); +$retry = $rig->get_conf("retry"); +print "get_conf: path=\"$rpath\", retry=$retry, ITU region=$region\n"; -$rig->set_freq(12000000, $Hamlib::RIG_VFO_A); +$rig->set_freq(14266000, $Hamlib::RIG_VFO_A); $f = $rig->get_freq(); print "freq: $f\n"; ($mode, $width) = $rig->get_mode(); -print "get_mode: $mode, width: $width\n"; +print "get_mode: ".Hamlib::rig_strrmode($mode).", width: $width\n"; $vfo = $rig->get_vfo(); -print "get_vfo: $vfo\n"; -#$rig->set_vfo($Hamlib::RIG_VFO_A); -$rig->set_vfo("VFOA"); +print "get_vfo: ".Hamlib::rig_strvfo($vfo)."\n"; +$rig->set_vfo($Hamlib::RIG_VFO_B); +#$rig->set_vfo("VFOA"); $rig->set_mode($Hamlib::RIG_MODE_CW, $Hamlib::RIG_PASSBAND_NORMAL); print "ITU region: $rig->{state}->{itu_region}\n"; -print "Copyright: $rig->{caps}->{copyright}\n"; +print "Backend copyright: $rig->{caps}->{copyright}\n"; $inf = $rig->get_info(); print "get_info: $inf\n"; $rig->set_level("VOX", 1); $lvl = $rig->get_level_i("VOX"); -print "level: $lvl\n"; +print "VOX level: $lvl\n"; $rig->set_level($Hamlib::RIG_LEVEL_VOX, 5); $lvl = $rig->get_level_i($Hamlib::RIG_LEVEL_VOX); -print "level: $lvl\n"; +print "VOX level: $lvl\n"; + +$lvl = $rig->get_level_i($Hamlib::RIG_LEVEL_STRENGTH); +print "strength: $lvl\n"; - -$chan = new Hamlib::Chan($Hamlib::RIG_VFO_A); +$chan = new Hamlib::channel($Hamlib::RIG_VFO_A); $rig->get_channel($chan); -print "get_channel status: $rig->{error_status}\n"; +print "get_channel status: $rig->{error_status} = ".Hamlib::rigerror($rig->{error_status})."\n"; -print "VFO: $chan->{vfo}, $chan->{freq}\n"; +print "VFO: ".Hamlib::rig_strvfo($chan->{vfo}).", $chan->{freq}\n"; $rig->close(); -# TODO: -($long1, $lat1) = Hamlib::locator2longlat("IN98EC"); -($long2, $lat2) = Hamlib::locator2longlat("DM33DX"); -$loc1 = Hamlib::longlat2locator($long1, $lat1); -$loc2 = Hamlib::longlat2locator($long2, $lat2); + +print "\nSome static functions:\n"; + +($err, $long1, $lat1, $sw1) = Hamlib::locator2longlat("IN98EC"); +($err, $long2, $lat2, $sw1) = Hamlib::locator2longlat("DM33DX"); +$loc1 = Hamlib::longlat2locator($long1, $lat1, 3); +$loc2 = Hamlib::longlat2locator($long2, $lat2, 3); print "Loc1: $loc1\n"; print "Loc2: $loc2\n"; -($dist, $az) = Hamlib::qrb($long1, $lat1, $long2, $lat2); +($err, $dist, $az) = Hamlib::qrb($long1, $lat1, $long2, $lat2); $longpath = Hamlib::distance_long_path($dist); print "Distance: $dist km, azimuth $az, long path: $longpath\n"; -($deg, $min, $sec) = Hamlib::dec2dms($az); -$az2 = Hamlib::dms2dec($deg, $min, $sec); -print "Bearing: $az, $deg° $min' $sec\", recoded: $az2\n" +($err, $deg, $min, $sec, $sw) = Hamlib::dec2dms($az); +$deg = -$deg if ($sw == 1); +$az2 = Hamlib::dms2dec($deg, $min, $sec, $sw); +print "Bearing: $az, $deg° $min' $sec\", recoded: $az2\n" diff --git a/bindings/pytest.py b/bindings/pytest.py index acb78b495..7273b5b6b 100755 --- a/bindings/pytest.py +++ b/bindings/pytest.py @@ -1,75 +1,90 @@ #!/usr/bin/env python -# -*- coding: iso-8859-1 -*- +# -*- coding: utf-8 -*- import sys sys.path.append ('.') sys.path.append ('.libs') sys.path.append ('/usr/local/hamlib/python') -sys.path.append ('/usr/lib/python2.4/site-packages') import Hamlib def StartUp (): - print "Python test, version: ", Hamlib.cvar.hamlib_version + print "Python",sys.version[:5],"test,", Hamlib.cvar.hamlib_version - Hamlib.rig_set_debug (Hamlib.RIG_DEBUG_TRACE) + #Hamlib.rig_set_debug (Hamlib.RIG_DEBUG_TRACE) + Hamlib.rig_set_debug (Hamlib.RIG_DEBUG_NONE) # Init RIG_MODEL_DUMMY my_rig = Hamlib.Rig (Hamlib.RIG_MODEL_DUMMY) + my_rig.set_conf ("rig_pathname","/dev/Rig") + my_rig.set_conf ("retry","5") my_rig.open () # 1073741944 is token value for "itu_region" - rpath = my_rig.get_conf("rig_pathname") + # but using get_conf is much more convenient region = my_rig.get_conf(1073741944) - print "get_conf: path=",rpath,", ITU region=",region + rpath = my_rig.get_conf("rig_pathname") + retry = my_rig.get_conf("retry") + print "status(str):",Hamlib.rigerror(my_rig.error_status) + print "get_conf: path=",rpath,", retry =",retry,", ITU region=",region - #my_rig.set_freq (5000000000,Hamlib.RIG_VFO_B) - print "freq: ",my_rig.get_freq() + my_rig.set_freq (5700000000,Hamlib.RIG_VFO_B) + print "freq:",my_rig.get_freq() my_rig.set_freq (145550000) + my_rig.set_vfo (Hamlib.RIG_VFO_B) + #my_rig.set_vfo ("VFOA") - mode = my_rig.get_mode() - print "mode: ",mode[0],"bandwidth: ",mode[1],"Hz (0=normal)" + (mode, width) = my_rig.get_mode() + print "mode:",Hamlib.rig_strrmode(mode),", bandwidth:",width print "ITU_region: ",my_rig.state.itu_region - print "Copyright: ",my_rig.caps.copyright + print "Backend copyright: ",my_rig.caps.copyright - print "getinfo: ",my_rig.get_info() + print "Model:",my_rig.caps.model_name + print "Manufacturer:",my_rig.caps.mfg_name + print "Backend version:",my_rig.caps.version + print "Backend license:",my_rig.caps.copyright + print "Rig info:", my_rig.get_info() my_rig.set_level ("VOX", 1) - print "level: ",my_rig.get_level_i("VOX") + print "VOX level: ",my_rig.get_level_i("VOX") my_rig.set_level (Hamlib.RIG_LEVEL_VOX, 5) - print "level: ", my_rig.get_level_i(Hamlib.RIG_LEVEL_VOX) + print "VOX level: ", my_rig.get_level_i(Hamlib.RIG_LEVEL_VOX) - print "str: ", my_rig.get_level_i(Hamlib.RIG_LEVEL_STRENGTH) + print "strength: ", my_rig.get_level_i(Hamlib.RIG_LEVEL_STRENGTH) print "status: ",my_rig.error_status print "status(str):",Hamlib.rigerror(my_rig.error_status) - #chan = Hamlib.Chan(Hamlib.RIG_VFO_A) - chan = Hamlib.Chan() + chan = Hamlib.channel(Hamlib.RIG_VFO_B) my_rig.get_channel(chan) print "get_channel status: ",my_rig.error_status - print "VFO: ",chan.vfo,", ",chan.freq + print "VFO: ",Hamlib.rig_strvfo(chan.vfo),", ",chan.freq my_rig.close () + print "\nSome static functions:" - # TODO: err, long1, lat1 = Hamlib.locator2longlat("IN98EC") err, long2, lat2 = Hamlib.locator2longlat("DM33DX") - loc1 = Hamlib.longlat2locator(long1, lat1) - loc2 = Hamlib.longlat2locator(long2, lat2) + err, loc1 = Hamlib.longlat2locator(long1, lat1, 3) + err, loc2 = Hamlib.longlat2locator(long2, lat2, 3) print "Loc1: IN98EC -> ",loc1 print "Loc2: DM33DX -> ",loc2 - dist, az = Hamlib.qrb(long1, lat1, long2, lat2) + # TODO: qrb should normalize? + err, dist, az = Hamlib.qrb(long1, lat1, long2, lat2) + if az > 180: + az -= 360 longpath = Hamlib.distance_long_path(dist) print "Distance: ",dist," km, long path: ",longpath - deg, min, sec = Hamlib.dec2dms(az) - az2 = Hamlib.dms2dec(deg, min, sec) - print "Bearing: ",az,", ",deg,"° ",min,"' ",sec,", recoded: ",az2 + err, deg, min, sec, sw = Hamlib.dec2dms(az) + az2 = Hamlib.dms2dec(deg, min, sec, sw) + if sw: + deg = -deg + print "Bearing: ",az,", ",deg,"° ",min,"' ",sec,", recoded: ",az2 if __name__ == '__main__': diff --git a/bindings/tcltest.tcl b/bindings/tcltest.tcl index 99385eeb2..7bfd36feb 100755 --- a/bindings/tcltest.tcl +++ b/bindings/tcltest.tcl @@ -5,9 +5,11 @@ exec tclsh "$0" "$@" load ".libs/hamlibtcl.so" Hamlib #package require Hamlib -puts "Tcl test, $hamlib_version\n" +set tclver [info tclversion] +puts "Tcl $tclver test, $hamlib_version\n" -rig_set_debug $RIG_DEBUG_TRACE +#rig_set_debug $RIG_DEBUG_TRACE +rig_set_debug $RIG_DEBUG_NONE # Init RIG_MODEL_DUMMY Rig my_rig $RIG_MODEL_DUMMY @@ -17,8 +19,10 @@ my_rig set_freq 145550000 puts status:[my_rig cget -error_status] -set mode [my_rig get_mode] -puts "mode:[lindex $mode 0], bandwidth:[lindex $mode 1]Hz (0=normal)" +# get_mode returns a tuple +set moderes [my_rig get_mode] +set mode [rig_strrmode [lindex $moderes 0]] +puts "mode: $mode, bandwidth:[lindex $moderes 1]Hz" set state [my_rig cget -state] puts ITU_region:[$state cget -itu_region] @@ -30,14 +34,14 @@ puts getinfo:[my_rig get_info] my_rig set_level "VOX" 1 puts status:[my_rig cget -error_status] -puts level:[my_rig get_level_i "VOX"] +puts "VOX level:[my_rig get_level_i "VOX"]" puts status:[my_rig cget -error_status] my_rig set_level $RIG_LEVEL_VOX 5 puts status:[my_rig cget -error_status] -puts level:[my_rig get_level_i $RIG_LEVEL_VOX] +puts "VOX level:[my_rig get_level_i $RIG_LEVEL_VOX]" puts status:[my_rig cget -error_status] -puts str:[my_rig get_level_i $RIG_LEVEL_STRENGTH] +puts strength:[my_rig get_level_i $RIG_LEVEL_STRENGTH] puts status:[my_rig cget -error_status] puts status(str):[rigerror [my_rig cget -error_status]]