rigposter/rigscan.php

51 lines
1.4 KiB
PHP
Raw Permalink Normal View History

2023-01-16 18:27:05 +00:00
<?php
$beg=3600000;
$end=3800000;
$step=1000;
$rigctl='/usr/bin/rigctl'; # where rigctl lives
$rmodel='363'; # rig model for hamlib
$device='/dev/ttyUSB0'; # serial device connected to rig
$dspeed='19200'; # serial speed set in rig
###############################################################
print "==> RIG CONNECT... ";
$rigcmd=$rigctl.' -m '.$rmodel.' -r '.$device.' -s '.$dspeed;
$socket=popen($rigcmd,'r');
print "OK (".$device.")\n";
print "CMD[".$rigcmd."]\n";
for ($freq = $beg; $freq <= $end; $freq+=$step) {
$afreq=array(); exec($rigcmd.' F '.$freq,$afreq,$fret);
usleep(10000);
$asmet=array(); $get_smet=$rigcmd.' l STRENGTH'; exec($get_smet,$asmet,$sret); $smet=trim($asmet[0]);
if ( $smet > 60 || preg_match("/error/",$smet) ) {
usleep(10000);
$asmet=array(); $get_smet=$rigcmd.' l STRENGTH'; exec($get_smet,$asmet,$sret); $smet=trim($asmet[0]);
}
if ( $smet > 60 || preg_match("/error/",$smet) ) {
usleep(10000);
$asmet=array(); $get_smet=$rigcmd.' l STRENGTH'; exec($get_smet,$asmet,$sret); $smet=trim($asmet[0]);
}
print "[".$freq."] [".smeter($smet)."] ".str_repeat("|",($smet+60))."\n";
}
print "-END-\n";
pclose($socket);
function smeter($dbs9) {
if ( $dbs9 > 60 ) {
$dbs9 = 60;
}
if ( $dbs9 < -54 ) {
$dbs9 = -54;
}
$overs9 = $dbs9 - 54;
if ( $overs9 < 0 ) {
$overs9 = 0;
}
if ( $dbs9 > 0 ) {
$dbs9 = 0;
}
$smeter = 'S'.round(($dbs9+54)/6);
if ( $overs9 > 0 ) {
$smeter .= '+'.$overs9.'dB';
}
return $smeter;
}