I have taken the baseline beacons that I have created for QRSS, WSPR and Opera and put them together into a single beacon.
WSPR is on a 10 minute cycle (TX Percent = 20%). QRSS follows and just sends my call sign. Opera then follows and the remainder of the 10 minute cycle is idle. WSPR goes first because it has the even minute starting time requirement.
I have created each of the beacons as separate objects that the main beacon code can instantiate and call. The main beacon code looks like this:
CON
_CLKMODE = XTAL1 + PLL16X
_XINFREQ = 5_000_000
WMin = 381 'WAITCNT-expression-overhead Minimum
OBJ
WSPR : "ko7mBeaconWSPR"
QRSS : "ko7mBeaconQRSS"
Opera : "ko7mBeaconOpera"
Clock : "ko7mClock"
Freq : "Synth"
VAR
LONG Sync
PUB Main
doInitialize
repeat
WSPR.doBeacon ' 2 minutes (110.6 seconds) for WSPR
delay(10000) ' Delay 10 seconds before doing QRSS
QRSS.doBeacon ' QRSS is about 3 minutes
delay(10000) ' Delay 10 seconds before doing Opera
Opera.doBeacon ' Opera is about 3 minutes
repeat while Clock.getSeconds // Sync
delay(100)
PUB doInitialize
Sync := 10 * 60 ' Beacons cycle every 10 minutes
Clock.Start
PUB delay(Duration)
waitcnt(((clkfreq / 1_000 * Duration - 3932) #> WMin) + cnt)
The beacon is up and running as of now. I would love to have any reports if anyone is able to spot any of my three beacons.
No comments:
Post a Comment