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

    Getting the ulogs

    VOXL 2
    2
    13
    265
    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.
    • Noe MedranoN
      Noe Medrano
      last edited by

      I have seen a few posts about using adb pull /data/... to get the ulogs. I have tried doing this and I get the error:

      bash adb: command not found
      

      Q1: What could be causing this error? I am connected via usb and using the adb shell.

      Q2: If I am able to connect via wifi and ssh, is there a similar command that would pull the ulogs via wifi?

      Thanks.

      1 Reply Last reply Reply Quote 0
      • tomT
        tom admin
        last edited by

        @Noe-Medrano ADB is a program that can be installed on your host PC:

        https://docs.modalai.com/voxl2-system-image/#missing-adb

        1 Reply Last reply Reply Quote 0
        • tomT
          tom admin
          last edited by

          @Noe-Medrano But if you're connected via. wifi you can use SCP

          https://linuxize.com/post/how-to-use-scp-command-to-securely-transfer-files/

          1 Reply Last reply Reply Quote 0
          • Noe MedranoN
            Noe Medrano
            last edited by

            I am connected via USB. When I do the adb devices and adb shell all is fine and I can connect to the voxl. When I tried using it with pull is when I got that error.

            1 Reply Last reply Reply Quote 0
            • tomT
              tom admin
              last edited by

              @Noe-Medrano Are you running that command outside of adb or inside?

              Noe MedranoN 1 Reply Last reply Reply Quote 0
              • Noe MedranoN
                Noe Medrano @tom
                last edited by

                @tom I think inside.
                So I connect the VOXL2 via USB. Then I do the adb devices. When it shows up, then I do adb shell. At this point is where I tried the adb pull. Is there something else that I have to do in between those two steps?
                I also did the bash after the adb shell then tried the adb pull..

                1 Reply Last reply Reply Quote 0
                • tomT
                  tom admin
                  last edited by

                  @Noe-Medrano So you'll want to do adb pull before you do adb shell.

                  adb shell brings you onto the VOXL2 itself, whereas adb pull needs to be ran on your host PC.

                  Noe MedranoN 1 Reply Last reply Reply Quote 0
                  • Noe MedranoN
                    Noe Medrano @tom
                    last edited by

                    @tom THANKS!!! Is there a way to get the list of ulogs before it downloads them. That way I can write a script that only pulls on the selected ones? Preferably using wifi. I am looking at SCP right now like you suggested for downloading them via wifi.

                    1 Reply Last reply Reply Quote 0
                    • tomT
                      tom admin
                      last edited by

                      @Noe-Medrano One option as seen in this post: https://forum.modalai.com/topic/1524/downloading-px4-ulog-files is to connect to QGC over WiFi and download the log files through there.

                      Otherwise you could see a list of all the log files on target with ls /data/px4/log

                      You could call this command via. adb in one line like adb shell ls /data/px4/log

                      If you your VOXL2 is on the same WiFi network as your host PC you could use scp to pull all log files in one line with something like this:

                      scp -r root@VOXL2_IP:/data/px4/log HOST_PC_DIRECTORY

                      where VOXL2_IP is the IP address of your VOXL2 and HOST_PC_DIRECTORY is the directory on your host pc that you'd like the folder to be copied to

                      Noe MedranoN 2 Replies Last reply Reply Quote 0
                      • Noe MedranoN
                        Noe Medrano @tom
                        last edited by Noe Medrano

                        @tom
                        Maybe you can help me find an explanation for this. I have been using the mavsdk (python) and the jmavsim. So fart I have been testing my scripts using the jmavsim and QGC. I am able to connect to the "drone" in the sim and view the same files that are listed in QGC. This is with no voxl connected to the computer. So as I was looking for away to connect to the voxl and download the ulogs. I did not change any code on python scripts. The voxl happened to be powered and the wifi antenna connected. So my scripts connected to the voxl instead of the simulator.

                        When I was working with the sim only i was using the following to connect to the "drone".

                        drone = System()
                        await drone.connect(system_address="udp://:14550")
                        

                        I have made no changes to my python scripts. Is there something in the voxl or the mavsdk that would connect it to the voxl's wifi instead of the sim? The IP of the voxl is nowhere in my code nor connected to the computer. Before I connect to the drone the following is code appears.

                        async def launch_px4():
                            # Launch the PX4 simulator
                            px4_directory = '/home/nm/dev/PX4-Autopilot'
                            run_px4 = f'cd {px4_directory} && HEADLESS = 1 make px4_sitl jmavsim'
                            px4_process = subprocess.call(['gnome-terminal', '--', 'bash', '-c', run_px4])
                            return px4_process
                        

                        I am just trying to understand what is happening so I know how to edit and create what we need.

                        Thanks.

                        btw, all your suggestions are working. Thank you.

                        1 Reply Last reply Reply Quote 0
                        • tomT
                          tom admin
                          last edited by

                          @Noe-Medrano I'd recommend starting a new thread for this topic, that way our entire dev team will get eyes on it

                          1 Reply Last reply Reply Quote 0
                          • Noe MedranoN
                            Noe Medrano @tom
                            last edited by

                            @tom if I use scp to get the file from the drone, how an I specify a specific file? Write now I have a script that will show me all the logs on the voxl. When I select one of those files I can download them. However, the download right now takes forever over wifi. But when I tested using the scp method it was much faster. Since I need file and destination, is there a way that I can use the index to get the file path on the voxl? I am using mavsdk and their download_log and python code to get the ulogs.

                            1 Reply Last reply Reply Quote 0
                            • tomT
                              tom admin
                              last edited by

                              @Noe-Medrano scp is a basic linux utility so you should be able to find solid documentation on it's usage, but you can do the following to download a single file:

                              scp root@VOXL2_IP:/data/px4/log/FILE_NAME HOST_PC_DIRECTORY
                              
                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Powered by NodeBB | Contributors