Hello, you are not completly right, Tobias
If your L.O. is currently set to 7050khz and its beeing asked to set to -1Hz, it would stay there. With 25kHz steps, I just assume that the requested frequency will be rounded by mathematic laws, which means that any frequency offset between -12.500kHz and +12.499kHz will still keep the oscillator at the current frequency. So a step must be at least bigger than half of the L.O. step width to become actually processed Its easier to understand if you think about your example below not as an increment but as an absolute, probably initial setting: If that 7049999Hz value is simply sent to the L.O. without knowing that it is an increment, you would definitly go to 705000. You will never set to 7025000 then. Surely. Did you now understand what I mean? 73, Günter -----Ursprüngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Tobias G. Finger / DG3LV Gesendet: 17 March 2007 17:11 An: winrad discussion list Betreff: Re: [Winrad] Interface DLL Koellner, Guenter DL4MEA schrieb: >Hello Tobias, > >just a question, maybe I am simply missing something from the user manual: How >do you change Winrad L.O. frequency by, e.g. 25kHz. I only found the method of >tuning with the mouse wheel, while havign the mouse pointer above the digits >of the L.O. display. So one can change by 10kHz, but this will be rounded down >and so no actual change will happen. Maybe I have missed some possibility. > >73, Günter > > Hallo Günter ! Assuming you have built a DLL as described in the "Winrad_Extio .pdf". The procedure is : At WinRad init the DLL is told the LO frequency for the VFO. This is remembered by the DLL as a local variable. Assume 7050.000 kHz,(VFO has 25 kHz stepwidth). Both WinRad and the DLL know the LO at this time. At any time the user changes the LO by any amount, say minus 1 Hz. WinRad immediately is telling this to the DLL by the function SetHWLO ( parameter : new frequency= 7049999 Hz). The DLL calculates the frequency difference (between current LO -from Startup- and wanted LO) and "tries" to change the VFO to that frequency. BUT : The given frequency is not at a pre-defined step width, so the decision is to change VFO to a frequency that is AT LEAST one step away from the current LO. ( it may not just round the frequency to the step-width, but has to obey the user's wish to change frequency at some amount !!!) The next step in that direction is 7050000 - 25000 = 7025000. The DLL sets the VFO to 7025.000 and calls the WinRad callback function using (-1,101,....) to tell a status change. WinRad answeres by calling function GetHWLO of the DLL. The DLL tells 7025000 as result of the call and WinRad displays 7.025.000 for LO on the screen. (and changes the tuned frequency, too, by 25000 Hz). This is told back to the DLL by the tunedfrequency function of the DLL. That's all. Now both WinRad and the DLL have all informations about frequencies they need to know. (At the next user input for LO changing of minus 1 Hz the procedure will start again and would deliver 7000.000 kHz). The DLL has just to be a little "creative" by interpreting the user's wishes in accordance to the VFO's features. It at any time has complete information and control about the frequencies involved and their "history". 73 de dg3lv Tobias _______________________________________________ Winrad mailing list [email protected] http://winrad.org/mailman/listinfo/winrad_winrad.org _______________________________________________ Winrad mailing list [email protected] http://winrad.org/mailman/listinfo/winrad_winrad.org
