• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Register
  • Login
ModalAI Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
    • Register
    • Login

    Build voxl-uvc-server with voxl-cross

    Modal Pipe Architecture (MPA)
    2
    26
    2.6k
    Loading More Posts
    • 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.
    • P
      Philemon Benner @Eric Katzfey
      last edited by 14 Mar 2022, 08:49

      @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 Reply Quote 0
      • P
        Philemon Benner
        last edited by 14 Mar 2022, 09:09

        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 Reply Quote 0
        • P
          Philemon Benner
          last edited by Philemon Benner 14 Mar 2022, 09:39 14 Mar 2022, 09:35

          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.

          E 1 Reply Last reply 14 Mar 2022, 16:28 Reply Quote 0
          • E
            Eric Katzfey ModalAI Team @Philemon Benner
            last edited by 14 Mar 2022, 16:28

            @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.

            P 1 Reply Last reply 15 Mar 2022, 19:41 Reply Quote 0
            • P
              Philemon Benner @Eric Katzfey
              last edited by 15 Mar 2022, 19:41

              @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.

              E 1 Reply Last reply 15 Mar 2022, 19:59 Reply Quote 0
              • E
                Eric Katzfey ModalAI Team @Philemon Benner
                last edited by 15 Mar 2022, 19:59

                @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 Reply Quote 0
                21 out of 26
                • First post
                  21/26
                  Last post
                Powered by NodeBB | Contributors