ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. Denver Hopkins
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 8
    • Best 0
    • Controversial 0
    • Groups 0

    Denver Hopkins

    @Denver Hopkins

    0
    Reputation
    4
    Profile views
    8
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Denver Hopkins Unfollow Follow

    Latest posts made by Denver Hopkins

    • RE: VOXL2 IO Board and External ESCs - voxl2-io driver fails to initialize

      @Alex-Kushleyev The new board works well now after updating the firmware. We'll also update the original board soon and see if that resolves the issue with it, too. Thanks for your help!

      posted in Ask your questions right here!
      Denver HopkinsD
      Denver Hopkins
    • RE: VOXL2 IO Board and External ESCs - voxl2-io driver fails to initialize

      @Alex-Kushleyev We updated the firmware on the new IO Board to v2 and the PX4 startup log now reflects the correct firmware version. Thank you for the links.

      We will update the FW on the original board also to see if that resolves its anomalous behavior, but since it wasn't reporting ANY firmware version, we don't know what to expect. In any case, this is progress that we are happy to have. Will let you know how it goes.

      Thanks for your help!
      Denver

      posted in Ask your questions right here!
      Denver HopkinsD
      Denver Hopkins
    • RE: VOXL2 IO Board and External ESCs - voxl2-io driver fails to initialize

      @Alex-Kushleyev - Thanks for asking. I was just updating this thread when I saw your question. It looks like we may have been flashing with the old firmware.

      Instructions on the page titled 'VOXL 2 IO Firmware / Bootloader' (https://docs.modalai.com/voxl2-io-firmware/) state under the heading 'Getting New Firmware':

      "New firmware will ship with VOXL SDK updates and VOXL 2 command line tools will be able to update FW.
      Additionally, FW files may be hosted on the public downloads page."

      We downloaded the latest VOXL 2 Platform Release (VOXL2 SDK 1.4.0, voxl2_SDK_1.4.0.tar.gz) from https://developer.modalai.com/asset/2 and could not find it in that download.

      So we checked the 'public downloads' page (https://downloads.modalai.com/) as also directed by the instructions above. There, we selected the category 'Miscellaneous' (https://developer.modalai.com/asset/7) and found only this firmware for the VOXL2 IO board:

      VOXL2 IO FW v1_35_58c82813 voxl2_io_firmware_m0065_v1_35_58c82813.bin 12/4/2023

      It appears to be a version 1 binary. Can you provide a link that will get us to the version 2 binary?

      NOTE ALSO: Today we received a replacement VOXL 2 IO board that we ordered in case the one we had was bad. Before flashing it, we installed it and started PX4. At least with the new board, PX4 is able to interrogate the board and determine its UID and firmware version. That's better than what we have been experiencing (no response at all from the IO Board). It now looks like even the new board has v1 firmware and must be updated. We are prepared to update it now, but will not until we are sure we have the latest (v2) firmware.

      Screenshot from 2025-01-22 16-27-04.png

      Thanks for your help! We've made more meaningful progress in one day than we have the last week, and we are grateful.

      Denver

      posted in Ask your questions right here!
      Denver HopkinsD
      Denver Hopkins
    • RE: VOXL2 IO Board and External ESCs - voxl2-io driver fails to initialize

      @Alex-Kushleyev THANK YOU for your suggestion. We have done that-- now three times-- and each time with apparent (if uncertain) success. Each time, the procedure worked exactly as depicted in the video instructions and ended with 'Firmware successfully updated'. The only thing we notice that seemed suspect is the blue LED flash pattern on boot. It does not seem consistent with the v2 pattern in that the v2 pattern appears to have a break between the initial rapid flash and the first of two long flashes. After updating firmware on our board, the pattern doesn't change from what it has always done-- the initial rapid flash that changes to the first long flash with no break in between. (I realize a verbal description of the flash pattern is less than ideal.)

      We are expecting delivery of a new VOXL2 IO Board today. Ideally, it will have the latest firmware on it already. If it does not, we will update it also and see whether it resolves the issue.

      Thanks again for your suggestion!

      Denver

      posted in Ask your questions right here!
      Denver HopkinsD
      Denver Hopkins
    • RE: VOXL2 IO Board and External ESCs - voxl2-io driver fails to initialize

      @Moderator @modaltb - Anyone have any suggestions here? We've ordered another IO Board and are waiting for it to arrive. But hate to wait more than a week to end up in the same place. Appreciate any insights you may have. Something is obviously in our blindspot (or we're dealing with a bad board), but in my experience, blindspots are more likely than bad hardware.

      posted in Ask your questions right here!
      Denver HopkinsD
      Denver Hopkins
    • VOXL2 IO Board and External ESCs - voxl2-io driver fails to initialize

      Originally posted this elsewhere a couple of days ago and on seeing no replies after a couple of days, realized that maybe it should be posted here for your engineers to see it.

      We'd appreciate suggestions for troubleshooting as it seems at this point we're making little progress. And, of course, if we can provide additional info to make it easier, please let us know. Thanks!

      SUMMARY

      VOXL2-IO driver is failing to initialize. When we 'scan' and 'detect' using utilities of the voxl-2-io wizard, the M00065 is detected, however there appears to be no UID or FW hash values which makes us suspicious of its response. We have followed instruction in the forum topic ' VOXL 2 IO Board troubleshooting - Driver will not start' at https://forum.modalai.com/topic/3242/voxl-2-io-board-troubleshooting-driver-will-not-start. Platform SDK and VOXL IO Board firmware have been updated to latest released versions (see 'ENVIRONMENT' above).

      'Spin' command in the voxl-2-io wizard drives Motor1 (on PWM Channel 1) but none of the others. We are not able to drive motors from QGC.

      And finally, upon startup, there is no PWM signal. Not even the idle/disarmed pulse sent right after power on to stop ESCs timing out, which causes an Arming Timeout to occur on ESCs.

      More specific observations follow below.

      OUR ENVIRONMENT

      VOXL2
      system-image: 1.8.02-M0054-14.1a-perf
      kernel: #1 SMP PREEMPT Mon Nov 11 22:08:01 UTC 2024 4.19.125
      hw platform: M0054
      mach.var: 1.0.0
      voxl-suite: 1.4.0

      VOXL2 IO Board w/ Firmware upgraded to 'VOXL2 IO FW v1_35_58c82813' using procedure at https://docs.modalai.com/voxl2-io-firmware/#via-voxl-2-command-line-tools. (NOTE: Upgrade seemed to go flawlessly.)

      ESCs Configured as follows:

      Pulse width zero throttle = 1050 us
      Pulse width full throttle = 2000 us
      Pulse width center = 1050 us
      Pulse deadband = 20 us

      Doodle Labs Mini OEM Mesh Rider (915 + 2.4)
      UXV SROC Controller
      Maxon EC69 Motors PN 725770
      Maxon UAV-ESC 52/30 PN 654541

      OBSERVATIONS

      OBSERVATION #1

      During startup (see 'PX4 STARTUP LOG' that follows), when PX4 attempts to detect the M0065 board, we expect to see a UID value, current FW version, and a hash value like this example from the forum topic 'VOXL 2 IO Board troubleshooting - Driver will not start' at https://forum.modalai.com/topic/3242/voxl-2-io-board-troubleshooting-driver-will-not-start/6:

      INFO  [muorb] SLPI: VOXL2_IO: Detecting M0065 board...
      INFO  [muorb] SLPI: VOXL2_IO: 	VOXL2_IO ID: 0
      INFO  [muorb] SLPI: VOXL2_IO: 	Board Type : 35: ModalAi I/O Expander (M0065)
      INFO  [muorb] SLPI: VOXL2_IO: 	Unique ID  : 0x4304296039364B560671FF36
      INFO  [muorb] SLPI: VOXL2_IO: 	Firmware   : version    2, hash f94baad1
      INFO  [muorb] SLPI: VOXL2_IO: 	Bootloader : version    0, hash 17147346*
      INFO  [muorb] SLPI: VOXL2_IO: 	Reply time : 2584us
      

      Instead our PX4 log indicates no version info response from VOXL2_IO and Driver initialization fails.:

      INFO  [muorb] SLPI: VOXL2_IO: M0065 using external RC
      INFO  [muorb] SLPI: VOXL2_IO: Driver starting
      INFO  [uORB] Advertising remote topic sensor_baro
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_BAUD  : 921600
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC1 : 101
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC2 : 102
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC3 : 103
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC4 : 104
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC5 : 0
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC6 : 0
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC7 : 0
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC8 : 0
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_DIS   : 1000
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_MIN   : 1100
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_MAX   : 2000
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_CMIN  : 1050
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_CMAX  : 2000
      INFO  [muorb] SLPI: VOXL2_IO: 
      INFO  [muorb] SLPI: VOXL2_IO: Opening UART device 2, baud rate 921600
      INFO  [muorb] SLPI: VOXL2_IO: Successfully opened UART device
      INFO  [muorb] SLPI: VOXL2_IO: Detecting M0065 board...
      ERROR [muorb] SLPI: VOXL2_IO: Board version info response timeout (2 retries left)
      ERROR [muorb] SLPI: VOXL2_IO: Board version info response timeout (1 retries left)
      ERROR [muorb] SLPI: VOXL2_IO: Board version info response timeout (0 retries left)
      ERROR [muorb] SLPI: VOXL2_IO: Could not detect the board
      ERROR [muorb] SLPI: VOXL2_IO: Driver initialization failed. Exiting
      INFO  [muorb] SLPI: VOXL2_IO: Closing uart port
      ERROR [muorb] SLPI: Task start failed (-1)
      ERROR [muorb] SLPI: Failed to execute command: voxl2_io start -e
      INFO  [qshell] cmd returned with: -1
      INFO  [qshell] qshell return value timestamp: 90708410, local time: 90709998
      ERROR [qshell] Command failed
      

      Note also that when we execute the voxl-2-io 'spin' utility (see included 'SPIN LOG'), it's log does indicate successful detection of an ESC, but lacks UID, hash, and FW version is '1'. It looks to us like it isn't responding:

      INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 921600
      ID         : 0
      Board      : version 35: ModalAi I/O Expander (M0065)
      UID        : 0x000000000000000000000000
      Firmware   : version    1, hash 
      Bootloader : version    0, hash
      

      FULL PX4 STARTUP LOG

      voxl2:/$ systemctl stop voxl-px4
      voxl2:/$ voxl-px4 start -d
      [INFO] Reading from /etc/modalai/voxl-px4.conf
      Found DSP signature file
      [INFO] Daemon mode enabled
      
      *************************
      AIRFRAME=MULTICOPTER
      GPS=NONE
      RC=EXTERNAL
      ESC=VOXL2_IO_PWM_ESC
      POWER MANAGER=NONE
      AIRSPEED SENSOR=NONE
      DISTANCE SENSOR=NONE
      OSD=DISABLE
      DAEMON_MODE=ENABLE
      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
      Got topic data before configuration complete
      Got topic data before configuration complete
      Got topic data before configuration complete
      Got topic data before configuration complete
      Got topic data before configuration complete
      Got topic data before configuration complete
      Got topic data before configuration complete
      Got topic data before configuration complete
      Got topic data before configuration complete
      Got topic data before configuration complete
      Got topic data before configuration complete
      Got topic data before configuration complete
      Got topic data before configuration complete
      INFO  [muorb] SLPI: muorb aggregator thread running
      INFO  [muorb] muorb protobuf initalize method succeeded
      INFO  [muorb] succesfully did ADVERTISE_TEST_TYPE
      INFO  [muorb] SLPI: Creating pthread test_MUORB
      
      INFO  [muorb] SLPI: Successfully created px4 task PX4_test_MUORB with tid 2097656
      INFO  [muorb] succesfully did SUBSCRIBE_TEST_TYPE
      INFO  [muorb] SLPI: Creating pthread test_MUORB
      
      INFO  [muorb] SLPI: Successfully created px4 task PX4_test_MUORB with tid 2097655
      INFO  [muorb] succesfully did TOPIC_TEST_TYPE
      INFO  [muorb] SLPI: Creating pthread test_MUORB
      
      INFO  [muorb] SLPI: Successfully created px4 task PX4_test_MUORB with tid 2097654
      INFO  [muorb] SLPI: Creating pthread test_MUORB
      
      INFO  [muorb] succesfully did UNSUBSCRIBE_TEST_TYPE
      INFO  [muorb] SLPI: Successfully created px4 task PX4_test_MUORB with tid 2097653
      INFO  [muorb] muorb test passed
      
      ______  __   __    ___ 
      | ___ \ \ \ / /   /   |
      | |_/ /  \ V /   / /| |
      |  __/   /   \  / /_| |
      | |     / /^\ \ \___  |
      \_|     \/   \/     |_/
      
      px4 starting.
      
      INFO  [muorb] SLPI: Advertising remote topic log_message
      INFO  [px4] startup script: /bin/sh /usr/bin/voxl-px4-start 0
      INFO  [parameters] Starting param sync THREAD
      
      *************************
      AIRFRAME: MULTICOPTER
      GPS: NONE
      RC: EXTERNAL
      ESC: VOXL2_IO_PWM_ESC
      POWER MANAGER: NONE
      AIRSPEED SENSOR: NONE
      DISTANCE SENSOR: NONE
      OSD: DISABLE
      ARTIFACT_MODE: DISABLE
      EXTRA STEPS:
      	
      *************************
      
      Running on M0054
      INFO  [muorb] SLPI: Starting param sync THREAD
      INFO  [muorb] SLPI: before starting the qshell_entry task
      INFO  [muorb] SLPI: Creating pthread qshell
      
      INFO  [muorb] SLPI: Successfully created px4 task PX4_qshell with tid 2097652
      INFO  [muorb] SLPI: qshell entry.....
      INFO  [muorb] SLPI: after starting the qshell_entry task
      INFO  [muorb] SLPI: Init app map initialized
      INFO  [param] selected parameter default file /data/px4/param/parameters
      INFO  [muorb] SLPI: Marking DeviceNode(parameter_client_reset_request) as advertised in process_remote_topic
      INFO  [uORB] Marking DeviceNode(parameter_client_reset_response) as advertised in process_remote_topic
      INFO  [muorb] SLPI: Advertising remote topic parameter_update
      INFO  [muorb] SLPI: Marking DeviceNode(parameter_client_set_value_request) as advertised in process_remote_to
      INFO  [uORB] Marking DeviceNode(parameter_server_set_used_request) as advertised in process_remote_topic
      INFO  [muorb] SLPI: Marking DeviceNode(parameter_server_set_used_response) as advertised in process_remote_to
      INFO  [uORB] Marking DeviceNode(parameter_client_set_value_response) as advertised in process_remote_topic
      INFO  [parameters] BSON document size 3005 bytes, decoded 3005 bytes (INT32:35, FLOAT:103)
      INFO  [logger] logger started (mode=all)
      Starting IMU driver with no rotation
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: icm42688p start -s
      INFO  [muorb] SLPI:   arg0 = 'icm42688p'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [muorb] SLPI:   arg2 = '-s'
      
      INFO  [muorb] SLPI: *** SPI Device ID 0x26000a 2490378
      INFO  [uORB] Advertising remote topic sensor_accel
      INFO  [uORB] Advertising remote topic sensor_gyro
      INFO  [qshell] Send cmd: 'icm42688p start -s'
      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: 
      
      INFO  [muorb] SLPI: >>> ICM42688P this: b25ffd38
      INFO  [muorb] SLPI: Ok executing command: icm42688p start -s
      INFO  [uORB] Advertising remote topic qshell_retval
      INFO  [muorb] SLPI: >>> ICM42688P this: b25ffd38
      INFO  [qshell] qshell return value timestamp: 90293111, local time: 90297992
      INFO  [muorb] SLPI: >>> ICM42688P this: b25ffd38
      INFO  [muorb] SLPI: Register interrupt b214ec48 e61f670c b25ffd38
      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: Set up I2C bus mutex for bus 5
      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: 90326507, local time: 90328104
      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
      INFO  [muorb] SLPI: Set up I2C bus mutex for bus 1
      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: 90361561, local time: 90365409
      ERROR [qshell] Command failed
      Looking for 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: Set up I2C bus mutex for bus 1
      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: ist8310 start -R 10 -X -b 1
      INFO  [qshell] cmd returned with: -1
      INFO  [qshell] qshell return value timestamp: 90397222, local time: 90398475
      ERROR [qshell] Command failed
      Looking for ncp5623c RGB LED
      INFO  [muorb] SLPI: >>> ICM42688P this: b25ffd38
      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  [qshell] Send cmd: 'rgbled_ncp5623c start -X -b 1 -f 400 -a 56'
      INFO  [muorb] SLPI: *** I2C Device ID 0x7b3809 8075273
      INFO  [muorb] SLPI: Set up I2C bus mutex for bus 1
      INFO  [muorb] SLPI: Set i2c address 0x38, fd 3
      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: rgbled_ncp5623c start -X -b 1 -f 400 -a 56
      INFO  [qshell] cmd returned with: -1
      INFO  [qshell] qshell return value timestamp: 90438912, local time: 90440578
      ERROR [qshell] Command failed
      Starting VOXL IO for PWM ESC without SBUS RC
      INFO  [qshell] Send cmd: 'voxl2_io start -e'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: voxl2_io start -e
      INFO  [muorb] SLPI:   arg0 = 'voxl2_io'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [muorb] SLPI:   arg2 = '-e'
      
      INFO  [uORB] Advertising remote topic actuator_outputs
      INFO  [muorb] SLPI: VOXL2_IO: M0065 using external RC
      INFO  [muorb] SLPI: VOXL2_IO: Driver starting
      INFO  [uORB] Advertising remote topic sensor_baro
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_BAUD  : 921600
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC1 : 101
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC2 : 102
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC3 : 103
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC4 : 104
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC5 : 0
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC6 : 0
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC7 : 0
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC8 : 0
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_DIS   : 1000
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_MIN   : 1100
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_MAX   : 2000
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_CMIN  : 1050
      INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_CMAX  : 2000
      INFO  [muorb] SLPI: VOXL2_IO: 
      INFO  [muorb] SLPI: VOXL2_IO: Opening UART device 2, baud rate 921600
      INFO  [muorb] SLPI: VOXL2_IO: Successfully opened UART device
      INFO  [muorb] SLPI: VOXL2_IO: Detecting M0065 board...
      ERROR [muorb] SLPI: VOXL2_IO: Board version info response timeout (2 retries left)
      ERROR [muorb] SLPI: VOXL2_IO: Board version info response timeout (1 retries left)
      ERROR [muorb] SLPI: VOXL2_IO: Board version info response timeout (0 retries left)
      ERROR [muorb] SLPI: VOXL2_IO: Could not detect the board
      ERROR [muorb] SLPI: VOXL2_IO: Driver initialization failed. Exiting
      INFO  [muorb] SLPI: VOXL2_IO: Closing uart port
      ERROR [muorb] SLPI: Task start failed (-1)
      ERROR [muorb] SLPI: Failed to execute command: voxl2_io start -e
      INFO  [qshell] cmd returned with: -1
      INFO  [qshell] qshell return value timestamp: 90708410, local time: 90709998
      ERROR [qshell] Command failed
      INFO  [qshell] Send cmd: 'sensors start'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: sensors start
      INFO  [muorb] SLPI:   arg0 = 'sensors'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [uORB] Advertising remote topic sensor_selection
      INFO  [uORB] Advertising remote topic sensors_status_imu
      INFO  [uORB] Advertising remote topic vehicle_acceleration
      INFO  [uORB] Advertising remote topic vehicle_angular_velocity
      INFO  [uORB] Advertising remote topic sensor_combined
      INFO  [uORB] Advertising remote topic vehicle_air_data
      INFO  [uORB] Advertising remote topic vehicle_gps_position
      INFO  [uORB] Advertising remote topic vehicle_imu
      INFO  [uORB] Advertising remote topic vehicle_imu_status
      INFO  [muorb] SLPI: Ok executing command: sensors start
      INFO  [qshell] qshell return value timestamp: 90880763, local time: 90883241
      INFO  [qshell] Send cmd: 'ekf2 start'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: ekf2 start
      INFO  [muorb] SLPI:   arg0 = 'ekf2'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [uORB] Advertising remote topic sensors_status_baro
      INFO  [uORB] Advertising remote topic vehicle_attitude
      INFO  [uORB] Advertising remote topic vehicle_local_position
      INFO  [uORB] Advertising remote topic estimator_event_flags
      INFO  [uORB] Advertising remote topic estimator_innovation_test_ratios
      INFO  [uORB] Advertising remote topic estimator_innovation_variances
      INFO  [uORB] Advertising remote topic estimator_innovations
      INFO  [uORB] Advertising remote topic estimator_sensor_bias
      INFO  [uORB] Advertising remote topic estimator_states
      INFO  [uORB] Advertising remote topic estimator_status_flags
      INFO  [uORB] Advertising remote topic estimator_status
      INFO  [muorb] SLPI: Ok executing command: ekf2 start
      INFO  [uORB] Advertising remote topic ekf2_timestamps
      INFO  [qshell] qshell return value timestamp: 91260100, local time: 91262420
      INFO  [uORB] Advertising remote topic vehicle_odometry
      INFO  [uORB] Advertising remote topic estimator_aid_src_baro_hgt
      INFO  [uORB] Advertising remote topic estimator_aid_src_fake_pos
      INFO  [uORB] Advertising remote topic estimator_aid_src_fake_hgt
      INFO  [uORB] Advertising remote topic estimator_aid_src_gravity
      INFO  [qshell] Send cmd: 'mc_pos_control start'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: mc_pos_control start
      INFO  [muorb] SLPI:   arg0 = 'mc_pos_control'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [uORB] Advertising remote topic takeoff_status
      INFO  [muorb] SLPI: Ok executing command: mc_pos_control start
      INFO  [qshell] qshell return value timestamp: 91371052, local time: 91372794
      INFO  [qshell] Send cmd: 'mc_att_control start'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: mc_att_control start
      INFO  [muorb] SLPI:   arg0 = 'mc_att_control'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [muorb] SLPI: Ok executing command: mc_att_control start
      INFO  [qshell] qshell return value timestamp: 91413593, local time: 91416091
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: mc_rate_control start
      INFO  [muorb] SLPI:   arg0 = 'mc_rate_control'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [qshell] Send cmd: 'mc_rate_control start'
      INFO  [uORB] Advertising remote topic rate_ctrl_status
      INFO  [muorb] SLPI: Ok executing command: mc_rate_control start
      INFO  [qshell] qshell return value timestamp: 91539655, local time: 91542694
      INFO  [qshell] Send cmd: 'mc_hover_thrust_estimator start'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: mc_hover_thrust_estimator start
      INFO  [muorb] SLPI:   arg0 = 'mc_hover_thrust_estimator'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [muorb] SLPI: Ok executing command: mc_hover_thrust_estimator start
      INFO  [qshell] qshell return value timestamp: 91585850, local time: 91587809
      INFO  [qshell] Send cmd: 'mc_autotune_attitude_control start'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: mc_autotune_attitude_control start
      INFO  [muorb] SLPI:   arg0 = 'mc_autotune_attitude_control'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [uORB] Advertising remote topic autotune_attitude_control_status
      INFO  [muorb] SLPI: Ok executing command: mc_autotune_attitude_control start
      INFO  [qshell] qshell return value timestamp: 91631578, local time: 91634001
      INFO  [qshell] Send cmd: 'land_detector start multicopter'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: land_detector start multicopter
      INFO  [muorb] SLPI:   arg0 = 'land_detector'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [muorb] SLPI:   arg2 = 'multicopter'
      
      INFO  [muorb] SLPI: Ok executing command: land_detector start multicopter
      INFO  [qshell] qshell return value timestamp: 91677358, local time: 91679935
      INFO  [uORB] Advertising remote topic vehicle_land_detected
      INFO  [qshell] Send cmd: 'manual_control start'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: manual_control start
      INFO  [muorb] SLPI:   arg0 = 'manual_control'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [muorb] SLPI: Ok executing command: manual_control start
      INFO  [qshell] qshell return value timestamp: 91741340, local time: 91744122
      INFO  [uORB] Advertising remote topic manual_control_setpoint
      INFO  [qshell] Send cmd: 'control_allocator start'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: control_allocator start
      INFO  [muorb] SLPI:   arg0 = 'control_allocator'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [uORB] Advertising remote topic control_allocator_status
      INFO  [uORB] Marking DeviceNode(control_allocator_status) as advertised in process_remote_topic
      INFO  [uORB] Advertising remote topic actuator_motors
      INFO  [uORB] Advertising remote topic actuator_servos
      INFO  [uORB] Advertising remote topic actuator_servos_trim
      INFO  [muorb] SLPI: Ok executing command: control_allocator start
      INFO  [qshell] qshell return value timestamp: 92109870, local time: 92111836
      INFO  [qshell] Send cmd: 'load_mon start'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: load_mon start
      INFO  [muorb] SLPI:   arg0 = 'load_mon'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [muorb] SLPI: Ok executing command: load_mon start
      INFO  [uORB] Advertising remote topic cpuload
      INFO  [qshell] qshell return value timestamp: 92145480, local time: 92148536
      INFO  [qshell] Send cmd: 'commander start'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: commander start
      INFO  [muorb] SLPI:   arg0 = 'commander'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [muorb] SLPI: Creating pthread commander
      
      INFO  [muorb] SLPI: Successfully created px4 task PX4_commander with tid 2097641
      INFO  [uORB] Advertising remote topic led_control
      INFO  [muorb] SLPI: LED: open /dev/led0 failed (22)
      INFO  [uORB] Advertising remote topic tune_control
      INFO  [muorb] SLPI: Ok executing command: commander start
      INFO  [qshell] qshell return value timestamp: 92586069, local time: 92586898
      INFO  [uORB] Advertising remote topic event
      INFO  [uORB] Advertising remote topic health_report
      INFO  [uORB] Advertising remote topic failsafe_flags
      INFO  [uORB] Advertising remote topic actuator_armed
      INFO  [uORB] Advertising remote topic vehicle_control_mode
      INFO  [uORB] Advertising remote topic vehicle_thrust_setpoint
      INFO  [uORB] Advertising remote topic vehicle_torque_setpoint
      INFO  [uORB] Advertising remote topic vehicle_status
      INFO  [uORB] Advertising remote topic failure_detector_status
      INFO  [uORB] Advertising remote topic vehicle_attitude_setpoint
      INFO  [uORB] Advertising remote topic vehicle_rates_setpoint
      INFO  [qshell] Send cmd: 'flight_mode_manager start'
      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: flight_mode_manager start
      INFO  [muorb] SLPI:   arg0 = 'flight_mode_manager'
      
      INFO  [muorb] SLPI:   arg1 = 'start'
      
      INFO  [uORB] Advertising remote topic vehicle_command
      INFO  [muorb] SLPI: Ok executing command: flight_mode_manager start
      INFO  [qshell] qshell return value timestamp: 92700683, local time: 92703821
      INFO  [dataman] data manager file '/data/px4/dataman' size is 7866640 bytes
      INFO  [muorb] SLPI: Advertising remote topic transponder_report
      INFO  [muorb] SLPI: Advertising remote topic rtl_time_estimate
      INFO  [muorb] SLPI: Advertising remote topic position_setpoint_triplet
      INFO  [modal_io_bridge] Modal IO Bridge driver starting
      INFO  [mavlink] mode: Onboard, data rate: 100000 B/s on udp port 14556 remote port 14557
      INFO  [muorb] SLPI: Advertising remote topic telemetry_status
      INFO  [mavlink] partner IP: 127.0.0.1
      INFO  [muorb] SLPI: Advertising remote topic vehicle_visual_odometry
      INFO  [muorb] SLPI: Advertising remote topic offboard_control_mode
      INFO  [muorb] SLPI: Advertising remote topic obstacle_distance
      INFO  [uORB] Advertising remote topic estimator_aid_src_ev_hgt
      INFO  [uORB] Advertising remote topic estimator_aid_src_ev_pos
      INFO  [uORB] Advertising remote topic estimator_aid_src_ev_vel
      INFO  [uORB] Advertising remote topic estimator_aid_src_ev_yaw
      INFO  [muorb] SLPI: Advertising remote topic timesync_status
      INFO  [muorb] SLPI: Marking DeviceNode(vehicle_command_ack) as advertised in process_remote_topic
      INFO  [mavlink] mode: Normal, data rate: 100000 B/s on udp port 14558 remote port 14559
      INFO  [muorb] SLPI: Marking DeviceNode(telemetry_status) as advertised in process_remote_topic
      INFO  [uORB] Advertising remote topic actuator_controls_status_0
      INFO  [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network)
      INFO  [px4] Startup script returned successfully
      

      APPENDED TO PX4 STARTUP LOG UPON STARTING VOXL2-IO (see separate 'VOXL2-IO LOG' that follows)

      INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
      INFO  [muorb] SLPI: qshell gotten: voxl2-io start
      ERROR [muorb] SLPI: Command voxl2-io not found
      ERROR [muorb] SLPI: Failed to execute command: voxl2-io start
      And the VOXL2-IO LOG:
      
      voxl2:/$ px4-qshell voxl2-io start
      INFO  [qshell] Send cmd: 'voxl2-io start'
      INFO  [qshell] cmd returned with: 1
      INFO  [qshell] qshell return value timestamp: 300755910, local time: 300757780
      ERROR [qshell] Command failed
      

      OBSERVATION #2

      When running the Spin utility in voxl-2-io (See 'SPIN LOG' that follows), we expect all motors to spin (is this wrong?). Instead, Motor1 is driven at ~1100 μs and all others at only ~1000 μs. We have measured this on an oscilloscope directly from J1 on VOXL2 IO Board, and have observed the same from Maxon EPOS ESC utility:

      Observed on ESC1:
      Frequency actual value = 400 Hz
      Pulse width actual value = 1101 μs
      Throttle level actual value = 3%
      Target Velocity: 217 RPM
      Velocity Demand Value (Output): 300 RPM
      Velocity Actual Value Avg (Output): 300 RPM

      Observed on ESC2:
      Frequency actual value = 400 Hz
      Pulse width actual value = 999 μs
      Throttle level actual value = 0%
      Target Velocity: 0 RPM
      Velocity Demand Value (Output): 0 RPM
      Velocity Actual Value Avg (Output): 0 RPM

      Observed on ESC3:
      Frequency actual value = 400 Hz
      Pulse width actual value = 999 μs
      Throttle level actual value = 0%
      Target Velocity: 0 RPM
      Velocity Demand Value (Output): 0 RPM
      Velocity Actual Value Avg (Output): 0 RPM

      Observed on ESC4:
      Frequency actual value = 400 Hz
      Pulse width actual value = 999 μs
      Throttle level actual value = 0%
      Target Velocity: 0 RPM
      Velocity Demand Value (Output): 0 RPM
      Velocity Actual Value Avg (Output): 0 RPM

      And, the SPIN LOG:

      enabling bridge
      detected voxl-px4 is enabled
      Removed /etc/systemd/system/multi-user.target.wants/voxl-px4.service.
      detected voxl-px4 is running, stopping it now
      bridge enabled
      [INFO] Detected VOXL2 IO on default port (2).
      Detected Python version : 3.6.9 (default, Mar 10 2023, 16:46:00) 
      [GCC 8.4.0]
      Found voxl-esc tools bin version: 1.9
      INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000
      Sending library name request: libslpi_qrb5165_io.so
      Sending initialization request
      INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 250000
      INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 921600
      INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 921600
      	ID         : 0
      	Board      : version 35: ModalAi I/O Expander (M0065)
      	UID        : 0x000000000000000000000000
      	Firmware   : version    1, hash 
      	Bootloader : version    0, hash 
      
      ---------------------
      
      WARNING: skipping user prompt to start the test due to override
      
      [0.019] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
      [0.039] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
      [0.059] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
      [0.079] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
      --- CUT FOR BREVITY ---
      [4.940] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
      [4.960] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
      [4.980] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
      [5.000] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
      Finished!
      [4.999678] TX=2508, RX=4 packets, RX CRC ERRORS=0
      Average RPMs: 0.00 0.00 0.00 0.00
      Average RPM deviation between ESCs : 0.00
      Detected Python version : 3.6.9 (default, Mar 10 2023, 16:46:00) 
      [GCC 8.4.0]
      Found voxl-esc tools bin version: 1.9
      INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000
      Sending library name request: libslpi_qrb5165_io.so
      Sending initialization request
      INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 250000
      INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 921600
      INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 921600
      	ID         : 0
      	Board      : version 35: ModalAi I/O Expander (M0065)
      	UID        : 0x000000000000000000000000
      	Firmware   : version    1, hash 
      	Bootloader : version    0, hash 
      
      ---------------------
      
      ERROR: Specified ESC ID not found--exiting.
      Detected Python version : 3.6.9 (default, Mar 10 2023, 16:46:00) 
      [GCC 8.4.0]
      Found voxl-esc tools bin version: 1.9
      INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000
      Sending library name request: libslpi_qrb5165_io.so
      Sending initialization request
      INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 250000
      INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 921600
      INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 921600
      	ID         : 0
      	Board      : version 35: ModalAi I/O Expander (M0065)
      	UID        : 0x000000000000000000000000
      	Firmware   : version    1, hash 
      	Bootloader : version    0, hash 
      
      ---------------------
      
      ERROR: Specified ESC ID not found--exiting.
      Detected Python version : 3.6.9 (default, Mar 10 2023, 16:46:00) 
      [GCC 8.4.0]
      Found voxl-esc tools bin version: 1.9
      INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000
      Sending library name request: libslpi_qrb5165_io.so
      Sending initialization request
      INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 250000
      INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 921600
      INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 921600
      	ID         : 0
      	Board      : version 35: ModalAi I/O Expander (M0065)
      	UID        : 0x000000000000000000000000
      	Firmware   : version    1, hash 
      	Bootloader : version    0, hash 
      
      ---------------------
      
      ERROR: Specified ESC ID not found--exiting.
      disabling bridge
      re-enabling voxl-px4
      Created symlink /etc/systemd/system/multi-user.target.wants/voxl-px4.service → /etc/systemd/system/voxl-px4.service.
      restarting voxl-px4
      bridge disabled
      DONE
      
      posted in Ask your questions right here!
      Denver HopkinsD
      Denver Hopkins
    • RE: UAVCAN

      @wilkinsaf Haven't seen anymore conversation on this topic, and find ourselves facing similar requirements. Wondering if you've made any progress evaluating options or integrating/testing anything?

      posted in VOXL 2
      Denver HopkinsD
      Denver Hopkins