<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Last night's virtual meeting touched on the non-robot activities
      we do while working on robots. Here's my weekend. and into this
      week, saga.</p>
    <p>I've been working on the C++ code for the RVR and also pushing my
      understanding of C++20 and earlier standards. My goal is to mount
      a Pi on the RVR. Previously I resurrected a Pi 3B using the latest
      'lite' Pi OS. I only need the command line version for the moment.
      It worked and I could remote debug / run code on it from my PC. <br>
    </p>
    <p>I tweaked the code with some new C++20 capabilities. One was to
      add a semaphore to protect the main data dictionary from races on
      updating and reading the data. Tried it on the Pi and it wouldn't
      run. I'm using GCC-11 on the desktop while the Pi is GCC-10. <br>
    </p>
    <p>First problem was library incompatibility. My code didn't work
      with the older libs on the Pi. Okay, fall back to GCC-10. Second
      problem is while GCC-10 has a lot of C++20 it doesn't have all. It
      is missing the new semaphores. That mean't I couldn't use '-10 for
      my compiler. At least without changing my code.<br>
    </p>
    <p>That started an exploration on how to get GCC-11 on the Pi. On
      the Ubuntu 20.04 desktop I had hacked GCC-11 it onto the system
      using packages from Ubuntu 21.04. Now such path on the Pi.
      Searching the Pi Forums I found a script for building GCC-11 on
      the Pi. On a Pi-4 that can take <i>only</i> hours while on a Pi3B
      it is nearly a day. Started trying to get that to work on Friday.
      Finally gave up on Monday when it simply wouldn't build. Also
      tried cross compiling the Pi version on the desktop. May have
      gotten it to work about the same time I decided to give up on
      Monday. It would have meant another day or two getting it moved
      over to the Pi. <br>
    </p>
    <p>After looking at alternative OSes I decided on Ubuntu 21.04
      Server. Got it working on the Pi3B without too many hassles. It
      runs GCC-11 and my code fine. <br>
    </p>
    <p>I managed to score a Pi Zero 2W off Adafruit. I'd really like to
      use it on the RVR because of lower power consumption. Previously
      I'd tried it with the same SD as the Pi3B and it worked fine
      including running my code from before the changes that provoked
      this adventure. <br>
    </p>
    <p>Nope, the Zero can't find the WiFi. So do I continue fighting
      with the W or fall back on the 3B with hopes that real-soon-now
      the Pi OSes will update to to handle GCC-11 without hassle and
      then the Zero will see the WiFi? Or plan on a Pi 4 when they
      become available.</p>
    <p>One issue is I've got an Oak-D-Lite coming so will need a USB
      port for it. I do have a little adapter from Adafruit which
      provides a single USB on the Zero. Also got a 4 port hub from them
      if more than 1 is needed. <br>
    </p>
    <p>So that's 4-5 days of non-robot activity around my robot
      activity. Those are pretty full days of 8-10 hours since I'm
      retired. In hindsight, maybe I should have changed the code. <br>
    </p>
    <p>Sigh. <br>
    </p>
    <div class="moz-signature">-- <br>
      <font face="Comic Sans MS" color="#000080"> <br>
        -73 - <br>
        <b>Rud Merriam K5RUD</b> <br>
        <a href="http://mysticlakesoftware.com/"> <i>Mystic Lake
            Software</i> </a> <br>
        <br>
      </font>
    </div>
  </body>
</html>