QGC Starts up showing a heading of north no mater the direction of compass
-
I have a VOXL2 running on SDK 1.0 and I am having an issue with the heading display in QGC. I have a Holybro GPS/Mag (Same as on the Sentinel). The mag seems to work when checking status via
px4-listener sensor_mag
. Result is below.voxl2:/$ px4-listener sensor_mag TOPIC: sensor_mag sensor_mag timestamp: 2127871646 (0.009049 seconds ago) timestamp_sample: 2127871161 (485 us before timestamp) device_id: 396809 (Type: 0x06, I2C:1 (0x0E)) x: 0.27273 y: 0.02197 z: 0.32576 temperature: nan error_count: 0
When connected to QGC the heading always starts pointing north no mater the heading of the actual heading. I am able to arm with no compass errors, but not able to switch to position mode. I feel like not being able to get to position mode has to do with a mag issue.
While testing on the bench I was able to take the GPS/Mag on its mount and rotate it interdependent of the rest of the air frame. This does not change the heading in QGC at all, however I can see the change in heading via the
px4-listener sensor_mag
command. If i rotate the whole air frame the heading changes.I am at a lose of what could be causing this. I have tried with other HolyBro GPS/Mag and had the same results. I have checked my params against the outdoor flight helper params in github and see no issues there.
Below I have included the output of
journalctl -b -u voxl-px4 --no-pager
(Trimmed to be under max char post amount.)Jan 16 18:31:03 m0054 systemd[1]: Starting px4... Jan 16 18:31:05 m0054 systemd[1]: Started px4. Jan 16 18:31:05 m0054 voxl-px4[2267]: [INFO] Reading from /etc/modalai/voxl-px4.conf Jan 16 18:31:05 m0054 voxl-px4[2267]: Found DSP signature file Jan 16 18:31:05 m0054 voxl-px4[2267]: [INFO] Daemon mode enabled Jan 16 18:31:05 m0054 voxl-px4[2267]: ************************* Jan 16 18:31:05 m0054 voxl-px4[2267]: GPS=HOLYBRO Jan 16 18:31:05 m0054 voxl-px4[2267]: RC=SPEKTRUM Jan 16 18:31:05 m0054 voxl-px4[2267]: POWER MANAGER=VOXLPM Jan 16 18:31:05 m0054 voxl-px4[2267]: DISTANCE SENSOR=NONE Jan 16 18:31:05 m0054 voxl-px4[2267]: OSD=DISABLE Jan 16 18:31:05 m0054 voxl-px4[2267]: DAEMON_MODE=ENABLE Jan 16 18:31:05 m0054 voxl-px4[2267]: SENSOR_CAL=ACTUAL Jan 16 18:31:05 m0054 voxl-px4[2267]: EXTRA STEPS: Jan 16 18:31:05 m0054 voxl-px4[2267]: ************************* Jan 16 18:31:05 m0054 voxl-px4[2267]: INFO [px4] mlockall() enabled. PX4's virtual address space is locked into RAM. Jan 16 18:31:05 m0054 voxl-px4[2267]: INFO [px4] assuming working directory is rootfs, no symlinks needed. Jan 16 18:31:05 m0054 voxl-px4[2267]: INFO [muorb] Got muorb init command Jan 16 18:31:05 m0054 voxl-px4[2267]: Sending initialization request Jan 16 18:31:05 m0054 voxl-px4[2267]: Got topic data before configuration complete Jan 16 18:31:05 m0054 voxl-px4[2267]: Got topic data before configuration complete Jan 16 18:31:05 m0054 voxl-px4[2267]: Got topic data before configuration complete Jan 16 18:31:06 m0054 voxl-px4[2267]: ************************* Jan 16 18:31:06 m0054 voxl-px4[2267]: GPS: HOLYBRO Jan 16 18:31:06 m0054 voxl-px4[2267]: RC: SPEKTRUM Jan 16 18:31:06 m0054 voxl-px4[2267]: POWER MANAGER: VOXLPM Jan 16 18:31:06 m0054 voxl-px4[2267]: DISTANCE SENSOR: NONE Jan 16 18:31:06 m0054 voxl-px4[2267]: OSD: DISABLE Jan 16 18:31:06 m0054 voxl-px4[2267]: EXTRA STEPS: Jan 16 18:31:06 m0054 voxl-px4[2267]: Jan 16 18:31:06 m0054 voxl-px4[2267]: ************************* Jan 16 18:31:06 m0054 voxl-px4[2267]: Running on M0054 Jan 16 18:31:07 m0054 voxl-px4[2267]: INFO [param] selected parameter default file /data/px4/param/parameters Jan 16 18:31:08 m0054 voxl-px4[2267]: INFO [parameters] BSON document size 3069 bytes, decoded 3069 bytes (INT32:47, FLOAT:96) Jan 16 18:31:08 m0054 voxl-px4[2267]: Starting IMU driver with no rotation Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] Send cmd: 'icm42688p start -s' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] qshell return value timestamp: 16440349, local time: 16443981 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] Send cmd: 'icp101xx start -I -b 5' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] qshell return value timestamp: 16492236, local time: 16495019 Jan 16 18:31:09 m0054 voxl-px4[2267]: Starting ist8310 magnetometer Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: muorb aggregator thread running Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] muorb protobuf initalize method succeeded Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] succesfully did ADVERTISE_TEST_TYPE Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Creating pthread test_MUORB Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Successfully created px4 task PX4_test_MUORB with tid 2097656 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] succesfully did SUBSCRIBE_TEST_TYPE Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Creating pthread test_MUORB Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Successfully created px4 task PX4_test_MUORB with tid 2097655 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] succesfully did TOPIC_TEST_TYPE Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Creating pthread test_MUORB Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Successfully created px4 task PX4_test_MUORB with tid 2097654 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] succesfully did UNSUBSCRIBE_TEST_TYPE Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Creating pthread test_MUORB Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Successfully created px4 task PX4_test_MUORB with tid 2097653 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] muorb test passed Jan 16 18:31:09 m0054 voxl-px4[2267]: ______ __ __ ___ Jan 16 18:31:09 m0054 voxl-px4[2267]: | ___ \ \ \ / / / | Jan 16 18:31:09 m0054 voxl-px4[2267]: | |_/ / \ V / / /| | Jan 16 18:31:09 m0054 voxl-px4[2267]: | __/ / \ / /_| | Jan 16 18:31:09 m0054 voxl-px4[2267]: | | / /^\ \ \___ | Jan 16 18:31:09 m0054 voxl-px4[2267]: \_| \/ \/ |_/ Jan 16 18:31:09 m0054 voxl-px4[2267]: px4 starting. Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [px4] startup script: /bin/sh /usr/bin/voxl-px4-start 0 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Advertising remote topic log_message Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [parameters] Starting param sync THREAD Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Starting param sync THREAD Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: before starting the qshell_entry task Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Creating pthread qshell Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: qshell entry..... Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Successfully created px4 task PX4_qshell with tid 2097652 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Init app map initialized Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: after starting the qshell_entry task Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Marking DeviceNode(parameter_client_reset_request) as advertised in process_remote_topic Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Marking DeviceNode(parameter_client_reset_response) as advertised in process_remote_topic Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Advertising remote topic parameter_update Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Marking DeviceNode(parameter_client_set_value_request) as advertised in process_remote_topic Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Marking DeviceNode(parameter_server_set_used_request) as advertised in process_remote_topic Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Marking DeviceNode(parameter_server_set_used_response) as advertised in process_remote_topic Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Marking DeviceNode(parameter_client_set_value_response) as advertised in process_remote_topic Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [logger] logger started (mode=all) Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: qshell gotten: icm42688p start -s Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg0 = 'icm42688p' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg1 = 'start' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg2 = '-s' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: *** SPI Device ID 0x26000a 2490378 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Advertising remote topic sensor_accel Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Advertising remote topic sensor_gyro Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: ICM42688P::probe successful! Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: on SPI bus 1 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: icm42688p #0 on SPI bus 1 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: >>> ICM42688P this: 3176eb60 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Ok executing command: icm42688p start -s Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Advertising remote topic qshell_retval Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: >>> ICM42688P this: 3176eb60 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Register interrupt b21d3164 e620609c 3176eb60 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Advertising remote topic sensor_gyro_fifo Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Advertising remote topic sensor_accel_fifo Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Advertising remote topic imu_server Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: qshell gotten: icp101xx start -I -b 5 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg0 = 'icp101xx' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg1 = 'start' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg2 = '-I' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg3 = '-b' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg4 = '5' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: *** I2C Device ID 0xb76329 12018473 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: icp101xx #0 on I2C bus 5 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: address 0x63 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Ok executing command: icp101xx start -I -b 5 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: qshell gotten: ist8310 start -R 10 -X -b 1 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg0 = 'istINFO [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] qshell return value timestamp: 16527373, local time: 16529585 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] Send cmd: 'gps start' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] qshell return value timestamp: 16556805, local time: 16557669 Jan 16 18:31:09 m0054 voxl-px4[2267]: Starting Holybro LED driver Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] Send cmd: 'rgbled_ncp5623c start -X -b 1 -f 400 -a 56' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] qshell return value timestamp: 16589310, local time: 16590623 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] Send cmd: 'modal_io start' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] qshell return value timestamp: 16669143, local time: 16670854 Jan 16 18:31:09 m0054 voxl-px4[2267]: Starting Spektrum RC Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] Send cmd: 'spektrum_rc start' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] qshell return value timestamp: 16709172, local time: 16710720 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] Send cmd: 'voxlpm start -X -b 2' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [qshell] qshell return value timestamp: 16746905, local time: 16747745 Jan 16 18:31:09 m0054 voxl-px4[2267]: 8310' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg1 = 'start' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg2 = '-R' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg3 = '10' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg4 = '-X' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg5 = '-b' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg6 = '1' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: *** I2C Device ID 0x60e09 396809 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: ist8310 #0 on I2C bus 1 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: (external) Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: address 0xE Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: rotation 10 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Ok executing command: ist8310 start -R 10 -X -b 1 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: qshell gotten: gps start Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg0 = 'gps' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg1 = 'start' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Creating pthread gps Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Successfully created px4 task PX4_gps with tid 2097648 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Ok executing command: gps start Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: >>> ICM42688P this: 3176eb60 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: qshell gotten: rgbled_ncp5623c start -X -b 1 -f 400 -a 56 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg0 = 'rgbled_ncp5623c' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg1 = 'start' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg2 = '-X' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg3 = '-b' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg4 = '1' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg5 = '-f' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg6 = '400' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg7 = '-a' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg8 = '56' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: *** I2C Device ID 0x7b3809 8075273 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: rgbled_ncp5623c #0 on I2C bus 1 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: (external) Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: address 0x38 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Ok executing command: rgbled_ncp5623c start -X -b 1 -f 400 -a 56 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Advertising remote topic sensor_mag Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: qshell gotten: modal_io start Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg0 = 'modal_io' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg1 = 'start' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Advertising remote topic actuator_outputs Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Ok executing command: modal_io start Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Opened UART ESC device Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: qshell gotten: spektrum_rc start Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg0 = 'spektrum_rc' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg1 = 'start' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Creating pthread spektrum_rc_main Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Successfully created px4 task PX4_spektrum_rc_main with tid 2097645 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Ok executing command: spektrum_rc start Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Advertising remote topic sensor_baro Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Advertising remote topic actuator_outputs_debug Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Advertising remote topic esc_status Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: qshell gotten: voxlpm start -X -b 2 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg0 = 'voxlpm' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg1 = 'start' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg2 = '-X' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg3 = '-b' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: arg4 = '2' Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: *** I2C Device ID 0xd24411 13779985 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Set i2c address 0x6a, fd 3 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Set i2c address 0x44, fd 3 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Advertising remote topic battery_status Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: voxlpm #0 on I2C bus 2 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: (external) Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: address 0x44 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Ok executing command: voxlpm start -X -b 2 Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [uORB] Advertising remote topic power_monitor Jan 16 18:31:09 m0054 voxl-px4[2267]: INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
-
@Chase-Riley What is the orientation of the Holybro unit with respect to your drone frame? Does it have the arrow pointing forward? (e.g. same orientation as on our Sentinel drone?). PX4 is probably getting confused because you are only changing the mag orientation and not the drone orientation. So the IMU is saying that nothing is moving and your compass says you are yawing. That inconsistency will mess things up.
-
@Eric-Katzfey currently the Holybro is pointing directly forward and center of the air frame. The rotation value I messed with during the bench testing I was doing while trying to get a change in behavior. The VOXL2 is set to Yall 180 because it is pointed directly out the back of the air vehicle. We had to mount this way due to mechanical restraints.
-
@Chase-Riley I think you'll need to specify the YAW 180 rotation for the IMU then on the driver start line. e.g.
qshell icm42688p start -s -R 4
-
@Eric-Katzfey Where would I locate the driver to make the change? Right now I just have it changed in the px4 params. I am assuming that the Mag should be set at "No Rotation"?
-
@Chase-Riley It's the startup file in
/usr/bin/voxl-px4-start
. That is the magic file that starts all of the px4 drivers and modules. Keep the mag rotation as it is. That refers to the orientation of the mag within the Holybro unit. -
@Eric-Katzfey I was able to change the argument to
-R 4
in theif
andelse
statements in the driver start line. I changed theif
first and saw no change after a restart orvoxl-px4
and a reboot. I went back in a changed theelse
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:
-
@Chase-Riley Hmmm. Do you also have VIO running?
-
@Chase-Riley What are the parameter values for SYS_HAS_MAG and EKF2_MAG_TYPE?
-
@Eric-Katzfey I do not have VIO running and I have
SYS_HAS_MAG = 1
andEKF2_MAG_TYPE = 0
-
@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-Riley And when you say that you cannot go into position mode do you have a solid GPS lock?
-
@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?
-
@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-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 thatHDG_acc
us stuck at 0 no matter the heading of the Voxl or GPS/Mag. -
@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
-
@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-Riley What happens when you try to do a compass calibration?
-
@Chase-Riley That error is normal. It tries to start both mag drivers assuming that one will fail.
-
@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.