ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. jon
    3. Posts
    J
    • Profile
    • Following 0
    • Followers 0
    • Topics 41
    • Posts 79
    • Best 7
    • Controversial 0
    • Groups 0

    Posts made by jon

    • voxl-slpi-uart-bridge

      Hi, I am looking at the voxl-slpi-uart-bridge https://gitlab.com/voxl-public/voxl-sdk/core-libs/voxl-slpi-uart-bridge repo. Would this be capable of making one of the J19 uarts available to the apps processor for external sensor connection (not running voxl-px4)?

      Specifically using voxl2 mini

      I also have some questions about how to use it. Is it an executable you run that creates a virtual uart interface? Or a library that you reference in code. If so, is there a short implementation example anywhere?

      Thank you!

      posted in Ask your questions right here!
      J
      jon
    • RE: voxl-px4 startup failure - parameter_client_set_value timeout

      @Eric-Katzfey I was running voxl-px4 in daemonless mode so I could see my driver output:

      voxl-px4 -d
      

      And restarting it by terminating with Ctrl+C (probably not the best haha). That makes sense though, I'll try that.

      posted in Ask your questions right here!
      J
      jon
    • RE: voxl-px4 startup failure - parameter_client_set_value timeout

      @Eric-Katzfey 1.6.0.

      posted in Ask your questions right here!
      J
      jon
    • voxl-px4 startup failure - parameter_client_set_value timeout

      Hi, I am testing some changes on voxl-px4 (adding a few drivers and stuff) and occasionally run into this startup error:

      fixed-wing (D0015):/$ voxl-px4 -d
      [INFO] Reading from /etc/modalai/voxl-px4.conf
      Found DSP signature file
      [INFO] Disabling daemon mode
      
      *************************
      AIRFRAME=FIXED_WING
      GPS=NONE
      RC=NONE
      ESC=VOXL2_IO_PWM_ESC
      POWER MANAGER=NONE
      AIRSPEED SENSOR=NONE
      DISTANCE SENSOR=NONE
      OSD=DISABLE
      DAEMON_MODE=DISABLE
      SENSOR_CAL=ACTUAL
      ARTIFACT_MODE=DISABLE
      EXTRA STEPS:
      *************************
      
      INFO  [px4] mlockall() enabled. PX4's virtual address space is locked into RAM.
      INFO  [px4] assuming working directory is rootfs, no symlinks needed.
      INFO  [muorb] Got muorb init command
      Sending initialization request
      INFO  [muorb] muorb protobuf initalize method succeeded
      INFO  [muorb] succesfully did ADVERTISE_TEST_TYPE
      INFO  [muorb] [tasks] Creating pthread test_MUORB
      INFO  [muorb] [tasks] Successfully created px4 task PX4_test_MUORB with tid 2097650
      INFO  [muorb] succesfully did SUBSCRIBE_TEST_TYPE
      INFO  [muorb] [tasks] Creating pthread test_MUORB
      INFO  [muorb] [tasks] Successfully created px4 task PX4_test_MUORB with tid 2097649
      INFO  [muorb] succesfully did TOPIC_TEST_TYPE
      INFO  [muorb] [tasks] Creating pthread test_MUORB
      INFO  [muorb] [tasks] Successfully created px4 task PX4_test_MUORB with tid 2097648
      INFO  [muorb] succesfully did UNSUBSCRIBE_TEST_TYPE
      INFO  [muorb] [tasks] Creating pthread test_MUORB
      INFO  [muorb] [tasks] Successfully created px4 task PX4_test_MUORB with tid 2097647
      INFO  [muorb] muorb test passed
      
      ______  __   __    ___ 
      | ___ \ \ \ / /   /   |
      | |_/ /  \ V /   / /| |
      |  __/   /   \  / /_| |
      | |     / /^\ \ \___  |
      \_|     \/   \/     |_/
      
      px4 starting.
      
      INFO  [muorb] [uORB] Marking DeviceNode(log_message) as advertised in process_remote_topic
      INFO  [px4] startup script: /bin/sh /usr/bin/voxl-px4-start 0
      INFO  [parameters] Starting param sync THREAD
      
      *************************
      AIRFRAME: FIXED_WING
      GPS: NONE
      RC: NONE
      ESC: VOXL2_IO_PWM_ESC
      POWER MANAGER: NONE
      AIRSPEED SENSOR: NONE
      DISTANCE SENSOR: NONE
      OSD: DISABLE
      ARTIFACT_MODE: DISABLE
      EXTRA STEPS:
      	
      *************************
      
      Running on M0104
      INFO  [param] selected parameter default file /data/px4/param/parameters
      INFO  [muorb] [uORB] Marking DeviceNode(parameter_client_reset_request) as advertised in process_remote_topic
      ERROR [parameters] Timeout waiting for parameter_client_reset_response
      INFO  [muorb] [uORB] Marking DeviceNode(parameter_update) as advertised in process_remote_topic
      INFO  [muorb] [uORB] Marking DeviceNode(parameter_client_set_value_request) as advertised in process_remote_t
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for ASPD_FALLBACK_GW
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for BAT1_N_CELLS
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for BAT1_V_EMPTY
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_ACC0_ID
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_ACC0_PRIO
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_ACC0_XOFF
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_ACC0_YOFF
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_ACC0_ZOFF
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_ACC1_PRIO
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_ACC3_PRIO
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_GYRO0_ID
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_GYRO0_PRIO
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_GYRO0_XOFF
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_GYRO0_YOFF
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_GYRO0_ZOFF
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_GYRO1_PRIO
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_GYRO3_PRIO
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_MAG0_PRIO
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_MAG1_PRIO
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_MAG1_ROT
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CAL_MAG2_ROT
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_AIRFRAME
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_ROTOR0_PX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_ROTOR0_PY
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_ROTOR1_PX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_ROTOR1_PY
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_ROTOR2_KM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_ROTOR2_PX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_ROTOR2_PY
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_ROTOR3_KM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_ROTOR3_PX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_ROTOR3_PY
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_ROTOR_COUNT
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_SV_CS0_TRQ_P
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_SV_CS0_TRQ_R
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_SV_CS0_TYPE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_SV_CS1_TRQ_P
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_SV_CS1_TRQ_R
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_SV_CS1_TYPE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_SV_CS2_TRQ_P
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_SV_CS2_TRQ_Y
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_SV_CS2_TYPE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_SV_CS3_TRQ_P
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_SV_CS3_TRQ_Y
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_SV_CS3_TYPE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CA_SV_CS_COUNT
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for CBRK_SUPPLY_CHK
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for COM_ARM_SDCARD
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for COM_CPU_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for COM_DISARM_PRFLT
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for COM_FLTMODE1
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for COM_FLTMODE4
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for COM_FLTMODE6
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for COM_KILL_DISARM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for COM_POS_FS_DELAY
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for COM_POS_FS_EPH
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for COM_POS_LOW_EPH
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for COM_RC_LOSS_T
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for COM_VEL_FS_EVH
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_ABL_LIM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_ARSP_THR
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_EV_CTRL
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_EV_DELAY
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_EV_QMIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_FUSE_BETA
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_IMU_POS_X
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_IMU_POS_Y
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_IMU_POS_Z
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_MAG_ACCLIM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_MAG_TYPE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_MAG_YAWLIM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_MULTI_IMU
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_REQ_EPH
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_REQ_EPV
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_REQ_GPS_H
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_REQ_HDRIFT
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_REQ_SACC
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for EKF2_REQ_VDRIFT
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_AIRSPD_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_AIRSPD_MIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_AIRSPD_STALL
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_AIRSPD_TRIM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_GND_SPD_MIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_MAN_P_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_MAN_R_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_POS_STK_CONF
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_PR_I
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_PR_P
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_RR_FF
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_RR_I
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_RR_P
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_R_LIM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_T_I_GAIN_THR
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for FW_T_SPD_DEV_STD
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for GF_ACTION
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for GPS_SAT_INFO
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for GPS_UBX_DYNMODEL
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for IMU_GYRO_RATEMAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MAN_ARM_GESTURE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MAV_TYPE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MC_AT_EN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MC_PITCHRATE_D
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MC_PITCHRATE_P
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MC_PITCH_P
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MC_ROLLRATE_D
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MC_ROLLRATE_P
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MC_ROLL_P
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MC_YAWRATE_P
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MC_YAW_P
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MIS_TAKEOFF_ALT
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MIS_TKO_LAND_REQ
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_LAND_SPEED
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_MANTHR_MIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_POS_MODE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_THR_HOVER
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_THR_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_THR_MIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_TKO_RAMP_T
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_VEL_MANUAL
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_XY_CRUISE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_XY_MAN_EXPO
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_XY_VEL_D_ACC
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_XY_VEL_I_ACC
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_XY_VEL_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_XY_VEL_P_ACC
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_YAW_EXPO
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_Z_MAN_EXPO
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_Z_VEL_MAX_UP
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for MPC_Z_VEL_P_ACC
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for NAV_RCL_ACT
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_DIS2
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_DIS3
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_DIS4
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_DIS5
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_DIS6
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_DIS7
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_DIS8
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_FUNC1
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_FUNC2
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_FUNC3
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_MAX2
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_MAX3
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_MIN2
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_MIN3
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_REV
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_TIM0
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for PWM_MAIN_TIM1
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC10_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC10_MIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC10_TRIM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC11_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC11_MIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC11_TRIM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC1_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC1_MIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC1_TRIM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC2_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC2_MIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC2_REV
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC2_TRIM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC3_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC3_MIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC3_TRIM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC4_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC4_MIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC4_TRIM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC5_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC5_MIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC5_TRIM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC7_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC7_MIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC7_TRIM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC9_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC9_MIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC9_TRIM
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC_CHAN_CNT
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC_CRSF_TEL_EN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC_INPUT_PROTO
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC_MAP_ARM_SW
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC_MAP_FLTMODE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC_MAP_KILL_SW
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC_MAP_PITCH
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC_MAP_ROLL
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC_MAP_THROTTLE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RC_MAP_YAW
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RTL_DESCEND_ALT
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RTL_RETURN_ALT
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RTL_TYPE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for RWTO_NUDGE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for SDLOG_PROFILE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for SENS_BOARD_X_OFF
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for SENS_BOARD_Y_OFF
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for SENS_EN_MS4525DO
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for SENS_EN_SF0X
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for SENS_IMU_AUTOCAL
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for SENS_IMU_MODE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for SENS_MAG_AUTOCAL
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for SENS_MAG_AUTOROT
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for SYS_AUTOCONFIG
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for SYS_AUTOSTART
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_BITRATE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_EC_FAIL1
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_EC_FAIL2
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_EC_FAIL3
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_EC_FAIL4
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_EC_FAIL5
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_EC_FAIL6
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_EC_FAIL7
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_EC_FAIL8
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_EC_MAX1
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_EC_MAX2
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_EC_MAX3
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_EC_MAX4
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_EC_MAX5
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_EC_MAX6
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for UAVCAN_ENABLE
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for VOXL2_IO_CMIN
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for VOXL2_IO_FUNC1
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for VOXL2_IO_FUNC2
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for VOXL2_IO_FUNC3
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for VOXL2_IO_FUNC4
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for VOXL2_IO_FUNC5
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for VOXL2_IO_FUNC6
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for VOXL_ESC_BAUD
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for VOXL_ESC_FUNC1
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for VOXL_ESC_FUNC2
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for VOXL_ESC_FUNC3
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for VOXL_ESC_FUNC4
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for VOXL_ESC_RPM_MAX
      ERROR [parameters] Timeout waiting for parameter_client_set_value_response for VOXL_ESC_RPM_MIN
      INFO  [parameters] BSON document size 4757 bytes, decoded 4757 bytes (INT32:111, FLOAT:119)
      Starting IMU driver with rotation 12
      INFO  [qshell] Send cmd: 'icm42688p start -s -R 12'
      INFO  [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      

      I can't consistently recreate it, but it usually happens after restarting voxl-px4 a few times during one "session" (I don't think it's ever happened on the first voxl-px4 startup). Is there a corresponding service I should restart alongside voxl-px4, or can anyone clue me in to why this issue might be happening only sometimes?

      posted in Ask your questions right here!
      J
      jon
    • RE: voxl-microdds-agent for connection to external fcu over uart (J10)

      @Zachary-Lowell-0 Oh wow, thanks that's very simple

      posted in Ask your questions right here!
      J
      jon
    • voxl-microdds-agent for connection to external fcu over uart (J10)

      Hi! Problem statement: want to connect external FCU to voxl and communicate over the microdds bridge for minimal latency. In the past, I have tried to compile the uxrce-dds agent from source https://docs.px4.io/main/en/middleware/uxrce_dds but never really dove into trying to fix all the issues. I assume this is a problem you guys fixed with voxl-microdds-agent; is it possible to modify that package to communicate with an external flight controller over UART?

      Other option would be docker, which I've done before, but that incurs some overhead and we're kinda maxing out the voxl, so I would prefer a native implementation.

      I guess I'm just asking if this is feasible within the design of voxl-microdds-agent or if it's tailored to communicating with voxl-px4 over shared memory.

      posted in Ask your questions right here!
      J
      jon
    • voxl-logger seg fault on shutdown

      Hi, in order to log a lot of different configurable data & cleanly parse the output, I wrote a python wrapper that calls voxl-logger as a subprocess and terminates it by sending a SIGINT (emulating user ctrl+c).

      This issue only happens sometimes, maybe 30% of the time or something. I don't recall ever seeing it when starting voxl-logger natively in the terminal.

      Running: stdbuf -oL -eL voxl-logger -c hires_small_color -i imu_apps -i imu_vectornav -B baro_vectornav -g gnss1_vectornav -I ins_vectornav
      Welcome to voxl-logger
      58127 MB left in /data/voxl-logger/
      starting new log: /data/voxl-logger/log0044/
      
      connected to ch 0 /run/mpa/hires_small_color/
      connected to ch 1 /run/mpa/imu_apps/
      ^C
      Stopping...
      
      received SIGINT Ctrl-C
      WARNING, _stop_helper_and_remove_pipe timed out joining read thread
      
      Segmentation fault:
      Fault thread: voxl-logger(tid: 26766)
      Fault address: 0x7f9d719010
      Address not mapped.
      

      The main issue is that when this happens it fails to print the logger summary (channels & messages logged) which is important for me to quickly analyze the validity of the logged data. Also we've had issues with the logger not shutting down gracefully and only partially populating the final row of the csv it was writing to.

      Do you guys have any idea why this might be happening? I would much prefer the logger to exit consistently and gracefully.

      Thanks!

      posted in Ask your questions right here!
      J
      jon
    • voxl-px4 time source

      Do the apps and slpi processors share the same clock? I intend to publish external vio data to voxl-px4, and I'm wondering how it should be timestamped to properly ingest into the EKF2 module. Right now I am timestamping things on the apps side using the monotonic clock (same as voxl-camera-server and voxl-imu-server).

      posted in Ask your questions right here!
      J
      jon
    • RE: Need Help Connecting To My Platform

      @Colby-Howell You can save camera data onboard using voxl-logger, but it will take up a lot of storage very quickly and the voxl2 has < 64gb so be careful with that. If you're not trying to save raw frames and are okay with compression & artifacts you can stream it to a ground computer with voxl-streamer and save it there

      For connecting to the drone the easiest (especially cause you don't have a ground radio) is wifi, you can just connect your drone to a somewhat powerful router, set a static IP and ssh in.

      For autonomous navigation, the best way in my opinion is to talk to voxl-px4 through the uxrce-dds bridge (implemented on the voxl2 as voxl-microdds-agent) https://docs.px4.io/main/en/middleware/uxrce_dds

      posted in Ask your questions right here!
      J
      jon
    • RE: voxl2_io direct command pwm on channel 5

      @Alex-Kushleyev Hey thanks for the quick reply,

      It's kind of hard to explain but eventually this system will be flown, and I'll need pretty extensive control over what's happening on the px4 side so I'm kind of using this as an exercise to understand how things work. Also trying to keep the hardware consistent with what will fly.

      I do want to run voxl-px4 so I can pipe data into EKF2 and see how it responds under certain conditions. Right now we have a standard voxl2 with the ethernet expansion board, and are using the J9 uart for connecting an external sensor, and the J11 superspeed USB for datalogging. Unfortunately I believe this leaves us with no apps proc uarts available, so interacting with it on the SLPI side is the only option.

      I'll mess around with other VehicleCommand messages and see if I can get something to show up on the px4 side

      posted in Ask your questions right here!
      J
      jon
    • RE: voxl2_io direct command pwm on channel 5

      @Alex-Kushleyev

      • I am not using a modalai ESC. I am directly connecting channel 5 of J1 on the m0065 board to the PWM pin of the servo, and providing power externally. Right now the system is not being flown (it's more of a sensor package) so channels 1-4 are unused, but I tried every method I tried with channel 5 on channel 1 and they didn't work.

      • I am able to actuate the servo on channel 5 with the QGC slider. With the command 'listener vehicle_command' in the px4 shell, I can see that the slider is sending MAV_CMD_ACTUATOR_TEST. However my commands (also sent to vehicle_command over the microdds bridge) do not seem to be interpreted.

      • That is not a viable option, I need to communicate with the VOXL2 over an existing long-range network (similar to doodle labs). I could add the uOrb inputRc message to the voxl-px4 microdds client and try to spoof an RC pwm, but I'm hesitant to believe that will work with everything I've tried already.

      I think the problem is the particular VehicleCommand msg I'm sending not making it through as you said. It's just strange though because I've had no issue arming or mode switching vehicles through the same msg on other voxl2 platforms

      I'll take it there's no direct way to just write a constant PWM output to the voxl2_io board on the voxl2?

      Thanks!

      posted in Ask your questions right here!
      J
      jon
    • voxl2_io direct command pwm on channel 5

      Hi, I've been having trouble trying to set up a pitch gimbal on a voxl2 via channel 5 of the m0065 board. The control is pretty simple, I just need to update the pitch of the gimbal to a static angle once or twice during a mission. I could drive it with a tiny mcu over usb but I kind of want to avoid that as the m0065 board is already necessary in our build

      Some things I already tried:

      • Adding some uOrb control messages to the voxl-px4 build (ActuatorMotors, ActuatorServos, GimbalCommand), and sending the corresponding messages to command pitch on channel 5 via microdds bridge

      • Sending a VehicleCommand message with the supposedly correct params isn't even received on the px4 side (output of a listener echo in the mavlink console). This is really weird as I've used vehicle_command to arm / mode switch vehicles before

      • The failure of those methods made me think it's something to do with the gimbal module getting left out of the voxl-px4 SLPI build, so I added it and retried the GimbalCommand and VehicleCommand messages, but to no avail

      I have yet to try mavsdk but the failure of all that other stuff doesn't make me too hopeful it's going to work.

      Is there a way to directly command a pwm with the voxl2_io module (Either on the slpi side or apps side)? Like "voxl2_io set -c <channel> -v <value>" or something

      Thank you!

      posted in Ask your questions right here!
      J
      jon
    • Adding GNSS libmodal pipe interface

      I'm in the process of building an apps proc mpa server sensor package for the vectornav vn300 external INS, and looking through the currently supported interfaces in libmodal pipe there appears to be no GNSS interface. It seems pretty simple to add a header, but taking the imu_data_t interface as an example I can't find where the pipe_validate_imu_data_t() function is defined, so it's unclear to me how it actually validates a pipe read, and how I would do it for a gnss data stream with different fields.

      Maybe I'm just not looking in the right place? Please let me know where I can find an example of pipe data validation, and also of any other requirements when adding an interface to libmodal pipe.

      Thanks!

      posted in Ask your questions right here!
      J
      jon
    • RE: External INS integration on SLPI proc QUP6

      @Alex-Kushleyev Gotcha, thanks!

      posted in Ask your questions right here!
      J
      jon
    • External INS integration on SLPI proc QUP6

      Trying to get a vectornav VN300 external INS to work with our voxl2 setup. It has a sensor module in px4 firmware: https://docs.px4.io/main/en/sensor/vectornav.

      Looking at the voxl-px4-start script here: https://github.com/modalai/px4-firmware/blob/main/boards/modalai/voxl2/target/voxl-px4-start it seems like you should be able to start a module / driver and target QUP6 this way:

      if [ "$GPS" != "NONE" ]; then
          # On M0052 the GPS driver runs on the apps processor
          if [ $PLATFORM = "M0052" ]; then
              gps start -d /dev/ttyHS2
          # On M0054 and M0104 the GPS driver runs on SLPI DSP
          else
              qshell gps start -d 6
          fi
      fi
      

      So I assumed I could just modify voxl-px4 to include the vectornav sensor module, reload the package and add the appropriate start command

      qshell vectornav start -d 6
      

      Even with the firmware properly rebuilt & deployed and the vectornav module visible as a target on the px4 side, it fails to run from the VOXL2 side:

      starling-px4-dev-kit (D0011):/usr/bin$ px4-qshell vectornav start -d 6
      INFO  [qshell] Send cmd: 'vectornav start -d 6'
      INFO  [qshell] cmd returned with: 1
      INFO  [qshell] qshell return value timestamp: 1453125775, local time: 1453127808
      ERROR [qshell] Command failed
      

      Also, the output isn't really verbose so I can't see why the command failed. I've tried running it on the px4 side (in the mavlink console in QGroundControl), and the verbose error I get is that '6' is not a proper serial device. How can I start the driver and properly target QUP6? Also, how can I get more verbose output when running px4-qshell commands on the VOXL2 side?

      posted in Ask your questions right here!
      J
      jon
    • Robust way of setting static IP

      Right now I'm using this bash script to set a static ip:

      ETHERNET_IP=192.168.1.100
      eth_dongle_interface=eth0
      
      while true
      do  
         if [[ -e "/sys/class/net/$eth_dongle_interface" ]]; then
               eth_dongle_ip=$(ip -4 addr show $eth_dongle_interface | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | head -1)
         else
               eth_dongle_ip=""
         fi
      
         if [[ "$eth_dongle_ip" != *"$ETHERNET_IP"* &&  -e "/sys/class/net/$eth_dongle_interface" ]]; then
                      echo "setting IP address to: $ETHERNET_IP"
                      ip addr flush dev $eth_dongle_interface
                      sleep 1
                      ip link set dev $eth_dongle_interface up
                      sleep 1
                      ip addr add $ETHERNET_IP/255.255.255.0 dev $eth_dongle_interface
          fi
          sleep 1
      done
      

      It's pretty reliable, but we have seen it fail and the default 169.254.4.1 address takes over the eth0 interface. I believe this the Qualcomm DHCP manager? Is there any way to edit the network manager directly? We have tried deleting it but it seems to regenerate on boot.

      posted in Ask your questions right here!
      J
      jon
    • Apps proc UART on standard VOXL2

      Hi, I am trying to hook up an external FCU for a sensors test over uart to the standard m0054 VOXL2 (with ethernet hub addon M0062). Looking at the pinouts, I'm seeing references to a lot of QUP uart ports - are any of those accessible to the applications processor (i.e. at /dev/ttyXX)? If so, how will I know which physical port corresponds to which uart?

      posted in Ask your questions right here!
      J
      jon
    • RE: VOXL2 mini J3 connector (USB3) not working well with external storage for data logging

      @Vinny Powering the drive externally didn't change anything, seems like it's a data rate issue.

      I am having super weird IO problems with the ssd, like sometimes the partition doesn't show up when running 'lsblk' so I can't mount it. Data rate tests using dd are not consistent at all, and sometimes mid write the drive will become read only and dd will hang infinitely, following which I have to reformat the drive. I had the same partition issues trying a microsd card in the ethernet hub addon microsd slot - the sdcard showed up as mmcblk0 with no partitions available to mount.

      I've had much more consistent performance using a microsd + reader over usb3. This post was helpful for setting some standards: https://forum.modalai.com/topic/3855/question-about-the-usb3-uart-add-on-versus-the-voxl-2-ethernet-and-usb-hub-add-on/2. With my setup (UHS-1 microssd + reader) I'm getting about 50MBps write to ext4 and ~75MBps write to exFAT formatted microsd card.

      However, those tests with dd seem to be really unreliable and not representative of the rate I'll get using voxl-logger. I'm guessing I need a benchmark data rate of much higher than what we actually need (93MBps) in order to consistently write frames.

      posted in Ask your questions right here!
      J
      jon
    • RE: VOXL2 mini J3 connector (USB3) not working well with external storage for data logging

      @Vinny We have the M0204, good to know that the usb3 SS lines are fixed. As I am just doing bench testing, the only other device I have plugged in is the IMX214 hires camera (which I am trying to log frames of).

      Spec wise I have been testing with a Samsung T7 shield connected over USBC, their docs weren't super clear but it seems like it consumes maximum 7.5W at 5V, so that could be the issue. With USB3.2 connection they claim it can reach 1GBps writespeed, and we are under 1/10th of that in requirement (we require about 93MBps).

      I could splice in auxiliary 5V power to see if that helps.

      IMG_4798_1080x1440.jpg

      posted in Ask your questions right here!
      J
      jon