not1mm 24.10.23__tar.gz → 24.10.24.1__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 (175) hide show
  1. {not1mm-24.10.23 → not1mm-24.10.24.1}/PKG-INFO +5 -3
  2. {not1mm-24.10.23 → not1mm-24.10.24.1}/README.md +4 -2
  3. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/__main__.py +4 -0
  4. not1mm-24.10.24.1/not1mm/data/phonetics/cq2.wav +0 -0
  5. not1mm-24.10.24.1/not1mm/lib/version.py +3 -0
  6. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/10_10_fall_cw.py +1 -1
  7. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/10_10_spring_cw.py +1 -1
  8. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/10_10_summer_phone.py +1 -1
  9. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/10_10_winter_phone.py +1 -1
  10. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/arrl_10m.py +1 -1
  11. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/arrl_dx_cw.py +1 -1
  12. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/arrl_dx_ssb.py +1 -1
  13. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/arrl_field_day.py +1 -1
  14. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/arrl_ss_cw.py +1 -1
  15. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/arrl_ss_phone.py +1 -1
  16. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/arrl_vhf_jan.py +1 -1
  17. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/arrl_vhf_jun.py +1 -1
  18. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/arrl_vhf_sep.py +1 -1
  19. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/canada_day.py +1 -1
  20. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/cq_160_cw.py +1 -1
  21. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/cq_160_ssb.py +1 -1
  22. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/cq_wpx_cw.py +1 -1
  23. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/cq_wpx_rtty.py +1 -1
  24. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/cq_wpx_ssb.py +1 -1
  25. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/cq_ww_cw.py +10 -1
  26. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/cq_ww_rtty.py +1 -1
  27. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/cq_ww_ssb.py +1 -1
  28. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/cwt.py +1 -1
  29. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/helvetia.py +1 -1
  30. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/iaru_fieldday_r1_cw.py +1 -1
  31. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/iaru_fieldday_r1_ssb.py +1 -1
  32. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/iaru_hf.py +1 -1
  33. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/icwc_mst.py +1 -1
  34. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/jidx_cw.py +1 -1
  35. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/jidx_ph.py +1 -1
  36. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/k1usn_sst.py +1 -1
  37. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/naqp_cw.py +1 -1
  38. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/naqp_rtty.py +1 -1
  39. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/naqp_ssb.py +1 -1
  40. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/phone_weekly_test.py +1 -1
  41. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/ref_cw.py +1 -1
  42. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/ref_ssb.py +1 -1
  43. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/stew_perry_topband.py +1 -1
  44. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/weekly_rtty.py +1 -1
  45. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/winter_field_day.py +1 -1
  46. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/vfo.py +16 -46
  47. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm.egg-info/PKG-INFO +5 -3
  48. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm.egg-info/SOURCES.txt +1 -0
  49. {not1mm-24.10.23 → not1mm-24.10.24.1}/pyproject.toml +1 -1
  50. not1mm-24.10.23/not1mm/lib/version.py +0 -3
  51. {not1mm-24.10.23 → not1mm-24.10.24.1}/LICENSE +0 -0
  52. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/__init__.py +0 -0
  53. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/bandmap.py +0 -0
  54. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/checkwindow.py +0 -0
  55. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
  56. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/MASTER.SCP +0 -0
  57. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/about.ui +0 -0
  58. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  59. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/bandmap.ui +0 -0
  60. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/check.png +0 -0
  61. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/checkwindow.ui +0 -0
  62. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/configuration.ui +0 -0
  63. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/contests.sql +0 -0
  64. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/cty.json +0 -0
  65. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/cwmacros.txt +0 -0
  66. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/donors.html +0 -0
  67. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/editcontact.ui +0 -0
  68. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/editmacro.ui +0 -0
  69. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/greendot.png +0 -0
  70. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/k6gte-not1mm.desktop +0 -0
  71. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/k6gte.not1mm-128.png +0 -0
  72. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/k6gte.not1mm-32.png +0 -0
  73. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/k6gte.not1mm-64.png +0 -0
  74. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/logwindow.ui +0 -0
  75. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/logwindowx.ui +0 -0
  76. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/main.ui +0 -0
  77. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/new_contest.ui +0 -0
  78. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/not1mm.html +0 -0
  79. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/opon.ui +0 -0
  80. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/0.wav +0 -0
  81. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/1.wav +0 -0
  82. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/2.wav +0 -0
  83. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/3.wav +0 -0
  84. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/4.wav +0 -0
  85. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/5.wav +0 -0
  86. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/6.wav +0 -0
  87. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/7.wav +0 -0
  88. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/73.wav +0 -0
  89. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/8.wav +0 -0
  90. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/9.wav +0 -0
  91. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/a.wav +0 -0
  92. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/again.wav +0 -0
  93. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/b.wav +0 -0
  94. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/c.wav +0 -0
  95. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/contest.wav +0 -0
  96. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/cq.wav +0 -0
  97. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/d.wav +0 -0
  98. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/e.wav +0 -0
  99. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/f.wav +0 -0
  100. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/g.wav +0 -0
  101. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/h.wav +0 -0
  102. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/i.wav +0 -0
  103. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/j.wav +0 -0
  104. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/k.wav +0 -0
  105. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/k6gte.wav +0 -0
  106. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/l.wav +0 -0
  107. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/m.wav +0 -0
  108. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/mynumber.wav +0 -0
  109. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/n.wav +0 -0
  110. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/nil.wav +0 -0
  111. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/o.wav +0 -0
  112. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/p.wav +0 -0
  113. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/q.wav +0 -0
  114. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/r.wav +0 -0
  115. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/roger.wav +0 -0
  116. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/s.wav +0 -0
  117. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/space.wav +0 -0
  118. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/t.wav +0 -0
  119. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/thankyou.wav +0 -0
  120. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  121. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/u.wav +0 -0
  122. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/v.wav +0 -0
  123. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/w.wav +0 -0
  124. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/x.wav +0 -0
  125. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/y.wav +0 -0
  126. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/yourcall.wav +0 -0
  127. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/phonetics/z.wav +0 -0
  128. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/pickcontest.ui +0 -0
  129. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/radio_green.png +0 -0
  130. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/radio_grey.png +0 -0
  131. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/radio_red.png +0 -0
  132. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/reddot.png +0 -0
  133. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/rttymacros.txt +0 -0
  134. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/settings.ui +0 -0
  135. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/splash.png +0 -0
  136. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/ssbmacros.txt +0 -0
  137. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/data/vfo.ui +0 -0
  138. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/fsutils.py +0 -0
  139. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/__init__.py +0 -0
  140. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/about.py +0 -0
  141. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/cat_interface.py +0 -0
  142. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/cwinterface.py +0 -0
  143. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/database.py +0 -0
  144. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/edit_contact.py +0 -0
  145. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/edit_macro.py +0 -0
  146. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/edit_opon.py +0 -0
  147. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/edit_station.py +0 -0
  148. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/fldigi_sendstring.py +0 -0
  149. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/fldigi_watcher.py +0 -0
  150. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/ft8_watcher.py +0 -0
  151. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/ham_utility.py +0 -0
  152. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/lookup.py +0 -0
  153. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/multicast.py +0 -0
  154. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/n1mm.py +0 -0
  155. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/new_contest.py +0 -0
  156. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/playsound.py +0 -0
  157. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/plugin_common.py +0 -0
  158. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/select_contest.py +0 -0
  159. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/settings.py +0 -0
  160. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/super_check_partial.py +0 -0
  161. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lib/versiontest.py +0 -0
  162. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/logwindow.py +0 -0
  163. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/lookupservice.py +0 -0
  164. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/__init__.py +0 -0
  165. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/arrl_rtty_ru.py +0 -0
  166. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/plugins/general_logging.py +0 -0
  167. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/radio.py +0 -0
  168. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/test.py +0 -0
  169. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm/voice_keying.py +0 -0
  170. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm.egg-info/dependency_links.txt +0 -0
  171. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm.egg-info/entry_points.txt +0 -0
  172. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm.egg-info/requires.txt +0 -0
  173. {not1mm-24.10.23 → not1mm-24.10.24.1}/not1mm.egg-info/top_level.txt +0 -0
  174. {not1mm-24.10.23 → not1mm-24.10.24.1}/setup.cfg +0 -0
  175. {not1mm-24.10.23 → not1mm-24.10.24.1}/test/contests.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.10.23
3
+ Version: 24.10.24.1
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
@@ -232,10 +232,12 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
232
232
 
233
233
  ## Recent Changes (Polishing the Turd)
234
234
 
235
+ - [24-10-24-1] Make all Cabrillo files with UTF-8.
236
+ - [24-10-24] Forgot to convert the VFO dockwidget along with the rest. CQ WW CW, Dupes now score 0.
235
237
  - [24-10-23] Remove duplicate marked calls in the bandmap.
236
238
  - [24-10-22] Added ESM to RAC Canada Day. Added French REF.
237
239
  - [24-10-21] Scaled back the hits returned from the check window from 25 to 20. Seems less resource hungry now.
238
- - [24-10-20-1] ReWrote how the widgets interact. I porbably broke a thing or two. Let me know.
240
+ - [24-10-20-1] ReWrote how the widgets interact. I probably broke a thing or two. Let me know.
239
241
  - [24-10-20] Add ESM to ARRL DX.
240
242
  - [24-10-19-1] Rewrite part of CAT control.
241
243
  - [24-10-19] Change ESM button states when the run state is toggled. Add ESM to ARRL Field Day and Winter Field Day.
@@ -547,7 +549,7 @@ You can fill. You can fill. Everyone look at your keys.
547
549
 
548
550
  ### Changing station information
549
551
 
550
- Station information can be changed any time by going to
552
+ Station information can be changed any time by going toawandahl
551
553
  `File` > `Station Settings` and editing the information.
552
554
 
553
555
  ## Selecting a contest (It's REQUIRED Russ)
@@ -201,10 +201,12 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
201
201
 
202
202
  ## Recent Changes (Polishing the Turd)
203
203
 
204
+ - [24-10-24-1] Make all Cabrillo files with UTF-8.
205
+ - [24-10-24] Forgot to convert the VFO dockwidget along with the rest. CQ WW CW, Dupes now score 0.
204
206
  - [24-10-23] Remove duplicate marked calls in the bandmap.
205
207
  - [24-10-22] Added ESM to RAC Canada Day. Added French REF.
206
208
  - [24-10-21] Scaled back the hits returned from the check window from 25 to 20. Seems less resource hungry now.
207
- - [24-10-20-1] ReWrote how the widgets interact. I porbably broke a thing or two. Let me know.
209
+ - [24-10-20-1] ReWrote how the widgets interact. I probably broke a thing or two. Let me know.
208
210
  - [24-10-20] Add ESM to ARRL DX.
209
211
  - [24-10-19-1] Rewrite part of CAT control.
210
212
  - [24-10-19] Change ESM button states when the run state is toggled. Add ESM to ARRL Field Day and Winter Field Day.
@@ -516,7 +518,7 @@ You can fill. You can fill. Everyone look at your keys.
516
518
 
517
519
  ### Changing station information
518
520
 
519
- Station information can be changed any time by going to
521
+ Station information can be changed any time by going toawandahl
520
522
  `File` > `Station Settings` and editing the information.
521
523
 
522
524
  ## Selecting a contest (It's REQUIRED Russ)
@@ -746,6 +746,8 @@ class MainWindow(QtWidgets.QMainWindow):
746
746
  return
747
747
  if msg.get("cmd", "") == "TUNE":
748
748
  # b'{"cmd": "TUNE", "freq": 7.0235, "spot": "MM0DGI"}'
749
+ if self.vfo_window:
750
+ self.vfo_window.msg_from_main(msg)
749
751
  vfo = msg.get("freq")
750
752
  vfo = float(vfo) * 1000000
751
753
  self.radio_state["vfoa"] = int(vfo)
@@ -880,6 +882,8 @@ class MainWindow(QtWidgets.QMainWindow):
880
882
  self.bandmap_window.msg_from_main(cmd)
881
883
  if self.check_window:
882
884
  self.check_window.msg_from_main(cmd)
885
+ if self.vfo_window:
886
+ self.vfo_window.msg_from_main(cmd)
883
887
 
884
888
  if setdarkmode:
885
889
  darkPalette = QPalette()
@@ -0,0 +1,3 @@
1
+ """It's the version"""
2
+
3
+ __version__ = "24.10.24.1"
@@ -185,7 +185,7 @@ def cabrillo(self):
185
185
  logger.debug("%s", filename)
186
186
  log = self.database.fetch_all_contacts_asc()
187
187
  try:
188
- with open(filename, "w", encoding="ascii") as file_descriptor:
188
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
189
189
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
190
190
  print(
191
191
  f"CREATED-BY: Not1MM v{__version__}",
@@ -184,7 +184,7 @@ def cabrillo(self):
184
184
  logger.debug("%s", filename)
185
185
  log = self.database.fetch_all_contacts_asc()
186
186
  try:
187
- with open(filename, "w", encoding="ascii") as file_descriptor:
187
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
188
188
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
189
189
  print(
190
190
  f"CREATED-BY: Not1MM v{__version__}",
@@ -186,7 +186,7 @@ def cabrillo(self):
186
186
  logger.debug("%s", filename)
187
187
  log = self.database.fetch_all_contacts_asc()
188
188
  try:
189
- with open(filename, "w", encoding="ascii") as file_descriptor:
189
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
190
190
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
191
191
  print(
192
192
  f"CREATED-BY: Not1MM v{__version__}",
@@ -186,7 +186,7 @@ def cabrillo(self):
186
186
  logger.debug("%s", filename)
187
187
  log = self.database.fetch_all_contacts_asc()
188
188
  try:
189
- with open(filename, "w", encoding="ascii") as file_descriptor:
189
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
190
190
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
191
191
  print(
192
192
  f"CREATED-BY: Not1MM v{__version__}",
@@ -268,7 +268,7 @@ def cabrillo(self):
268
268
  logger.debug("%s", filename)
269
269
  log = self.database.fetch_all_contacts_asc()
270
270
  try:
271
- with open(filename, "w", encoding="ascii") as file_descriptor:
271
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
272
272
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
273
273
  print(
274
274
  f"CREATED-BY: Not1MM v{__version__}",
@@ -210,7 +210,7 @@ def cabrillo(self):
210
210
  logger.debug("%s", filename)
211
211
  log = self.database.fetch_all_contacts_asc()
212
212
  try:
213
- with open(filename, "w", encoding="ascii") as file_descriptor:
213
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
214
214
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
215
215
  print(
216
216
  f"CREATED-BY: Not1MM v{__version__}",
@@ -210,7 +210,7 @@ def cabrillo(self):
210
210
  logger.debug("%s", filename)
211
211
  log = self.database.fetch_all_contacts_asc()
212
212
  try:
213
- with open(filename, "w", encoding="ascii") as file_descriptor:
213
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
214
214
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
215
215
  print(
216
216
  f"CREATED-BY: Not1MM v{__version__}",
@@ -164,7 +164,7 @@ def cabrillo(self):
164
164
  logger.debug("%s", filename)
165
165
  log = self.database.fetch_all_contacts_asc()
166
166
  try:
167
- with open(filename, "w", encoding="ascii") as file_descriptor:
167
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
168
168
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
169
169
  print(
170
170
  f"CREATED-BY: Not1MM v{__version__}",
@@ -197,7 +197,7 @@ def cabrillo(self):
197
197
  logger.debug("%s", filename)
198
198
  log = self.database.fetch_all_contacts_asc()
199
199
  try:
200
- with open(filename, "w", encoding="ascii") as file_descriptor:
200
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
201
201
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
202
202
  print(
203
203
  f"CREATED-BY: Not1MM v{__version__}",
@@ -197,7 +197,7 @@ def cabrillo(self):
197
197
  logger.debug("%s", filename)
198
198
  log = self.database.fetch_all_contacts_asc()
199
199
  try:
200
- with open(filename, "w", encoding="ascii") as file_descriptor:
200
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
201
201
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
202
202
  print(
203
203
  f"CREATED-BY: Not1MM v{__version__}",
@@ -247,7 +247,7 @@ def cabrillo(self):
247
247
  logger.debug("%s", filename)
248
248
  log = self.database.fetch_all_contacts_asc()
249
249
  try:
250
- with open(filename, "w", encoding="ascii") as file_descriptor:
250
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
251
251
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
252
252
  print(
253
253
  f"CREATED-BY: Not1MM v{__version__}",
@@ -215,7 +215,7 @@ def cabrillo(self):
215
215
  logger.debug("%s", filename)
216
216
  log = self.database.fetch_all_contacts_asc()
217
217
  try:
218
- with open(filename, "w", encoding="ascii") as file_descriptor:
218
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
219
219
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
220
220
  print(
221
221
  f"CREATED-BY: Not1MM v{__version__}",
@@ -215,7 +215,7 @@ def cabrillo(self):
215
215
  logger.debug("%s", filename)
216
216
  log = self.database.fetch_all_contacts_asc()
217
217
  try:
218
- with open(filename, "w", encoding="ascii") as file_descriptor:
218
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
219
219
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
220
220
  print(
221
221
  f"CREATED-BY: Not1MM v{__version__}",
@@ -238,7 +238,7 @@ def cabrillo(self):
238
238
  logger.debug("%s", filename)
239
239
  log = self.database.fetch_all_contacts_asc()
240
240
  try:
241
- with open(filename, "w", encoding="ascii") as file_descriptor:
241
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
242
242
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
243
243
  print(
244
244
  f"CREATED-BY: Not1MM v{__version__}",
@@ -225,7 +225,7 @@ def cabrillo(self):
225
225
  logger.debug("%s", filename)
226
226
  log = self.database.fetch_all_contacts_asc()
227
227
  try:
228
- with open(filename, "w", encoding="ascii") as file_descriptor:
228
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
229
229
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
230
230
  print(
231
231
  f"CREATED-BY: Not1MM v{__version__}",
@@ -225,7 +225,7 @@ def cabrillo(self):
225
225
  logger.debug("%s", filename)
226
226
  log = self.database.fetch_all_contacts_asc()
227
227
  try:
228
- with open(filename, "w", encoding="ascii") as file_descriptor:
228
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
229
229
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
230
230
  print(
231
231
  f"CREATED-BY: Not1MM v{__version__}",
@@ -257,7 +257,7 @@ def cabrillo(self):
257
257
  logger.debug("%s", filename)
258
258
  log = self.database.fetch_all_contacts_asc()
259
259
  try:
260
- with open(filename, "w", encoding="ascii") as file_descriptor:
260
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
261
261
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
262
262
  print(
263
263
  f"CREATED-BY: Not1MM v{__version__}",
@@ -256,7 +256,7 @@ def cabrillo(self):
256
256
  logger.debug("%s", filename)
257
257
  log = self.database.fetch_all_contacts_asc()
258
258
  try:
259
- with open(filename, "w", encoding="ascii") as file_descriptor:
259
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
260
260
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
261
261
  print(
262
262
  f"CREATED-BY: Not1MM v{__version__}",
@@ -222,7 +222,7 @@ def cabrillo(self):
222
222
  logger.debug("%s", filename)
223
223
  log = self.database.fetch_all_contacts_asc()
224
224
  try:
225
- with open(filename, "w", encoding="ascii") as file_descriptor:
225
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
226
226
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
227
227
  print(
228
228
  f"CREATED-BY: Not1MM v{__version__}",
@@ -45,6 +45,7 @@ from PyQt6 import QtWidgets
45
45
 
46
46
  from not1mm.lib.plugin_common import gen_adif, get_points
47
47
  from not1mm.lib.version import __version__
48
+ from not1mm.lib.ham_utility import get_logged_band
48
49
 
49
50
  logger = logging.getLogger(__name__)
50
51
 
@@ -150,6 +151,14 @@ def prefill(self):
150
151
 
151
152
  def points(self):
152
153
  """Calc point"""
154
+ # @awandahl Retrieve callsign and band information
155
+ call = self.contact.get("Call", "")
156
+ band = float(get_logged_band(str(int(self.contact.get("Freq", 0.0) * 1000))))
157
+
158
+ # @awandahl Check if the contact is a duplicate on the current band
159
+ dupe_check = self.database.check_dupe_on_band(call, band)
160
+ if dupe_check.get("isdupe", 0) > 0:
161
+ return 0 # @awandahl Return zero points for duplicates
153
162
  result = self.cty_lookup(self.station.get("Call", ""))
154
163
  if result:
155
164
  for item in result.items():
@@ -221,7 +230,7 @@ def cabrillo(self):
221
230
  logger.debug("%s", filename)
222
231
  log = self.database.fetch_all_contacts_asc()
223
232
  try:
224
- with open(filename, "w", encoding="ascii") as file_descriptor:
233
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
225
234
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
226
235
  print(
227
236
  f"CREATED-BY: Not1MM v{__version__}",
@@ -245,7 +245,7 @@ def cabrillo(self):
245
245
  logger.debug("%s", filename)
246
246
  log = self.database.fetch_all_contacts_asc()
247
247
  try:
248
- with open(filename, "w", encoding="ascii") as file_descriptor:
248
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
249
249
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
250
250
  print(
251
251
  f"CREATED-BY: Not1MM v{__version__}",
@@ -221,7 +221,7 @@ def cabrillo(self):
221
221
  logger.debug("%s", filename)
222
222
  log = self.database.fetch_all_contacts_asc()
223
223
  try:
224
- with open(filename, "w", encoding="ascii") as file_descriptor:
224
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
225
225
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
226
226
  print(
227
227
  f"CREATED-BY: Not1MM v{__version__}",
@@ -215,7 +215,7 @@ def cabrillo(self):
215
215
  logger.debug("%s", filename)
216
216
  log = self.database.fetch_all_contacts_asc()
217
217
  try:
218
- with open(filename, "w", encoding="ascii") as file_descriptor:
218
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
219
219
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
220
220
  print(
221
221
  f"CREATED-BY: Not1MM v{__version__}",
@@ -340,7 +340,7 @@ def cabrillo(self):
340
340
  logger.debug("%s", filename)
341
341
  log = self.database.fetch_all_contacts_asc()
342
342
  try:
343
- with open(filename, "w", encoding="ascii") as file_descriptor:
343
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
344
344
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
345
345
  print(
346
346
  f"CREATED-BY: Not1MM v{__version__}",
@@ -247,7 +247,7 @@ def cabrillo(self):
247
247
  logger.debug("%s", filename)
248
248
  log = self.database.fetch_all_contacts_asc()
249
249
  try:
250
- with open(filename, "w", encoding="ascii") as file_descriptor:
250
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
251
251
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
252
252
  print(
253
253
  f"CREATED-BY: Not1MM v{__version__}",
@@ -247,7 +247,7 @@ def cabrillo(self):
247
247
  logger.debug("%s", filename)
248
248
  log = self.database.fetch_all_contacts_asc()
249
249
  try:
250
- with open(filename, "w", encoding="ascii") as file_descriptor:
250
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
251
251
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
252
252
  print(
253
253
  f"CREATED-BY: Not1MM v{__version__}",
@@ -204,7 +204,7 @@ def cabrillo(self):
204
204
  logger.debug("%s", filename)
205
205
  log = self.database.fetch_all_contacts_asc()
206
206
  try:
207
- with open(filename, "w", encoding="ascii") as file_descriptor:
207
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
208
208
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
209
209
  print(
210
210
  f"CREATED-BY: Not1MM v{__version__}",
@@ -200,7 +200,7 @@ def cabrillo(self):
200
200
  logger.debug("%s", filename)
201
201
  log = self.database.fetch_all_contacts_asc()
202
202
  try:
203
- with open(filename, "w", encoding="ascii") as file_descriptor:
203
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
204
204
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
205
205
  print(
206
206
  f"CREATED-BY: Not1MM v{__version__}",
@@ -263,7 +263,7 @@ def cabrillo(self):
263
263
  mults = show_mults(self)
264
264
  log = self.database.fetch_all_contacts_asc()
265
265
  try:
266
- with open(filename, "w", encoding="ascii") as file_descriptor:
266
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
267
267
  print("START-OF-LOG: 2.0", end="\r\n", file=file_descriptor)
268
268
 
269
269
  print(
@@ -234,7 +234,7 @@ def cabrillo(self):
234
234
  mults = show_mults(self)
235
235
  log = self.database.fetch_all_contacts_asc()
236
236
  try:
237
- with open(filename, "w", encoding="ascii") as file_descriptor:
237
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
238
238
  print("START-OF-LOG: 2.0", end="\r\n", file=file_descriptor)
239
239
 
240
240
  print(
@@ -184,7 +184,7 @@ def cabrillo(self):
184
184
  logger.debug("%s", filename)
185
185
  log = self.database.fetch_all_contacts_asc()
186
186
  try:
187
- with open(filename, "w", encoding="ascii") as file_descriptor:
187
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
188
188
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
189
189
  print(
190
190
  f"CREATED-BY: Not1MM v{__version__}",
@@ -210,7 +210,7 @@ def cabrillo(self):
210
210
  logger.debug("%s", filename)
211
211
  log = self.database.fetch_all_contacts_asc()
212
212
  try:
213
- with open(filename, "w", encoding="ascii") as file_descriptor:
213
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
214
214
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
215
215
  print(
216
216
  f"CREATED-BY: Not1MM v{__version__}",
@@ -213,7 +213,7 @@ def cabrillo(self):
213
213
  logger.debug("%s", filename)
214
214
  log = self.database.fetch_all_contacts_asc()
215
215
  try:
216
- with open(filename, "w", encoding="ascii") as file_descriptor:
216
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
217
217
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
218
218
  print(
219
219
  f"CREATED-BY: Not1MM v{__version__}",
@@ -180,7 +180,7 @@ def cabrillo(self):
180
180
  logger.debug("%s", filename)
181
181
  log = self.database.fetch_all_contacts_asc()
182
182
  try:
183
- with open(filename, "w", encoding="ascii") as file_descriptor:
183
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
184
184
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
185
185
  print(
186
186
  f"CREATED-BY: Not1MM v{__version__}",
@@ -200,7 +200,7 @@ def cabrillo(self):
200
200
  logger.debug("%s", filename)
201
201
  log = self.database.fetch_all_contacts_asc()
202
202
  try:
203
- with open(filename, "w", encoding="ascii") as file_descriptor:
203
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
204
204
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
205
205
  print(
206
206
  f"CREATED-BY: Not1MM v{__version__}",
@@ -345,7 +345,7 @@ def cabrillo(self):
345
345
  logger.debug("%s", filename)
346
346
  log = self.database.fetch_all_contacts_asc()
347
347
  try:
348
- with open(filename, "w", encoding="ascii") as file_descriptor:
348
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
349
349
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
350
350
  print(
351
351
  f"CREATED-BY: Not1MM v{__version__}",
@@ -345,7 +345,7 @@ def cabrillo(self):
345
345
  logger.debug("%s", filename)
346
346
  log = self.database.fetch_all_contacts_asc()
347
347
  try:
348
- with open(filename, "w", encoding="ascii") as file_descriptor:
348
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
349
349
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
350
350
  print(
351
351
  f"CREATED-BY: Not1MM v{__version__}",
@@ -179,7 +179,7 @@ def cabrillo(self):
179
179
  logger.debug("%s", filename)
180
180
  log = self.database.fetch_all_contacts_asc()
181
181
  try:
182
- with open(filename, "w", encoding="ascii") as file_descriptor:
182
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
183
183
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
184
184
  print(
185
185
  f"CREATED-BY: Not1MM v{__version__}",
@@ -185,7 +185,7 @@ def cabrillo(self):
185
185
  logger.debug("%s", filename)
186
186
  log = self.database.fetch_all_contacts_asc()
187
187
  try:
188
- with open(filename, "w", encoding="ascii") as file_descriptor:
188
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
189
189
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
190
190
  print(
191
191
  f"CREATED-BY: Not1MM v{__version__}",
@@ -163,7 +163,7 @@ def cabrillo(self):
163
163
  logger.debug("%s", filename)
164
164
  log = self.database.fetch_all_contacts_asc()
165
165
  try:
166
- with open(filename, "w", encoding="ascii") as file_descriptor:
166
+ with open(filename, "w", encoding="utf-8") as file_descriptor:
167
167
  print("START-OF-LOG: 3.0", end="\r\n", file=file_descriptor)
168
168
  print(
169
169
  f"CREATED-BY: Not1MM v{__version__}",
@@ -14,8 +14,7 @@ Purpose: Provide onscreen widget that interacts with DIY VFO knob and remote rig
14
14
 
15
15
  import logging
16
16
  import os
17
- import platform
18
- from json import loads, JSONDecodeError
17
+ from json import loads
19
18
 
20
19
  import serial
21
20
  from PyQt6 import QtCore, QtWidgets, uic
@@ -25,7 +24,6 @@ from PyQt6.QtGui import QColorConstants, QPalette, QColor
25
24
 
26
25
  import not1mm.fsutils as fsutils
27
26
  from not1mm.lib.cat_interface import CAT
28
- from not1mm.lib.multicast import Multicast
29
27
 
30
28
  logger = logging.getLogger(__name__)
31
29
 
@@ -45,22 +43,12 @@ class VfoWindow(QDockWidget):
45
43
  super().__init__()
46
44
  uic.loadUi(fsutils.APP_DATA_PATH / "vfo.ui", self)
47
45
  self.setWindowTitle("VFO Window")
48
-
49
46
  self.rig_control = None
50
47
  self.timer = QTimer()
51
48
  self.timer.timeout.connect(self.getwaiting)
52
49
  self.load_pref()
53
50
  self.lcdNumber.display(0)
54
51
  self.pico = None
55
- self._udpwatch = None
56
-
57
- self.multicast_interface = Multicast(
58
- self.pref.get("multicast_group", "239.1.1.1"),
59
- self.pref.get("multicast_port", 2239),
60
- self.pref.get("interface_ip", "0.0.0.0"),
61
- )
62
- self.multicast_interface.ready_read_connect(self.watch_udp)
63
-
64
52
  self.setup_serial()
65
53
  self.poll_rig_timer = QtCore.QTimer()
66
54
  self.poll_rig_timer.timeout.connect(self.poll_radio)
@@ -216,44 +204,26 @@ class VfoWindow(QDockWidget):
216
204
  )
217
205
  self.lcdNumber.setStyleSheet("QLCDNumber { color: red; }")
218
206
 
219
- def watch_udp(self) -> None:
207
+ def msg_from_main(self, msg_dict) -> None:
220
208
  """
221
209
  Watch for a 'HALT' UPD packet from not1mm.
222
210
  Exit app if found.
223
211
  """
224
- while self.multicast_interface.server_udp.hasPendingDatagrams():
225
- datagram = self.multicast_interface.getpacket()
212
+ if msg_dict.get("cmd", "") == "TUNE":
213
+ # b'{"cmd": "TUNE", "freq": 7.0235, "spot": "MM0DGI"}'
214
+ vfo = msg_dict.get("freq")
215
+ vfo = float(vfo) * 1000000
216
+ changefreq = f"F {int(vfo)}\r"
226
217
  try:
227
- debug_info = f"{datagram}"
228
- logger.debug(debug_info)
229
- json_data = loads(datagram)
230
- except UnicodeDecodeError as err:
231
- the_error = f"Not Unicode: {err}\n{datagram}"
232
- logger.debug(the_error)
233
- continue
234
- except JSONDecodeError as err:
235
- the_error = f"Not JSON: {err}\n{datagram}"
236
- logger.debug(the_error)
237
- continue
238
- if json_data.get("station", "") != platform.node():
239
- continue
240
- logger.debug(f"{json_data=}")
241
-
242
- if json_data.get("cmd", "") == "TUNE":
243
- # b'{"cmd": "TUNE", "freq": 7.0235, "spot": "MM0DGI"}'
244
- vfo = json_data.get("freq")
245
- vfo = float(vfo) * 1000000
246
- changefreq = f"F {int(vfo)}\r"
247
- try:
248
- if self.pico:
249
- self.pico.write(changefreq.encode())
250
- except OSError:
251
- logger.critical("Unable to write to serial device.")
252
- except AttributeError:
253
- logger.critical("Unable to write to serial device.")
254
- continue
255
- if json_data.get("cmd", "") == "DARKMODE":
256
- self.setDarkMode(json_data.get("state", False))
218
+ if self.pico:
219
+ self.pico.write(changefreq.encode())
220
+ except OSError:
221
+ logger.critical("Unable to write to serial device.")
222
+ except AttributeError:
223
+ logger.critical("Unable to write to serial device.")
224
+ return
225
+ if msg_dict.get("cmd", "") == "DARKMODE":
226
+ self.setDarkMode(msg_dict.get("state", False))
257
227
 
258
228
  def showNumber(self, the_number) -> None:
259
229
  """Display vfo value with dots"""