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

    Sentinel PX4 ( NO GPs Lock and firmware problem )

    Sentinel
    3
    21
    1355
    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.
    • tomT
      tom admin @tom
      last edited by tom

      @tom Or outside of the adb shell do adb pull /tmp/test.txt . to pull it off and upload that file here

      1 Reply Last reply Reply Quote 0
      • Eric KatzfeyE
        Eric Katzfey ModalAI Team @Samer Jaradat
        last edited by

        @Samer-Jaradat said in Sentinel PX4 ( NO GPs Lock and firmware problem ):

        gps start -d 7 -b 115200

        Please change the line qshell gps start -d 7 -b 115200 in /etc/modalai/voxl-px4.config to qshell gps start and see if that solves the GPS issue,

        Samer JaradatS 2 Replies Last reply Reply Quote 0
        • Samer JaradatS
          Samer Jaradat @tom
          last edited by

          @tom

          no txt file created after do this command on my computer / tmp

          Eric KatzfeyE 1 Reply Last reply Reply Quote 0
          • Eric KatzfeyE
            Eric Katzfey ModalAI Team @Samer Jaradat
            last edited by

            @Samer-Jaradat Don't worry about the text file. You pasted the output directly into the forum so that's just as good.

            1 Reply Last reply Reply Quote 0
            • Samer JaradatS
              Samer Jaradat @Eric Katzfey
              last edited by

              @Eric-Katzfey
              adb shell creat this result after do this command.

              voxl2:/$ /etc/modalai/voxl-px4.config
              bash: /etc/modalai/voxl-px4.config: Permission denied

              Eric KatzfeyE 1 Reply Last reply Reply Quote 0
              • Eric KatzfeyE
                Eric Katzfey ModalAI Team @Samer Jaradat
                last edited by

                @Samer-Jaradat Don't try to execute that file directly. It is used by px4. Just edit it, save it, and then reboot your drone.

                Samer JaradatS 1 Reply Last reply Reply Quote 0
                • Samer JaradatS
                  Samer Jaradat @Eric Katzfey
                  last edited by

                  @Eric-Katzfey

                  OK, but i don't know how we can edit it,
                  please tell me how i can edit it and save it.

                  Eric KatzfeyE 1 Reply Last reply Reply Quote 0
                  • Eric KatzfeyE
                    Eric Katzfey ModalAI Team @Samer Jaradat
                    last edited by

                    @Samer-Jaradat Please find a tutorial online about using the program vi to edit files in Linux.

                    Samer JaradatS 2 Replies Last reply Reply Quote 0
                    • Samer JaradatS
                      Samer Jaradat @Eric Katzfey
                      last edited by

                      @Eric-Katzfey

                      when i open vi program this is the result as shown on my pc i cant show the command that need to editing

                      GNU nano 2.9.3 /etc/modalai/voxl-px4.config

                      #!/bin/sh

                      PX4 commands need the 'px4-' prefix in bash.

                      (px4-alias.sh is expected to be in the PATH)11111.jpg

                      . px4-alias.sh

                      Figure out what platform we are running on.

                      Eventually there will be a utility called voxl-platform that will

                      return the platform tag or an error code. This utility is not yet

                      ubiquitous so it may be that it isn't available. Trying to call a

                      non existent program will generate an error code by the OS. If the

                      program exists and doesn't return an error code then use the results.

                      PLATFORM=/usr/bin/voxl-platform 2> /dev/null
                      RETURNCODE=$?
                      if [ $RETURNCODE -ne 0 ]; then
                      # If we couldn't get the platform from the voxl-platform utility then check
                      # /etc/version to see if there is an M0052 substring in the version string.$
                      # then we assume that we are on M0052. Otherwise assume M0054.
                      VERSIONSTRING=$(</etc/version)
                      [ Read 271 lines ]
                      ^G Get Help ^O Write Out ^W Where Is ^K Cut Text ^J Justify ^C Cur Pos
                      ^X Exit ^R Read File ^\ Replace ^U Uncut Text^T To Linter ^_ Go To Line

                      1 Reply Last reply Reply Quote 0
                      • Samer JaradatS
                        Samer Jaradat @Eric Katzfey
                        last edited by

                        @Eric-Katzfey
                        this is file open when i use vi program ( no command qshell gps start -d 7 -b 115200 in script file )
                        this is all file command :

                        #!/bin/sh

                        PX4 commands need the 'px4-' prefix in bash.

                        (px4-alias.sh is expected to be in the PATH)

                        . px4-alias.sh

                        Figure out what platform we are running on.

                        Eventually there will be a utility called voxl-platform that will

                        return the platform tag or an error code. This utility is not yet

                        ubiquitous so it may be that it isn't available. Trying to call a

                        non existent program will generate an error code by the OS. If the

                        program exists and doesn't return an error code then use the results.

                        PLATFORM=/usr/bin/voxl-platform 2> /dev/null
                        RETURNCODE=$?
                        if [ $RETURNCODE -ne 0 ]; then
                        # If we couldn't get the platform from the voxl-platform utility then check
                        # then we assume that we are on M0052. Otherwise assume M0054.
                        VERSIONSTRING=$(</etc/version)
                        M0052SUBSTRING="M0052"
                        if [[ "$VERSIONSTRING" == "$M0052SUBSTRING" ]]; then
                        PLATFORM="M0052"
                        else
                        PLATFORM="M0054"
                        fi
                        fi

                        We can only run on M0052 or M0054 so exit with error if that is not the case

                        if [ $PLATFORM = "M0052" ]; then
                        /bin/echo "Running on M0052"
                        if [ "$RC" == "CRSF" ]; then
                        /bin/echo "Error, crossfire not supported on M0052!"
                        exit 0
                        fi
                        elif [ $PLATFORM = "M0054" ]; then
                        /bin/echo "Running on M0054"
                        else
                        /bin/echo "Error, cannot determine platform!"
                        exit 0
                        fi

                        uorb start
                        muorb start

                        In order to just exit after starting the uorb / muorb modules define

                        the environment variable MINIMAL_PX4. (e.g. export MINIMAL_PX4=1)

                        This is useful for testing / debug where you may want to start drivers

                        and modules manually from the px4 command shell

                        if [ ! -z $MINIMAL_PX4 ]; then
                        /bin/echo "Running minimal script"
                        exit 0
                        fi

                        #!/bin/sh

                        PX4 commands need the 'px4-' prefix in bash.

                        (px4-alias.sh is expected to be in the PATH)

                        . px4-alias.sh

                        Figure out what platform we are running on.

                        Eventually there will be a utility called voxl-platform that will

                        return the platform tag or an error code. This utility is not yet

                        ubiquitous so it may be that it isn't available. Trying to call a

                        non existent program will generate an error code by the OS. If the

                        program exists and doesn't return an error code then use the results.

                        PLATFORM=/usr/bin/voxl-platform 2> /dev/null
                        RETURNCODE=$?
                        if [ $RETURNCODE -ne 0 ]; then
                        # If we couldn't get the platform from the voxl-platform utility then check
                        # then we assume that we are on M0052. Otherwise assume M0054.
                        VERSIONSTRING=$(</etc/version)
                        M0052SUBSTRING="M0052"
                        if [[ "$VERSIONSTRING" == "$M0052SUBSTRING" ]]; then
                        PLATFORM="M0052"
                        else
                        PLATFORM="M0054"
                        fi
                        fi

                        We can only run on M0052 or M0054 so exit with error if that is not the case

                        if [ $PLATFORM = "M0052" ]; then
                        /bin/echo "Running on M0052"
                        if [ "$RC" == "CRSF" ]; then
                        /bin/echo "Error, crossfire not supported on M0052!"
                        exit 0
                        fi
                        elif [ $PLATFORM = "M0054" ]; then
                        /bin/echo "Running on M0054"
                        else
                        /bin/echo "Error, cannot determine platform!"
                        exit 0
                        fi

                        uorb start
                        muorb start

                        In order to just exit after starting the uorb / muorb modules define

                        the environment variable MINIMAL_PX4. (e.g. export MINIMAL_PX4=1)

                        This is useful for testing / debug where you may want to start drivers

                        and modules manually from the px4 command shell

                        if [ ! -z $MINIMAL_PX4 ]; then
                        /bin/echo "Running minimal script"
                        exit 0
                        fi

                        Sleep a little here. A lot happens when the uorb and muorb start

                        and we need to make sure that it all completes successfully to avoid

                        any possible race conditions.

                        /bin/sleep 1

                        IMU (accelerometer / gyroscope)

                        Start this first because it gets the high rate interrupts coming in to the

                        DSP. Without this the DSP will oversleep and miss critical timeouts.

                        TODO: Why is that the case?

                        if [ "$IMU" == "ROTATE_IMU_YAW_180" ]; then
                        /bin/echo "Starting IMU driver with yaw 180 rotation"
                        qshell icm42688p start -s -R 4
                        else
                        qshell icm42688p start -s
                        fi

                        /bin/sleep 1

                        Load in all of the parameters that have been saved in the file

                        param load

                        Start logging and use timestamps for log files when possible.

                        Add the "-e" option to start logging immediately. Default is

                        to log only when armed

                        logger start -t

                        We do not change the value of SYS_AUTOCONFIG but if it does not

                        show up as used then it is not reported to QGC and we get a

                        #!/bin/sh

                        PX4 commands need the 'px4-' prefix in bash.

                        (px4-alias.sh is expected to be in the PATH)

                        . px4-alias.sh

                        Figure out what platform we are running on.

                        Eventually there will be a utility called voxl-platform that will

                        return the platform tag or an error code. This utility is not yet

                        ubiquitous so it may be that it isn't available. Trying to call a

                        non existent program will generate an error code by the OS. If the

                        program exists and doesn't return an error code then use the results.

                        PLATFORM=/usr/bin/voxl-platform 2> /dev/null
                        RETURNCODE=$?
                        if [ $RETURNCODE -ne 0 ]; then
                        # If we couldn't get the platform from the voxl-platform utility then check
                        # then we assume that we are on M0052. Otherwise assume M0054.
                        VERSIONSTRING=$(</etc/version)
                        M0052SUBSTRING="M0052"
                        if [[ "$VERSIONSTRING" == "$M0052SUBSTRING" ]]; then
                        PLATFORM="M0052"
                        else
                        PLATFORM="M0054"
                        fi
                        fi

                        We can only run on M0052 or M0054 so exit with error if that is not the case

                        if [ $PLATFORM = "M0052" ]; then
                        /bin/echo "Running on M0052"
                        if [ "$RC" == "CRSF" ]; then
                        /bin/echo "Error, crossfire not supported on M0052!"
                        exit 0
                        fi
                        elif [ $PLATFORM = "M0054" ]; then
                        /bin/echo "Running on M0054"
                        else
                        /bin/echo "Error, cannot determine platform!"
                        exit 0
                        fi

                        uorb start
                        muorb start

                        In order to just exit after starting the uorb / muorb modules define

                        the environment variable MINIMAL_PX4. (e.g. export MINIMAL_PX4=1)

                        This is useful for testing / debug where you may want to start drivers

                        and modules manually from the px4 command shell

                        if [ ! -z $MINIMAL_PX4 ]; then
                        /bin/echo "Running minimal script"
                        exit 0
                        fi

                        Sleep a little here. A lot happens when the uorb and muorb start

                        and we need to make sure that it all completes successfully to avoid

                        any possible race conditions.

                        /bin/sleep 1

                        IMU (accelerometer / gyroscope)

                        Start this first because it gets the high rate interrupts coming in to the

                        DSP. Without this the DSP will oversleep and miss critical timeouts.

                        TODO: Why is that the case?

                        if [ "$IMU" == "ROTATE_IMU_YAW_180" ]; then
                        /bin/echo "Starting IMU driver with yaw 180 rotation"
                        qshell icm42688p start -s -R 4
                        else
                        qshell icm42688p start -s
                        fi

                        /bin/sleep 1

                        Load in all of the parameters that have been saved in the file

                        param load

                        Start logging and use timestamps for log files when possible.

                        Add the "-e" option to start logging immediately. Default is

                        to log only when armed

                        logger start -t

                        We do not change the value of SYS_AUTOCONFIG but if it does not

                        show up as used then it is not reported to QGC and we get a

                        missing parameter error.

                        param touch SYS_AUTOCONFIG

                        Start all of the device drivers on DSP

                        Magnetometer

                        if [ "$GPS" == "MATEK" ]; then
                        # Use this line for the magnetometer in the Matek Systems M8Q-5883 module
                        /bin/echo "Starting Mateksys M8Q-5883 magnetometer"
                        qshell qmc5883l start -R 10 -X -b 1
                        elif [ "$GPS" == "HERE3" ]; then
                        # Use this line for the magnetometer in the Here3 GPS module
                        /bin/echo "Starting Here3 ak09916 magnetometer"
                        qshell ak09916 start -R 2 -X
                        else
                        # Use this line for the magnetometer in the Holybro GPS module
                        /bin/echo "Starting Holybro magnetometer"
                        qshell ist8311 start -R 10 -X -b 1
                        fi

                        LED driver for the Pixhawk 4 GPS module

                        Older units have i2c address 0x39 (57) and newer ones 0x38 (56)

                        M0054 only supports the newer one. M0052 can support either.

                        if [ $PLATFORM = "M0052" ]; then
                        qshell rgbled_ncp5623c start -X -b 1 -f 400 -a 57
                        fi
                        102,18 33%
                        # Use this line for the magnetometer in the Here3 GPS module
                        /bin/echo "Starting Here3 ak09916 magnetometer"
                        qshell ak09916 start -R 2 -X
                        else
                        # Use this line for the magnetometer in the Holybro GPS module
                        /bin/echo "Starting Holybro magnetometer"
                        qshell ist8310 start -R 10 -X -b 1
                        fi

                        LED driver for the Pixhawk 4 GPS module

                        Older units have i2c address 0x39 (57) and newer ones 0x38 (56)

                        M0054 only supports the newer one. M0052 can support either.

                        if [ $PLATFORM = "M0052" ]; then
                        qshell rgbled_ncp5623c start -X -b 1 -f 400 -a 57
                        fi
                        if [ "$GPS" == "HOLYBRO" ]; then
                        /bin/echo "Starting Holybro LED driver"
                        qshell rgbled_ncp5623c start -X -b 1 -f 400 -a 56
                        elif [ "$GPS" == "HERE3" ]; then
                        # Use this line for the Here3 GPS module LED controller
                        /bin/echo "Starting Here3 LED"
                        qshell rgbled start -X -f 400
                        fi

                        Barometer

                        qshell icp10100 start -I -b 5

                        ESC driver

                        We start this even if there is a PX4IO module. If there is

                        a PX4IO (M0065) module it will be plugged into the RC port

                                                                                  117,1         39%
                        
                        1 Reply Last reply Reply Quote 0
                        • Samer JaradatS
                          Samer Jaradat @Eric Katzfey
                          last edited by

                          @Eric-Katzfey
                          this is our GPS status right now

                          INFO [muorb] SLPI: qshell gotten: gps status
                          INFO [muorb] SLPI: Main GPS
                          INFO [muorb] SLPI: protocol: UBX
                          INFO [muorb] SLPI: status: NOT OK, port: 6, baudrate: 0
                          INFO [muorb] SLPI: sat info: disabled
                          INFO [muorb] SLPI: rate reading: 0 B/s
                          INFO [muorb] SLPI: Ok executing command: gps status
                          INFO [muorb] SLPI: Sending qshell retval with timestamp 855143719, current timestamp 855143720
                          INFO [qshell] qshell return value timestamp: 855143719, local time: 855147735
                          pxh>

                          1 Reply Last reply Reply Quote 0
                          • Eric KatzfeyE Eric Katzfey referenced this topic on
                          • First post
                            Last post
                          Powered by NodeBB | Contributors