Building the edited source code



  • Hello,

    I've got the VOXL m500 and want to edit the voxl-vision-px4 source code to get the MoCap pose message instead of the VIO pose message to the EKF2. However, I am unsure of how to go about it. Should I follow the build instructions given and build voxl-cross first and then use that to build the voxl-vision-px4 package? Will this override the voxl-vision-px4 package that comes as a part of the VOXL software suite? Or is there a way to edit and build the existing source code of the package on the VOXL?


  • Dev Team

    VVPX4 is built using the voxl-cross docker image, while we do have build instructions for that and you can build it yourself if you'd like, we also provide a standard pre-built one on our downloads page. After that you can follow the build/deploy instructions from the repo. Doing this will override the default one installed on your voxl, but you can always redownload and install the old one from our package repo if something goes wrong.

    It is possible to build the packages on-board but we generally do not recommend or provide support for this since we've carefully set up the build environments and toolchains to set up the compilation correctly. This allows us to help debug in a reproducible manner as opposed to trying to debug custom source built in an unkown environment.



  • @Alex-Gardner Thanks for the clarification!

    I'm following the instructions here to install the pre-built voxl-cross image but don't have the required directory.

    Screenshot from 2022-06-28 17-32-43.jpg

    Can I change the path to '~/bin/${RUN_SCRIPT}' in the script?


  • Dev Team

    The docker images are not meant to be run on voxl, they're made to emulate the voxl's environment on a desktop computer. You should install the script and image on your desktop, build there, and then use the deploy script to send the built package over to a voxl via adb or ssh



  • @Alex-Gardner Right. Thank you!

    I'm trying to build the VVPX4 using the voxl-cross image on my desktop but I'm getting the following errors.
    Screenshot from 2022-06-29 15-02-18.png

    Any pointers to what I might be missing?


  • Dev Team

    Did you run the install_build_deps script?



  • @Alex-Gardner Yes, I did.

    2nd.png


  • Dev Team

    You should only be installing/building for one platform (both in general but especially within a single docker instance). APQ8096 is the processor on VOXL and QRB5165 is the processor on RB5 Flight/VOXL2.

    For this specific issue though, it looks like you need to be pulling from the staging repo, not the stable one since you're building effectively the staging version of vvpx4 (stable would be on the sdk-0.7 tag). The function you're missing was added in libmodal-pipe 2.1.8 but stable has 2.1.7



  • @Alex-Gardner Right. Thanks a lot!

    When deploying to VOXL, I'm getting the following message:
    3.png

    From what I understand the VVPX4 is not overridden by the new VVPX4 package pushed to the VOXL. Do I need to change the VVPX4 version in any of the scripts?


  • Dev Team

    Ah that's the last issue, our latest stuff requires a tweak to the opkg environment to allow packages marked arm64 (we're so very close to releasing a new system image with this in it), if you add the line arch arm64 7 to /etc/opkg/arch.conf you'll be able to install the package you just built.



  • @Alex-Gardner Apparently not the last for me!

    So now the package is configured but not installed:
    4.png
    And VOXL does not connect to QGC now. I tried reinstalling the unedited package and get the same message and no connection to QGC.



  • @Alex-Gardner And factory resetting it

    voxl-configure-mpa --factory-reset
    

    shows the following:

    Configuring VOXL Vision PX4
    
    wiping old config file
    voxl-vision-px4: error while loading shared libraries: libmodalcv.so.1: cannot open shared object file: No such file or directory
    enabling  voxl-vision-px4 systemd service
    starting  voxl-vision-px4 systemd service
    Done configuring voxl-vision-px4
    

  • Dev Team

    I've uploaded the most recent platform release (3.8.0-0.7) for VOXL with a number of important changes to support our most recent stuff. If you flash this new platform and then deploy your custom VVPX4, there shouldn't be any more issues.



  • @Alex-Gardner Great, thanks!


Log in to reply