howto:raccontests
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
howto:raccontests [2020/07/04 18:50] – [7300 Recorded Voice TX] va7fi | howto:raccontests [2020/11/29 23:21] – va7fi | ||
---|---|---|---|
Line 2: | Line 2: | ||
====== RAC Contests Log ====== | ====== RAC Contests Log ====== | ||
- | This year was my first time participating in the RAC Canada Day contest on my own. It was a lot of fun and also very instructive. | + | <WRAP center round info 85%> |
+ | I just updated the spreadsheet from Cabrillo V3.0 to [[https:// | ||
+ | </ | ||
+ | |||
+ | |||
+ | Last summer | ||
- | First, everything you need to know about the RAC contests (either the Canada Day or the Winter Day) is located on the [[https:// | + | First, everything you need to know about the RAC Canada Day or Winter Day contest |
===== Logs ===== | ===== Logs ===== | ||
- | At the end of the contest, | + | During |
+ | * Frequency in kHz (for example, 14.125 MHz should | ||
+ | * Mode (CW or PH) | ||
+ | * Date and Time in UTC (for example 2020-07-01 and 0135) | ||
+ | * Callsign | ||
+ | * Signal Report (for example 59 on phone or 599 on CW) | ||
+ | * Exchange (Two letter province code for Canadian Stations, or the serial number for other stations). | ||
- | A Cabrillo file is really just plain text file formatted in a very specific way. | + | At the end of the contest, logs must be submitted to RAC. |
- | * This {{https://www.rac.ca/wp-content/uploads/ | + | |
- | * The [[https:// | + | |
- | For example, here's a copy of my Cabrillo file (with only a few entries as example): | + | A Cabrillo file is really just plain text file formatted in a very specific way. |
- | < | + | < |
< | < | ||
START-OF-LOG: | START-OF-LOG: | ||
Line 46: | Line 55: | ||
END-OF-LOG: | END-OF-LOG: | ||
</ | </ | ||
+ | The first 21 lines give RAC all the information they need about the operator. | ||
</ | </ | ||
+ | < | ||
+ | RAC does NOT want this information emailed to them in the body of the email. | ||
- | + | Regular contesters use logging programs which can generate these files while providing | |
- | The first 21 lines give RAC all the information they need about the operator. | + | |
- | + | ||
- | RAC does NOT want this emailed to them in the body of the email. | + | |
- | + | ||
- | Regular contesters use logging programs which can generate these files while providing | + | |
But since I'm not a regular contester and I didn't have time to familiarize myself with a logging program that would run under GNU/Linux, I simply used a spreadsheet to log my entries and tweaked it as the day went on to add my points and check for duplicate stations. | But since I'm not a regular contester and I didn't have time to familiarize myself with a logging program that would run under GNU/Linux, I simply used a spreadsheet to log my entries and tweaked it as the day went on to add my points and check for duplicate stations. | ||
+ | {{ : | ||
Here are a few introductory videos I made to explain how to use the spreadsheet, | Here are a few introductory videos I made to explain how to use the spreadsheet, | ||
+ | * The first video shows where to download [[https:// | ||
{{ youtube> | {{ youtube> | ||
- | <WRAP center prewrap 90%> | ||
- | The first video shows where to download [[https:// | ||
- | </ | ||
+ | * The second video shows how to use the spreadsheet during the contest, and how to export the Cabrillo file after. | ||
{{ youtube> | {{ youtube> | ||
- | <WRAP center prewrap 90%> | ||
- | The second video shows how to use it during the contest and how to export the Cabrillo file after. | ||
- | </ | ||
+ | * The third video shows a bit of the hidden formulas and the script that generates the Cabrillo file. It's like looking under the hood of the car: it's not needed to drive it, and it doesn' | ||
{{ youtube> | {{ youtube> | ||
- | <WRAP center prewrap 90%> | ||
- | The third video shows a bit of the hidden formulas and the script that generates the Cabrillo file. It's like looking under the hood of the car: it's not needed to drive it, and it doesn' | ||
- | </ | ||
- | Here is the link to {{ :howto:rac_contests.ods |download it}}. It is: | + | |
+ | |||
+ | Here is the link to {{ :howto:rac_contests_v20201129.ods |download it}}. It is: | ||
+ | <WRAP indent> | ||
<WRAP round box 80%> | <WRAP round box 80%> | ||
- | Licensed under a Creative Commons [[https:// | + | Licensed under Creative Commons [[https:// |
- | * Run the scripts | + | * Run it for any purpose. |
- | * Study and modify | + | * Study and modify |
- | * Copy the scripts | + | * Copy it to help others. |
- | * Improve | + | * Improve |
Provided that you: | Provided that you: | ||
- | * Attribute the work to me by linking to <https://ptruchon.pagekite.me> | + | * Attribute the work to me by linking to [[https://scarcs.ca/ |
* Distribute any derivative work under the same license. | * Distribute any derivative work under the same license. | ||
- | </ | + | </ |
Here's a copy of the code that generates the Cabrillo file: | Here's a copy of the code that generates the Cabrillo file: | ||
- | < | + | |
+ | < | ||
<code VBScript> | <code VBScript> | ||
REM ***** BASIC ***** | REM ***** BASIC ***** | ||
sub cabrillo | sub cabrillo | ||
+ | |||
'Get directory path from spreadsheet location. This will be used to create | 'Get directory path from spreadsheet location. This will be used to create | ||
Dim path as String | Dim path as String | ||
Line 101: | Line 108: | ||
dim Doc as object | dim Doc as object | ||
Doc = ThisComponent | Doc = ThisComponent | ||
- | | + | |
- | | + | |
- | + | 'General | |
- | ' | + | |
' | ' | ||
- | | + | |
+ | if MyCallsign = "" | ||
+ | MyCallsign = " | ||
+ | endif | ||
| | ||
Line 116: | Line 125: | ||
'Read " | 'Read " | ||
- | for i = 0 to 18 ' read first 19 rows as is. | + | for i = 0 to 1 ' read first 2 rows as is. |
- | print #num, Sheet2.getCellByPosition(0, | + | print #num, Sheet1.getCellByPosition(0, |
next | next | ||
- | ' Row 20 needs " | + | |
- | print #num, Sheet2.getCellByPosition(0, | + | |
+ | print #num, Sheet1.getCellByPosition(0, | ||
+ | |||
+ | for i = 3 to 19 ' | ||
+ | print #num, Sheet1.getCellByPosition(0, | ||
+ | | ||
+ | |||
+ | ' | ||
+ | print #num, Sheet1.getCellByPosition(0, | ||
- | | + | |
if Len(Soapbox) > 70 then | if Len(Soapbox) > 70 then | ||
truncated = " | truncated = " | ||
Line 129: | Line 146: | ||
endif | endif | ||
- | print #num, Sheet2.getCellByPosition(0, | + | print #num, Sheet1.getCellByPosition(0, |
' | ' | ||
Line 146: | Line 163: | ||
| | ||
- | | + | |
| | ||
- | | + | |
'read " | 'read " | ||
Line 155: | Line 172: | ||
UTC = " | UTC = " | ||
while UTC <> "" | while UTC <> "" | ||
- | Freq = Sheet1.getCellByPosition(0, | + | Freq = Sheet2.getCellByPosition(0, |
Freq = Format(Freq, | Freq = Format(Freq, | ||
Freq = space(6 - Len(Freq)) & Freq ' | Freq = space(6 - Len(Freq)) & Freq ' | ||
- | UTC = Sheet1.getCellByPosition(1, | + | UTC = Sheet2.getCellByPosition(1, |
- | Callsign = Sheet1.getCellByPosition(2, | + | Callsign = Sheet2.getCellByPosition(2, |
Callsign = Callsign & space(13 - Len(Callsign)) | Callsign = Callsign & space(13 - Len(Callsign)) | ||
- | RST = Sheet1.getCellByPosition(3, | + | RST = Sheet2.getCellByPosition(3, |
RST = space(3 - Len(RST)) & RST 'pad RST to 3 digits | RST = space(3 - Len(RST)) & RST 'pad RST to 3 digits | ||
- | Exch = Sheet1.getCellByPosition(4, | + | Exch = Sheet2.getCellByPosition(4, |
- | RSTGiven = Sheet1.getCellByPosition(5, | + | RSTGiven = Sheet2.getCellByPosition(5, |
RSTGiven = space(3 - Len(RSTGiven)) & RSTGiven | RSTGiven = space(3 - Len(RSTGiven)) & RSTGiven | ||
- | Mode = Sheet1.getCellByPosition(6, | + | Mode = Sheet2.getCellByPosition(6, |
' | ' | ||
Line 191: | Line 208: | ||
logline = logline & Exch | logline = logline & Exch | ||
- | print #num, logline | + | print #num, Ucase(logline) 'print logline to text file |
i = i + 1 ' | i = i + 1 ' | ||
- | UTC = Sheet1.getCellByPosition(1, | + | UTC = Sheet2.getCellByPosition(1, |
' | ' | ||
Line 212: | Line 229: | ||
sub License | sub License | ||
- | ' This spreadsheet and its script by Patrick Truchon <https:// | + | ' This spreadsheet and its script by Patrick Truchon <va7fi@rbox.me> is licensed under a |
- | ' | + | ' |
- | ' | + | ' |
' | ' | ||
' You are free to: | ' You are free to: | ||
Line 224: | Line 241: | ||
' | ' | ||
' Provided that you: | ' Provided that you: | ||
- | ' | + | ' |
- | ' | + | |
' | ' | ||
Line 231: | Line 247: | ||
</ | </ | ||
</ | </ | ||
+ | < | ||
===== 7300 Recorded Voice TX ===== | ===== 7300 Recorded Voice TX ===== | ||
- | The other thing I learned during the contest is how to record a short message on my IC-7300 and play it back on the air so I could save my voice a bit. The details are on [[https:// | + | The other thing I learned during the contest is how to record a short message on my IC-7300 and play it back on the air so I could save my voice a bit. The details are on [[https:// |
+ | |||
+ | {{pdfjs 100%, | ||
+ | |||
+ | I ended up recording three messages: | ||
- "CQ Canada Day Contest, this is VA7FI" (in phonetics) | - "CQ Canada Day Contest, this is VA7FI" (in phonetics) | ||
- " | - " | ||
- "Thank you, you are 59, BC" | - "Thank you, you are 59, BC" | ||
- | To call CQ, I used the first message on a 7 second repeat loop. If someone answered, I could either press the button again to prevent it from transmitting | + | To call CQ, I used the first message on a 7 second repeat loop. If someone answered, I could either press the button again to stop the loop, or use the PTT to jump in and acknowledge the station. |
+ | |||
+ | I used the second message to answer CQ calls during pile ups. All I'd have to do is press the button and hope I'd get an answer. This was great in the early morning when Justine was still in sleeping. With my headphones on, the whole thing was virtually silent. | ||
+ | |||
+ | I used the third message to give my exchange once I received the other station' | ||
- | The second message | + | I still had to use the mic a bit depending on the situation, but these pre-recorded messages took care of a lot of the grunt work. |
- | The third message was to give my exchange once I received | + | ===== Last Thoughts ===== |
+ | I didn't expect | ||
- | I still had to use the mic a bit depending on the situation, but these pre-recorded messages took care of most of a lot of the grunt work. |