https://redmine.graphics-muse.org/https://redmine.graphics-muse.org/favicon.ico?16278048512016-10-31T02:42:37ZGraphics Muse Issue Trackerpixm - Action Item #557: Port XimbaRadio https://redmine.graphics-muse.org/issues/557?journal_id=20382016-10-31T02:42:37ZHammelmjhammel@graphics-muse.org
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>10</i></li></ul><p>Some links of interest:</p>
<ul>
<li><a href="http://www.xmfan.com/viewtopic.php?t=6870&sid=18085bac1e7ad8d0750ec3a324bf0b1a" class="external">Protocol specification</a> - discussion on protocol</li>
<li><a href="http://www.michaelminn.com/linux/mmxmpcr/" class="external">mmxmpcr</a> - C++ program but is missing some pieces</li>
</ul> pixm - Action Item #557: Port XimbaRadio https://redmine.graphics-muse.org/issues/557?journal_id=20402016-11-17T05:51:17ZHammelmjhammel@graphics-muse.org
<ul><li><strong>% Done</strong> changed from <i>10</i> to <i>70</i></li></ul><p>This is done though it's not been tested as a package on hardware. But the app works fine on my laptop. I like it better than the old XimbaRadio. The new UI is simpler and matches the UI of VideoFE. Sadly the audio is output over an external audio port, not via the USB. I should be able to hook a Bluetooth transmitter to it, however.</p>
Next up:
<ol>
<li>Verify packaging
<ol>
<li>Make sure the required app files are available</li>
</ol>
</li>
<li>Test on hardware
<ol>
<li>can the RPi Model 2 drive this box? The external hub should be able to.</li>
<li>Does the ttyUSB port come up as expected under PiBox?</li>
</ol></li>
</ol> pixm - Action Item #557: Port XimbaRadio https://redmine.graphics-muse.org/issues/557?journal_id=20412016-11-18T02:52:49ZHammelmjhammel@graphics-muse.org
<ul><li><strong>% Done</strong> changed from <i>70</i> to <i>80</i></li></ul><p>Packaging cleaned up and now builds correctly.</p> pixm - Action Item #557: Port XimbaRadio https://redmine.graphics-muse.org/issues/557?journal_id=20442016-11-21T00:30:51ZHammelmjhammel@graphics-muse.org
<ul></ul>Testing on hardware:
<ol>
<li>The UI needs to set the labels right justified but not expanded/filled.</li>
<li>The UI needs the text fields for station, etc. expanded and filled.</li>
<li>The UI needs a field to show "device not available" when initialization doesn't work. A button (say "R" for restart/reload) should cause the device init and channelMgr thread to be started again, after the device is setup.</li>
<li>The ttyUSB port is missing.
<ol>
<li><a class="external" href="http://www.sealevel.com/support/article/AA-00524/0/How-to-configure-USB-serial-adapters-in-Linux.html">http://www.sealevel.com/support/article/AA-00524/0/How-to-configure-USB-serial-adapters-in-Linux.html</a></li>
<li><a class="external" href="https://www.kernel.org/doc/Documentation/usb/usb-serial.txt">https://www.kernel.org/doc/Documentation/usb/usb-serial.txt</a></li>
</ol></li>
</ol> pixm - Action Item #557: Port XimbaRadio https://redmine.graphics-muse.org/issues/557?journal_id=20452016-11-23T05:29:25ZHammelmjhammel@graphics-muse.org
<ul></ul><p>Ugh. More power supply issues. The radio works fine on my laptop but doesn't work on my desktop with an external, powered USB hub. It also doesn't work on the Raspberry Pi either directly connected or connected to the external USB hub. I need to measure USB power to see if this might really be the problem. I can try this: <a class="external" href="https://www.amazon.com/Centech-USB-Power-Meter/dp/B00DAR4ITE">https://www.amazon.com/Centech-USB-Power-Meter/dp/B00DAR4ITE</a></p>
Here is yet more research on power to USB ports:
<ol>
<li><a class="external" href="https://jarretdyrbye.wordpress.com/2013/12/31/a-diy-power-supply-for-hi-fi-usb-audio-with-your-raspberry-pi/">https://jarretdyrbye.wordpress.com/2013/12/31/a-diy-power-supply-for-hi-fi-usb-audio-with-your-raspberry-pi/</a></li>
<li><a class="external" href="http://forum.allaboutcircuits.com/threads/stabilizing-a-usb-5v-in-reality-anywhere-from-4-5-to-5-5-power-source-to-a-true-5v-source.117217/">http://forum.allaboutcircuits.com/threads/stabilizing-a-usb-5v-in-reality-anywhere-from-4-5-to-5-5-power-source-to-a-true-5v-source.117217/</a></li>
<li><a class="external" href="http://plugable.com/2013/07/22/usb-hubs-and-chargers-what-happens-when-you-pull-too-much-power/">http://plugable.com/2013/07/22/usb-hubs-and-chargers-what-happens-when-you-pull-too-much-power/</a></li>
<li><a class="external" href="http://electronics.stackexchange.com/questions/12935/stability-of-usb-5v-output">http://electronics.stackexchange.com/questions/12935/stability-of-usb-5v-output</a></li>
<li><a class="external" href="http://www.howtogeek.com/228869/how-to-monitor-your-usb-device-power-usage-and-output/">http://www.howtogeek.com/228869/how-to-monitor-your-usb-device-power-usage-and-output/</a></li>
</ol> pixm - Action Item #557: Port XimbaRadio https://redmine.graphics-muse.org/issues/557?journal_id=20462016-11-23T18:35:17ZHammelmjhammel@graphics-muse.org
<ul></ul><p>Stabilizing power might be possible by placing a big capacitor (100-1000uF perhaps) inline to the power line on the usb connection. <a href="https://learn.sparkfun.com/tutorials/capacitors" class="external">Sparkfun has a tutorial</a> on using capacitors. I should also check with Plugable's support, which has info on how they handle power to USB ports.</p> pixm - Action Item #557: Port XimbaRadio https://redmine.graphics-muse.org/issues/557?journal_id=20472016-12-02T04:13:26ZHammelmjhammel@graphics-muse.org
<ul></ul>It's now working on the Pi! But there are some tweaks to make.
<ol>
<li>Update the UI as the channel scan is in progress.</li>
<li><del>When a rescan is done, rebuild the category list</del></li>
<li><del>The /dev/ttyUSB0 port needs to have "other" read perms. But why?</del></li>
<li>The current channel should be scanned often to update on the UI.</li>
</ol> pixm - Action Item #557: Port XimbaRadio https://redmine.graphics-muse.org/issues/557?journal_id=20522016-12-15T23:54:42ZHammelmjhammel@graphics-muse.org
<ul><li><strong>Project</strong> changed from <i>PiBox</i> to <i>pixm</i></li><li><strong>Category</strong> deleted (<del><i>04 - Applications</i></del>)</li></ul> pixm - Action Item #557: Port XimbaRadio https://redmine.graphics-muse.org/issues/557?journal_id=24482019-02-25T22:18:42ZHammelmjhammel@graphics-muse.org
<ul><li><strong>Target version</strong> changed from <i>0.12.0</i> to <i>1.1.0 - Upgrades</i></li></ul> pixm - Action Item #557: Port XimbaRadio https://redmine.graphics-muse.org/issues/557?journal_id=26972020-03-03T03:42:35ZHammelmjhammel@graphics-muse.org
<ul><li><strong>Priority</strong> changed from <i>Urgent</i> to <i>Immediate</i></li><li><strong>Severity</strong> changed from <i>01 - Critical</i> to <i>04 - Low</i></li></ul> pixm - Action Item #557: Port XimbaRadio https://redmine.graphics-muse.org/issues/557?journal_id=27202020-03-13T22:02:30ZHammelmjhammel@graphics-muse.org
<ul></ul><p>Here are the updates to be made for each tweak.</p>
<a name="Update-the-UI-as-the-channel-scan-is-in-progress"></a>
<h3 >Update the UI as the channel scan is in progress.<a href="#Update-the-UI-as-the-channel-scan-is-in-progress" class="wiki-anchor">¶</a></h3>
<ol>
<li>mgrProcessor should be turned into a g_timeout_add() to simplify things. It just needs to run on a periodic basis and shutdown can just kill the timer.
<ol>
<li>If the timer goes off but the last mgrProcessor is not complete then it should skip that iteration.</li>
<li>mgrProcessor should rescan the current channel in one of its passes.</li>
</ol>
</li>
<li>when mgrProcessor completes it needs to call populateList</li>
<li>populateList must do a gtk_widget_queue_draw(GTK_WIDGET()) which is probably needed because the widget update is happening outside the event main loop.</li>
</ol>
<a name="When-a-rescan-is-done-rebuild-the-category-list"></a>
<h3 >When a rescan is done, rebuild the category list<a href="#When-a-rescan-is-done-rebuild-the-category-list" class="wiki-anchor">¶</a></h3>
<p>This isn't necessary as every response is checked to see if a new category has been found. However, addCategory() probably needs to support more than 256 categories.</p>
<a name="The-devttyUSB0-port-needs-to-have-other-read-perms-But-why"></a>
<h3 >The /dev/ttyUSB0 port needs to have "other" read perms. But why?<a href="#The-devttyUSB0-port-needs-to-have-other-read-perms-But-why" class="wiki-anchor">¶</a></h3>
<p>pixm needs to run privileged so it needs to be added to appmgr.priv by the postinst script in the opkg.</p>
<a name="The-current-channel-should-be-scanned-often-to-update-on-the-UI"></a>
<h3 >The current channel should be scanned often to update on the UI.<a href="#The-current-channel-should-be-scanned-often-to-update-on-the-UI" class="wiki-anchor">¶</a></h3>
<p>This is a new mode to add to mgrProcessor. We need to scan the current channel once a second or so. If we're using a g_timeout then every fourth time through (or so) should be a rescan of the current channel.</p> pixm - Action Item #557: Port XimbaRadio https://redmine.graphics-muse.org/issues/557?journal_id=27212020-03-17T01:52:49ZHammelmjhammel@graphics-muse.org
<ul><li><strong>% Done</strong> changed from <i>80</i> to <i>90</i></li></ul><p>The UI scan can't update the display on changes to the lists because the user can't select anything if that happens. So TAB is the only way to do that right now and that's they way it's going to stay.</p>
<p>The current channel update exposed major problems with how the device was being queried for data and when the UI would be updated. This required changes to how the device is queried, how the port would be opened/closed on a per command basis, and how the channelMgr thread would iterate through its operations. These are all fixed and the result appears to be, at least on my little (Chrome) laptop, much better performance and responsiveness.</p>
<p>This code is tested, committed and pushed. But there is a bunch of cleanup still to be done. So this isn't quite done yet.</p> pixm - Action Item #557: Port XimbaRadio https://redmine.graphics-muse.org/issues/557?journal_id=27222020-03-17T02:48:05ZHammelmjhammel@graphics-muse.org
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Closed</i></li><li><strong>% Done</strong> changed from <i>90</i> to <i>100</i></li></ul><p>Okay, code cleaned up. Retested and validated as working (quite well, actually).</p>
<p>Committed, tested and pushed.</p>
<p>Closing issue.</p>