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

ModalAI Forum

  1. ModalAI Support Forum
  2. VOXL Compute & Autopilot
  3. VOXL 2
  4. How to compile and deploy a custom voxl- script to Sentinel

How to compile and deploy a custom voxl- script to Sentinel

Scheduled Pinned Locked Moved VOXL 2
8 Posts 2 Posters 1.1k 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.
  • Hersch NathanH Offline
    Hersch NathanH Offline
    Hersch Nathan
    wrote on last edited by
    #1

    Hey all,

    I have written a voxl-record-battery script to record battery information to a csv file. I have based it off of VOXL Inspect Battery. How do I compile and deploy this code to a Sentinel?

    The code is written in C++ and I have the voxl-docker installed.

    Thank you for you help.

    tomT 1 Reply Last reply
    0
    • Hersch NathanH Hersch Nathan

      Hey all,

      I have written a voxl-record-battery script to record battery information to a csv file. I have based it off of VOXL Inspect Battery. How do I compile and deploy this code to a Sentinel?

      The code is written in C++ and I have the voxl-docker installed.

      Thank you for you help.

      tomT Offline
      tomT Offline
      tom
      admin
      wrote on last edited by
      #2

      @Hersch-Nathan See here: https://docs.modalai.com/build-environments/#voxl-cross-for-cross-compiling-applications

      Binaries built in voxl-cross will be able to be executed on VOXL2

      Hersch NathanH 1 Reply Last reply
      0
      • tomT tom

        @Hersch-Nathan See here: https://docs.modalai.com/build-environments/#voxl-cross-for-cross-compiling-applications

        Binaries built in voxl-cross will be able to be executed on VOXL2

        Hersch NathanH Offline
        Hersch NathanH Offline
        Hersch Nathan
        wrote on last edited by
        #3

        @tom

        Thank you so much for your help. I was able to build, make, and deploy my package with Voxl-Cross. However, I can not seem to get it to run from the command line.

        I wrote it similar to voxl-logger and voxl-inspect-battery. Do you have any advice?

        tomT 1 Reply Last reply
        0
        • Hersch NathanH Hersch Nathan

          @tom

          Thank you so much for your help. I was able to build, make, and deploy my package with Voxl-Cross. However, I can not seem to get it to run from the command line.

          I wrote it similar to voxl-logger and voxl-inspect-battery. Do you have any advice?

          tomT Offline
          tomT Offline
          tom
          admin
          wrote on last edited by
          #4

          @Hersch-Nathan Do you have any error messages or info to provide so we can determine what the issue is?

          Hersch NathanH 1 Reply Last reply
          0
          • tomT tom

            @Hersch-Nathan Do you have any error messages or info to provide so we can determine what the issue is?

            Hersch NathanH Offline
            Hersch NathanH Offline
            Hersch Nathan
            wrote on last edited by
            #5

            @tom The only error I get is when I try to call the code from the terminal on the Sentinel. See below:

            voxl2:~$ voxl-recorder-battery
            -bash: voxl-recorder-battery: command not found

            Would it be useful for me to post my code?

            Hersch NathanH 1 Reply Last reply
            0
            • Hersch NathanH Hersch Nathan

              @tom The only error I get is when I try to call the code from the terminal on the Sentinel. See below:

              voxl2:~$ voxl-recorder-battery
              -bash: voxl-recorder-battery: command not found

              Would it be useful for me to post my code?

              Hersch NathanH Offline
              Hersch NathanH Offline
              Hersch Nathan
              wrote on last edited by
              #6

              edit - here is the output from running the following clear && ./clean.sh && ./install_build_deps.sh qrb5165 dev && ./build.sh qrb5165 && ./make_package.sh deb && ./deploy_to_voxl.sh ssh 10.3.141.30

              using qrb5165 dev debian repo
              Ign:1 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ InRelease
              Ign:2 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ Release
              Get:3 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ Packages [98.6 kB]
              Fetched 98.6 kB in 1s (108 kB/s)
              Reading package lists... Done
              installing:
              libmodal-json
              libmodal-pipe
              libvoxl-cutils
              voxl-mavlink
              Reading package lists... Done
              Building dependency tree
              Reading state information... Done
              The following NEW packages will be installed:
              libmodal-json:arm64 libmodal-pipe:arm64 libvoxl-cutils:arm64
              voxl-mavlink:arm64
              0 upgraded, 4 newly installed, 0 to remove and 69 not upgraded.
              Need to get 675 kB of archives.
              After this operation, 0 B of additional disk space will be used.
              Get:1 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ libmodal-json 0.4.3-202209281920 [43.8 kB]
              Get:2 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ libmodal-pipe 2.8.5-202306211619 [84.5 kB]
              Get:3 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ libvoxl-cutils 0.1.1-202210072352 [6228 B]
              Get:4 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ voxl-mavlink 0.1.1-202305011701 [541 kB]
              Fetched 675 kB in 1s (704 kB/s)
              debconf: unable to initialize frontend: Dialog
              debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 4.)
              debconf: falling back to frontend: Readline
              Selecting previously unselected package libmodal-json:arm64.
              (Reading database ... 30768 files and directories currently installed.)
              Preparing to unpack .../libmodal-json_0.4.3-202209281920_arm64.deb ...
              Unpacking libmodal-json:arm64 (0.4.3-202209281920) ...
              Selecting previously unselected package libmodal-pipe:arm64.
              Preparing to unpack .../libmodal-pipe_2.8.5-202306211619_arm64.deb ...
              Unpacking libmodal-pipe:arm64 (2.8.5-202306211619) ...
              Selecting previously unselected package libvoxl-cutils:arm64.
              Preparing to unpack .../libvoxl-cutils_0.1.1-202210072352_arm64.deb ...
              Unpacking libvoxl-cutils:arm64 (0.1.1-202210072352) ...
              Selecting previously unselected package voxl-mavlink:arm64.
              Preparing to unpack .../voxl-mavlink_0.1.1-202305011701_arm64.deb ...
              Unpacking voxl-mavlink:arm64 (0.1.1-202305011701) ...
              Setting up voxl-mavlink:arm64 (0.1.1-202305011701) ...
              Setting up libvoxl-cutils:arm64 (0.1.1-202210072352) ...
              Setting up libmodal-json:arm64 (0.4.3-202209281920) ...
              Setting up libmodal-pipe:arm64 (2.8.5-202306211619) ...
              Processing triggers for libc-bin (2.27-3ubuntu1.6) ...

              Done installing dependencies

              -- The C compiler identification is GNU 7.5.0
              -- The CXX compiler identification is GNU 7.5.0
              -- Detecting C compiler ABI info
              -- Detecting C compiler ABI info - done
              -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc-7 - skipped
              -- Detecting C compile features
              -- Detecting C compile features - done
              -- Detecting CXX compiler ABI info
              -- Detecting CXX compiler ABI info - done
              -- Check for working CXX compiler: /usr/bin/aarch64-linux-gnu-g++-7 - skipped
              -- Detecting CXX compile features
              -- Detecting CXX compile features - done
              -- processor: aarch64
              -- librc_math: LIBRC_MATH_SO-NOTFOUND
              -- libmodal_pipe: /usr/lib64/libmodal_pipe.so
              -- libmodal_json: /usr/lib64/libmodal_json.so
              -- libturbojpeg.so: LIBJPEG_TURBO_SO-NOTFOUND
              -- Configuring done
              -- Generating done
              -- Build files have been written to: /home/root/cross-workspace/voxl-recorder-battery/build
              [ 25%] Building CXX object tools/CMakeFiles/voxl-record-battery.dir/voxl-record-battery.cpp.o
              [ 50%] Building C object lib/CMakeFiles/voxl_common_config.dir/voxl_common_config.c.o
              [ 75%] Linking C shared library libvoxl_common_config.so
              [ 75%] Built target voxl_common_config
              In file included from /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp:52:0:
              /home/root/cross-workspace/voxl-recorder-battery/tools/log_defs.h: In function 'void _rotation_to_tait_bryan_xyz_intrinsic(float ()[3], float, float*, float*)':
              /home/root/cross-workspace/voxl-recorder-battery/tools/log_defs.h:158:19: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
              if(fabs(R[0][2]) < 0.9999999){
              ^
              /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp: In function 'int _start_csv(int)':
              /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp:227:66: warning: unknown conversion type character ')' in format [-Wformat=]
              fprintf(fd, "i,timestamp(ns),,Voltage(V),Charge(%),Current(A)\n");
              ^
              /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp:205:6: warning: unused variable 'i' [-Wunused-variable]
              int i;
              ^
              /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp:209:7: warning: unused variable 'raw_path' [-Wunused-variable]
              char raw_path[512];
              ^
              ~~~
              /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp: In function 'int _parse_opts(int, char**)':
              /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp:201:1: warning: control reaches end of non-void function [-Wreturn-type]
              }
              ^
              /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp: At global scope:
              /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp:82:13: warning: 'note' defined but not used [-Wunused-variable]
              static char note[MAX_NOTE_LEN] = "na";
              ^~~~
              [100%] Linking CXX executable voxl-record-battery
              [100%] Built target voxl-record-battery
              Package Name: voxl-recorder-battery
              version Number: 0.0.2
              Consolidate compiler generated dependencies of target voxl-record-battery
              [ 50%] Built target voxl-record-battery
              Consolidate compiler generated dependencies of target voxl_common_config
              [100%] Built target voxl_common_config
              Install the project...
              -- Install configuration: ""
              -- Installing: ../pkg/data/usr/bin/voxl-record-battery
              -- Installing: ../pkg/data/usr/lib64/libvoxl_common_config.so
              -- Installing: ../pkg/data/usr/include/voxl_common_config.h
              /home/root/cross-workspace/voxl-recorder-battery
              starting building Debian Package
              dpkg-deb: building package 'voxl-recorder-battery' in 'voxl-recorder-battery_0.0.2_arm64.deb'.
              DONE
              searching for ssh device
              checking VOXL for dpkg/opkg
              dpkg detected
              (Reading database ... 121951 files and directories currently installed.)
              Preparing to unpack .../voxl-recorder-battery_0.0.2_arm64.deb ...
              Unpacking voxl-recorder-battery (0.0.2) over (0.0.1) ...
              Processing triggers for libc-bin (2.27-3ubuntu1.6) ...

              tomT 1 Reply Last reply
              0
              • Hersch NathanH Hersch Nathan

                edit - here is the output from running the following clear && ./clean.sh && ./install_build_deps.sh qrb5165 dev && ./build.sh qrb5165 && ./make_package.sh deb && ./deploy_to_voxl.sh ssh 10.3.141.30

                using qrb5165 dev debian repo
                Ign:1 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ InRelease
                Ign:2 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ Release
                Get:3 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ Packages [98.6 kB]
                Fetched 98.6 kB in 1s (108 kB/s)
                Reading package lists... Done
                installing:
                libmodal-json
                libmodal-pipe
                libvoxl-cutils
                voxl-mavlink
                Reading package lists... Done
                Building dependency tree
                Reading state information... Done
                The following NEW packages will be installed:
                libmodal-json:arm64 libmodal-pipe:arm64 libvoxl-cutils:arm64
                voxl-mavlink:arm64
                0 upgraded, 4 newly installed, 0 to remove and 69 not upgraded.
                Need to get 675 kB of archives.
                After this operation, 0 B of additional disk space will be used.
                Get:1 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ libmodal-json 0.4.3-202209281920 [43.8 kB]
                Get:2 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ libmodal-pipe 2.8.5-202306211619 [84.5 kB]
                Get:3 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ libvoxl-cutils 0.1.1-202210072352 [6228 B]
                Get:4 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ voxl-mavlink 0.1.1-202305011701 [541 kB]
                Fetched 675 kB in 1s (704 kB/s)
                debconf: unable to initialize frontend: Dialog
                debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 4.)
                debconf: falling back to frontend: Readline
                Selecting previously unselected package libmodal-json:arm64.
                (Reading database ... 30768 files and directories currently installed.)
                Preparing to unpack .../libmodal-json_0.4.3-202209281920_arm64.deb ...
                Unpacking libmodal-json:arm64 (0.4.3-202209281920) ...
                Selecting previously unselected package libmodal-pipe:arm64.
                Preparing to unpack .../libmodal-pipe_2.8.5-202306211619_arm64.deb ...
                Unpacking libmodal-pipe:arm64 (2.8.5-202306211619) ...
                Selecting previously unselected package libvoxl-cutils:arm64.
                Preparing to unpack .../libvoxl-cutils_0.1.1-202210072352_arm64.deb ...
                Unpacking libvoxl-cutils:arm64 (0.1.1-202210072352) ...
                Selecting previously unselected package voxl-mavlink:arm64.
                Preparing to unpack .../voxl-mavlink_0.1.1-202305011701_arm64.deb ...
                Unpacking voxl-mavlink:arm64 (0.1.1-202305011701) ...
                Setting up voxl-mavlink:arm64 (0.1.1-202305011701) ...
                Setting up libvoxl-cutils:arm64 (0.1.1-202210072352) ...
                Setting up libmodal-json:arm64 (0.4.3-202209281920) ...
                Setting up libmodal-pipe:arm64 (2.8.5-202306211619) ...
                Processing triggers for libc-bin (2.27-3ubuntu1.6) ...

                Done installing dependencies

                -- The C compiler identification is GNU 7.5.0
                -- The CXX compiler identification is GNU 7.5.0
                -- Detecting C compiler ABI info
                -- Detecting C compiler ABI info - done
                -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc-7 - skipped
                -- Detecting C compile features
                -- Detecting C compile features - done
                -- Detecting CXX compiler ABI info
                -- Detecting CXX compiler ABI info - done
                -- Check for working CXX compiler: /usr/bin/aarch64-linux-gnu-g++-7 - skipped
                -- Detecting CXX compile features
                -- Detecting CXX compile features - done
                -- processor: aarch64
                -- librc_math: LIBRC_MATH_SO-NOTFOUND
                -- libmodal_pipe: /usr/lib64/libmodal_pipe.so
                -- libmodal_json: /usr/lib64/libmodal_json.so
                -- libturbojpeg.so: LIBJPEG_TURBO_SO-NOTFOUND
                -- Configuring done
                -- Generating done
                -- Build files have been written to: /home/root/cross-workspace/voxl-recorder-battery/build
                [ 25%] Building CXX object tools/CMakeFiles/voxl-record-battery.dir/voxl-record-battery.cpp.o
                [ 50%] Building C object lib/CMakeFiles/voxl_common_config.dir/voxl_common_config.c.o
                [ 75%] Linking C shared library libvoxl_common_config.so
                [ 75%] Built target voxl_common_config
                In file included from /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp:52:0:
                /home/root/cross-workspace/voxl-recorder-battery/tools/log_defs.h: In function 'void _rotation_to_tait_bryan_xyz_intrinsic(float ()[3], float, float*, float*)':
                /home/root/cross-workspace/voxl-recorder-battery/tools/log_defs.h:158:19: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
                if(fabs(R[0][2]) < 0.9999999){
                ^
                /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp: In function 'int _start_csv(int)':
                /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp:227:66: warning: unknown conversion type character ')' in format [-Wformat=]
                fprintf(fd, "i,timestamp(ns),,Voltage(V),Charge(%),Current(A)\n");
                ^
                /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp:205:6: warning: unused variable 'i' [-Wunused-variable]
                int i;
                ^
                /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp:209:7: warning: unused variable 'raw_path' [-Wunused-variable]
                char raw_path[512];
                ^
                ~~~
                /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp: In function 'int _parse_opts(int, char**)':
                /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp:201:1: warning: control reaches end of non-void function [-Wreturn-type]
                }
                ^
                /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp: At global scope:
                /home/root/cross-workspace/voxl-recorder-battery/tools/voxl-record-battery.cpp:82:13: warning: 'note' defined but not used [-Wunused-variable]
                static char note[MAX_NOTE_LEN] = "na";
                ^~~~
                [100%] Linking CXX executable voxl-record-battery
                [100%] Built target voxl-record-battery
                Package Name: voxl-recorder-battery
                version Number: 0.0.2
                Consolidate compiler generated dependencies of target voxl-record-battery
                [ 50%] Built target voxl-record-battery
                Consolidate compiler generated dependencies of target voxl_common_config
                [100%] Built target voxl_common_config
                Install the project...
                -- Install configuration: ""
                -- Installing: ../pkg/data/usr/bin/voxl-record-battery
                -- Installing: ../pkg/data/usr/lib64/libvoxl_common_config.so
                -- Installing: ../pkg/data/usr/include/voxl_common_config.h
                /home/root/cross-workspace/voxl-recorder-battery
                starting building Debian Package
                dpkg-deb: building package 'voxl-recorder-battery' in 'voxl-recorder-battery_0.0.2_arm64.deb'.
                DONE
                searching for ssh device
                checking VOXL for dpkg/opkg
                dpkg detected
                (Reading database ... 121951 files and directories currently installed.)
                Preparing to unpack .../voxl-recorder-battery_0.0.2_arm64.deb ...
                Unpacking voxl-recorder-battery (0.0.2) over (0.0.1) ...
                Processing triggers for libc-bin (2.27-3ubuntu1.6) ...

                tomT Offline
                tomT Offline
                tom
                admin
                wrote on last edited by
                #7

                @Hersch-Nathan Looks like you called the binary voxl-record-battery based on

                 Installing: ../pkg/data/usr/bin/voxl-record-battery
                

                whereas you're calling voxl-recorder-battery

                Hersch NathanH 1 Reply Last reply
                0
                • tomT tom

                  @Hersch-Nathan Looks like you called the binary voxl-record-battery based on

                   Installing: ../pkg/data/usr/bin/voxl-record-battery
                  

                  whereas you're calling voxl-recorder-battery

                  Hersch NathanH Offline
                  Hersch NathanH Offline
                  Hersch Nathan
                  wrote on last edited by
                  #8

                  @tom Thank you so much for you help! I got my code to deploy to the voxl! Now on to bug fixing!

                  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