Hi Charles and group, >> So my question to the group is about requirements for calibration and synchronization. I think that the *standard* DLL interface made by Alberto and used many and long times proved it works. I don't see why a new version of WinRad need to change the standard!
If a DLL dont need to use the TuneChanged function it will not implement the function (it is a optional function to implement in the DLL according the standard) and it will not cost some overhead. If a DLL need the function, for what reason some one may think off, the function must be called as the standard described. Is is the responsibility of the DLL not to take to many CPU cycles in that function because it can be called so many times, messaged and multi threading can help. In my case I only store the latest value in a local variable to be used in a other thread. 73, Fred PE0FKO Charles Buse wrote: > > I didn't find any problem with the TuneChanged function. What I found > was that it wasn't being called in all the situations when the tune > frequency actually changed. It wasn't getting called when the blue > window is dragged and it wasn't getting called when Winrad needed to > adjust the tune frequency as a result of a change to the LO frequency > initiated by the external hardware. This will be fixed in the next > release. > > Alberto mentioned two reasons for implementing the TuneChanged > function. One is to let the external hardware know when the tune > frequency is near (or even outside) the limits of the spectrum window > and the other is to provide a way for a transmitter to synchronize its > frequency with Winrad's received frequency. Given the way that Winrad > is currently implemented, the first is not necessary. It is not > possible to set the tune fequency outside the limits defined by the > hardware LO frequency and the input sample rate. > > Even for the second use, TuneChanged may not be the appropriate > solution. This is because TuneChanged gets executed every time the > frequency changes and this is going to happen tens or even hundreds of > times in a short time period when the frequency is changed (for > example) by dragging the blue window around on the spectrum display. > > So my question to the group is about requirements for calibration and > synchronization. If such things need to be done between Winrad and > external hardware, what kind of data need to be exchanged, under what > circumstances and how often? Knowing the answers to these questions > can lead to a more effective solution.. > > --- On *Mon, 3/2/09, pe0fko /<[email protected]>/* wrote: > > From: pe0fko <[email protected]> > Subject: Re: [winrad] TuneChanged > To: [email protected] > Date: Monday, March 2, 2009, 8:40 AM > > Hi Charles, > > Thank that you finding the problem of the TuneChanged( ) function. > I think there is a fifth way to change the freq and that is > clicking in > the freq spectrum or waterfall display. That is what I did try and > the > function was not called by that way also. As Alberto explained > there are > many reasons why the DLL must know the real tuning frequency, in > my case > it is also for the calibration process of the receiver. > I'm happy that I did not have to send you my hardware and source > code, > something Jeffrey proposed. > > 73, Fred > PE0FKO > > Charles Buse wrote: > > > > I modified my external hardware DLL so that it pops up a message > box > > when TuneChanged is called, since normally this function does > > nothing. The message box appeared when I changed the tune frequency > > in Winrad using the mouse over the frequency display.. > > > > Please be aware of the fact that before you press the Start button, > > the only frequency that you can change is the LO frequency. After > > Winrad is started, you can switch between the tune and LO > > frequencies. To change the tune frequency, you must press the Tune > > button. No matter which button is pressed (Tune/LO), you can always > > change the tune frequency by: > > > > 1. Pressing the up or down arrow keys (with or without the shift > key). > > 2. Rotating the mouse button (if you have one) when the cursor > is in > > the blue window. > > 3. Pressing ctrl-T and entering a frequency. > > 4. Dragging the blue window back and forth in the frequency > spectrum. > > > > In fact, the last option doesn't seem to call TuneChanged since the > > message box doesn't appear. > > > > > > > > >
