Loading ...
Sorry, an error occurred while loading the content.
 

Voice Module

Expand Messages
  • Larry Levesque
    I am in the process of writing a PERL script to control my TM-D700 over my network. This is currently working with some basic functions. I can change
    Message 1 of 7 , Aug 1, 2004
      I am in the process of writing a PERL script to control my TM-D700
      over my network. This is currently working with some basic
      functions. I can change frequencies, bands, etc. I can also transmit
      and receive over the network.

      One thing I would like to do is make the VS3 voice module speak the
      frequency, channel, power level like it does when I use the front
      panel. This would allow me to know the correct settings without
      having to write code to send the info back over the network.

      Does anyone know of a way via the serial port to tell the voice
      module to "say" the settings? Any help would be greatly
      appreciated.

      -Larry -
      KA1VGM
    • cjavajim
      ... wrote: ... No but... there is a note in the Specialized Communications manual on page 28: When using an optional VS-3
      Message 2 of 7 , Aug 3, 2004
        --- In TMD700A@yahoogroups.com, "Larry Levesque"
        <ka1vgmnetmanager@a...> wrote:

        <snip>

        > Does anyone know of a way via the serial port to tell the voice
        > module to "say" the settings? Any help would be greatly
        > appreciated.
        >

        No but... there is a note in the "Specialized Communications" manual
        on page 28: "When using an optional VS-3 unit, you may select "APRS
        ONLY" in Menu 1-2-4 (VOICE). Each time you receive a message
        addressed to you, the transceiver announces the call sign of the
        sender." Now here is the interesting part: "If the initial
        character of the message is %, the transceiver announces the
        subsequent characters one by one."

        So maybe the % character plays a part in what you're trying to do.

        Anyway, I hope you will keep us posted of your results.

        Jim
        Kilo Charlie Seven Tango Uniform Uniform
      • ka1vgmnetmanager@aol.com
        I appreciate the reply. I already knew this bit of info. I will definately keep you posted of what I find. Here is the code as of today in case you are
        Message 3 of 7 , Aug 3, 2004
          I appreciate the reply. I already knew this bit of info. I will definately keep you posted of what I find. Here is the code as of today in case you are interested.
          =====================================================================


          #!/usr/bin/perl -w
          print "\n\n\n";
          print "Kenwood TM-D700 Control Program - Larry Levesque - KA1VGM\n";
          my $tmd700="/dev/ttyS18";
          my $serout="AI 1\015";
          open(D700, "+> $tmd700") or die "TM-D700 perl: Cannot Open serial Port!\n";
          print D700 $serout;
          &mainmenu;

          startprog:
          {
          system "stty cbreak < /dev/tty > /dev/tty 2>&1";
          while (($key=getc) ) {
          last if $key eq "q";
          &vfo_change if $key eq "v";
          &transmit if $key eq "t";
          &vfo_mem if $key eq "m";
          &offsett_shift if $key eq "s";
          &aip if $key eq "a";
          &freq_step if $key eq "e";
          &change_channel if $key eq "c";
          &change_power if $key eq "p";
          &change_voice if $key eq "w";
          &change_audio if $key eq "g";
          }
          }
          sub rrr:
          {
          print "End Program!!!\n"

          }



          sub mainmenu:
          {
          print "\n\n\n";
          print " TM-D700 Main Menu\n";
          print " =================\n";
          print "\n";
          print "a = AIP on/off t = transmit/receive\n";
          print "m = Memory/VFO mode s = Offsett Shift\n";
          print "e = Freq. Step c = Change Channel/Freq.\n";
          print "p = Power Level H/M/L w = Voice Announce\n";
          print "x = Jump to Memory CHNL g = audio gain / squelch\n";
          print "v = VFO Change q = quit\n";
          print "\n";
          print "\n";
          }

          sub vfo_change:
          {
          print " VFO CHANGE\n";
          print " ==========\n";
          print "\n";
          print "VFO Change - 1 = VFO 1 (left)\n";
          print " 2 = VFO 2 (right)\n";
          print " q = back\n";
          print "\n";
          system "stty cbreak < /dev/tty > /dev/tty 2>&1";
          while (($key=getc) ) {

          last if $key eq "q";
          print D700 "BC 0,0\015" if $key eq "1";
          print D700 "BC 1,1\015" if $key eq "2";
          }

          &mainmenu;
          }
          sub transmit:
          {
          print "\n";
          print "Transmit Menu\n";
          print "=============\n";
          print "\n";
          print " t = Transmit\n";
          print " r = Receive\n";
          print " q = back\n";
          print "\n";

          system "stty cbreak < /dev/tty > /dev/tty 2>&1";
          while (($key=getc) ) {

          last if $key eq "q";
          print D700 "TX\015" if $key eq "t";
          print D700 "RX\015" if $key eq "r";
          }
          &mainmenu;
          }
          sub vfo_mem:
          {
          print " VFO / Memory Channel Menu\n";
          print " =========================\n";
          print "\n";
          print " 1 = VFO Mode Band 1\n";
          print " 2 = Memory Mode Band 1\n";
          print " 3 = VFO Mode Band 2\n";
          print " 4 = Memory Mode Band 2\n";
          print " q = back\n";
          print "\n";

          system "stty cbreak < /dev/tty > /dev/tty 2>&1";
          while (($key=getc) ) {

          last if $key eq "q";
          print D700 "VMC 0,0\015" if $key eq "1";
          print D700 "VMC 0,2\015" if $key eq "2";
          print D700 "VMC 1,0\015" if $key eq "3";
          print D700 "VMC 1,2\015" if $key eq "4";
          }
          &mainmenu;
          }
          sub offsett_shift:
          {
          print " Offsett Shift Menu\n";
          print " ==================\n";
          print "\n";
          print " 1 = Simplex\n";
          print " 2 = + / positive offsett\n";
          print " 3 = - / negative offsett\n";
          print " q = back\n";
          print "\n";
          system "stty cbreak < /dev/tty > /dev/tty 2>&1";
          while (($key=getc) ) {

          last if $key eq "q";
          print D700 "SFT 0\015" if $key eq "1";
          print D700 "SFT 1\015" if $key eq "2";
          print D700 "SFT 2\015" if $key eq "3";
          }
          &mainmenu;
          }
          sub aip:
          {
          print " VHF AIP Menu\n";
          print " ==================\n";
          print "\n";
          print " 1 = Advanced Intercept Point OFF\n";
          print " 2 = Advanced Intercept Point ON\n";
          print " q = back\n";
          print "\n";

          system "stty cbreak < /dev/tty > /dev/tty 2>&1";
          while (($key=getc) ) {

          last if $key eq "q";
          print D700 "AIP 0\015" if $key eq "1";
          print D700 "AIP 1\015" if $key eq "2";
          }
          &mainmenu;
          }
          sub freq_step:
          {
          print " Frequency Step Menu\n";
          print " ===================\n";
          print "\n";
          print " a = 5.0\n";
          print " 1 = 6.25\n";
          print " 2 = 10.0\n";
          print " 3 = 12.5\n";
          print " 4 = 15.0\n";
          print " 5 = 20.0\n";
          print " 6 = 25.0\n";
          print " 7 = 30.0\n";
          print " 8 = 50.0\n";
          print " 9 = 100.0\n";

          print " q = back\n";
          print "\n";

          system "stty cbreak < /dev/tty > /dev/tty 2>&1";
          while (($key=getc) ) {

          last if $key eq "q";
          print D700 "ST 0\015" if $key eq "a";
          print D700 "ST 1\015" if $key eq "1";
          print D700 "ST 2\015" if $key eq "2";
          print D700 "ST 3\015" if $key eq "3";
          print D700 "ST 4\015" if $key eq "4";
          print D700 "ST 5\015" if $key eq "5";
          print D700 "ST 6\015" if $key eq "6";
          print D700 "ST 7\015" if $key eq "7";
          print D700 "ST 8\015" if $key eq "8";
          print D700 "ST 9\015" if $key eq "9";

          }
          &mainmenu;
          }
          sub change_channel:
          {
          print " Change Channel/Freq.\n";
          print " ====================\n";
          print "\n";
          print " 1 = Channel / Freq. UP\n";
          print " 2 = Channel / Freq. DOWN\n";
          print " q = back\n";
          print "\n";

          system "stty cbreak < /dev/tty > /dev/tty 2>&1";
          while (($key=getc) ) {

          last if $key eq "q";
          print D700 "UP\015" if $key eq "1";
          print D700 "DW\015" if $key eq "2";
          }
          &mainmenu;
          }
          sub change_power:
          {
          print " Change Output Power\n";
          print " ===================\n";
          print "\n";
          print " 1 = VFO A High\n";
          print " 2 = VFO A Medium\n";
          print " 3 = VFO A Low\n";
          print " 4 = VFO B High\n";
          print " 5 = VFO B Medium\n";
          print " 6 = VFO B Low\n";
          print " q = back\n";
          print "\n";

          system "stty cbreak < /dev/tty > /dev/tty 2>&1";
          while (($key=getc) ) {

          last if $key eq "q";
          print D700 "PC 0,0\015" if $key eq "1";
          print D700 "PC 0,1\015" if $key eq "2";
          print D700 "PC 0,2\015" if $key eq "3";
          print D700 "PC 1,0\015" if $key eq "4";
          print D700 "PC 1,1\015" if $key eq "5";
          print D700 "PC 1,2\015" if $key eq "6";
          }
          &mainmenu;
          }
          sub change_voice:
          {
          print " Change Voice Option\n";
          print " ===================\n";
          print "\n";
          print " 1 = English Voice\n";
          print " 2 = Japanese Voice\n";
          print " 3 = APRS Only\n";
          print " 4 = Voice OFF\n";
          print " q = back\n";
          print "\n";

          system "stty cbreak < /dev/tty > /dev/tty 2>&1";
          while (($key=getc) ) {
          last if $key eq "q";
          print D700 "VOM 1\015" if $key eq "1";
          print D700 "VOM 2\015" if $key eq "2";
          print D700 "VOM 3\015" if $key eq "3";
          print D700 "VOM 0\015" if $key eq "4";
          }
          &mainmenu;
          }
          sub change_audio:
          {
          print " Change Audio/Squelch\n";
          print " ====================\n";
          print "\n";
          print " 1 = Audio HIGH - VFO 1 | 3 = Audio HIGH - VFO 2\n";
          print " 2 = Audio LOW - VFO 1 | 4 = Audio LOW - VFO 2\n";
          print "\n";
          print " 5 = Squelch HIGH - VFO 1 | 8 = Squelch HIGH - VFO 2\n";
          print " 6 = Squelch LOW - VFO 1 | 9 = Squelch LOW - VFO 2\n";
          print " 7 = Squelch OFF - VFO 1 | a = Squelch OFF - VFO 2\n";

          print "\n";
          print " q = back\n";
          print "\n";

          system "stty cbreak < /dev/tty > /dev/tty 2>&1";
          while (($key=getc) ) {

          last if $key eq "q";
          print D700 "AG 0,10\015" if $key eq "1";
          print D700 "AG 0,04\015" if $key eq "2";
          print D700 "AG 1,10\015" if $key eq "3";
          print D700 "AG 1,04\015" if $key eq "4";
          print D700 "SQ 0,10\015" if $key eq "5";
          print D700 "SQ 0,05\015" if $key eq "6";
          print D700 "SQ 0,01\015" if $key eq "7";
          print D700 "SQ 1,10\015" if $key eq "8";
          print D700 "SQ 1,05\015" if $key eq "9";
          print D700 "SQ 1,01\015" if $key eq "a";
          }
          &mainmenu;
          }


          ================================================================

          In a message dated 8/3/2004 12:14:22 PM Eastern Daylight Time, "cjavajim" <cjavajim@...> writes:

          >--- In TMD700A@yahoogroups.com, "Larry Levesque"
          ><ka1vgmnetmanager@a...> wrote:
          >
          ><snip>
          >
          >> Does anyone know of a way via the serial port to tell the voice
          >> module to "say" the settings?  Any help would be greatly
          >> appreciated.
          >>  
          >
          >No but...  there is a note in the "Specialized Communications" manual
          >on page 28:  "When using an optional VS-3 unit, you may select "APRS
          >ONLY" in Menu 1-2-4 (VOICE).  Each time you receive a message
          >addressed to you, the transceiver announces the call sign of the
          >sender."  Now here is the interesting part:  "If the initial
          >character of the message is %, the transceiver announces the
          >subsequent characters one by one."
          >
          >So maybe the % character plays a part in what you're trying to do.
          >
          >Anyway, I hope you will keep us posted of your results.
          >
          >Jim
          >Kilo Charlie Seven Tango Uniform Uniform
          >
          >
          >
          >
          >
          >Community email addresses:
          >  Post message: TMD700A@onelist.com
          >  Subscribe:    TMD700A-subscribe@onelist.com
          >  Unsubscribe:  TMD700A-unsubscribe@onelist.com
          >  List owner:   TMD700A-owner@onelist.com
          >
          >Shortcut URL to this page:
          >  http://www.onelist.com/community/TMD700A
          >Yahoo! Groups Links
          >
          >
          >
          >
          >
          >


          --
          Larry Levesque
          Granite City Electric
          Keene, NH 03431
          603-355-4948
          ka1vgmnetmanager@...
          larryl@...
        • cjavajim
          ... definately keep you posted of what I find. Here is the code as of today in case you are interested. Wow! Thanks for sharing your
          Message 4 of 7 , Aug 3, 2004
            --- In TMD700A@yahoogroups.com, ka1vgmnetmanager@a... wrote:
            > I appreciate the reply. I already knew this bit of info. I will
            definately keep you posted of what I find. Here is the code as of
            today in case you are interested.

            <snip all the Perl code>

            Wow! Thanks for sharing your Perl code. I see you're using a _real_
            operating system; ahem, I'm using Windows, so I will have to hack
            some changes for the serial port (I'll post it when it's working).
            Looks like you've also given me the justification I was looking for
            for purchasing the VS-3!
          • ka1vgmnetmanager@aol.com
            Well, I can t seem to find the command to read the settings over the radio via serial port yet. If this is available, it will cut down on my development time.
            Message 5 of 7 , Aug 3, 2004
              Well, I can't seem to find the command to read the settings over the radio
              via serial port yet. If this is available, it will cut down on my development
              time. This system will eventually allow remote users in a nearby town to
              control the radio (I live high up on a hill) and allow them much greater distances.


              Yes, I use LINUX almost exclusively now. That is actually part of the reason
              I have not updated my NetManager program lately. LINUX is a much more stable
              platform. I do have to learn C to really do what I want like bringing NM
              over to LINUX. I think it will be worth it all in the end.

              Let me know if you need any other advice for setting the radio up over a
              network.




              In a message dated 8/3/04 3:28:43 PM Eastern Daylight Time,
              cjavajim@... writes:

              >
              > Wow! Thanks for sharing your Perl code. I see you're using a _real_
              > operating system; ahem, I'm using Windows, so I will have to hack
              > some changes for the serial port (I'll post it when it's working).
              > Looks like you've also given me the justification I was looking for
              > for purchasing the VS-3!
              >
              >
              >
              >
              >
              >


              --
              73 de KA1VGM -Larry

              download my free ARES / NTS software at http://www.levektronix.com


              [Non-text portions of this message have been removed]
            • Kasey
              I would also be interested in the windows rewrite of that perl code! Look forward to seeing the final code! Jason VA3TK http://aprs.techstud.com/ ... _real_
              Message 6 of 7 , Aug 4, 2004
                I would also be interested in the windows rewrite of that perl code!
                Look forward to seeing the final code!

                Jason VA3TK
                http://aprs.techstud.com/


                --- In TMD700A@yahoogroups.com, "cjavajim" <cjavajim@y...> wrote:
                > --- In TMD700A@yahoogroups.com, ka1vgmnetmanager@a... wrote:
                > > I appreciate the reply. I already knew this bit of info. I will
                > definately keep you posted of what I find. Here is the code as of
                > today in case you are interested.
                >
                > <snip all the Perl code>
                >
                > Wow! Thanks for sharing your Perl code. I see you're using a
                _real_
                > operating system; ahem, I'm using Windows, so I will have to hack
                > some changes for the serial port (I'll post it when it's working).
                > Looks like you've also given me the justification I was looking for
                > for purchasing the VS-3!
              • Steve
                You can. I think the info is in the Files area. Otherwise do a Google. I downloaded the protocol. You can also send APRS messages which will spell and say
                Message 7 of 7 , Sep 1, 2004
                  You can. I think the info is in the Files area. Otherwise do a
                  Google. I downloaded the protocol. You can also send APRS messages
                  which will spell and say the pre-programmed words in it's vocab at
                  the receiving end.
                  73, Steve K9DCI

                  --- In TMD700A@yahoogroups.com, "Larry Levesque"
                  <ka1vgmnetmanager@a...> wrote:
                  > I am in the process of writing a PERL script to control my TM-D700
                  > over my network. This is currently working with some basic
                  > functions. I can change frequencies, bands, etc. I can also
                  transmit
                  > and receive over the network.
                  >
                  > One thing I would like to do is make the VS3 voice module speak the
                  > frequency, channel, power level like it does when I use the front
                  > panel. This would allow me to know the correct settings without
                  > having to write code to send the info back over the network.
                  >
                  > Does anyone know of a way via the serial port to tell the voice
                  > module to "say" the settings? Any help would be greatly
                  > appreciated.
                  >
                  > -Larry -
                  > KA1VGM
                Your message has been successfully submitted and would be delivered to recipients shortly.