Call Search
     

New to Ham Radio?
My Profile

Community
Articles
Forums
News
Reviews
Friends Remembered
Strays
Survey Question

Operating
Contesting
DX Cluster Spots
Propagation

Resources
Calendar
Classifieds
Ham Exams
Ham Links
List Archives
News Articles
Product Reviews
QSL Managers

Site Info
eHam Help (FAQ)
Support the site
The eHam Team
Advertising Info
Vision Statement
About eHam.net

   Home   Help Search  
Pages: [1]   Go Down
  Print  
Author Topic: Read the FREQ. from a FT-990 using VB6  (Read 593 times)
AA8R
Member

Posts: 1




Ignore
« on: November 13, 2004, 11:08:37 AM »

I'm a rookie at VB6 and I am trying to read the freq. from my Yaesu FT-990.  I can set the freq. or change mode or filters, etc. with no problems.  Just can't seem to get the right syntax for reading the freq. Can anyone help out with this? I'm using Yaesu's FIF-232C CAT system as an interface between the PC's COM port ant the 990.  Following is the logic that I'v tried:

Private Sub Form_Load()
Dim buffer As String
Dim i As Integer
Dim mdata(1500) As String

MSComm1.CommPort = 1
MSComm1.Settings = "4800,N,8,2"
MSComm1.InputLen = 1500

MSComm1.PortOpen = True
MSComm1.Output = Chr$(0) & Chr$(0) & Chr$(0) & Chr$(0) & Chr$(16) ' read update

buffer = MSComm1.Input
For i = 1 To 1500
  mdata(i) = Mid(Asc(buffer), i, 1)
 Next i


Thanks,

Randy - AA8R
AA8R@AOL.COM
Logged
AA6YQ
Member

Posts: 1747


WWW

Ignore
« Reply #1 on: November 17, 2004, 11:52:18 PM »

Requesting a 1508-byte status block will prevent you from smoothly following the FT-990's frequency as its QSYs. There's a ROM update that enables the FT-990 to respond with a 16-byte status block containing the VFO frequency, clarifier setting, and mode. The appropriate command to send is

Chr$(0) + Chr$(0) + Chr$(0) + Chr$(2) + Chr$(16)

Here's code that parses the resulting 16-byte status block in RcvBuffer(1) through RcvBuffer(16) :
                                             FlagDigit = RcvBuffer(5)
RXClar = (FlagDigit And 2) = 2
                   
ClarifierDigits = (RcvBuffer(6) * 256#) + RcvBuffer(7)
If ClarifierDigits > 32768 Then
    ClarifierDigits = -(65536 - ClarifierDigits)
End If
Clarifier = ClarifierDigits / 1000
                   
FreqDigits = 0
For I = 2 To 4
    FreqDigits = (FreqDigits * 256) + RcvBuffer(I)
Next I
NewFreq = (FreqDigits / 100)
                                         
If RXClar Then
    UpdateRadioFreq (NewFreq + Clarifier)
Else
    UpdateRadioFreq (NewFreq)
End If
                   
ModeDigit = RcvBuffer(Cool      
Mode = GetModeFromYaesuFT990Status(ModeDigit)

    73,

        Dave, AA6YQ
Logged
Pages: [1]   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!