OpenBCM V1.13 (Linux)

Packet Radio Mailbox

DB0FHN

[JN59NK Nuernberg]

 Login: GUEST





  
ZL3AI  > APRDIG   15.01.07 05:38l 349 Lines 12284 Bytes #999 (0) @ WW
BID : 9531-ZL3AI
Read: GUEST
Subj: [APRSSIG] Vol 31 #13, 2/2
Path: DB0FHN<DB0MRW<DK0WUE<7M3TJZ<ZL2BAU
Sent: 070115/0426Z @:ZL2BAU.#79.NZL.OC #:27178 [Waimate] $:9531-ZL3AI
From: ZL3AI@ZL2BAU.#79.NZL.OC
To  : APRDIG@WW

Message: 10
Date: Wed, 10 Jan 2007 22:14:09 -0500
From: "Wes Johnston, AI4PX" <wes@kd4rdb.com>
Subject: Re: [aprssig] Garmin Rino

there is a script / glue between xastir and garmin rinos that will syphon
off rino positions from a "base" unit to convert to APRS format.

Wes

On 1/10/07, Mark Cheavens <mcheavens@usa.net>wrote:
>Since the subject of Garmin was brought up today....
>
>Has anyone looked at the current series of RINO radios? They have
>fantastic mapping capabilities!
>
>I wonder if anyone has ever approached Garmin about making a Ham
>version of the radio....Or if LOTS of us requested it, would they do it?
>
>I for one would LOVE to have a RINO in the UHF ham band! I'll bet
>that would spark some new interest in RINO decoding!
>
>Seems that RINO decoding has kind of lost any focus in the APRS world
>as no new development has been done in a while. (Or not that I have
>seen or found).
>
>Mark
>KC5EVE

------------------------------

Message: 11
Date: Wed, 10 Jan 2007 23:18:39 -0700
From: Rahn <whiskey7doa@gmail.com>
Subject: Re: [aprssig] Garmin Rino

Mark, I have a Rino 520 color screen..... etc.... It is a neat little unit.
But in my humble opinion Garmin has some work to do with it yet. I have had
three in about as many weeks. Garmin's tech support, while not speedy, were
helpful. 1 simply died, second displayed a date apox. 19 years 7 1/2 months
fast, with no way for the end user to correct like the older GPS units had.
Took 3 weeks to get a third directly from Garmin. And with all that I did
some research on the Rino series and it seems I have not been the only one
experiencing these and a multitude of other problems.

I like Garmins GPS units, I think they are truely one of the best. But when
they built the Rino series they were exploring new territory, for Garmin at
least, and they have some bugs to work out. And, you know as well as I,
that hams love to tinker with stuff we buy. And I am not sure Garmin would
be too keen on that.

BUT.... If they ever did come out with a UHF ham freq or even a 2 meter
model capable of APRS I would probably be all over it. Here's the catch.
With FRS/GMRS they can say "Make sure to buy your license before using this
radio" and leave it at that. But with hams, we would monitor it a bit
closer and would probably not allow them to be sold at every big box store
in the world. So sales would suffer and quite frankly, I doubt if the
number of potential sales would justify R&D costs associated with producing
such a model. Though I would love one, I am not holding my breath.
Rahn
W7DOA

------------------------------

Message: 12
Date: Wed, 10 Jan 2007 23:20:02 -0700
From: Rahn <whiskey7doa@gmail.com>
Subject: Re: [aprssig] Garmin Rino

Wes, could you throw out a bit more info on this script? Where I would 
find it, etc.... I might be interested in such a critter.

Wes Johnston, AI4PX wrote:

>there is a script / glue between xastir and garmin rinos that will
>syphon off rino positions from a "base" unit to convert to APRS
>format.

------------------------------

Message: 13
Date: Wed, 10 Jan 2007 23:22:08 -0700
From: Rahn <whiskey7doa@gmail.com>
Subject: Re: [aprssig] MURS

Thanks Richard, That clear up many of my questions.
Rahn
W7DOA

KCøRNP Richard wrote:

>The FCC rules governing the Multi Use Radio Service (MURS) have
>changed recently (November 12, 2002). The information below reflects
>the new (current) rules.
>etc etc

------------------------------

Message: 14
Date: Thu, 11 Jan 2007 07:30:12 -0500
From: "Wes Johnston, AI4PX" <wes@kd4rdb.com>
Subject: Re: [aprssig] Garmin Rino

It's supposed to be being distributed with xastir, but I haven't checked
lately.  If not, I'll get a copy off the laptop in our comms trailer next
time I see that laptop.  It's called RINO.CGI . Basically, it uses GPSMAN
to query a "base" rino for all waypoints, then if (and only if) one moves
it will be converted to an aprs position.  To allow for polling, some rino
units are named APRSyourcallsign , and this program will remove the APRS
portion and transmit an object called "yourcallsign".  The last revision of
it did the machine readable DAO format as I recall.

Wes

On 1/11/07, Rahn <whiskey7doa@gmail.com>wrote:
>Wes, could you throw out a bit more info on this script? Where I would
>find it, etc.... I might be interested in such a critter.

------------------------------

Message: 15
Date: Thu, 11 Jan 2007 07:33:43 -0500
From: "Wes Johnston, AI4PX" <wes@kd4rdb.com>
Subject: Re: [aprssig] Garmin Rino

I found it! By the way, I'm not kd4rdb anymore. <grin> I don't think
this is the DAO version however.
Wes

#!/usr/local/bin/perl
################################################################################
# RINO GPS polling script by Wes Johnston KD4RDB.  April 07 2006     #
# This script uses GPSMan to poll a garmin rino gps unit and detects changes #
# in the location or symbol used from one iteration to the next.  If a waypoint#
# moves, it will be published to xastir via the xastir_udp_client program  #
# Press <cntrl c>to stop execution    #
################################################################################
#use strict;
#use warnings;
#use LWP::Simple;
$mysourcecall="AI4PX";
$mysourcepath="WIDE1-1,WIDE2-1";
$mypasscode="24315";
my $gps_file_source="gps.txt";
my $gps_old_file_source="gpsold.txt";
##############################################
# Nothing below this line needs to be edited.#
##############################################
use POSIX qw(strftime);

# We call GPSman upon startup to establish a baseline of waypoints
# so that we don't generate bunches of aprs objects the first iteration
print "Initializing Waypoints...\n";
#Call gpsman to get waypoints with symbols and pipe the output to a
dummy file to keep screen clean.
my $cmd="gpsman getwrite WP GPSMan ".$gps_old_file_source." >gpsman.txt"	;
system $cmd;


while (1==1){
   print qq|\nPolling RINO unit...\n|;
	
#Call gpsman to get waypoints with symbols and pipe the output to a
dummy file to keep screen clean.
   $cmd="gpsman getwrite WP GPSMan ".$gps_file_source." >gpsman.txt"       ;
   system $cmd;
   print qq|Reading RINO waypoints...\n|;
   open (DB, "<$gps_file_source") or &cgierr("unable to open GPSMan
file: $gps_file_source.\nReason: $!");
		LINE: while (<DB>) {
   (/^#/) and next LINE;   # Skip comment Lines.
   (/^!/) and next LINE;   # Skip comment Lines.
   (/^%/) and next LINE;   # Skip comment Lines.
   (/^\s*$/) and next LINE;   # Skip blank lines.
        my $line = $_; chomp ($line);     # Remove trailing new line.
	
# need to open the file used on the last time 'round and look for an
identical line.
# if such an identical line is found, then NEXT and skip processing...
nothing new.
   my $dupedataflag=0;

  open (OLD, "<$gps_old_file_source") or &cgierr("unable to open
GPSMan file: $gps_old_file_source.\nReason: $!");
   OLDGPS: while (<OLD>) {
   (/^#/) and next OLDGPS;  # Skip comment Lines.
   (/^!/) and next OLDGPS;  # Skip comment Lines.
   (/^%/) and next OLDGPS;  # Skip comment Lines.
   (/^\s*$/) and next OLDGPS;  # Skip blank lines.
       my $oldgps = $_;    chomp ($oldgps);        # Remove trailing new line.

       if ($oldgps eq $line){
          $dupedataflag=1;
          }
   }
   close OLD;

# split line into callsign, lat lon and symbol.
     my ($callsign,$null1,$lat,$lon,$symbol,$null2)= split (/\t/, $line);
# If callsign starts with APRS, truncate the APRS portion.			
   if (substr($callsign,0,4) eq "APRS"){
           $callsign=substr($callsign,4,100);
   }

# check to see if we did NOT find a duplicate line of text in the gpsman file.
   if ($dupedataflag eq "0"){

# Here we check that the particular waypoint has the correct form of a
rino contact symbol.
    $sym="";
    if (substr($symbol,0,7) eq "symbol="){
					$sym="1";
# First we set the default symbol.... just in case
    $aprssymbol="[";
    $aprssymbol="[" if ($symbol eq "symbol=cntct_smiley");
    $aprssymbol="b" if ($symbol eq "symbol=cntct_ball_cap");
    $aprssymbol="j" if ($symbol eq "symbol=cntct_big_ears");
    $aprssymbol="f" if ($symbol eq "symbol=cntct_spike");
    $aprssymbol="s" if ($symbol eq "symbol=cntct_goatee");
    $aprssymbol="U" if ($symbol eq "symbol=cntct_afro");
    $aprssymbol="Y" if ($symbol eq "symbol=cntct_dreads");
    $aprssymbol="R" if ($symbol eq "symbol=cntct_female1");
    $aprssymbol="v" if ($symbol eq "symbol=cntct_female2");
    $aprssymbol=">" if ($symbol eq "symbol=cntct_female3");
    $aprssymbol="," if ($symbol eq "symbol=cntct_ranger");
    $aprssymbol="u" if ($symbol eq "symbol=cntct_kung_fu");
    $aprssymbol="X" if ($symbol eq "symbol=cntct_sumo");
    $aprssymbol="<" if ($symbol eq "symbol=cntct_pirate");
    $aprssymbol="k" if ($symbol eq "symbol=cntct_biker");
    $aprssymbol="O" if ($symbol eq "symbol=cntct_alien");
    $aprssymbol="'" if ($symbol eq "symbol=cntct_bug");
    $aprssymbol="a" if ($symbol eq "symbol=cntct_cat");
    $aprssymbol="e" if ($symbol eq "symbol=cntct_dog");
    $aprssymbol="P" if ($symbol eq "symbol=cntct_pig");

# If callsign length greater than 9, we have to truncate it to be
within aprs spec for item reports.
    if (length($callsign) >9){
       $callsign=substr($callsign,0,9);
       }

# split degrees mins and secs into individual variables.
   my ($deg,$min,$sec)= split (/ /, $lat);
   $hemi=substr($deg,0,1);
   $deg=substr($deg,1,10);
# make certain the length of degrees is 2 by way of adding leading 0's.
    if (length($deg)!=2){
            $deg="0".$deg;
    }
    if (length($deg)!=2){
            $deg="0".$deg;
    }
    $sec=substr($sec/60,1,3);
    if ($sec eq ""){
            $sec=".00";
    }
    if (length($sec) ne "3") {
            $sec=$sec."0";
    }
    $min=$min.$sec;
# make certain the length of minutes is 2 by way of adding leading 0's.
    if (substr($min,2,1) ne "."){
            $min="0".$min;
    }
    $aprslat=$deg.$min.$hemi;
# split degrees mins and secs into individual variables.
    my ($deg,$min,$sec)= split (/ /, $lon);
    $hemi=substr($deg,0,1);
    $deg=substr($deg,1,10);
# make certain the length of degrees is 3 by way of adding leading 0's.
    if (length($deg)!=3){
            $deg="0".$deg;
    }
    if (length($deg)!=3){
            $deg="0".$deg;
    }
    $sec=substr($sec/60,1,3);
    if ($sec eq ""){
            $sec=".00";
    }
    if (length($sec) ne "3") {
            $sec=$sec."0";
    }
    $min=$min.$sec;
# make certain the length of minutes is 2 by way of adding leading 0's.
    if (substr($min,2,1) ne "."){
            $min="0".$min;
    }
    $aprslon=$deg.$min.$hemi;

# here is the format we're looking to create:
"KD4RDB>WIDE1-1,WIDE2-2:)" + Name$ + "!" + Lat$ + "/" + Lon$ + Symbol$
 $packet=$mysourcecall.">".$mysourcepath .":)". $callsign . "!"
.. $aprslat . "/" . $aprslon . $aprssymbol;

# shell out and make call to xastir udp client.
# This is a sample of the line to be sent: xastir_udp_client localhost
2023 ab7cd 1234 "APRS packet goes here"
     $cmd="xastir_udp_client localhost 2023 ".$mysourcecall."
".$mypasscode." -to_rf -to_inet \"".$packet."\" >udp.txt";
     system $cmd;
     }
		
    }
    if (substr($symbol,0,7) eq "symbol=") {
       if ($dupedataflag eq "0" ){
               print qq|MOVED:|;
       }else{
          print qq| |;
          }
 $callsign=$callsign."  ";
            $callsign=substr($callsign,0,10);
            print qq|$callsign $lat $lon $symbol\n|;
            }
           }
	close DB;
# copy current gps.txt file over the old one.. so we can use it for
dupe checks the next time thru.
	$cmd="cp gps.txt gpsold.txt";
 system $cmd;
	sleep 10
}

sub cgierr {
# --------------------------------------------------------
# Displays any errors and prints out ENVIRONMENT
# information. Useful for debugging.

 print "We encountered an internal error. ";
  print "\n\nCGI ERROR\n==========================================\n";
  $_[0] and print "Error Message  : $_[0]\n";
  $0  and print "Script Location  : $0\n";
  $]  and print "Perl Version  : $]\n";
  print "\n";
 exit -1;
}

------------------------------

aprssig mailing list
aprssig@lists.tapr.org
https://lists.tapr.org/cgi-bin/mailman/listinfo/aprssig

End of aprssig Digest, Vol 31, Issue 13



Read previous mail | Read next mail


 06.02.2026 09:43:03lGo back Go up