# Schedule ## ``` ### The WSPR_SCHEDULE[] array (table) defines a schedule of configurations which will applied by WD's watchdog daemon when it runs every odd two minutes ### The first field of each entry is the start time for the configuration defined in the following fields ### Start time is in the format HH:MM (e.g 13:15) and by default is in the time zone of the host server '01:30' ### Start times can also be specified by 'sunrise' or 'sunset' followed optionally by "+HH:MM" or "-HH:MM" e.g. "sunrise+01:00" ### Schedules are referenced to the time zone of the host server. So if your server is set to 'America/New_York', then the entry times are for EST/EDT ### If the time of the first entry is not 00:00, then the latest entry (which may not necessarily be the last ) will be applied at time 00:00 ### Following the time are one or more fields of the format 'RECEIVER,BAND[,MODE_1[:MODE_2[:...]]' ### The value of RECEIVER must match one of the receivers defined in RECEIVER_LIST[] ### The value of BAND must match one of: ### WSPR bands: 2200 630 160 80 80eu 60 60eu 40 30 22 20 17 15 12 10 6 4 2 1 0 ### Noise only bands: WWVB WWV_2_5 WWV_5 WWV_10 WWV_15 WWV_20 WWV_25 CHU_3 CHU_7 CHU_14 ### The optional 'MODE' arguments specify one or more packet decode modes: ### I1 => Record and archive a series of one minute long IQ files from a KA9Q stream. KA9Q/radiod must be configured to output those streams ### The IQ wav file are losslessly compressed by 'flac' and stored in tar files which are by default located in ~/wsprdemon/wav-archive.d/... ### WO => for the 'Noise only' bands, which runs the 'wsprd' decoder in its fastest to run mode. This mode cannot be specified with the other modes ### W2 => legacy WSPR 2 minute mode (the default if no modes are specified) ### F2 => FST4W-120 (2 minute) ### F5 => FST4W-300 (5 minute) ### F15 => FST4W-900 (15 minue) ### F30 => FST4W-1800 (30 minute) ### For example "00:00 KIWI_0,630,W2:F2:F5 AI6VN" specifies that KIWI_0 should tune to 630M and decode WSPR-2,FST4W-120, and FST4W-300 mode packets ### Specifying additional modes will add to the CPU burden of the sysem and even more significantly to the peak usage of the /tmp/wsprdaemon tmpfd (ramdisk) file system ### In 3.0.2.4 and later, WD calculates the peak usages of the /tmp/wsprdaemon file system and warns if that file system may overflow. ### For FST4W modes spectral width estimation is enabled and is available in the wsprdaemon_spots_s table in database tutorial on wd3.wsprdaemon.org as 'metric' ### So the form of each line is "HH:MM RECEIVER,BAND[,MODE_1[:Mode2[...]]...] ". Here are some examples: declare WSPR_SCHEDULE_simple=( "00:00 KIWI_0,630 KIWI_0,160 KIWI_1,80 KIWI_2,80eu KIWI_2,60 KIWI_2,60eu KIWI_1,40 KIWI_1,30 KIWI_1,20 KIWI_1,17 KIWI_1,15 KIWI_1,12 KIWI_1,10" ) declare WSPR_SCHEDULE_complex=( "sunrise-01:00 KIWI_0,630 KIWI_0,160 KIWI_1,80 KIWI_2,80eu KIWI_2,60 KIWI_2,60eu KIWI_1,40 KIWI_1,30 KIWI_1,20 KIWI_1,17 KIWI_1,15 KIWI_1,12 " "sunrise+01:00 KIWI_0,160 KIWI_1,80 KIWI_2,80eu KIWI_2,60 KIWI_2,60eu KIWI_1,40 KIWI_1,30 KIWI_1,20 KIWI_1,17 KIWI_1,15 KIWI_1,12 KIWI_1,10" "09:00 KIWI_0,630 KIWI_0,160 KIWI_1,80 KIWI_2,80eu KIWI_2,60 KIWI_2,60eu KIWI_1,40 KIWI_1,30 KIWI_1,20 KIWI_1,17 KIWI_1,15 KIWI_1,12 " "10:00 KIWI_0,160 KIWI_1,80 KIWI_2,80eu KIWI_2,60 KIWI_2,60eu KIWI_1,40 KIWI_1,30 KIWI_1,20 KIWI_1,17 KIWI_1,15 KIWI_1,12 KIWI_1,10" "11:00 KIWI_1,80 KIWI_2,80eu KIWI_2,60 KIWI_2,60eu KIWI_1,40 KIWI_1,30 KIWI_1,20 KIWI_1,17 KIWI_1,15 KIWI_1,12 KIWI_1,10" "18:00 KIWI_0,2200 KIWI_0,630 KIWI_0,160 KIWI_1,80 KIWI_2,80eu KIWI_2,60 KIWI_2,60eu KIWI_1,40 KIWI_1,30 KIWI_1,20 KIWI_1,17 KIWI_1,15 " "sunset-01:00 KIWI_0,160 KIWI_1,80 KIWI_2,80eu KIWI_2,60 KIWI_2,60eu KIWI_1,40 KIWI_1,30 KIWI_1,20 KIWI_1,17 KIWI_1,15 KIWI_1,12 KIWI_1,10" "sunset+01:00 KIWI_0,630 KIWI_0,160 KIWI_1,80 KIWI_2,80eu KIWI_2,60 KIWI_2,60eu KIWI_1,40 KIWI_1,30 KIWI_1,20 KIWI_1,17 KIWI_1,15 KIWI_1,12 KIWI_1,10" ) ### KA9Q + and RX-888 Mk II can easily decode all the bands as long as you have enough CPU declare WSPR_SCHEDULE_ka9q=( "00:00 KA9Q_0,2200,W2:F2:F5 KA9Q_0,630,W2:F2:F5 KA9Q_0,160,W2:F2:F5 KA9Q_0,80,W2:F2:F5 KA9Q_0,80eu,W2:F2:F5 KA9Q_0,60,W2:F2:F5 KA9Q_0,60eu,W2:F2:F5 KA9Q_0,40,W2:F2:F5 KA9Q_0,30,W2:F2:F5 KA9Q_0,20,W2:F2:F5 KA9Q_0,17,W2:F2:F5 KA9Q_0,15,W2:F2:F5 KA9Q_0,12,W2:F2:F5 KA9Q_0,10,W2:F2:F5" ) declare WSPR_SCHEDULE_merged=( "00:00 MERG_K01_Q01,2200,W2:F2:F5 MERG_K01_Q01,630,W2:F2:F5 MERG_K01_Q01,160,W2:F2:F5 MERG_K01_Q01,80,W2:F2:F5 MERG_K01_Q01,80eu,W2:F2:F5 MERG_K01_Q01,60,W2:F2:F5 MERG_K01_Q01,60eu,W2:F2:F5 MERG_K01_Q01,40,W2:F2:F5 MERG_K01_Q01,30,W2:F2:F5 MERG_K01_Q01,22,W2:F2:F5 MERG_K01_Q01,20,W2:F2:F5 MERG_K01_Q01,17,W2:F2:F5 MERG_K01_Q01,15,W2:F2:F5 MERG_K01_Q01,12,W2:F2:F5 MERG_K01_Q01,10,W2:F2:F5" ) ### This is how to define IQ recording+archiving jobs. We are decoding WSPR-2 and FST4W on 20M, recording and archiving a wav file of 20M WSPR, ### And recording and archiving a a wav file of 10 MHz WWV. The series of 1 minute long wav files are losslessly compressed by 'flac' by about 50% and stored in a series of ### tar files found in ~/wsprdaemon/wav-archive.d/. A new tar file is created at each odd minute and it contains all of the wav files from the precious 2 minutes. ### 'tar -tf xxxx.tar' will list the wav files in the tar file. declare WSPR_SCHEDULE_iq=( "00:00 KIWI_0,20,W2:F2 KA9Q_0_WSPR_IQ,20,I1 KA9Q_0_WWV_IQ,WWV_10,I1" ) ### This array WSPR_SCHEDULE defines the running configuration. Here we make the simple configuration defined above the active one: #declare WSPR_SCHEDULE=( "${WSPR_SCHEDULE_merged[@]}" ) #declare WSPR_SCHEDULE=( "${WSPR_SCHEDULE_simple[@]}" ) ```