{"id":287,"date":"2026-04-17T12:00:53","date_gmt":"2026-04-17T12:00:53","guid":{"rendered":"https:\/\/togo-lab.io\/?p=287"},"modified":"2026-04-20T12:54:56","modified_gmt":"2026-04-20T12:54:56","slug":"project-0003-sdg2042x-gui-v0-2-first-patch-round-and-tracker-setup","status":"publish","type":"post","link":"https:\/\/togo-lab.io\/?p=287","title":{"rendered":"Project 0003: SDG2042X GUI v0.2.* \u2014 first patch round and bug tracker setup"},"content":{"rendered":"<p>The current work on my <a href=\"https:\/\/togo-lab.io\/?p=130\">Linux GUI for the Siglent SDG2042X<\/a> is about findig bugs before piling more features on top.<\/p>\n<p><a href=\"https:\/\/gitea.togo-lab.io\/tgohle\/0003-SDG2042X-PyQt-GUI-for-Linux\/src\/branch\/master\/script\/archive\/V0.1\">Version 0.1<\/a> already did the basics: Waveform control, burst and sweep settings, ARB handling, presets, a small SCPI console, and screenshot support. But no software without bugs. So besides the first code fixes, I also set up a <a href=\"https:\/\/gitea.togo-lab.io\/tgohle\/0003-SDG2042X-PyQt-GUI-for-Linux\/issues\">proper issue tracker<\/a> for the project in Gitea (this was also a point in my gitea learning 2Do List). The repository now has labels, issue templates, a small board workflow, and the first full review list entered as issues. For this first round, I started with the items that looked most worth fixing immediately: <code>#1<\/code>, <code>#2<\/code>, &amp; <code>#12<\/code>. I also did <code>#6<\/code> as it was a little bit annoing thing. <\/p>\n<p>The code side for those is already <a href=\"https:\/\/gitea.togo-lab.io\/tgohle\/0003-SDG2042X-PyQt-GUI-for-Linux\/src\/branch\/master\/script\/archive\/V0.2\">done in v0.2<\/a> in this git. What is still open is real verification against the actual SDG hardware before I close them.<\/p>\n<h4>Current issue list<\/h4>\n<p>Find this in the Gitea: <a href=\"https:\/\/gitea.togo-lab.io\/tgohle\/0003-SDG2042X-PyQt-GUI-for-Linux\/issues\">https:\/\/gitea.togo-lab.io\/tgohle\/0003-SDG2042X-PyQt-GUI-for-Linux\/issues<\/a><\/p>\n<h4>Status of the project is now (18.04.2026):<\/h4>\n<p>I wrote and ran a small test script for issues #1, #2, #6, and #12, plus a final hardware check on the SDG itself:\n<a href=\"https:\/\/gitea.togo-lab.io\/tgohle\/0003-SDG2042X-PyQt-GUI-for-Linux\/src\/branch\/master\/script\/archive\/V0.2\">https:\/\/gitea.togo-lab.io\/tgohle\/0003-SDG2042X-PyQt-GUI-for-Linux\/src\/branch\/master\/script\/archive\/V0.2<\/a>\nThat gives me enough confidence to close all four issues and move this first bug-fix round a step further toward done.<\/p>\n<ul>\n<li style=\"margin-left:-1.25em;list-style-type:none\"><input type=\"checkbox\" disabled=\"disabled\" checked=\"checked\" \/> bug tracker is set up in Gitea, including milestone for v0.2<\/li>\n<li style=\"margin-left:-1.25em;list-style-type:none\"><input type=\"checkbox\" disabled=\"disabled\" checked=\"checked\" \/> the full first review list is in the tracker<\/li>\n<li style=\"margin-left:-1.25em;list-style-type:none\"><input type=\"checkbox\" disabled=\"disabled\" checked=\"checked\" \/> the first four fixes (1,2,6 &amp; 12) are already coded and l loaded up to this git<\/li>\n<li style=\"margin-left:-1.25em;list-style-type:none\"><input type=\"checkbox\" disabled=\"disabled\" checked=\"checked\" \/> tested with script, passed. <\/li>\n<li style=\"margin-left:-1.25em;list-style-type:none\"><input type=\"checkbox\" disabled=\"disabled\" checked=\"checked\" \/> hardware verification for issue 2 done<\/li>\n<\/ul>\n<p>Not exciting, but necessary: the tedious grind of bugfix work, so the front end becomes handy enough that it does not get in the way of my other hobby projects.<\/p>\n<p><strong>Further bug and issue work will only tracked in the <a href=\"https:\/\/gitea.togo-lab.io\/tgohle\/0003-SDG2042X-PyQt-GUI-for-Linux\/issues\">issue tracker<\/a>.<\/strong><\/p>\n<hr \/>\n<h4>Update 20.04.2026 Bug-fix round for the SDG2042X Linux GUI<\/h4>\n<p>A productive bug-fix day on the SDG2042X GUI for Linux.<br \/>\nThe focus was on medium-severity issues around ARB handling, sweep robustness, preset handling, and input validation.<\/p>\n<ul>\n<li><strong>#15<\/strong> \u2014 ARB download response parser fails on real SDG<\/li>\n<li><strong>#10<\/strong> \u2014 Sweep fallback from WAV to SPAC is timing-fragile<\/li>\n<li><strong>#9<\/strong> \u2014 Preset recall ignores current channel selection<\/li>\n<li><strong>#8<\/strong> \u2014 Preset file path selection is not propagated back to Main<\/li>\n<li><strong>#3<\/strong> \u2014 <code>human_to_eng()<\/code> silently accepts ambiguous <code>m<\/code> suffix<\/li>\n<\/ul>\n<p>Details in the closed section of the gitea: <a href=\"https:\/\/gitea.togo-lab.io\/tgohle\/0003-SDG2042X-PyQt-GUI-for-Linux\/issues?type=all&amp;state=closed\">https:\/\/gitea.togo-lab.io\/tgohle\/0003-SDG2042X-PyQt-GUI-for-Linux\/issues?type=all&amp;state=closed<\/a><\/p>\n<h3>Version progression during this round<\/h3>\n<ul>\n<li><code>v0.2.1<\/code> \u2192 Bug #15<\/li>\n<li><code>v0.2.2<\/code> \u2192 Bug #10<\/li>\n<li>later working copy \u2192 Bug #9 and Bug #8<\/li>\n<li><code>v0.2.6<\/code> \u2192 Bug #3<\/li>\n<\/ul>\n<h3>Summary<\/h3>\n<p>This round cleaned up several of the more annoying reliability and usability problems in the GUI: better ARB handling on real hardware, safer sweep fallback, more reliable preset behaviour, and stricter input validation where silent misinterpretation would be risky.\nOverall, a good step toward making the GUI more dependable as an actual bench tool instead of just a nice front-end.<\/p>","protected":false},"excerpt":{"rendered":"<p>The current work on my Linux GUI for the Siglent SDG2042X is about findig bugs before piling more features on top. Version 0.1 already did the basics: Waveform control, burst and sweep settings, ARB handling, presets, a small SCPI console, and screenshot support. But no software without bugs. So besides the first code fixes, I &hellip; <a href=\"https:\/\/togo-lab.io\/?p=287\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Project 0003: SDG2042X GUI v0.2.* \u2014 first patch round and bug tracker setup&#8221;<\/span><\/a><\/p>","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[41,42,40,19,26,25,13,32],"post_folder":[],"class_list":["post-287","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-bugfix","tag-bughunt","tag-gitea","tag-lab","tag-python","tag-sdg2042x","tag-test","tag-togo-lab"],"_links":{"self":[{"href":"https:\/\/togo-lab.io\/index.php?rest_route=\/wp\/v2\/posts\/287","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/togo-lab.io\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/togo-lab.io\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/togo-lab.io\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/togo-lab.io\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=287"}],"version-history":[{"count":12,"href":"https:\/\/togo-lab.io\/index.php?rest_route=\/wp\/v2\/posts\/287\/revisions"}],"predecessor-version":[{"id":299,"href":"https:\/\/togo-lab.io\/index.php?rest_route=\/wp\/v2\/posts\/287\/revisions\/299"}],"wp:attachment":[{"href":"https:\/\/togo-lab.io\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=287"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/togo-lab.io\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=287"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/togo-lab.io\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=287"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/togo-lab.io\/index.php?rest_route=%2Fwp%2Fv2%2Fpost_folder&post=287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}