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. QGC Starts up showing a heading of north no mater the direction of compass

QGC Starts up showing a heading of north no mater the direction of compass

Scheduled Pinned Locked Moved VOXL 2
29 Posts 2 Posters 6.2k Views 2 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.
  • Chase RileyC Chase Riley

    @Eric-Katzfey I was able to change the argument to -R 4 in the if and else statements in the driver start line. I changed the if first and saw no change after a restart or voxl-px4 and a reboot. I went back in a changed the else statement and got the following results. I still am seeing the same behavior with the compass though. My heading always starts facing north.

    Starting IMU driver with no rotation
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [qshell] Send cmd: 'icm42688p start -s -R 4'
    INFO  [muorb] SLPI: qshell gotten: icm42688p start -s -R 4
    INFO  [muorb] SLPI:   arg0 = 'icm42688p'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI:   arg2 = '-s'
    
    INFO  [muorb] SLPI:   arg3 = '-R'
    
    INFO  [muorb] SLPI:   arg4 = '4'
    
    INFO  [muorb] SLPI: *** SPI Device ID 0x26000a 2490378
    INFO  [uORB] Advertising remote topic sensor_accel
    INFO  [uORB] Advertising remote topic sensor_gyro
    INFO  [muorb] SLPI: ICM42688P::probe successful!
    INFO  [muorb] SLPI: on SPI bus 1
    INFO  [muorb] SLPI: icm42688p #0 on SPI bus 1
    INFO  [muorb] SLPI:  rotation 4
    INFO  [muorb] SLPI: >>> ICM42688P this: 3176ec10
    INFO  [muorb] SLPI: 
    
    INFO  [muorb] SLPI: Ok executing command: icm42688p start -s -R 4
    INFO  [uORB] Advertising remote topic qshell_retval
    INFO  [muorb] SLPI: >>> ICM42688P this: 3176ec10
    INFO  [qshell] qshell return value timestamp: 473947504, local time: 473954013
    INFO  [muorb] SLPI: >>> ICM42688P this: 3176ec10
    INFO  [muorb] SLPI: Register interrupt b21d3164 e620609c 3176ec10
    INFO  [uORB] Advertising remote topic sensor_gyro_fifo
    INFO  [uORB] Advertising remote topic sensor_accel_fifo
    INFO  [uORB] Advertising remote topic imu_server
    INFO  [qshell] Send cmd: 'icp101xx start -I -b 5'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: icp101xx start -I -b 5
    INFO  [muorb] SLPI:   arg0 = 'icp101xx'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI:   arg2 = '-I'
    
    INFO  [muorb] SLPI:   arg3 = '-b'
    
    INFO  [muorb] SLPI:   arg4 = '5'
    
    INFO  [muorb] SLPI: *** I2C Device ID 0xb76329 12018473
    INFO  [muorb] SLPI: icp101xx #0 on I2C bus 5
    INFO  [muorb] SLPI:  address 0x63
    INFO  [muorb] SLPI: 
    
    INFO  [muorb] SLPI: Ok executing command: icp101xx start -I -b 5
    INFO  [qshell] qshell return value timestamp: 473990855, local time: 473992752
    Starting ist8310 magnetometer
    INFO  [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: ist8310 start -R 10 -X -b 1
    INFO  [muorb] SLPI:   arg0 = 'ist8310'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI:   arg2 = '-R'
    
    INFO  [muorb] SLPI:   arg3 = '10'
    
    INFO  [muorb] SLPI:   arg4 = '-X'
    
    INFO  [muorb] SLPI:   arg5 = '-b'
    
    INFO  [muorb] SLPI:   arg6 = '1'
    
    INFO  [muorb] SLPI: *** I2C Device ID 0x60e09 396809
    INFO  [muorb] SLPI: ist8310 #0 on I2C bus 1
    INFO  [muorb] SLPI:  (external)
    INFO  [muorb] SLPI:  address 0xE
    INFO  [muorb] SLPI:  rotation 10
    INFO  [muorb] SLPI: 
    
    INFO  [muorb] SLPI: Ok executing command: ist8310 start -R 10 -X -b 1
    INFO  [qshell] qshell return value timestamp: 474026327, local time: 474027995
    INFO  [qshell] Send cmd: 'gps start'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: gps start
    INFO  [muorb] SLPI:   arg0 = 'gps'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI: Creating pthread gps
    
    INFO  [muorb] SLPI: Successfully created px4 task PX4_gps with tid 2097648
    INFO  [muorb] SLPI: Ok executing command: gps start
    INFO  [qshell] qshell return value timestamp: 474050364, local time: 474051234
    Starting Holybro LED driver
    INFO  [muorb] SLPI: >>> ICM42688P this: 3176ec10
    INFO  [qshell] Send cmd: 'rgbled_ncp5623c start -X -b 1 -f 400 -a 56'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: rgbled_ncp5623c start -X -b 1 -f 400 -a 56
    INFO  [muorb] SLPI:   arg0 = 'rgbled_ncp5623c'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI:   arg2 = '-X'
    
    INFO  [muorb] SLPI:   arg3 = '-b'
    
    INFO  [muorb] SLPI:   arg4 = '1'
    
    INFO  [muorb] SLPI:   arg5 = '-f'
    
    INFO  [muorb] SLPI:   arg6 = '400'
    
    INFO  [muorb] SLPI:   arg7 = '-a'
    
    INFO  [muorb] SLPI:   arg8 = '56'
    
    INFO  [muorb] SLPI: *** I2C Device ID 0x7b3809 8075273
    INFO  [muorb] SLPI: rgbled_ncp5623c #0 on I2C bus 1
    INFO  [muorb] SLPI:  (external)
    INFO  [muorb] SLPI:  address 0x38
    INFO  [muorb] SLPI: 
    
    Eric KatzfeyE Offline
    Eric KatzfeyE Offline
    Eric Katzfey
    ModalAI Team
    wrote on last edited by
    #8

    @Chase-Riley Hmmm. Do you also have VIO running?

    1 Reply Last reply
    0
    • Chase RileyC Chase Riley

      @Eric-Katzfey I was able to change the argument to -R 4 in the if and else statements in the driver start line. I changed the if first and saw no change after a restart or voxl-px4 and a reboot. I went back in a changed the else statement and got the following results. I still am seeing the same behavior with the compass though. My heading always starts facing north.

      Starting IMU driver with no rotation
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [qshell] Send cmd: 'icm42688p start -s -R 4'
      INFO  [muorb] SLPI: qshell gotten: icm42688p start -s -R 4
      INFO  [muorb] SLPI:   arg0 = 'icm42688p'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [muorb] SLPI:   arg2 = '-s'
      
      INFO  [muorb] SLPI:   arg3 = '-R'
      
      INFO  [muorb] SLPI:   arg4 = '4'
      
      INFO  [muorb] SLPI: *** SPI Device ID 0x26000a 2490378
      INFO  [uORB] Advertising remote topic sensor_accel
      INFO  [uORB] Advertising remote topic sensor_gyro
      INFO  [muorb] SLPI: ICM42688P::probe successful!
      INFO  [muorb] SLPI: on SPI bus 1
      INFO  [muorb] SLPI: icm42688p #0 on SPI bus 1
      INFO  [muorb] SLPI:  rotation 4
      INFO  [muorb] SLPI: >>> ICM42688P this: 3176ec10
      INFO  [muorb] SLPI: 
      
      INFO  [muorb] SLPI: Ok executing command: icm42688p start -s -R 4
      INFO  [uORB] Advertising remote topic qshell_retval
      INFO  [muorb] SLPI: >>> ICM42688P this: 3176ec10
      INFO  [qshell] qshell return value timestamp: 473947504, local time: 473954013
      INFO  [muorb] SLPI: >>> ICM42688P this: 3176ec10
      INFO  [muorb] SLPI: Register interrupt b21d3164 e620609c 3176ec10
      INFO  [uORB] Advertising remote topic sensor_gyro_fifo
      INFO  [uORB] Advertising remote topic sensor_accel_fifo
      INFO  [uORB] Advertising remote topic imu_server
      INFO  [qshell] Send cmd: 'icp101xx start -I -b 5'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: icp101xx start -I -b 5
      INFO  [muorb] SLPI:   arg0 = 'icp101xx'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [muorb] SLPI:   arg2 = '-I'
      
      INFO  [muorb] SLPI:   arg3 = '-b'
      
      INFO  [muorb] SLPI:   arg4 = '5'
      
      INFO  [muorb] SLPI: *** I2C Device ID 0xb76329 12018473
      INFO  [muorb] SLPI: icp101xx #0 on I2C bus 5
      INFO  [muorb] SLPI:  address 0x63
      INFO  [muorb] SLPI: 
      
      INFO  [muorb] SLPI: Ok executing command: icp101xx start -I -b 5
      INFO  [qshell] qshell return value timestamp: 473990855, local time: 473992752
      Starting ist8310 magnetometer
      INFO  [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: ist8310 start -R 10 -X -b 1
      INFO  [muorb] SLPI:   arg0 = 'ist8310'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [muorb] SLPI:   arg2 = '-R'
      
      INFO  [muorb] SLPI:   arg3 = '10'
      
      INFO  [muorb] SLPI:   arg4 = '-X'
      
      INFO  [muorb] SLPI:   arg5 = '-b'
      
      INFO  [muorb] SLPI:   arg6 = '1'
      
      INFO  [muorb] SLPI: *** I2C Device ID 0x60e09 396809
      INFO  [muorb] SLPI: ist8310 #0 on I2C bus 1
      INFO  [muorb] SLPI:  (external)
      INFO  [muorb] SLPI:  address 0xE
      INFO  [muorb] SLPI:  rotation 10
      INFO  [muorb] SLPI: 
      
      INFO  [muorb] SLPI: Ok executing command: ist8310 start -R 10 -X -b 1
      INFO  [qshell] qshell return value timestamp: 474026327, local time: 474027995
      INFO  [qshell] Send cmd: 'gps start'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: gps start
      INFO  [muorb] SLPI:   arg0 = 'gps'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [muorb] SLPI: Creating pthread gps
      
      INFO  [muorb] SLPI: Successfully created px4 task PX4_gps with tid 2097648
      INFO  [muorb] SLPI: Ok executing command: gps start
      INFO  [qshell] qshell return value timestamp: 474050364, local time: 474051234
      Starting Holybro LED driver
      INFO  [muorb] SLPI: >>> ICM42688P this: 3176ec10
      INFO  [qshell] Send cmd: 'rgbled_ncp5623c start -X -b 1 -f 400 -a 56'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: rgbled_ncp5623c start -X -b 1 -f 400 -a 56
      INFO  [muorb] SLPI:   arg0 = 'rgbled_ncp5623c'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [muorb] SLPI:   arg2 = '-X'
      
      INFO  [muorb] SLPI:   arg3 = '-b'
      
      INFO  [muorb] SLPI:   arg4 = '1'
      
      INFO  [muorb] SLPI:   arg5 = '-f'
      
      INFO  [muorb] SLPI:   arg6 = '400'
      
      INFO  [muorb] SLPI:   arg7 = '-a'
      
      INFO  [muorb] SLPI:   arg8 = '56'
      
      INFO  [muorb] SLPI: *** I2C Device ID 0x7b3809 8075273
      INFO  [muorb] SLPI: rgbled_ncp5623c #0 on I2C bus 1
      INFO  [muorb] SLPI:  (external)
      INFO  [muorb] SLPI:  address 0x38
      INFO  [muorb] SLPI: 
      
      Eric KatzfeyE Offline
      Eric KatzfeyE Offline
      Eric Katzfey
      ModalAI Team
      wrote on last edited by
      #9

      @Chase-Riley What are the parameter values for SYS_HAS_MAG and EKF2_MAG_TYPE?

      Chase RileyC 1 Reply Last reply
      0
      • Eric KatzfeyE Eric Katzfey

        @Chase-Riley What are the parameter values for SYS_HAS_MAG and EKF2_MAG_TYPE?

        Chase RileyC Offline
        Chase RileyC Offline
        Chase Riley
        Regular
        wrote on last edited by
        #10

        @Eric-Katzfey I do not have VIO running and I have SYS_HAS_MAG = 1 and EKF2_MAG_TYPE = 0

        Eric KatzfeyE 3 Replies Last reply
        0
        • Chase RileyC Chase Riley

          @Eric-Katzfey I do not have VIO running and I have SYS_HAS_MAG = 1 and EKF2_MAG_TYPE = 0

          Eric KatzfeyE Offline
          Eric KatzfeyE Offline
          Eric Katzfey
          ModalAI Team
          wrote on last edited by
          #11

          @Chase-Riley And on QGC does the attitude display move around normally as you would expect as you pick up the drone and move it around? Just the heading stays stuck at North?

          Chase RileyC 1 Reply Last reply
          0
          • Chase RileyC Chase Riley

            @Eric-Katzfey I do not have VIO running and I have SYS_HAS_MAG = 1 and EKF2_MAG_TYPE = 0

            Eric KatzfeyE Offline
            Eric KatzfeyE Offline
            Eric Katzfey
            ModalAI Team
            wrote on last edited by
            #12

            @Chase-Riley And when you say that you cannot go into position mode do you have a solid GPS lock?

            1 Reply Last reply
            0
            • Chase RileyC Chase Riley

              @Eric-Katzfey I do not have VIO running and I have SYS_HAS_MAG = 1 and EKF2_MAG_TYPE = 0

              Eric KatzfeyE Offline
              Eric KatzfeyE Offline
              Eric Katzfey
              ModalAI Team
              wrote on last edited by
              #13

              @Chase-Riley In QGC can you open up mavlink inspector and take a look at the global position int message? How often is it coming in? Do all of the fields look like they are updating normally? Is hdg stuck at 0?

              Chase RileyC 2 Replies Last reply
              0
              • Eric KatzfeyE Eric Katzfey

                @Chase-Riley And on QGC does the attitude display move around normally as you would expect as you pick up the drone and move it around? Just the heading stays stuck at North?

                Chase RileyC Offline
                Chase RileyC Offline
                Chase Riley
                Regular
                wrote on last edited by Chase Riley
                #14

                @Eric-Katzfey yes QGC artificial horizon and other telem reacts as it should. If I power up the air vehicle pointing south, east, or west it show that the heading is north. If I yaw the air vehicle the heading does change but it is incorrect because the system always starts at north.

                I went a step further in testing and removed the GPS/Mag from the air vehicle. This allowed me to yaw the GPS/Mag independently from the air frame. When doing this QGC shows no change in heading. If I yaw the air vehicle while the GPS/Mag stays still the heading moves in QGC.

                This makes it seem that QGC is getting heading info from the VOXL2 maybe IMU instead of the external GPS/Mag.

                I have full GPS lock when trying to switch to position mode which makes me think that this heading issue could be why I can't switch into position.

                I also have 5 total systems that are configured the same way. All 5 have this same heading issue.

                Eric KatzfeyE 2 Replies Last reply
                0
                • Eric KatzfeyE Eric Katzfey

                  @Chase-Riley In QGC can you open up mavlink inspector and take a look at the global position int message? How often is it coming in? Do all of the fields look like they are updating normally? Is hdg stuck at 0?

                  Chase RileyC Offline
                  Chase RileyC Offline
                  Chase Riley
                  Regular
                  wrote on last edited by
                  #15

                  @Eric-Katzfey I was able to look at GPS_RAW_INT in the mavlink inspector. Value seem to be updating at about 1Hz, however you are correct that HDG_acc us stuck at 0 no matter the heading of the Voxl or GPS/Mag.

                  1 Reply Last reply
                  0
                  • Eric KatzfeyE Eric Katzfey

                    @Chase-Riley In QGC can you open up mavlink inspector and take a look at the global position int message? How often is it coming in? Do all of the fields look like they are updating normally? Is hdg stuck at 0?

                    Chase RileyC Offline
                    Chase RileyC Offline
                    Chase Riley
                    Regular
                    wrote on last edited by
                    #16

                    @Eric-Katzfey I was also able to flash 1 of my 5 systems to SDK 1.1.2 just to check to see if I have the same issue and it seems I do. I have included an error I found while running voxl-px4 on my SDK 1.1.2.

                    INFO  [muorb] SLPI: >>> ICM42688P this: 3176eba0
                    INFO  [muorb] SLPI: Ok executing command: icm42688p start -s
                    INFO  [uORB] Advertising remote topic qshell_retval
                    INFO  [muorb] SLPI: >>> ICM42688P this: 3176eba0
                    INFO  [qshell] qshell return value timestamp: 46007098, local time: 46011498
                    INFO  [muorb] SLPI: >>> ICM42688P this: 3176eba0
                    INFO  [muorb] SLPI: Register interrupt b21d31a4 e6201b3c 3176eba0
                    INFO  [uORB] Advertising remote topic sensor_gyro_fifo
                    INFO  [uORB] Advertising remote topic sensor_accel_fifo
                    INFO  [uORB] Advertising remote topic imu_server
                    INFO  [qshell] Send cmd: 'icp101xx start -I -b 5'
                    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                    INFO  [muorb] SLPI: qshell gotten: icp101xx start -I -b 5
                    INFO  [muorb] SLPI:   arg0 = 'icp101xx'
                    
                    INFO  [muorb] SLPI:   arg1 = 'start'
                    
                    INFO  [muorb] SLPI:   arg2 = '-I'
                    
                    INFO  [muorb] SLPI:   arg3 = '-b'
                    
                    INFO  [muorb] SLPI:   arg4 = '5'
                    
                    INFO  [muorb] SLPI: *** I2C Device ID 0xb76329 12018473
                    INFO  [muorb] SLPI: icp101xx #0 on I2C bus 5
                    INFO  [muorb] SLPI:  address 0x63
                    INFO  [muorb] SLPI: 
                    
                    INFO  [muorb] SLPI: Ok executing command: icp101xx start -I -b 5
                    INFO  [qshell] qshell return value timestamp: 46049655, local time: 46051360
                    Looking for qmc5883l magnetometer
                    INFO  [qshell] Send cmd: 'qmc5883l start -R 10 -X -b 1'
                    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                    INFO  [muorb] SLPI: qshell gotten: qmc5883l start -R 10 -X -b 1
                    INFO  [muorb] SLPI:   arg0 = 'qmc5883l'
                    
                    INFO  [muorb] SLPI:   arg1 = 'start'
                    
                    INFO  [muorb] SLPI:   arg2 = '-R'
                    
                    INFO  [muorb] SLPI:   arg3 = '10'
                    
                    INFO  [muorb] SLPI:   arg4 = '-X'
                    
                    INFO  [muorb] SLPI:   arg5 = '-b'
                    
                    INFO  [muorb] SLPI:   arg6 = '1'
                    
                    INFO  [muorb] SLPI: *** I2C Device ID 0x80d09 527625
                    ERROR [muorb] SLPI: i2c probe failed
                    INFO  [muorb] SLPI: PX4_qshell: no instance started (no device on bus?)
                    ERROR [muorb] SLPI: Failed to execute command: qmc5883l start -R 10 -X -b 1
                    INFO  [qshell] cmd returned with: -1
                    INFO  [qshell] qshell return value timestamp: 46090352, local time: 46091734
                    ERROR [qshell] Command failed
                    Looking for ist8310 magnetometer
                    INFO  [muorb] SLPI: >>> ICM42688P this: 3176eba0
                    INFO  [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1'
                    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                    INFO  [muorb] SLPI: qshell gotten: ist8310 start -R 10 -X -b 1
                    INFO  [muorb] SLPI:   arg0 = 'ist8310'
                    
                    INFO  [muorb] SLPI:   arg1 = 'start'
                    
                    INFO  [muorb] SLPI:   arg2 = '-R'
                    
                    INFO  [muorb] SLPI:   arg3 = '10'
                    
                    INFO  [muorb] SLPI:   arg4 = '-X'
                    
                    INFO  [muorb] SLPI:   arg5 = '-b'
                    
                    INFO  [muorb] SLPI:   arg6 = '1'
                    
                    INFO  [muorb] SLPI: *** I2C Device ID 0x60e09 396809
                    INFO  [muorb] SLPI: ist8310 #0 on I2C bus 1
                    INFO  [muorb] SLPI:  (external)
                    INFO  [muorb] SLPI:  address 0xE
                    INFO  [muorb] SLPI:  rotation 10
                    INFO  [muorb] SLPI: 
                    
                    INFO  [muorb] SLPI: Ok executing command: ist8310 start -R 10 -X -b 1
                    INFO  [qshell] qshell return value timestamp: 46128693, local time: 46130008
                    INFO  [qshell] Send cmd: 'gps start'
                    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                    INFO  [muorb] SLPI: qshell gotten: gps start
                    INFO  [muorb] SLPI:   arg0 = 'gps'
                    
                    INFO  [muorb] SLPI:   arg1 = 'start'
                    
                    INFO  [muorb] SLPI: Creating pthread gps
                    
                    INFO  [muorb] SLPI: Successfully created px4 task PX4_gps with tid 2097647
                    INFO  [muorb] SLPI: Ok executing command: gps start
                    INFO  [qshell] qshell return value timestamp: 46153157, local time: 46155078
                    Looking for ncp5623c RGB LED
                    INFO  [qshell] Send cmd: 'rgbled_ncp5623c start -X -b 1 -f 400 -a 56'
                    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                    
                    Eric KatzfeyE 2 Replies Last reply
                    0
                    • Chase RileyC Chase Riley

                      @Eric-Katzfey yes QGC artificial horizon and other telem reacts as it should. If I power up the air vehicle pointing south, east, or west it show that the heading is north. If I yaw the air vehicle the heading does change but it is incorrect because the system always starts at north.

                      I went a step further in testing and removed the GPS/Mag from the air vehicle. This allowed me to yaw the GPS/Mag independently from the air frame. When doing this QGC shows no change in heading. If I yaw the air vehicle while the GPS/Mag stays still the heading moves in QGC.

                      This makes it seem that QGC is getting heading info from the VOXL2 maybe IMU instead of the external GPS/Mag.

                      I have full GPS lock when trying to switch to position mode which makes me think that this heading issue could be why I can't switch into position.

                      I also have 5 total systems that are configured the same way. All 5 have this same heading issue.

                      Eric KatzfeyE Offline
                      Eric KatzfeyE Offline
                      Eric Katzfey
                      ModalAI Team
                      wrote on last edited by
                      #17

                      @Chase-Riley It makes me believe that one of the rotations somewhere is not set correctly. What is SENS_BOARD_ROT set to? I guess we can just trace the topic messages through the system to see where it is getting confused. So you already did listener sensor_mag and you can see it publishing and the values updating regularly when you move the unit around? That topic goes to the sensors module that then publishes the vehicle_magnetometer topic. Can you do a listener on that to make sure it looks like it is working?

                      Chase RileyC 1 Reply Last reply
                      0
                      • Chase RileyC Chase Riley

                        @Eric-Katzfey yes QGC artificial horizon and other telem reacts as it should. If I power up the air vehicle pointing south, east, or west it show that the heading is north. If I yaw the air vehicle the heading does change but it is incorrect because the system always starts at north.

                        I went a step further in testing and removed the GPS/Mag from the air vehicle. This allowed me to yaw the GPS/Mag independently from the air frame. When doing this QGC shows no change in heading. If I yaw the air vehicle while the GPS/Mag stays still the heading moves in QGC.

                        This makes it seem that QGC is getting heading info from the VOXL2 maybe IMU instead of the external GPS/Mag.

                        I have full GPS lock when trying to switch to position mode which makes me think that this heading issue could be why I can't switch into position.

                        I also have 5 total systems that are configured the same way. All 5 have this same heading issue.

                        Eric KatzfeyE Offline
                        Eric KatzfeyE Offline
                        Eric Katzfey
                        ModalAI Team
                        wrote on last edited by
                        #18

                        @Chase-Riley What happens when you try to do a compass calibration?

                        1 Reply Last reply
                        0
                        • Chase RileyC Chase Riley

                          @Eric-Katzfey I was also able to flash 1 of my 5 systems to SDK 1.1.2 just to check to see if I have the same issue and it seems I do. I have included an error I found while running voxl-px4 on my SDK 1.1.2.

                          INFO  [muorb] SLPI: >>> ICM42688P this: 3176eba0
                          INFO  [muorb] SLPI: Ok executing command: icm42688p start -s
                          INFO  [uORB] Advertising remote topic qshell_retval
                          INFO  [muorb] SLPI: >>> ICM42688P this: 3176eba0
                          INFO  [qshell] qshell return value timestamp: 46007098, local time: 46011498
                          INFO  [muorb] SLPI: >>> ICM42688P this: 3176eba0
                          INFO  [muorb] SLPI: Register interrupt b21d31a4 e6201b3c 3176eba0
                          INFO  [uORB] Advertising remote topic sensor_gyro_fifo
                          INFO  [uORB] Advertising remote topic sensor_accel_fifo
                          INFO  [uORB] Advertising remote topic imu_server
                          INFO  [qshell] Send cmd: 'icp101xx start -I -b 5'
                          INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                          INFO  [muorb] SLPI: qshell gotten: icp101xx start -I -b 5
                          INFO  [muorb] SLPI:   arg0 = 'icp101xx'
                          
                          INFO  [muorb] SLPI:   arg1 = 'start'
                          
                          INFO  [muorb] SLPI:   arg2 = '-I'
                          
                          INFO  [muorb] SLPI:   arg3 = '-b'
                          
                          INFO  [muorb] SLPI:   arg4 = '5'
                          
                          INFO  [muorb] SLPI: *** I2C Device ID 0xb76329 12018473
                          INFO  [muorb] SLPI: icp101xx #0 on I2C bus 5
                          INFO  [muorb] SLPI:  address 0x63
                          INFO  [muorb] SLPI: 
                          
                          INFO  [muorb] SLPI: Ok executing command: icp101xx start -I -b 5
                          INFO  [qshell] qshell return value timestamp: 46049655, local time: 46051360
                          Looking for qmc5883l magnetometer
                          INFO  [qshell] Send cmd: 'qmc5883l start -R 10 -X -b 1'
                          INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                          INFO  [muorb] SLPI: qshell gotten: qmc5883l start -R 10 -X -b 1
                          INFO  [muorb] SLPI:   arg0 = 'qmc5883l'
                          
                          INFO  [muorb] SLPI:   arg1 = 'start'
                          
                          INFO  [muorb] SLPI:   arg2 = '-R'
                          
                          INFO  [muorb] SLPI:   arg3 = '10'
                          
                          INFO  [muorb] SLPI:   arg4 = '-X'
                          
                          INFO  [muorb] SLPI:   arg5 = '-b'
                          
                          INFO  [muorb] SLPI:   arg6 = '1'
                          
                          INFO  [muorb] SLPI: *** I2C Device ID 0x80d09 527625
                          ERROR [muorb] SLPI: i2c probe failed
                          INFO  [muorb] SLPI: PX4_qshell: no instance started (no device on bus?)
                          ERROR [muorb] SLPI: Failed to execute command: qmc5883l start -R 10 -X -b 1
                          INFO  [qshell] cmd returned with: -1
                          INFO  [qshell] qshell return value timestamp: 46090352, local time: 46091734
                          ERROR [qshell] Command failed
                          Looking for ist8310 magnetometer
                          INFO  [muorb] SLPI: >>> ICM42688P this: 3176eba0
                          INFO  [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1'
                          INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                          INFO  [muorb] SLPI: qshell gotten: ist8310 start -R 10 -X -b 1
                          INFO  [muorb] SLPI:   arg0 = 'ist8310'
                          
                          INFO  [muorb] SLPI:   arg1 = 'start'
                          
                          INFO  [muorb] SLPI:   arg2 = '-R'
                          
                          INFO  [muorb] SLPI:   arg3 = '10'
                          
                          INFO  [muorb] SLPI:   arg4 = '-X'
                          
                          INFO  [muorb] SLPI:   arg5 = '-b'
                          
                          INFO  [muorb] SLPI:   arg6 = '1'
                          
                          INFO  [muorb] SLPI: *** I2C Device ID 0x60e09 396809
                          INFO  [muorb] SLPI: ist8310 #0 on I2C bus 1
                          INFO  [muorb] SLPI:  (external)
                          INFO  [muorb] SLPI:  address 0xE
                          INFO  [muorb] SLPI:  rotation 10
                          INFO  [muorb] SLPI: 
                          
                          INFO  [muorb] SLPI: Ok executing command: ist8310 start -R 10 -X -b 1
                          INFO  [qshell] qshell return value timestamp: 46128693, local time: 46130008
                          INFO  [qshell] Send cmd: 'gps start'
                          INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                          INFO  [muorb] SLPI: qshell gotten: gps start
                          INFO  [muorb] SLPI:   arg0 = 'gps'
                          
                          INFO  [muorb] SLPI:   arg1 = 'start'
                          
                          INFO  [muorb] SLPI: Creating pthread gps
                          
                          INFO  [muorb] SLPI: Successfully created px4 task PX4_gps with tid 2097647
                          INFO  [muorb] SLPI: Ok executing command: gps start
                          INFO  [qshell] qshell return value timestamp: 46153157, local time: 46155078
                          Looking for ncp5623c RGB LED
                          INFO  [qshell] Send cmd: 'rgbled_ncp5623c start -X -b 1 -f 400 -a 56'
                          INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                          
                          Eric KatzfeyE Offline
                          Eric KatzfeyE Offline
                          Eric Katzfey
                          ModalAI Team
                          wrote on last edited by
                          #19

                          @Chase-Riley That error is normal. It tries to start both mag drivers assuming that one will fail.

                          1 Reply Last reply
                          0
                          • Chase RileyC Chase Riley

                            @Eric-Katzfey I was also able to flash 1 of my 5 systems to SDK 1.1.2 just to check to see if I have the same issue and it seems I do. I have included an error I found while running voxl-px4 on my SDK 1.1.2.

                            INFO  [muorb] SLPI: >>> ICM42688P this: 3176eba0
                            INFO  [muorb] SLPI: Ok executing command: icm42688p start -s
                            INFO  [uORB] Advertising remote topic qshell_retval
                            INFO  [muorb] SLPI: >>> ICM42688P this: 3176eba0
                            INFO  [qshell] qshell return value timestamp: 46007098, local time: 46011498
                            INFO  [muorb] SLPI: >>> ICM42688P this: 3176eba0
                            INFO  [muorb] SLPI: Register interrupt b21d31a4 e6201b3c 3176eba0
                            INFO  [uORB] Advertising remote topic sensor_gyro_fifo
                            INFO  [uORB] Advertising remote topic sensor_accel_fifo
                            INFO  [uORB] Advertising remote topic imu_server
                            INFO  [qshell] Send cmd: 'icp101xx start -I -b 5'
                            INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                            INFO  [muorb] SLPI: qshell gotten: icp101xx start -I -b 5
                            INFO  [muorb] SLPI:   arg0 = 'icp101xx'
                            
                            INFO  [muorb] SLPI:   arg1 = 'start'
                            
                            INFO  [muorb] SLPI:   arg2 = '-I'
                            
                            INFO  [muorb] SLPI:   arg3 = '-b'
                            
                            INFO  [muorb] SLPI:   arg4 = '5'
                            
                            INFO  [muorb] SLPI: *** I2C Device ID 0xb76329 12018473
                            INFO  [muorb] SLPI: icp101xx #0 on I2C bus 5
                            INFO  [muorb] SLPI:  address 0x63
                            INFO  [muorb] SLPI: 
                            
                            INFO  [muorb] SLPI: Ok executing command: icp101xx start -I -b 5
                            INFO  [qshell] qshell return value timestamp: 46049655, local time: 46051360
                            Looking for qmc5883l magnetometer
                            INFO  [qshell] Send cmd: 'qmc5883l start -R 10 -X -b 1'
                            INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                            INFO  [muorb] SLPI: qshell gotten: qmc5883l start -R 10 -X -b 1
                            INFO  [muorb] SLPI:   arg0 = 'qmc5883l'
                            
                            INFO  [muorb] SLPI:   arg1 = 'start'
                            
                            INFO  [muorb] SLPI:   arg2 = '-R'
                            
                            INFO  [muorb] SLPI:   arg3 = '10'
                            
                            INFO  [muorb] SLPI:   arg4 = '-X'
                            
                            INFO  [muorb] SLPI:   arg5 = '-b'
                            
                            INFO  [muorb] SLPI:   arg6 = '1'
                            
                            INFO  [muorb] SLPI: *** I2C Device ID 0x80d09 527625
                            ERROR [muorb] SLPI: i2c probe failed
                            INFO  [muorb] SLPI: PX4_qshell: no instance started (no device on bus?)
                            ERROR [muorb] SLPI: Failed to execute command: qmc5883l start -R 10 -X -b 1
                            INFO  [qshell] cmd returned with: -1
                            INFO  [qshell] qshell return value timestamp: 46090352, local time: 46091734
                            ERROR [qshell] Command failed
                            Looking for ist8310 magnetometer
                            INFO  [muorb] SLPI: >>> ICM42688P this: 3176eba0
                            INFO  [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1'
                            INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                            INFO  [muorb] SLPI: qshell gotten: ist8310 start -R 10 -X -b 1
                            INFO  [muorb] SLPI:   arg0 = 'ist8310'
                            
                            INFO  [muorb] SLPI:   arg1 = 'start'
                            
                            INFO  [muorb] SLPI:   arg2 = '-R'
                            
                            INFO  [muorb] SLPI:   arg3 = '10'
                            
                            INFO  [muorb] SLPI:   arg4 = '-X'
                            
                            INFO  [muorb] SLPI:   arg5 = '-b'
                            
                            INFO  [muorb] SLPI:   arg6 = '1'
                            
                            INFO  [muorb] SLPI: *** I2C Device ID 0x60e09 396809
                            INFO  [muorb] SLPI: ist8310 #0 on I2C bus 1
                            INFO  [muorb] SLPI:  (external)
                            INFO  [muorb] SLPI:  address 0xE
                            INFO  [muorb] SLPI:  rotation 10
                            INFO  [muorb] SLPI: 
                            
                            INFO  [muorb] SLPI: Ok executing command: ist8310 start -R 10 -X -b 1
                            INFO  [qshell] qshell return value timestamp: 46128693, local time: 46130008
                            INFO  [qshell] Send cmd: 'gps start'
                            INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                            INFO  [muorb] SLPI: qshell gotten: gps start
                            INFO  [muorb] SLPI:   arg0 = 'gps'
                            
                            INFO  [muorb] SLPI:   arg1 = 'start'
                            
                            INFO  [muorb] SLPI: Creating pthread gps
                            
                            INFO  [muorb] SLPI: Successfully created px4 task PX4_gps with tid 2097647
                            INFO  [muorb] SLPI: Ok executing command: gps start
                            INFO  [qshell] qshell return value timestamp: 46153157, local time: 46155078
                            Looking for ncp5623c RGB LED
                            INFO  [qshell] Send cmd: 'rgbled_ncp5623c start -X -b 1 -f 400 -a 56'
                            INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                            
                            Eric KatzfeyE Offline
                            Eric KatzfeyE Offline
                            Eric Katzfey
                            ModalAI Team
                            wrote on last edited by
                            #20

                            @Chase-Riley Also, when arming is failing in position mode you can do a listener on the failsafe_flags topic to see what flags are set.

                            1 Reply Last reply
                            0
                            • Eric KatzfeyE Eric Katzfey

                              @Chase-Riley It makes me believe that one of the rotations somewhere is not set correctly. What is SENS_BOARD_ROT set to? I guess we can just trace the topic messages through the system to see where it is getting confused. So you already did listener sensor_mag and you can see it publishing and the values updating regularly when you move the unit around? That topic goes to the sensors module that then publishes the vehicle_magnetometer topic. Can you do a listener on that to make sure it looks like it is working?

                              Chase RileyC Offline
                              Chase RileyC Offline
                              Chase Riley
                              Regular
                              wrote on last edited by
                              #21

                              @Eric-Katzfey running px4-listener sensor_mag shows the mag data and it changes as I move the GPS/Mag around. So that is behaving how I would expect it to SENS_BOARD_ROT is set to YAW 180. This is due to the VOXL2 being mounted 180 degrees rotated in the air frame.

                              Everything seems to go well through an compass calibration. We have done quite a few while troubleshooting this.

                              I will take a look at the failsafes when I try to go into position mode, however at this point I think the heading needs to be resolved first either way. Am I correct to think that when rotating the GPS/Mag separate from the VOXL2 I should see a heading change based on the direction of the GPS/Mag? In this case I only see the heading change when rotating the VOXL2 (Which to my knowledge has no Mag on board).

                              Eric KatzfeyE 2 Replies Last reply
                              0
                              • Chase RileyC Chase Riley

                                @Eric-Katzfey running px4-listener sensor_mag shows the mag data and it changes as I move the GPS/Mag around. So that is behaving how I would expect it to SENS_BOARD_ROT is set to YAW 180. This is due to the VOXL2 being mounted 180 degrees rotated in the air frame.

                                Everything seems to go well through an compass calibration. We have done quite a few while troubleshooting this.

                                I will take a look at the failsafes when I try to go into position mode, however at this point I think the heading needs to be resolved first either way. Am I correct to think that when rotating the GPS/Mag separate from the VOXL2 I should see a heading change based on the direction of the GPS/Mag? In this case I only see the heading change when rotating the VOXL2 (Which to my knowledge has no Mag on board).

                                Eric KatzfeyE Offline
                                Eric KatzfeyE Offline
                                Eric Katzfey
                                ModalAI Team
                                wrote on last edited by
                                #22

                                @Chase-Riley Instead of setting SENS_BOARD_ROT you can set the rotation on the IMU driver to -R 4. But don't do both. I would try setting SENS_BOARD_ROT to 0 and keeping the -R 4 on the IMU driver start and see if that makes any difference. Also, do the listener vehicle_magnetometer to see if it is updating nicely like listener sensor_mag does.

                                1 Reply Last reply
                                0
                                • Chase RileyC Chase Riley

                                  @Eric-Katzfey running px4-listener sensor_mag shows the mag data and it changes as I move the GPS/Mag around. So that is behaving how I would expect it to SENS_BOARD_ROT is set to YAW 180. This is due to the VOXL2 being mounted 180 degrees rotated in the air frame.

                                  Everything seems to go well through an compass calibration. We have done quite a few while troubleshooting this.

                                  I will take a look at the failsafes when I try to go into position mode, however at this point I think the heading needs to be resolved first either way. Am I correct to think that when rotating the GPS/Mag separate from the VOXL2 I should see a heading change based on the direction of the GPS/Mag? In this case I only see the heading change when rotating the VOXL2 (Which to my knowledge has no Mag on board).

                                  Eric KatzfeyE Offline
                                  Eric KatzfeyE Offline
                                  Eric Katzfey
                                  ModalAI Team
                                  wrote on last edited by
                                  #23

                                  @Chase-Riley Is there any way that you can orient the board exactly as we have it in one of our drones (Sentinel, Starling) and use our parameter set and see if it works fine then?

                                  Chase RileyC 3 Replies Last reply
                                  0
                                  • Eric KatzfeyE Eric Katzfey

                                    @Chase-Riley Is there any way that you can orient the board exactly as we have it in one of our drones (Sentinel, Starling) and use our parameter set and see if it works fine then?

                                    Chase RileyC Offline
                                    Chase RileyC Offline
                                    Chase Riley
                                    Regular
                                    wrote on last edited by
                                    #24

                                    @Eric-Katzfey I set SENS_BOARD_ROT to No rotation and made the change to the IMU driver as you mentioned and had the same results still always points north on startup. px4-listener vehicle_magnetometer updates nicely as just like px4-listener sensor_mag.

                                    I was able to flash the sentinel params on to the board and was able to match the orientation of the Sentinel and had the same results. I made sure to change the IMU driver back to original before this test.

                                    1 Reply Last reply
                                    0
                                    • Eric KatzfeyE Eric Katzfey

                                      @Chase-Riley Is there any way that you can orient the board exactly as we have it in one of our drones (Sentinel, Starling) and use our parameter set and see if it works fine then?

                                      Chase RileyC Offline
                                      Chase RileyC Offline
                                      Chase Riley
                                      Regular
                                      wrote on last edited by
                                      #25

                                      @Eric-Katzfey I went back in this morning and flashed the ci_sentinel-params which seems to be a entire param set and was able to get it working. Now I need to change the VOXL2 orientation. Would you recomend doing this through QGC or the voxl-px4-start? I am unsure which parameter caused it to start to work. Any insight would be appreciated so that I can make that change in my other systems with out having to change a bunch of params.

                                      1 Reply Last reply
                                      0
                                      • Eric KatzfeyE Eric Katzfey

                                        @Chase-Riley Is there any way that you can orient the board exactly as we have it in one of our drones (Sentinel, Starling) and use our parameter set and see if it works fine then?

                                        Chase RileyC Offline
                                        Chase RileyC Offline
                                        Chase Riley
                                        Regular
                                        wrote on last edited by
                                        #26

                                        @Eric-Katzfey I pulled the params from the system I have working and one of the systems that is having the Mag problem. Weirdly enough there is only 9 differences. I have listed them below. They all seem to be calibration differences if I understand correctly.

                                        CAL_ACC0_XOFF
                                        CAL_ACC0_YOFF
                                        CAL_ACC0_ZOFF

                                        CAL_GYRO0_XOFF
                                        CAL_GYRO0_YOFF
                                        CAL_GYRO0_ZOFF

                                        CAL_MAG0_XSCALE
                                        CAL_MAG0_YSCALE
                                        CAL_MAG0_ZSCALE

                                        Eric KatzfeyE 1 Reply Last reply
                                        0
                                        • Chase RileyC Chase Riley

                                          @Eric-Katzfey I pulled the params from the system I have working and one of the systems that is having the Mag problem. Weirdly enough there is only 9 differences. I have listed them below. They all seem to be calibration differences if I understand correctly.

                                          CAL_ACC0_XOFF
                                          CAL_ACC0_YOFF
                                          CAL_ACC0_ZOFF

                                          CAL_GYRO0_XOFF
                                          CAL_GYRO0_YOFF
                                          CAL_GYRO0_ZOFF

                                          CAL_MAG0_XSCALE
                                          CAL_MAG0_YSCALE
                                          CAL_MAG0_ZSCALE

                                          Eric KatzfeyE Offline
                                          Eric KatzfeyE Offline
                                          Eric Katzfey
                                          ModalAI Team
                                          wrote on last edited by
                                          #27

                                          @Chase-Riley Huh, that's very interesting. I'm guessing that if the rotation isn't set properly and a calibration is done then those calibration parameters will be incorrect such that even when all rotations are specified correctly those old calibration values will mess everything up. So I guess that each time any rotation parameter or option is changed you need to go and recalibrate everything. For your case it seems like you should leave everything the same as Sentinel except change the rotation of the IMU driver in voxl-px4-start to -R 4 and then recalibrate everything.

                                          Chase RileyC 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