Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

  1. ModalAI Support Forum
  2. Software Development
  3. Modal Pipe Architecture (MPA)
  4. Build voxl-uvc-server with voxl-cross

Build voxl-uvc-server with voxl-cross

Scheduled Pinned Locked Moved Modal Pipe Architecture (MPA)
26 Posts 2 Posters 8.5k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Eric KatzfeyE Eric Katzfey

    @Philemon-Benner You can only install a Debian package with dpkg, which we have on our qrb5165 based platform, but not on our 820 based Voxl. That only has opkg and you need ipk packages, not debian packages.

    Philemon BennerP Offline
    Philemon BennerP Offline
    Philemon Benner
    Regular
    wrote on last edited by
    #21

    @Eric-Katzfey Ok so i got working now but i am having issues with the Format. So when using UVC Server i got the response that frame format succeed on index 2. In your voxl-uvc-server code at the Top Frame Format 2 should be:

    static enum uvc_frame_format supported_frame_format[NUM_SUPPORTED_FRAME_FORMATS] =
         {UVC_FRAME_FORMAT_YUYV, UVC_FRAME_FORMAT_UYVY, UVC_FRAME_FORMAT_NV12};
    static int supported_mpa_frame_format[NUM_SUPPORTED_FRAME_FORMATS] =
         {IMAGE_FORMAT_YUV422, IMAGE_FORMAT_YUV422_UYVY, IMAGE_FORMAT_NV12};
    

    supported mpa_frame_format = IMAGE_FORMAT_NV12 = 1 // regarding to https://gitlab.com/voxl-public/modal-pipe-architecture/libmodal_pipe/-/blob/master/library/include/modal_pipe_interfaces.h
    frame_format supported_frame_format = FRAME_FORMAT_NV12 = 17

    But still i am getting a real weird looking image(wrong colors) voxl-portal. Are the Configurations right that i use, or is it something else? Can't upload any pictures rn becuase of some server error.

    1 Reply Last reply
    0
    • Philemon BennerP Offline
      Philemon BennerP Offline
      Philemon Benner
      Regular
      wrote on last edited by
      #22

      Ok so apparrently the Frame format stuff is alright when directly writing the frame from the callback to the pipe server. I think it's some fault in the code. One Question why are you using c instead of c++? I'm not an expert at c/c++ stuff but i was told that c++ is generally faster than c.

      1 Reply Last reply
      0
      • Philemon BennerP Offline
        Philemon BennerP Offline
        Philemon Benner
        Regular
        wrote on last edited by Philemon Benner
        #23

        Ok i got it working now.
        @Eric-Katzfey i don't know anything of the qrb thing but in the dev libuvc branch, if you build it in 64-Bit version, why is it then copied in the 32-Bit dir in your make_package.sh L:87-89:

        sudo mkdir -p $DATA_DIR/usr/lib
        sudo cp build/libuvc.so.0.0.6 $DATA_DIR/usr/lib
        sudo cp build/libuvc.a $DATA_DIR/usr/lib
        

        an if else would be nice.

        sudo mkdir -p $DATA_DIR/usr/lib64
        sudo cp build/libuvc.so.0.0.6 $DATA_DIR/usr/lib64
        sudo cp build/libuvc.a $DATA_DIR/usr/lib64
        

        also had to add:

        sudo cp /usr/lib/aarch64-linux-gnu/libjpeg.so.8 $DATA_DIR/usr/lib64
        sudo cp /usr/lib/aarch64-linux-gnu/libjpeg.so.8.1.2 $DATA_DIR/usr/lib64
        

        to make it work on voxl because voxl doesn't have it installed by default.

        Eric KatzfeyE 1 Reply Last reply
        0
        • Philemon BennerP Philemon Benner

          Ok i got it working now.
          @Eric-Katzfey i don't know anything of the qrb thing but in the dev libuvc branch, if you build it in 64-Bit version, why is it then copied in the 32-Bit dir in your make_package.sh L:87-89:

          sudo mkdir -p $DATA_DIR/usr/lib
          sudo cp build/libuvc.so.0.0.6 $DATA_DIR/usr/lib
          sudo cp build/libuvc.a $DATA_DIR/usr/lib
          

          an if else would be nice.

          sudo mkdir -p $DATA_DIR/usr/lib64
          sudo cp build/libuvc.so.0.0.6 $DATA_DIR/usr/lib64
          sudo cp build/libuvc.a $DATA_DIR/usr/lib64
          

          also had to add:

          sudo cp /usr/lib/aarch64-linux-gnu/libjpeg.so.8 $DATA_DIR/usr/lib64
          sudo cp /usr/lib/aarch64-linux-gnu/libjpeg.so.8.1.2 $DATA_DIR/usr/lib64
          

          to make it work on voxl because voxl doesn't have it installed by default.

          Eric KatzfeyE Offline
          Eric KatzfeyE Offline
          Eric Katzfey
          ModalAI Team
          wrote on last edited by
          #24

          @Philemon-Benner I'm not sure where those lines of code came from. The file make_package.sh in the dev branch has this for lines 87-89:

          	sudo mkdir -p $DATA_DIR/usr/lib
          	sudo cp $BUILD_TYPE/libuvc.so.0.0.6 $DATA_DIR/usr/lib
          	sudo cp $BUILD_TYPE/libuvc.a $DATA_DIR/usr/lib
          

          Where BUILD_TYPE will be either build32 or build64. It looks like you are taking from lines 65-66 on the master branch.

          Philemon BennerP 1 Reply Last reply
          0
          • Eric KatzfeyE Eric Katzfey

            @Philemon-Benner I'm not sure where those lines of code came from. The file make_package.sh in the dev branch has this for lines 87-89:

            	sudo mkdir -p $DATA_DIR/usr/lib
            	sudo cp $BUILD_TYPE/libuvc.so.0.0.6 $DATA_DIR/usr/lib
            	sudo cp $BUILD_TYPE/libuvc.a $DATA_DIR/usr/lib
            

            Where BUILD_TYPE will be either build32 or build64. It looks like you are taking from lines 65-66 on the master branch.

            Philemon BennerP Offline
            Philemon BennerP Offline
            Philemon Benner
            Regular
            wrote on last edited by
            #25

            @Eric-Katzfey yeah that was mb it's the one from the dev branch, but still even if i'ts 64-Bit, files are copied to 32-Bit lib:

            sudo mkdir -p $DATA_DIR/usr/lib
            

            instead of:

            sudo mkdir -p $DATA_DIR/usr/lib64
            

            for 64-Bit. Correct me if i'm wrong.

            Eric KatzfeyE 1 Reply Last reply
            0
            • Philemon BennerP Philemon Benner

              @Eric-Katzfey yeah that was mb it's the one from the dev branch, but still even if i'ts 64-Bit, files are copied to 32-Bit lib:

              sudo mkdir -p $DATA_DIR/usr/lib
              

              instead of:

              sudo mkdir -p $DATA_DIR/usr/lib64
              

              for 64-Bit. Correct me if i'm wrong.

              Eric KatzfeyE Offline
              Eric KatzfeyE Offline
              Eric Katzfey
              ModalAI Team
              wrote on last edited by
              #26

              @Philemon-Benner Our qrb5165 based platforms put 64 bit libraries into /usr/lib. On Voxl the 64 bit libraries go into /usr/lib64. So the 64 bit support is specifically for our qrb5165 based platforms (e.g. RB5 Flight).

              1 Reply Last reply
              0

              Hello! It looks like you're interested in this conversation, but you don't have an account yet.

              Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

              With your input, this post could be even better 💗

              Register Login
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              ModalAI
              Categories Recent Tags ModalAI.com Docs
              © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
              • Login

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups