@leandro , documentation for M0187 has been updated to include the 3D CAD file :
https://docs.modalai.com/M0187/#3d-drawings
Alex
@leandro , documentation for M0187 has been updated to include the 3D CAD file :
https://docs.modalai.com/M0187/#3d-drawings
Alex
Hi @rpowerscat ,
You may be looking for these?
Will check availability and get back to you..
Alex
Hello @namanthaker,
We typically do not provide the register configurations for the cameras because the camera drivers may contain confidential information from other sources.
However, the IMX664 camera is integrated with VOXL2, which can be used for testing and experimentation.
By the way, the camera drivers for VOXL2 are not contained in kernel modules, but in sensormodule binaries, which are loaded by the camera pipeline (just FYI). I am not aware of any way of extracting the register settings from those binaries.
Alex
Hi @Rowan-Dempster ,
I made a few changes (based on your branches) to libmodal-pipe and the 32-bit tools and now it seems to be working without any run time errors from the test tools or 64bit camera server:
https://gitlab.com/voxl-public/voxl-sdk/core-libs/libmodal-pipe/-/tree/ion-32bit-test
https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-tools/-/tree/ion-32bit-test
The issue in libmodal-pipe was with a struct size difference for 32 / 64 bit systems.
Please note that when you build libmodal pipe, do not deploy the 64bit version to voxl2 as it will break things. Later we will need to fix this up so the struct padding is platform dependent.
voxl-image-repub is working now . I had to disable the FD caching due to a strange issue (segfault) when inserting into std::map. Did not investigate why that happened. Without duplicating the FD (using the original FD in the callback, everything works). Also the 32-bit version of voxl-inspect-ion-stream works as expected.
Feel free to test this out. If you don't find any more issues, we can try to mainline this change after cleanup. I am a bit concerned that std::map insert failed, but it is possible this is because i am using the latest voxl-cross to build the app, but my test board is running on old SDK (and there could have been a c++ runtime libs update sometime in the recent voxl-cross).
Alex
@voxltester That is not a normal option to choose via voxl-px4.conf. You will need to hand modify the startup script /usr/bin/voxl-px4-start to properly start the driver in i2c mode. Use option -b 4 to select that i2c bus.
Hi @Rowan-Dempster, thank you. I will take a look today.
Alex
Hi @Aaky, can you please confirm which ESC you are using for this drone? This thread is related to the mini ESC, and i just want to make sure that you are not using that for the relatively heavy drone.
Alex
I think you are close.. sure, if you want to share the diff or make a fork of the repos, I will try it out.
Alex
@remill libusb doesn't use cmake. It uses autogen.sh, configure, make, etc. These are standard Linux build tools. If you enter a query such as "How do I build libusb on Linux?" into Google and check AI mode it will provide you with all the steps.
@Rowan-Dempster , yeah that is going to be a problem.. I don't think we have a 32 bit version of libgbm.so for VOXL2. This library is used for allocating the ION buffers.
The next thing to try would be to remove the buffer allocation part from the 32-bit build. Actually receiving and reading the buffer does not involve libgbm. the client just gets a FD, which needs to be mmap'ed and used. (this would remove ability to allocate new ION buffers, which you actually don't need on the client side).
I just commented out the following from the library CMakeLists:
#list(APPEND LIBS_TO_LINK gbm)
#list(APPEND all_src_files src/buffers/gbm.cpp)
and here are the errors:
/usr/bin/aarch64-linux-gnu-ld: CMakeFiles/modal_pipe.dir/src/buffers.cpp.o: in function `mpa_ion_buf_pool_alloc_bufs':
buffers.cpp:(.text+0x10c): undefined reference to `allocate_one_buffer(mpa_ion_buf_t*, int, int, unsigned int, unsigned int)'
/usr/bin/aarch64-linux-gnu-ld: buffers.cpp:(.text+0x184): undefined reference to `init_buffer_allocator()'
/usr/bin/aarch64-linux-gnu-ld: CMakeFiles/modal_pipe.dir/src/buffers.cpp.o: in function `mpa_ion_buf_pool_delete_bufs':
buffers.cpp:(.text+0x24c): undefined reference to `delete_one_buffer(mpa_ion_buf_t*)'
/usr/bin/aarch64-linux-gnu-ld: buffers.cpp:(.text+0x2a0): undefined reference to `shutdown_buffer_allocator()'
You could try replacing those functions with a fatal print statement "not implemented". Maybe that would work?
Alex