Recent Posts

Pages: 1 ... 3 4 [5] 6 7 ... 10
41
We currently have a standard key. Do we need a full license to use this, and can we upgrade?
42
I don't see the RT+ in the DB6400's list of available functions.

Please visit our website https://pira.cz/rds/ for current offer of full-featured RDS encoders. They can be attached to the DB6400 as well.
43
I’m trying to send RT+ data to my Deva DB6400.
Using User Defined 1 with TCP, I can successfully send regular RadioText to the RDS.

My current settings:

TCP client: 192.168.105.178
Port: 2233
TCP keep-alive: disabled
Options: bidirectional

However, I can’t get RT+ to work on the Deva.
I’m using FM Scope together with RDS Spy to monitor what’s going on, but RT+ simply doesn’t appear.

Has anyone successfully managed to send RT+ to a DB6400 through Magic RDS 4?
Any advice or working configuration examples would be greatly appreciated!

Thanks in advance,
44
FM Scope Script Files / FM email alert script (pira)
« Last post by Jan on October 05, 2025, 09:36:22 pm »
Characteristics

  • Watching for no signal, silence, pilot level, audio channel balance
  • Supports several devices and several stations each, in sequence
  • Most of the time, the devices are free and accessible for manual check
  • Sends email alerts, sends daily email report

Instructions for use

  • Check the User configurable parameters below
  • Fill/edit the Task List (connections and stations)
  • Check the email configuration in Options - SMTP Settings
  • Add this script file to Options - Task Scheduler
  • Keep the FM Scope running on the PC

Code: [Select]
;P75/P175/P275 FM email alert script 1.0.1 :: (C) Pira.cz 2025
;FM Scope version required: 1.7.2 or later

;Characteristics
; * Watching for no signal, silence, pilot level, audio channel balance
; * Supports several devices and several stations each, in sequence
; * Most of the time, the devices are free and accessible for manual check
; * Sends email alerts, sends daily email report

;*************************************************************
;*** Instructions for use:                                 ***
;*************************************************************

; 1) Check the User configurable parameters below
; 2) Fill/edit the Task List (connections and stations)
; 3) Check the email configuration in Options - SMTP Settings
; 4) Add this script file to Options - Task Scheduler
; 5) Keep the FM Scope running on the PC

;*************************************************************
;*** User configurable parameters:                         ***
;*************************************************************

set (DataPath,c:\alerts) ;existing folder on your harddisk to store the text logs
set (DelayMeasuring,60) ;how long to watch each station [sec], min. 20
set (DelayBetweenEmails,28800) ;minimum delay between two emails with same content [sec]
set (EmailRecipients,admin@radio.com) ;where to send the emails
set (LimitBalance,10) ;max. balance error in dB
set (LimitSilence,20) ;min. average deviation in kHz
set (LimitPilotMax,8.0) ;max. pilot level in kHz
set (LimitPilotMin,5.0) ;min. pilot level in kHz
call (Initialize)

;*************************************************************
;*** Task List (connections and stations):                 ***
;*************************************************************

;device 1
set (ConnectionParameters,192.168.0.101:10001)
call (CreateConnection)
tune (88.5) ;edit the frequencies as required
call (CheckStation)
tune (101.9)
call (CheckStation)
;... further frequencies here ...
disconnect

;device 2
set (ConnectionParameters,4,115200) ;COM4
call (CreateConnection)
tune (89.3)
call (CheckStation)
tune (93.5)
call (CheckStation)
;... further frequencies here ...
disconnect

;... further devices here ...

; - user editable section ends here -

call (SaveLog)

;*************************************************************
;*** Daily email report:                                   ***
;*************************************************************

set (CurrentDate,%date)
if (%CurrentDate$=%LastReportDate)
  goto (SkipDailyReport)
  endif
 
call (SendRegularReport)
set (LastReportDate,%CurrentDate)
SkipDailyReport:

;*************************************************************
;*** End:                                                  ***
;*************************************************************

stop

;*************************************************************
;*** Functions:                                            ***
;*************************************************************

CreateConnection:

set (ConnectionAttempts,0)

CreateConnectionLoop:

if (%ConnectionAttempts>=5)
  call (SendNoConnection)
  disconnect
  return
  endif

inc (ConnectionAttempts)
set (NewText,%crConnecting to %ConnectionParameters)
call (AddToLog)
disconnect
connect (%ConnectionParameters)
if (%connected=0)
  sleep (10)
  goto (CreateConnectionLoop)
  endif
 
;simple communication test 
tune (87.5)
send (?F)
set (w1,%freq)
tune (108.0)
send (?F)
if (%w1$=%freq)
  goto (CreateConnectionLoop)
  endif

return

;*************************************************************

CheckStation:

if (%connected=0)
  set (NewText,Frequency skipped - no connection)
  call (AddToLog)
  return
  endif

;initialization of the cycle:
set (EndTime,%timestamp)
inc (EndTime,%DelayMeasuring)
set (EndTimeMeas,%EndTime) 
inc (EndTimeMeas,-5) 
set (SignalQualityMax,0)
set (DeviationAve,0)
set (PltMin,999)
set (PltMax,0.0)
set (LMax,-60)
set (RMax,-60)

send (?F)
set (NewText,[Checking %frequency])
call (AddToLog)
setmode (0)
sleep (5)
mpx.run
textwindow.addtext ( )

CheckStationLoop:

getquality
getpilot
send (?A)
send (?C)

if (%quality>%SignalQualityMax)
  set (SignalQualityMax,%quality)
  endif

if (%pilot_>%PltMax)
  set (PltMax,%pilot_)
  endif
if (%pilot_<%PltMin)
  set (PltMin,%pilot_)
  endif

if (%devave_>%DeviationAve)
  set (DeviationAve,%devave_)
  endif

if (%lmaxdb>%LMax)
  set (LMax,%lmaxdb)
  endif
if (%rmaxdb>%RMax)
  set (RMax,%rmaxdb)
  endif
 
if (%timestamp>=%EndTimeMeas)
  setmode(1)  ;for compatibility with P75/P175
  endif 

if (%timestamp>=%EndTime)
  mpx.stop
  rds.getdata
  goto (Evaluation)
  endif

sleep (1)
textwindow.addtext (.)  ;this is a dot, not an ass
goto (CheckStationLoop)

;*************************************************************

Evaluation:

set (AlertText,)

set (w1,%PltMin to %PltMax)
if (%PltMin$=%PltMax)
  set (w1,%PltMin)
  endif
set (Summary,%rdspi %rdsps; Signal %SignalQualityMax; Pilot %w1 kHz; Dev. Ave %DeviationAve kHz; R/L balance %RMax/%LMax dB)
set (NewText,%Summary)
call (AddToLog)

if (%SignalQualityMax<3)
  set (AlertText,%AlertTextNo signal! )
  goto (EvalutionSkipValues)
  endif

if (%rdspi$=0000)
  if (%rdsps$="        ")
    set (NewText,Warning: No RDS)
    call (AddTolog)
    endif
  endif

if (%PltMax=0)
  set (NewText,Warning: No pilot)
  call (AddTolog)
  goto (EvalutionSkipStereo)
  endif
if (%PltMin>%LimitPilotMax)
  set (AlertText,%AlertTextPilot level failed! )
  endif
if (%PltMax<%LimitPilotMin)
  set (AlertText,%AlertTextPilot level failed! )
  endif

set (w1,%RMax)
inc (w1,%LimitBalance) 
if (%LMax>%w1)
  set (AlertText,%AlertTextChannel balance failed! )
  endif
set (w1,%LMax)
inc (w1,%LimitBalance) 
if (%RMax>%w1)
  set (AlertText,%AlertTextChannel balance failed! )
  endif
 
EvalutionSkipStereo: 
 
if (%DeviationAve<%LimitSilence)
  set (AlertText,%AlertTextAudio level failed! )
  endif

EvalutionSkipValues: 
 
if (%AlertText$=)
  set (NewText,No problem found)
  call (AddToLog) 
  return
  endif

set (NewText,%AlertText)
call (AddToLog)
call (SendAlert)
return
 
;*************************************************************

SendRegularReport:

set (NewText,Sending regular report to %EmailRecipients%cr)
call (AddToLog)

email.to (%EmailRecipients)
email.subject (FM Scope Daily Report)
if (%ProblemCounter=0)
  email.body (No problem found.)
  endif
if (%ProblemCounter>0)
  email.body (%ProblemCounter problem(s) found. See the files attached.)
  endif   
email.attachfile (%DataPath\recent.txt)
email.attachfile (%DataPath\daily.txt)
email.send
 
set (ProblemCounter,0)
save (ProblemCounter)
savetext (%DataPath\daily.txt,)
return
 
;*************************************************************

SendAlert:

inc (ProblemCounter)

if (%LastAlertText%freq$=%AlertText)
  set (w1,%LastAlertAt%freq)
  inc (w1,%DelayBetweenEmails)
  if (%w1>%timestamp)
    return
    endif
  endif

set (NewText,Sending alert message to %EmailRecipients)
call (AddToLog)

email.to (%EmailRecipients)
email.subject (Alert for %ConnectionParameters - %frequency)
email.body (%date %time:%cr%cr%AlertText%cr%Summary%cr%crSent from FM Scope)
email.send
set (LastAlertAt%freq,%timestamp)
set (LastAlertText%freq,%AlertText)
return
 
;*************************************************************

SendNoConnection:

set (NewText,Unable to connect!)
call (AddToLog)

inc (ProblemCounter)

set (w1,%LastNoConnectAlert)
inc (w1,%DelayBetweenEmails)
if (%w1>%timestamp)
  return
  endif

email.to (%EmailRecipients)
email.subject (Alert for %ConnectionParameters)
email.body (Unable to connect to the device%cr%crSent from FM Scope)
email.send
set (LastNoConnectAlert,%timestamp)
return

;*************************************************************

SaveLog:

set (NewText,%crEnd of task list%cr)
call (AddToLog)
savetext (%DataPath\recent.txt,%RecentLog)
appendtext (%DataPath\daily.txt,%RecentLog)
set (RecentLog,)
save (ProblemCounter)
return
 
;*************************************************************

AddToLog:

textwindow.addline (%NewText)
set (RecentLog,%RecentLog%cr%NewText)
return

;*************************************************************

Initialize:

setproperty (ExecutionSpeed,4)
page.show (6)
setproperty (OnlineUpdate,1)
set (RecentLog,)
textwindow.clear
set (NewText,Starting at %date %time)
call (AddToLog)
load (ProblemCounter,0)
mpx.stop

return


46
Looks good.

The Magic RDS 4 documentation is available under menu item Help - Magic RDS Help. The documentation is divided into several pdf files, each describing a specific module or topic.

The Dynamic PS settings are described in the RDS encoder's documentation. The "Number of repeats" and "Then clear" settings have meaning only if using the Dynamic PS as the External text source purpose. In recent years, we recommned not to use the Dynamic PS as it is obsolete and not covered by any standard. This feature will remain in our products, but we will no longer provide support for it.
47
I truly appreciate your patience with me. I know a fair amount about radio on the TX side and the audio side, but RDS is new to me. I have tried to read everything I can find. I could not find a manual specifically for Magic RDS 4, I did find one for the P164. Where can I find the Magic RDS 4 manual? My ultimate goal is to bet the best benefits i can out of RDS, I was able to fix the Dynamic PS rotation with your suggestion. Is there an infinite number that can go in there? I set it for 100 and for it not to clear for now. Deviation and RDS level  is set by the transmitter (see attached)
48
Yes, the Magic RDS 4 is not trivial. It is because the RDS itself is not trivial. On the other hand, you still have the option to start by enabling only the basic set of features and you don't have to deal with anything that seems complicated to you now. The Magic RDS 4 covers it all - from beginners to experts. It is entirely up to you how deep you go. The software currently comes with more than 100 pages of instructions, more than 50 kB of ballon help tips, email support is available, and last but not least, this forum is available to you at any time, the range of information provided on the issue of RDS is probably unmatched anywhere else on the Internet.

Instead of sharing your "frustration", focus on the information you already have. For example, in the Dynamic PS settings, if you set the Number of repeatings to 1 and selected Then clear, don't be surprised if the message disappears after being repeated once.

In order to continue, please tell me what measuring equipment you're using for setting correct RDS output level and what is your current FM deviation caused by RDS.
49
Magic RDS 4 is such a complicated program, especially when it comes with no instruction manual or customer support beyond the forum. I upgraded out the last eversion as per oyur recommendation.  Surprisingly, your suggestions and Chat GPT's paralleled each other. But it did not work. I decided to just eliminate the weather even though I could see it in the program working. I decided to go back to what was working without an issue, but now it doesn't work either. I am beyond frustrated. in the beginning on the Dynamic PS a the top, it rotated the following (all under 8 characters) WTLE.org to 95.9FM to Leesburg to Stream @ to WTLE.app It used to work great great.  Underneath it showed the field it drew from my automation program Year/Title/Artist or Title/Artist. It to worked just fine. Now the Dynamic PS stays static with the default WTLE.org. The bottom works and then it doesn't for a period of time and then it works again. This is without the vehicle moving in the stations' parking lot. I have not made any changes, except for now using Steno Tools, but I am not going through it at all for RDS. Computer to P164 unit via an IP connection. It goes to the MPX of our Aqua Cobalt TX. They have confirmed the TX settings are correct. I have attached the latest screen shots. I you need any other screen shots, please let me know!
50
In your Source 1 (CurrentSong.txt) the Expires After parameter is set to 10. That means "show the song only for 10 seconds, then disappear until the song name changes".

Suggested first aid solution: set to defaults:
Go to next after: 60
Keep in cache for: 0
Expires after: -1

For best result, consider following:
for the song, set Go to next after to 300 seconds, for the weather, set the Go to next after to 20 seconds
for the song, set the Expires after to 600 seconds (or whatever you want to prevent showing the song if the broadcast automation stops playing)
update the Magic RDS 4 to the most recent version
enable the RT+ for all the Sources; for the song, enable the item toggle ant item running control
enable the Output's transition optimizer (~15 seconds)
in the P164, enable the Dynamic group sequence and Default Radiotext

The P164 supports remote monitoring of the output data, just click on the RDS Spy button to see the effect of current settings. It usually tells you more than your car radio.
Pages: 1 ... 3 4 [5] 6 7 ... 10