not1mm 24.7.25__tar.gz → 24.7.25.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 (159) hide show
  1. {not1mm-24.7.25 → not1mm-24.7.25.1}/PKG-INFO +2 -1
  2. {not1mm-24.7.25 → not1mm-24.7.25.1}/README.md +1 -0
  3. not1mm-24.7.25.1/not1mm/lib/version.py +3 -0
  4. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/vfo.py +21 -4
  5. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm.egg-info/PKG-INFO +2 -1
  6. {not1mm-24.7.25 → not1mm-24.7.25.1}/pyproject.toml +1 -1
  7. not1mm-24.7.25/not1mm/lib/version.py +0 -3
  8. {not1mm-24.7.25 → not1mm-24.7.25.1}/LICENSE +0 -0
  9. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/__init__.py +0 -0
  10. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/__main__.py +0 -0
  11. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/bandmap.py +0 -0
  12. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/checkwindow.py +0 -0
  13. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/JetBrainsMono-Regular.ttf +0 -0
  14. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/MASTER.SCP +0 -0
  15. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/about.ui +0 -0
  16. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  17. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/bandmap.ui +0 -0
  18. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/check.png +0 -0
  19. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/checkwindow.ui +0 -0
  20. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/configuration.ui +0 -0
  21. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/contests.sql +0 -0
  22. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/cty.json +0 -0
  23. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/cwmacros.txt +0 -0
  24. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/donors.html +0 -0
  25. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/editcontact.ui +0 -0
  26. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/editmacro.ui +0 -0
  27. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/greendot.png +0 -0
  28. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/k6gte-not1mm.desktop +0 -0
  29. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/k6gte.not1mm-128.png +0 -0
  30. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/k6gte.not1mm-32.png +0 -0
  31. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/k6gte.not1mm-64.png +0 -0
  32. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/logwindow.ui +0 -0
  33. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/logwindowx.ui +0 -0
  34. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/main.ui +0 -0
  35. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/new_contest.ui +0 -0
  36. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/not1mm.html +0 -0
  37. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/opon.ui +0 -0
  38. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/0.wav +0 -0
  39. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/1.wav +0 -0
  40. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/2.wav +0 -0
  41. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/3.wav +0 -0
  42. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/4.wav +0 -0
  43. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/5.wav +0 -0
  44. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/6.wav +0 -0
  45. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/7.wav +0 -0
  46. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/73.wav +0 -0
  47. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/8.wav +0 -0
  48. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/9.wav +0 -0
  49. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/a.wav +0 -0
  50. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/again.wav +0 -0
  51. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/b.wav +0 -0
  52. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/c.wav +0 -0
  53. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/contest.wav +0 -0
  54. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/cq.wav +0 -0
  55. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/d.wav +0 -0
  56. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/e.wav +0 -0
  57. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/f.wav +0 -0
  58. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/g.wav +0 -0
  59. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/h.wav +0 -0
  60. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/i.wav +0 -0
  61. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/j.wav +0 -0
  62. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/k.wav +0 -0
  63. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/k6gte.wav +0 -0
  64. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/l.wav +0 -0
  65. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/m.wav +0 -0
  66. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/mynumber.wav +0 -0
  67. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/n.wav +0 -0
  68. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/nil.wav +0 -0
  69. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/o.wav +0 -0
  70. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/p.wav +0 -0
  71. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/q.wav +0 -0
  72. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/r.wav +0 -0
  73. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/roger.wav +0 -0
  74. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/s.wav +0 -0
  75. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/space.wav +0 -0
  76. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/t.wav +0 -0
  77. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/thankyou.wav +0 -0
  78. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  79. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/u.wav +0 -0
  80. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/v.wav +0 -0
  81. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/w.wav +0 -0
  82. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/x.wav +0 -0
  83. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/y.wav +0 -0
  84. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/yourcall.wav +0 -0
  85. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/phonetics/z.wav +0 -0
  86. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/pickcontest.ui +0 -0
  87. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/radio_green.png +0 -0
  88. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/radio_grey.png +0 -0
  89. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/radio_red.png +0 -0
  90. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/reddot.png +0 -0
  91. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/settings.ui +0 -0
  92. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/ssbmacros.txt +0 -0
  93. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/data/vfo.ui +0 -0
  94. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/fsutils.py +0 -0
  95. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/__init__.py +0 -0
  96. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/about.py +0 -0
  97. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/cat_interface.py +0 -0
  98. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/cwinterface.py +0 -0
  99. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/database.py +0 -0
  100. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/edit_contact.py +0 -0
  101. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/edit_macro.py +0 -0
  102. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/edit_opon.py +0 -0
  103. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/edit_station.py +0 -0
  104. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/ft8_watcher.py +0 -0
  105. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/ham_utility.py +0 -0
  106. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/lookup.py +0 -0
  107. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/multicast.py +0 -0
  108. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/n1mm.py +0 -0
  109. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/new_contest.py +0 -0
  110. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/playsound.py +0 -0
  111. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/plugin_common.py +0 -0
  112. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/select_contest.py +0 -0
  113. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/settings.py +0 -0
  114. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/super_check_partial.py +0 -0
  115. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/lib/versiontest.py +0 -0
  116. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/logwindow.py +0 -0
  117. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/playsoundtest.py +0 -0
  118. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/10_10_fall_cw.py +0 -0
  119. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/10_10_spring_cw.py +0 -0
  120. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/10_10_summer_phone.py +0 -0
  121. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/10_10_winter_phone.py +0 -0
  122. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/__init__.py +0 -0
  123. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/arrl_10m.py +0 -0
  124. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/arrl_dx_cw.py +0 -0
  125. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/arrl_dx_ssb.py +0 -0
  126. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/arrl_field_day.py +0 -0
  127. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/arrl_rtty_ru.py +0 -0
  128. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/arrl_ss_cw.py +0 -0
  129. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/arrl_ss_phone.py +0 -0
  130. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/arrl_vhf_jan.py +0 -0
  131. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/arrl_vhf_jun.py +0 -0
  132. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/arrl_vhf_sep.py +0 -0
  133. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/canada_day.py +0 -0
  134. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/cq_160_cw.py +0 -0
  135. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/cq_160_ssb.py +0 -0
  136. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/cq_wpx_cw.py +0 -0
  137. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/cq_wpx_ssb.py +0 -0
  138. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/cq_ww_cw.py +0 -0
  139. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/cq_ww_ssb.py +0 -0
  140. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/cwt.py +0 -0
  141. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/general_logging.py +0 -0
  142. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/iaru_hf.py +0 -0
  143. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/icwc_mst.py +0 -0
  144. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/jidx_cw.py +0 -0
  145. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/jidx_ph.py +0 -0
  146. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/k1usn_sst.py +0 -0
  147. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/naqp_cw.py +0 -0
  148. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/naqp_ssb.py +0 -0
  149. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/phone_weekly_test.py +0 -0
  150. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/stew_perry_topband.py +0 -0
  151. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/plugins/winter_field_day.py +0 -0
  152. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/radio.py +0 -0
  153. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm/voice_keying.py +0 -0
  154. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm.egg-info/SOURCES.txt +0 -0
  155. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm.egg-info/dependency_links.txt +0 -0
  156. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm.egg-info/entry_points.txt +0 -0
  157. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm.egg-info/requires.txt +0 -0
  158. {not1mm-24.7.25 → not1mm-24.7.25.1}/not1mm.egg-info/top_level.txt +0 -0
  159. {not1mm-24.7.25 → not1mm-24.7.25.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.7.25
3
+ Version: 24.7.25.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
@@ -223,6 +223,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
223
223
 
224
224
  ## Recent Changes
225
225
 
226
+ - [24-7-25-1] Have VFO dock widget handle disconnect/reconnect events of the USB VFO knob more gracefully.
226
227
  - [24-7-25] Updated application categories for the desktop file.
227
228
  - [24-7-25] Maybe let flrig send CW... Probably not.
228
229
  - [24-7-19] Use Qt's QSettings to store window and dockwidgets states.
@@ -191,6 +191,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
191
191
 
192
192
  ## Recent Changes
193
193
 
194
+ - [24-7-25-1] Have VFO dock widget handle disconnect/reconnect events of the USB VFO knob more gracefully.
194
195
  - [24-7-25] Updated application categories for the desktop file.
195
196
  - [24-7-25] Maybe let flrig send CW... Probably not.
196
197
  - [24-7-19] Use Qt's QSettings to store window and dockwidgets states.
@@ -0,0 +1,3 @@
1
+ """It's the version"""
2
+
3
+ __version__ = "24.7.25.1"
@@ -39,6 +39,7 @@ class VfoWindow(QDockWidget):
39
39
  message_shown = False
40
40
  multicast_interface = None
41
41
  current_palette = None
42
+ device_reconnect = False
42
43
 
43
44
  def __init__(self):
44
45
  super().__init__()
@@ -64,6 +65,7 @@ class VfoWindow(QDockWidget):
64
65
  self.poll_rig_timer = QtCore.QTimer()
65
66
  self.poll_rig_timer.timeout.connect(self.poll_radio)
66
67
  self.poll_rig_timer.start(500)
68
+ self.visibilityChanged.connect(self.window_state_changed)
67
69
 
68
70
  def setDarkMode(self, dark: bool) -> None:
69
71
  """Forces a darkmode palette."""
@@ -178,27 +180,37 @@ class VfoWindow(QDockWidget):
178
180
  if "vfoknob" in data.decode().strip():
179
181
  return device
180
182
 
181
- def setup_serial(self) -> None:
183
+ def window_state_changed(self):
184
+ """Setup vfo knob if window is toggled on"""
185
+
186
+ if self.isVisible():
187
+ self.setup_serial()
188
+
189
+ def setup_serial(self, supress_msg=False) -> None:
182
190
  """
183
191
  Setup the device returned by discover_device()
184
192
  Or display message saying we didn't find one.
185
193
  """
186
194
 
195
+ if not self.isVisible():
196
+ return
197
+
187
198
  device = self.discover_device()
188
199
  if device:
189
200
  try:
190
201
  self.pico = serial.Serial("/dev/serial/by-id/" + device, 115200)
191
202
  self.pico.timeout = 100
192
203
  self.lcdNumber.setStyleSheet("QLCDNumber { color: white; }")
204
+ self.device_reconnect = True
193
205
  except OSError:
194
- if self.message_shown is False:
206
+ if self.message_shown is False and supress_msg is False:
195
207
  self.message_shown = True
196
208
  self.show_message_box(
197
209
  "Unable to locate or open the VFO knob serial device."
198
210
  )
199
211
  self.lcdNumber.setStyleSheet("QLCDNumber { color: red; }")
200
212
  else:
201
- if self.message_shown is False:
213
+ if self.message_shown is False and supress_msg is False:
202
214
  self.message_shown = True
203
215
  self.show_message_box(
204
216
  "Unable to locate or open the VFO knob serial device."
@@ -269,13 +281,14 @@ class VfoWindow(QDockWidget):
269
281
  return
270
282
  if vfo < 1700000 or vfo > 60000000:
271
283
  return
272
- if vfo != self.old_vfo:
284
+ if vfo != self.old_vfo or self.device_reconnect is True:
273
285
  self.old_vfo = vfo
274
286
  logger.debug(f"{vfo}")
275
287
  self.showNumber(vfo)
276
288
  # self.lcdNumber.display(dnum)
277
289
  # app.processEvents()
278
290
  cmd = f"F {vfo}\r"
291
+ self.device_reconnect = False
279
292
  try:
280
293
  if self.pico:
281
294
  self.pico.write(cmd.encode())
@@ -302,10 +315,14 @@ class VfoWindow(QDockWidget):
302
315
  self.showNumber(result)
303
316
  # self.lcdNumber.display(result)
304
317
  # app.processEvents()
318
+ else:
319
+ self.setup_serial(supress_msg=True)
305
320
  except OSError:
306
321
  logger.critical("Unable to write to serial device.")
322
+ self.pico = None
307
323
  except AttributeError:
308
324
  logger.critical("Unable to write to serial device.")
325
+ self.pico = None
309
326
  # app.processEvents()
310
327
 
311
328
  def show_message_box(self, message: str) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.7.25
3
+ Version: 24.7.25.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
@@ -223,6 +223,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
223
223
 
224
224
  ## Recent Changes
225
225
 
226
+ - [24-7-25-1] Have VFO dock widget handle disconnect/reconnect events of the USB VFO knob more gracefully.
226
227
  - [24-7-25] Updated application categories for the desktop file.
227
228
  - [24-7-25] Maybe let flrig send CW... Probably not.
228
229
  - [24-7-19] Use Qt's QSettings to store window and dockwidgets states.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "not1mm"
7
- version = "24.7.25"
7
+ version = "24.7.25.1"
8
8
  description = "NOT1MM Logger"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -1,3 +0,0 @@
1
- """It's the version"""
2
-
3
- __version__ = "24.7.25"
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