Build voxl-uvc-server with voxl-cross
-
@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 = 17But 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.
-
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.
-
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.
-
@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.
-
@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.
-
@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).