https://redmine.graphics-muse.org/https://redmine.graphics-muse.org/favicon.ico?16278048512021-02-20T20:41:56ZGraphics Muse Issue Trackerpinet - Feature #815: Add headless modehttps://redmine.graphics-muse.org/issues/815?journal_id=29492021-02-20T20:41:56ZHammelmjhammel@graphics-muse.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/2949/diff?detail_id=3432">diff</a>)</li></ul> pinet - Feature #815: Add headless modehttps://redmine.graphics-muse.org/issues/815?journal_id=29502021-02-20T20:43:05ZHammelmjhammel@graphics-muse.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/2950/diff?detail_id=3433">diff</a>)</li></ul> pinet - Feature #815: Add headless modehttps://redmine.graphics-muse.org/issues/815?journal_id=29512021-02-20T21:47:31ZHammelmjhammel@graphics-muse.org
<ul><li><strong>Severity</strong> changed from <i>03 - Medium</i> to <i>01 - Critical</i></li></ul> pinet - Feature #815: Add headless modehttps://redmine.graphics-muse.org/issues/815?journal_id=29552021-02-25T02:33:07ZHammelmjhammel@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>50</i></li></ul><p>Initial implementation is ready for testing. Headless mode is built with -H option to cross.sh. Both modes build cleanly.</p>
Testing:
<ol>
<li>Check if gpioset/gpioget/gpiomon can be used to test without real gpio hw connected.</li>
<li>Build w/o -H and verify pinet still works as before in piplayer.</li>
<li>Build w/ -H and manually start pinet.
<ol>
<li>Verify pinet starts AP if pushbutton is pressed once.</li>
<li>Verify pinet stops AP and restarts network if pushbutton pressed again.
<ol>
<li>Verify pinet is still running after network restart.</li>
</ol>
</li>
<li>Verify start / stop / start / stop (repeated operations)</li>
<li>Verify debounce</li>
<li>Verify LED states
<ol>
<li>AP on</li>
<li>Restarting</li>
<li>Return to Normal Mode</li>
<li>Off</li>
</ol></li>
</ol></li>
</ol> pinet - Feature #815: Add headless modehttps://redmine.graphics-muse.org/issues/815?journal_id=29582021-02-26T00:12:43ZHammelmjhammel@graphics-muse.org
<ul></ul><p>I need conditional compilation of the gpio bits in headless mode. Using "-with-headless" (or similar) will compile the gpio.c and link against libgpiod. Without it the build skips those two bits.</p>
<p>See <a href="https://www.gnu.org/software/automake/manual/html_node/Conditional-Sources.html" class="external">Conditional Sources</a> and <a href="https://www.gnu.org/software/automake/manual/html_node/Usage-of-Conditionals.html" class="external">Usage of Conditionals</a> in the automake guide for how to do this.</p> pinet - Feature #815: Add headless modehttps://redmine.graphics-muse.org/issues/815?journal_id=29592021-03-04T02:20:03ZHammelmjhammel@graphics-muse.org
<ul></ul><p>Tested the UI build and it works as expected. The headless mode starts up okay but I need to build the push button and LED in order to test it. I tried using gpioset but that doesn't work while pinet is running since it has the pins "open" already.</p> pinet - Feature #815: Add headless modehttps://redmine.graphics-muse.org/issues/815?journal_id=29662021-03-10T18:22:11ZHammelmjhammel@graphics-muse.org
<ul></ul><p>The pushbutton will use gpio 23 (pin 16) and the LED will use gpio 24 (pin 18). This allows the pushbutton to use the 3v3 line (pin 17) directly across from gpio 24 while the LED uses the ground pin directly adjacent to it (pin 20).</p>
<p>See the <a href="https://pinout.xyz/" class="external">Raspberry Pi GPIO pinout diagram</a>.</p> pinet - Feature #815: Add headless modehttps://redmine.graphics-muse.org/issues/815?journal_id=29672021-03-22T00:43:00ZHammelmjhammel@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>50</i> to <i>100</i></li></ul><p>This is now implemented and has been tested on hardware. I've also regression tested the UI mode.<br />Build is updated so cross.sh supports -H option for a headless build.</p>
<p>There is a caveat with this implementation: it has a static pw for the AP. There is an idea in the comments on how to make this less static, but this release isn't going to worry about it for now.</p>
<p>Code committed and pushed.</p>
<p>Closing issue.</p>