26Re: [SpectrumLab] Not too proud...
- Sep 1, 2010Hello Michael,
Nice to meet you here.. and don't worry about not discovering a method
for the 10-minute sync'd QRSS screen... the important function is simply
not mentioned in the manual. I had to dig it out in the sourcecode myself.
You wrote (at the old Spectrum Lab forum) :
> I'm trying to setup a special mode for QRSS reception based on the predefined QRSS3 mode. This special mode needs to have the following parameters...I would start with the sample application
> Waterfall width = 10 minutes non-scrolling.
> Screen must begin on an integer 10 minute interval.
> Must capture the screen to a file and begin a new screen at integer 10 minute intervals... i.e. using the retriggerable timer function.
> The purpose is to enable detection of extremely weak periodic signals that begin on and repeat at integer 10 minute intervals.
> Seems like it should be a fairly straightforward use of Speccie's macro language but my addled oldster brain is having a hard time wrapping itself around the problem.
> Hope someone can help with this.
> 'Bear' NH7SR
"configurations\TrigSpectTest1.usr" which hopefully is still in the
installation archive (if not please let me know).
In that configuration, the spectrogram runs in 'radar sweep'
(non-scrolling mode), and it's controlled by the universal trigger
function (one sweep is initiated by a trigger event). The trigger itself
is signal level controlled. Change this, by disconnecting the input to
the trigger in the circuit window, and/or by setting the trigger level
to an unreasonably large value (so the trigger never fires from the
Then, the "Conditional Actions" can be used to fire a trigger event once
every 10 minutes (see notes further below). The trick is, and this is
MISSING in the help system, the following command:
When executing this command, a trigger event is fired as if the trigger
function has detected it. In the configuration mentioned above, the
spectrogram screen waits for a trigger (after a full screen sweep has
finished), so trigger.now re-triggers it (to begin a new sweep).
How to trigger every ten minutes ? Here is a simple example for the
"Conditional Events" (you can copy and save it as "TenMinuteTrigger.txt"
and load it into the conditional action table):
; Exported "Conditional Actions" for Spectrum Lab
if( always ) then TenMinToggler = (int(now/600))&1
if( initialising ) then OldToggler=TenMinToggler
if( TenMinToggler<>OldToggler ) then trigger.now
if( TenMinToggler<>OldToggler ) then capture
if( TenMinToggler<>OldToggler ) then OldToggler=TenMinToggler
The expression "(int(now/600))&1" produces a flag which toggles between
0 and 1 every ten minutes ("now" is the current PC time in Unix format,
actually a count of seconds since January 1st, 1970;
and the "&" operator is a BITwise AND combination... the result can only
be zero or one. BIT of a brain teaser, too.. ).
Whenever the value of this "toggler" changes, a trigger event is fired,
which can be used to start a new sweep in the spectrogram. The same way
(with one additional line in the 'conditional actions', you can let the
program save a screenshot of the waterfall display). The command is
simply "capture", explained somewhere in the SL manual:
Hope this helps - at least a bit !
73 / 72,
Wolfgang "Wolf" DL4YHF .