not1mm 25.1.1__tar.gz → 25.1.15__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. {not1mm-25.1.1 → not1mm-25.1.15}/PKG-INFO +4 -2
  2. {not1mm-25.1.1 → not1mm-25.1.15}/README.md +2 -0
  3. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/plugin_common.py +1 -1
  4. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/version.py +1 -1
  5. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/arrl_rtty_ru.py +155 -30
  6. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/winter_field_day.py +2 -0
  7. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm.egg-info/PKG-INFO +4 -2
  8. {not1mm-25.1.1 → not1mm-25.1.15}/pyproject.toml +1 -1
  9. {not1mm-25.1.1 → not1mm-25.1.15}/LICENSE +0 -0
  10. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/__init__.py +0 -0
  11. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/__main__.py +0 -0
  12. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/bandmap.py +0 -0
  13. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/checkwindow.py +0 -0
  14. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
  15. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/MASTER.SCP +0 -0
  16. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/about.ui +0 -0
  17. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  18. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/bandmap.ui +0 -0
  19. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/check.png +0 -0
  20. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/checkwindow.ui +0 -0
  21. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/configuration.ui +0 -0
  22. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/contests.sql +0 -0
  23. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/cty.json +0 -0
  24. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/cwmacros.txt +0 -0
  25. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/donors.html +0 -0
  26. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/editcontact.ui +0 -0
  27. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/editmacro.ui +0 -0
  28. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/greendot.png +0 -0
  29. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/k6gte-not1mm.desktop +0 -0
  30. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/k6gte.not1mm-128.png +0 -0
  31. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/k6gte.not1mm-32.png +0 -0
  32. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/k6gte.not1mm-64.png +0 -0
  33. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/logwindow.ui +0 -0
  34. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/logwindowx.ui +0 -0
  35. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/main.ui +0 -0
  36. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/new_contest.ui +0 -0
  37. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/not1mm.html +0 -0
  38. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/opon.ui +0 -0
  39. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/0.wav +0 -0
  40. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/1.wav +0 -0
  41. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/2.wav +0 -0
  42. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/3.wav +0 -0
  43. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/4.wav +0 -0
  44. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/5.wav +0 -0
  45. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/6.wav +0 -0
  46. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/7.wav +0 -0
  47. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/73.wav +0 -0
  48. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/8.wav +0 -0
  49. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/9.wav +0 -0
  50. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/a.wav +0 -0
  51. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/again.wav +0 -0
  52. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/b.wav +0 -0
  53. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/c.wav +0 -0
  54. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/contest.wav +0 -0
  55. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/cq.wav +0 -0
  56. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/cq2.wav +0 -0
  57. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/d.wav +0 -0
  58. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/e.wav +0 -0
  59. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/f.wav +0 -0
  60. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/g.wav +0 -0
  61. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/h.wav +0 -0
  62. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/i.wav +0 -0
  63. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/j.wav +0 -0
  64. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/k.wav +0 -0
  65. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/k6gte.wav +0 -0
  66. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/l.wav +0 -0
  67. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/m.wav +0 -0
  68. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/mynumber.wav +0 -0
  69. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/n.wav +0 -0
  70. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/nil.wav +0 -0
  71. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/o.wav +0 -0
  72. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/p.wav +0 -0
  73. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/q.wav +0 -0
  74. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/r.wav +0 -0
  75. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/roger.wav +0 -0
  76. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/s.wav +0 -0
  77. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/space.wav +0 -0
  78. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/t.wav +0 -0
  79. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/thankyou.wav +0 -0
  80. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  81. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/u.wav +0 -0
  82. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/v.wav +0 -0
  83. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/w.wav +0 -0
  84. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/x.wav +0 -0
  85. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/y.wav +0 -0
  86. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/yourcall.wav +0 -0
  87. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/phonetics/z.wav +0 -0
  88. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/pickcontest.ui +0 -0
  89. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/radio_green.png +0 -0
  90. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/radio_grey.png +0 -0
  91. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/radio_red.png +0 -0
  92. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/reddot.png +0 -0
  93. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/rttymacros.txt +0 -0
  94. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/settings.ui +0 -0
  95. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/splash.png +0 -0
  96. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/ssbmacros.txt +0 -0
  97. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/data/vfo.ui +0 -0
  98. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/fsutils.py +0 -0
  99. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/__init__.py +0 -0
  100. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/about.py +0 -0
  101. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/cat_interface.py +0 -0
  102. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/cwinterface.py +0 -0
  103. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/database.py +0 -0
  104. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/edit_contact.py +0 -0
  105. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/edit_macro.py +0 -0
  106. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/edit_opon.py +0 -0
  107. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/edit_station.py +0 -0
  108. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/fldigi_sendstring.py +0 -0
  109. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/ft8_watcher.py +0 -0
  110. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/ham_utility.py +0 -0
  111. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/lookup.py +0 -0
  112. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/multicast.py +0 -0
  113. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/n1mm.py +0 -0
  114. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/new_contest.py +0 -0
  115. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/select_contest.py +0 -0
  116. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/settings.py +0 -0
  117. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/super_check_partial.py +0 -0
  118. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lib/versiontest.py +0 -0
  119. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/logwindow.py +0 -0
  120. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/lookupservice.py +0 -0
  121. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/10_10_fall_cw.py +0 -0
  122. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/10_10_spring_cw.py +0 -0
  123. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/10_10_summer_phone.py +0 -0
  124. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/10_10_winter_phone.py +0 -0
  125. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/__init__.py +0 -0
  126. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/arrl_10m.py +0 -0
  127. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/arrl_160m.py +0 -0
  128. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/arrl_dx_cw.py +0 -0
  129. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/arrl_dx_ssb.py +0 -0
  130. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/arrl_field_day.py +0 -0
  131. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/arrl_ss_cw.py +0 -0
  132. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/arrl_ss_phone.py +0 -0
  133. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/arrl_vhf_jan.py +0 -0
  134. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/arrl_vhf_jun.py +0 -0
  135. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/arrl_vhf_sep.py +0 -0
  136. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/canada_day.py +0 -0
  137. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/cq_160_cw.py +0 -0
  138. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/cq_160_ssb.py +0 -0
  139. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/cq_wpx_cw.py +0 -0
  140. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/cq_wpx_rtty.py +0 -0
  141. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/cq_wpx_ssb.py +0 -0
  142. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/cq_ww_cw.py +0 -0
  143. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/cq_ww_rtty.py +0 -0
  144. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/cq_ww_ssb.py +0 -0
  145. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/cwt.py +0 -0
  146. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/darc_xmas.py +0 -0
  147. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/general_logging.py +0 -0
  148. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/helvetia.py +0 -0
  149. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/iaru_fieldday_r1_cw.py +0 -0
  150. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/iaru_fieldday_r1_ssb.py +0 -0
  151. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/iaru_hf.py +0 -0
  152. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/icwc_mst.py +0 -0
  153. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/jidx_cw.py +0 -0
  154. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/jidx_ph.py +0 -0
  155. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/k1usn_sst.py +0 -0
  156. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/lz-dx.py +0 -0
  157. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/naqp_cw.py +0 -0
  158. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/naqp_rtty.py +0 -0
  159. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/naqp_ssb.py +0 -0
  160. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/phone_weekly_test.py +0 -0
  161. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/raem.py +0 -0
  162. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/ref_cw.py +0 -0
  163. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/ref_ssb.py +0 -0
  164. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/stew_perry_topband.py +0 -0
  165. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/plugins/weekly_rtty.py +0 -0
  166. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/radio.py +0 -0
  167. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/rtc_service.py +0 -0
  168. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/test.py +0 -0
  169. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/vfo.py +0 -0
  170. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm/voice_keying.py +0 -0
  171. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm.egg-info/SOURCES.txt +0 -0
  172. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm.egg-info/dependency_links.txt +0 -0
  173. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm.egg-info/entry_points.txt +0 -0
  174. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm.egg-info/requires.txt +0 -0
  175. {not1mm-25.1.1 → not1mm-25.1.15}/not1mm.egg-info/top_level.txt +0 -0
  176. {not1mm-25.1.1 → not1mm-25.1.15}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: not1mm
3
- Version: 25.1.1
3
+ Version: 25.1.15
4
4
  Summary: NOT1MM Logger
5
5
  Author-email: Michael Bridak <michael.bridak@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/mbridak/not1mm
@@ -240,6 +240,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
240
240
 
241
241
  ## Recent Changes (Polishing the Turd)
242
242
 
243
+ - [25-1-15] Fix bug in ADIF output where mode showed as CW-R and not CW.
244
+ - [25-1-6] Altered RTTY RU UDP ADIF parse.
243
245
  - [25-1-1] Added ARRL RTTY RU.
244
246
 
245
247
  See [CHANGELOG.md](CHANGELOG.md) for prior changes.
@@ -209,6 +209,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
209
209
 
210
210
  ## Recent Changes (Polishing the Turd)
211
211
 
212
+ - [25-1-15] Fix bug in ADIF output where mode showed as CW-R and not CW.
213
+ - [25-1-6] Altered RTTY RU UDP ADIF parse.
212
214
  - [25-1-1] Added ARRL RTTY RU.
213
215
 
214
216
  See [CHANGELOG.md](CHANGELOG.md) for prior changes.
@@ -89,7 +89,7 @@ def gen_adif(self, cabrillo_name: str, contest_id=""):
89
89
  hisname = contact.get("Name", "")
90
90
  the_date_and_time = contact.get("TS", "")
91
91
  themode = contact.get("Mode", "")
92
- if themode == "CWR":
92
+ if themode in ("CWR", "CW-R"):
93
93
  themode = "CW"
94
94
  if cabrillo_name in ("CQ-WW-RTTY", "WEEKLY-RTTY"):
95
95
  themode = "RTTY"
@@ -1,3 +1,3 @@
1
1
  """It's the version"""
2
2
 
3
- __version__ = "25.1.1"
3
+ __version__ = "25.1.15"
@@ -1,34 +1,32 @@
1
1
  """
2
- Mode: RTTY
3
- Bands: 80, 40, 20, 15, 10m
4
- Classes: Single Op (QRP/Low/High)
5
- Single Op Unlimited (QRP/Low/High)
6
- Single Op Overlay: (Limited Antennas)
7
- Multi-Single (Low/High)
8
- Multi-Two
9
- Multi-Multi
10
- Max operating hours: 24 hours
11
- Max power: HP: 1500 watts
12
- LP: 100 watts
13
- Exchange: W/VE: RST + (state/province)
14
- non-W/VE: RST + Serial No.
15
- Work stations: Once per band
16
- QSO Points: 1 point per QSO
17
- Multipliers: Each US state+DC (except KH6/KL7) once only
18
- Each VE province/territory once only
19
- Each DXCC country (including KH6/KL7) once only
20
- Score Calculation: Total score = total QSO points x total mults
21
- Submit logs by: 2359Z January 12, 2025
22
- E-mail logs to: (none)
23
- Upload log at: https://contest-log-submission.arrl.org/
24
- Mail logs to: RTTY Roundup
25
- ARRL
26
- 225 Main St.
27
- Newington, CT 06111
28
- USA
29
- Find rules at: https://www.arrl.org/rtty-roundup
30
-
31
-
2
+ Mode: RTTY
3
+ Bands: 80, 40, 20, 15, 10m
4
+ Classes: Single Op (QRP/Low/High)
5
+ Single Op Unlimited (QRP/Low/High)
6
+ Single Op Overlay: (Limited Antennas)
7
+ Multi-Single (Low/High)
8
+ Multi-Two
9
+ Multi-Multi
10
+ Max operating hours: 24 hours
11
+ Max power: HP: 1500 watts
12
+ LP: 100 watts
13
+ Exchange: W/VE: RST + (state/province)
14
+ non-W/VE: RST + Serial No.
15
+ Work stations: Once per band
16
+ QSO Points: 1 point per QSO
17
+ Multipliers: Each US state+DC (except KH6/KL7) once only
18
+ Each VE province/territory once only
19
+ Each DXCC country (including KH6/KL7) once only
20
+ Score Calculation: Total score = total QSO points x total mults
21
+ Submit logs by: 2359Z January 12, 2025
22
+ E-mail logs to: (none)
23
+ Upload log at: https://contest-log-submission.arrl.org/
24
+ Mail logs to: RTTY Roundup
25
+ ARRL
26
+ 225 Main St.
27
+ Newington, CT 06111
28
+ USA
29
+ Find rules at: https://www.arrl.org/rtty-roundup
32
30
  """
33
31
 
34
32
  # pylint: disable=invalid-name, unused-argument, unused-variable, c-extension-no-member
@@ -39,6 +37,7 @@ import logging
39
37
  from pathlib import Path
40
38
  from PyQt6 import QtWidgets
41
39
 
40
+ from not1mm.lib.ham_utility import get_logged_band
42
41
  from not1mm.lib.plugin_common import gen_adif, get_points, online_score_xml
43
42
  from not1mm.lib.version import __version__
44
43
 
@@ -541,3 +540,129 @@ def get_mults(self):
541
540
  def just_points(self):
542
541
  """"""
543
542
  return get_points(self)
543
+
544
+
545
+ def set_self(the_outie):
546
+ """..."""
547
+ globals()["ALTEREGO"] = the_outie
548
+
549
+
550
+ def ft8_handler(the_packet: dict):
551
+ print(f"{the_packet=}")
552
+ """Process FT8 QSO packets
553
+ FT8
554
+ {
555
+ 'CALL': 'KE0OG',
556
+ 'GRIDSQUARE': 'DM10AT',
557
+ 'MODE': 'FT8',
558
+ 'RST_SENT': '',
559
+ 'RST_RCVD': '',
560
+ 'QSO_DATE': '20210329',
561
+ 'TIME_ON': '183213',
562
+ 'QSO_DATE_OFF': '20210329',
563
+ 'TIME_OFF': '183213',
564
+ 'BAND': '20M',
565
+ 'FREQ': '14.074754',
566
+ 'STATION_CALLSIGN': 'K6GTE',
567
+ 'MY_GRIDSQUARE': 'DM13AT',
568
+ 'CONTEST_ID': 'ARRL-FIELD-DAY',
569
+ 'SRX_STRING': '1D UT',
570
+ 'CLASS': '1D',
571
+ 'ARRL_SECT': 'UT'
572
+ }
573
+ FlDigi
574
+ {
575
+ 'CALL': 'K5TUS',
576
+ 'MODE': 'RTTY',
577
+ 'FREQ': '14.068415',
578
+ 'BAND': '20M',
579
+ 'QSO_DATE': '20250103',
580
+ 'TIME_ON': '2359',
581
+ 'QSO_DATE_OFF': '20250103',
582
+ 'TIME_OFF': '2359',
583
+ 'NAME': '',
584
+ 'QTH': '',
585
+ 'STATE': 'ORG',
586
+ 'VE_PROV': '',
587
+ 'COUNTRY': 'USA',
588
+ 'RST_SENT': '599',
589
+ 'RST_RCVD': '599',
590
+ 'TX_PWR': '0',
591
+ 'CNTY': '',
592
+ 'DXCC': '',
593
+ 'CQZ': '5',
594
+ 'IOTA': '',
595
+ 'CONT': '',
596
+ 'ITUZ': '',
597
+ 'GRIDSQUARE': '',
598
+ 'QSLRDATE': '',
599
+ 'QSLSDATE': '',
600
+ 'EQSLRDATE': '',
601
+ 'EQSLSDATE': '',
602
+ 'LOTWRDATE': '',
603
+ 'LOTWSDATE': '',
604
+ 'QSL_VIA': '',
605
+ 'NOTES': '',
606
+ 'SRX': '',
607
+ 'STX': '000',
608
+ 'SRX_STRING': '',
609
+ 'STX_STRING': 'CA',
610
+
611
+
612
+ 'SRX': '666',
613
+ 'STX': '000',
614
+ 'SRX_STRING': '',
615
+ 'STX_STRING': 'CA',
616
+
617
+ 'SRX': '004', 'STX': '000', 'SRX_STRING': '', 'STX_STRING': '#',
618
+
619
+ 'CLASS': '',
620
+ 'ARRL_SECT': '',
621
+ 'OPERATOR': 'K6GTE',
622
+ 'STATION_CALLSIGN': 'K6GTE',
623
+ 'MY_GRIDSQUARE': 'DM13AT',
624
+ 'MY_CITY': 'ANAHEIM, CA',
625
+ 'CHECK': '',
626
+ 'AGE': '',
627
+ 'TEN_TEN': '',
628
+ 'CWSS_PREC': '',
629
+ 'CWSS_SECTION': '',
630
+ 'CWSS_SERNO': '',
631
+ 'CWSS_CHK': ''
632
+ }
633
+
634
+ """
635
+ logger.debug(f"{the_packet=}")
636
+ if ALTEREGO is not None:
637
+ ALTEREGO.callsign.setText(the_packet.get("CALL"))
638
+ ALTEREGO.contact["Call"] = the_packet.get("CALL", "")
639
+ ALTEREGO.contact["SNT"] = the_packet.get("RST_SENT", "599")
640
+ ALTEREGO.contact["RCV"] = the_packet.get("RST_RCVD", "599")
641
+
642
+ sent_string = the_packet.get("STX_STRING", "")
643
+ if sent_string != "":
644
+ ALTEREGO.contact["SentNr"] = sent_string
645
+ ALTEREGO.other_1.setText(str(sent_string))
646
+ else:
647
+ ALTEREGO.contact["SentNr"] = the_packet.get("STX", "000")
648
+ ALTEREGO.other_1.setText(str(the_packet.get("STX", "000")))
649
+
650
+ rx_string = the_packet.get("STATE", "")
651
+ if rx_string != "":
652
+ ALTEREGO.contact["NR"] = rx_string
653
+ ALTEREGO.other_2.setText(str(rx_string))
654
+ else:
655
+ ALTEREGO.contact["NR"] = the_packet.get("SRX", "000")
656
+ ALTEREGO.other_2.setText(str(the_packet.get("SRX", "000")))
657
+
658
+ ALTEREGO.contact["Mode"] = the_packet.get("MODE", "ERR")
659
+ ALTEREGO.contact["Freq"] = round(float(the_packet.get("FREQ", "0.0")) * 1000, 2)
660
+ ALTEREGO.contact["QSXFreq"] = round(
661
+ float(the_packet.get("FREQ", "0.0")) * 1000, 2
662
+ )
663
+ ALTEREGO.contact["Band"] = get_logged_band(
664
+ str(int(float(the_packet.get("FREQ", "0.0")) * 1000000))
665
+ )
666
+ logger.debug(f"{ALTEREGO.contact=}")
667
+
668
+ ALTEREGO.save_contact()
@@ -330,6 +330,8 @@ def cabrillo(self, file_encoding):
330
330
  themode = contact.get("Mode", "")
331
331
  if themode == "LSB" or themode == "USB":
332
332
  themode = "PH"
333
+ if themode == "RTTY":
334
+ themode = "DG"
333
335
  frequency = str(int(contact.get("Freq", "0"))).rjust(5)
334
336
 
335
337
  loggeddate = the_date_and_time[:10]
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: not1mm
3
- Version: 25.1.1
3
+ Version: 25.1.15
4
4
  Summary: NOT1MM Logger
5
5
  Author-email: Michael Bridak <michael.bridak@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/mbridak/not1mm
@@ -240,6 +240,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
240
240
 
241
241
  ## Recent Changes (Polishing the Turd)
242
242
 
243
+ - [25-1-15] Fix bug in ADIF output where mode showed as CW-R and not CW.
244
+ - [25-1-6] Altered RTTY RU UDP ADIF parse.
243
245
  - [25-1-1] Added ARRL RTTY RU.
244
246
 
245
247
  See [CHANGELOG.md](CHANGELOG.md) for prior changes.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "not1mm"
7
- version = "25.1.1"
7
+ version = "25.1.15"
8
8
  description = "NOT1MM Logger"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes