VOXL2 J19 QUP3
-
Hi, Eric.
I triedqshell lightware_laser_i2c start -a 0x66 # I2C address 102it did not work..
So are you meaning
qshell lightware_laser_serial start -b 4or
qshell lightware_laser_i2c start -b 4?
-
@voxltester I would try
qshell lightware_laser_i2c start -b 4 -
@Eric-Katzfey
Eric, this is not working...Please refer to the driver for i2c....
https://github.com/modalai/px4-firmware/blob/main/src/drivers/distance_sensor/lightware_laser_i2c/lightware_laser_i2c.cppDefault i2c address is defined
0x66(102) in this code.
I am wondering what is the i2c address of theVOXL2 J19 - QUP3port.I am not familiar with the above cpp driver code... could you please have a look the code and teach me how to enable the i2c connection for the lightware rangefinder?
Thank you in advance....
-
@voxltester We have never used the device that you are connecting so I am only offering suggestions to help out. When speaking of i2c addresses it is related to the device being attached to the bus, not the bus itself. You can attach multiple i2c devices to the same i2c bus if they have different addresses. But, there are multiple i2c buses to choose from. So, address 0x66 (which is default for that device and doesn't need to be specified on the command line) is for the device and port 4 specifies which i2c bus it is connected to. Also, please look at this file: https://github.com/modalai/px4-firmware/blob/main/src/drivers/distance_sensor/lightware_laser_i2c/parameters.c. There are 2 parameters that need to be set properly for the driver to work. If the default values are not correct then you will need to set them accordingly. For SENS_EN_SF1XX it should be set to 6 for LW20/c.
-
@Eric-Katzfey
Understood. I just figured out address and bus. I am sorry for disturbing you for the basic concept.Now, I am trying to run it with
SENS_EN_SF1XX=6, the command inpx4-startis justqshell lightware_laser_i2c start.By the way, I am wondering where the
businfo is described in the driver cpp file. Should I change the code? Becauselightware_laser_i2caccepts onlyRas an option.. -
@voxltester It's all done in the base class. See: https://github.com/modalai/px4-firmware/blob/main/platforms/common/i2c_spi_buses.cpp
-
@Eric-Katzfey
the versions of px4 are different...
I am git clone from https://gitlab.com/voxl-public/voxl-sdk/services/voxl-px4
in which there is only one parameter in https://github.com/modalai/px4-firmware/tree/0a47ec5d8650f4e97f1eb929405df5dcdb91989f/src/drivers/distance_sensor/lightware_laser_i2cAnyway,
qshell lightware_laser_i2c startis not working withI2C port on VOXL2 J19 - QUP3 -
@voxltester Why are you not adding
-b 4? -
This post is deleted! -
@Eric-Katzfey
Sorry for the slow response.
qshell lightware_laser_i2c start -b 4?
No. Not working.Please see
https://github.com/modalai/px4-firmware/blob/f18864f2e6460e4d2d3d1572d09ee09028c63789/src/drivers/distance_sensor/lightware_laser_i2c/lightware_laser_i2c.cpp
I do not think the-boption is not implemented in the driver source code.Can you confirming that
-b 4is forI2C port on VOXL2 J19 - QUP3? (https://docs.modalai.com/voxl2-connectors/#j19---external-sensors-2x-uart-2x-i2c)
I am trying to modify the driver code to have the bus information. -
@voxltester I tried to explain this in one of my previous responses. Let me add more detail. lightware_laser_i2c.cpp is C++ code. The class LightwareLaser has a couple of base classes. One of them is I2CSPIDriver, so it "inherits" the functionality of that class. That class is implemented in i2c_spi_buses.cpp. It uses BusCLIArguments to parse the command line options. That's where the
-boption is dealt with. -
@voxltester Yes, bus 4 corresponds to pins 7 and 8 on J19. I would put an oscilloscope on the data pin and see if you detect any activity when you start the driver to verify.
-
@voxltester And, in general, for all software engineers out there here is a helpful tip. ModalAI is not affiliated with Anthropic in any way but I do want to highlight their Claude Code tool. It can really help you not just write code, but to understand code that is already there. So, for example, in this post there is a question about how the
-boption is parsed. It's a bit complicated how all of the pieces fit together but if you were to ask Claude this question: "I'm using the device driver in the file lightware_laser_i2c.cpp. I was told that the LightwareLaser class can take the command line option -b to specify the i2c bus number using the start command. Can you show me where in the code the -b option is parsed?". Claude will then give you this answer:The -b option is not parsed directly in this file. Looking at the code: At line 450, the custom option parsing only handles -R for rotation: while ((ch = cli.getOpt(argc, argv, "R:")) != EOF) { switch (ch) { case 'R': cli.rotation = (Rotation)atoi(cli.optArg()); break; } } The -b option (for I2C bus number) is handled automatically by the BusCLIArguments class, which is instantiated at line 445: BusCLIArguments cli{true, false}; This class is included from <px4_platform_common/i2c_spi_buses.h> (line 47). The cli.getOpt() method internally processes standard I2C/SPI options like -b (bus), -a (address), etc., before returning custom options like -R to this driver's switch statement. If you want to see where -b is actually parsed, you'd need to look at the BusCLIArguments class implementation in the PX4 platform common library: src/lib/drivers/device/posix/i2c_spi_buses.cpp or platforms/common/i2c_spi_buses.cpp The PRINT_MODULE_USAGE_PARAMS_I2C_SPI_DRIVER(true, false) call at line 435 documents that this driver accepts I2C options (including -b), but the actual parsing is abstracted away in the shared bus infrastructure. -
This post is deleted! -
@Eric-Katzfey
Thank you for the info...I figured out the connection cannot be detected on the port at all..
$ i2cdetect -y -r 4 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --FYI,
pxh> lightware_laser_i2c start -b 4 ERROR [SPI_I2C] need to specify a bus type ### Description I2C bus driver for Lightware SFxx series LIDAR rangefinders: SF10/a, SF10/b, SF10/c, SF11/c, SF/LW20. Setup Usage: lightware_laser_i2c <command> [arguments...] Commands: start [-I] Internal I2C bus(es) [-X] External I2C bus(es) [-b <val>] board-specific bus (default=all) (external SPI: n-th bus (default=1)) [-f <val>] bus frequency in kHz [-q] quiet startup (no message if no device found) [-a <val>] I2C address default: 102 [-R <val>] Sensor rotation - downward facing by default default: 25 stop status print status info Command 'lightware_laser_i2c' failed, returned -1. pxh> lightware_laser_i2c start -X -b 4 WARN [SPI_I2C] mavlink_shell: no instance started (no device on bus?) Command 'lightware_laser_i2c' failed, returned -1. -
@voxltester i2cdetect is looking for i2c ports on the apps processor so it isn't useful for this where we are trying to use DSP i2c ports. It shows an error message. Can you add the
-Xoption to see if that resolves that error condition? -
@Eric-Katzfey
Isn't this I2C (J19 7&8) APP I2C or DPS I2C?7 I2C3 SDA 3P3V slpi_proc, SSC_QUP3 8 I2C3 SCL 3P3V slpi_proc, SSC_QUP3Is it possible to access DPS I2C from PX4?
Please see the outputs of the -X and -I options.
pxh> lightware_laser_i2c start -X -b 4 WARN [SPI_I2C] UnknownApp: no instance started (no device on bus?) Command 'lightware_laser_i2c' failed, returned -1.pxh> lightware_laser_i2c start -I -b 4 WARN [SPI_I2C] UnknownApp: no instance started (no device on bus?) Command 'lightware_laser_i2c' failed, returned -1.FYI, the following is an initialization of the VOXL-PX4.
voxl2:~$ voxl-px4 -d [INFO] Reading from /etc/modalai/voxl-px4.conf Found DSP signature file [INFO] Disabling daemon mode ************************* AIRFRAME=MULTICOPTER GPS=AUTODETECT RC=GHST ESC=VOXL_ESC POWER MANAGER=NONE AIRSPEED SENSOR=NONE DISTANCE SENSOR=LIGHTWARE_SF000 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 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] [modules__muorb__slpi] muorb aggregator thread running INFO [muorb] [modules__muorb__slpi] muorb keepalive thread running 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 2097656 INFO [muorb] [tasks] Creating pthread test_MUORB INFO [muorb] [tasks] Successfully created px4 task PX4_test_MUORB with tid 2097655 INFO [muorb] succesfully did SUBSCRIBE_TEST_TYPE 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 2097654 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 2097653 INFO [muorb] muorb test passed ______ __ __ ___ | ___ \ \ \ / / / | | |_/ / \ V / / /| | | __/ / \ / /_| | | | / /^\ \ \___ | \_| \/ \/ |_/ px4 starting. INFO [px4] startup script: /bin/sh /usr/bin/voxl-px4-start 0 INFO [muorb] [uORB] Advertising remote topic log_message INFO [parameters] Starting param sync THREAD ************************* AIRFRAME: MULTICOPTER GPS: AUTODETECT RC: GHST ESC: VOXL_ESC POWER MANAGER: NONE AIRSPEED SENSOR: NONE DISTANCE SENSOR: LIGHTWARE_SF000 OSD: DISABLE ARTIFACT_MODE: DISABLE EXTRA STEPS: ************************* INFO [muorb] [parameters] Starting param sync THREAD Running on M0054 INFO [muorb] [qshell] before starting the qshell_entry task INFO [muorb] [tasks] Creating pthread qshell INFO [muorb] [tasks] Successfully created px4 task PX4_qshell with tid 2097652 INFO [muorb] [qshell] qshell entry..... INFO [muorb] [qshell] after starting the qshell_entry task INFO [muorb] [qshell] Init app map initialized 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 INFO [uORB] Marking DeviceNode(parameter_client_reset_response) as advertised in process_remote_topic INFO [muorb] [uORB] Advertising remote topic parameter_update INFO [muorb] [uORB] Marking DeviceNode(parameter_client_set_value_request) as advertised in process_remote_t INFO [uORB] Marking DeviceNode(parameter_server_set_used_request) as advertised in process_remote_topic INFO [muorb] [uORB] Marking DeviceNode(parameter_server_set_used_response) as advertised in process_remote_t INFO [uORB] Marking DeviceNode(parameter_client_set_value_response) as advertised in process_remote_topic INFO [parameters] BSON document size 3307 bytes, decoded 3307 bytes (INT32:44, FLOAT:109) Starting IMU driver with no rotation INFO [qshell] Send cmd: 'icm42688p start -s' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: icm42688p start -s INFO [muorb] [qshell] arg0 = 'icm42688p' INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [qshell] arg2 = '-s' INFO [muorb] [drivers__device] *** SPI Device ID 0x26000a 2490378 INFO [uORB] Advertising remote topic sensor_accel INFO [uORB] Advertising remote topic sensor_gyro INFO [muorb] [icm42688p] ICM42688P::probe successful! INFO [muorb] [drivers__device] on SPI bus 1 INFO [muorb] icm42688p #0 on SPI bus 1 INFO [muorb] INFO [muorb] [icm42688p] >>> ICM42688P this: b26024d8 INFO [muorb] [qshell] Ok executing command: icm42688p start -s INFO [uORB] Advertising remote topic qshell_retval INFO [muorb] [icm42688p] >>> ICM42688P this: b26024d8 INFO [qshell] qshell return value timestamp: 83014023, local time: 83018955 Looking for external DPS368 barometer INFO [muorb] [icm42688p] >>> ICM42688P this: b26024d8 INFO [muorb] [drivers__device] Register interrupt b214f094 e612a80c b26024d8 INFO [uORB] Advertising remote topic sensor_gyro_fifo INFO [uORB] Advertising remote topic sensor_accel_fifo ERROR [dps310] Product_ID mismatch WARN [SPI_I2C] UnknownApp: no instance started (no device on bus?) Looking for external ICP10100 barometer WARN [SPI_I2C] UnknownApp: no instance started (no device on bus?) Did not detect an external barometer, starting onboard ICP10100 barometer INFO [qshell] Send cmd: 'icp101xx start -I -b 5' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: icp101xx start -I -b 5 INFO [muorb] [qshell] arg0 = 'icp101xx' INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [qshell] arg2 = '-I' INFO [muorb] [qshell] arg3 = '-b' INFO [muorb] [qshell] arg4 = '5' INFO [muorb] [drivers__device] *** I2C Device ID 0xb76329 12018473 INFO [muorb] [drivers__device] Set up I2C bus mutex for bus 5 INFO [muorb] icp101xx #0 on I2C bus 5 INFO [muorb] address 0x63 INFO [muorb] INFO [muorb] [qshell] Ok executing command: icp101xx start -I -b 5 INFO [qshell] qshell return value timestamp: 83111693, local time: 83114593 INFO [muorb] [icm42688p] >>> ICM42688P this: b26024d8 INFO [qshell] Send cmd: 'temperature_compensation start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: temperature_compensation start INFO [muorb] [qshell] arg0 = 'temperature_compensation' INFO [muorb] [qshell] arg1 = 'start' INFO [uORB] Advertising remote topic sensor_correction INFO [muorb] [qshell] Ok executing command: temperature_compensation start INFO [qshell] qshell return value timestamp: 83262606, local time: 83264812 Looking for qmc5883l magnetometer INFO [qshell] Send cmd: 'qmc5883l start -R 10 -X -b 1' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: qmc5883l start -R 10 -X -b 1 INFO [muorb] [qshell] arg0 = 'qmc5883l' INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [qshell] arg2 = '-R' INFO [muorb] [qshell] arg3 = '10' INFO [muorb] [qshell] arg4 = '-X' INFO [muorb] [qshell] arg5 = '-b' INFO [muorb] [qshell] arg6 = '1' INFO [muorb] [drivers__device] *** I2C Device ID 0x80d09 527625 INFO [muorb] [drivers__device] Set up I2C bus mutex for bus 1 ERROR [muorb] [drivers__device] i2c probe failed INFO [muorb] [SPI_I2C] PX4_qshell: no instance started (no device on bus?) ERROR [muorb] [qshell] Failed to execute command: qmc5883l start -R 10 -X -b 1 INFO [qshell] cmd returned with: -1 INFO [qshell] qshell return value timestamp: 83324177, local time: 83325854 ERROR [qshell] Command failed INFO [uORB] Advertising remote topic sensor_baro Looking for ist8310 magnetometer INFO [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: ist8310 start -R 10 -X -b 1 INFO [muorb] [qshell] arg0 = 'ist8310' INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [qshell] arg2 = '-R' INFO [muorb] [qshell] arg3 = '10' INFO [muorb] [qshell] arg4 = '-X' INFO [muorb] [qshell] arg5 = '-b' INFO [muorb] [qshell] arg6 = '1' INFO [muorb] [drivers__device] *** I2C Device ID 0x60e09 396809 INFO [muorb] [drivers__device] Set up I2C bus mutex for bus 1 ERROR [muorb] [drivers__device] i2c probe failed INFO [muorb] [SPI_I2C] PX4_qshell: no instance started (no device on bus?) ERROR [muorb] [qshell] Failed to execute command: ist8310 start -R 10 -X -b 1 INFO [qshell] cmd returned with: -1 INFO [qshell] qshell return value timestamp: 83374408, local time: 83377531 ERROR [qshell] Command failed Looking for ist8308 magnetometer INFO [qshell] Send cmd: 'ist8308 start -R 12 -X -b 1' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: ist8308 start -R 12 -X -b 1 INFO [muorb] [qshell] arg0 = 'ist8308' INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [qshell] arg2 = '-R' INFO [muorb] [qshell] arg3 = '12' INFO [muorb] [qshell] arg4 = '-X' INFO [muorb] [qshell] arg5 = '-b' INFO [muorb] [qshell] arg6 = '1' INFO [muorb] [drivers__device] *** I2C Device ID 0xb0c09 723977 INFO [muorb] [drivers__device] Set up I2C bus mutex for bus 1 ERROR [muorb] [drivers__device] i2c probe failed INFO [muorb] [SPI_I2C] PX4_qshell: no instance started (no device on bus?) ERROR [muorb] [qshell] Failed to execute command: ist8308 start -R 12 -X -b 1 INFO [qshell] cmd returned with: -1 INFO [qshell] qshell return value timestamp: 83413213, local time: 83416595 ERROR [qshell] Command failed INFO [qshell] Send cmd: 'gps start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: gps start INFO [muorb] [qshell] arg0 = 'gps' INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [tasks] Creating pthread gps INFO [muorb] [tasks] Successfully created px4 task PX4_gps with tid 2097645 INFO [muorb] [qshell] Ok executing command: gps start INFO [qshell] qshell return value timestamp: 83445422, local time: 83446602 Looking for ncp5623c RGB LED INFO [muorb] [gps] GPS UART baudrate set to 115200 INFO [qshell] Send cmd: 'rgbled_ncp5623c start -X -b 1 -f 400 -a 56' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: rgbled_ncp5623c start -X -b 1 -f 400 -a 56 INFO [muorb] [qshell] arg0 = 'rgbled_ncp5623c' INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [qshell] arg2 = '-X' INFO [muorb] [qshell] arg3 = '-b' INFO [muorb] [qshell] arg4 = '1' INFO [muorb] [qshell] arg5 = '-f' INFO [muorb] [qshell] arg6 = '400' INFO [muorb] [qshell] arg7 = '-a' INFO [muorb] [qshell] arg8 = '56' INFO [muorb] [drivers__device] *** I2C Device ID 0x7b3809 8075273 INFO [muorb] [drivers__device] Set up I2C bus mutex for bus 1 INFO [muorb] [drivers__device] Set i2c address 0x38, fd 4 ERROR [muorb] [drivers__device] i2c probe failed INFO [muorb] [SPI_I2C] PX4_qshell: no instance started (no device on bus?) ERROR [muorb] [qshell] 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: 83487606, local time: 83489160 ERROR [qshell] Command failed Starting VOXL ESC driver INFO [qshell] Send cmd: 'voxl_esc start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: voxl_esc start INFO [muorb] [qshell] arg0 = 'voxl_esc' INFO [muorb] [qshell] arg1 = 'start' INFO [uORB] Advertising remote topic actuator_outputs INFO [muorb] [voxl_esc] Starting VOXL ESC driver INFO [muorb] [voxl_esc] Params: VOXL_ESC_CONFIG: 1 INFO [muorb] [voxl_esc] Params: VOXL_ESC_MODE: 0 INFO [muorb] [voxl_esc] Params: VOXL_ESC_BAUD: 2000000 INFO [muorb] [voxl_esc] Params: VOXL_ESC_FUNC1: 102 INFO [muorb] [voxl_esc] Params: VOXL_ESC_FUNC2: 103 INFO [muorb] [voxl_esc] Params: VOXL_ESC_FUNC3: 101 INFO [muorb] [voxl_esc] Params: VOXL_ESC_FUNC4: 104 INFO [muorb] [voxl_esc] Params: VOXL_ESC_SDIR1: 0 INFO [muorb] [voxl_esc] Params: VOXL_ESC_SDIR2: 0 INFO [muorb] [voxl_esc] Params: VOXL_ESC_SDIR3: 0 INFO [muorb] [voxl_esc] Params: VOXL_ESC_SDIR4: 0 INFO [muorb] [voxl_esc] Params: VOXL_ESC_PWR_MIN: 0.050000 INFO [muorb] [voxl_esc] Params: VOXL_ESC_RPM_MIN: 2000 INFO [muorb] [voxl_esc] Params: VOXL_ESC_RPM_MAX: 12000 INFO [muorb] [voxl_esc] Params: VOXL_ESC_T_PERC: 90 INFO [muorb] [voxl_esc] Params: VOXL_ESC_T_DEAD: 20 INFO [muorb] [voxl_esc] Params: VOXL_ESC_T_EXPO: 35 INFO [muorb] [voxl_esc] Params: VOXL_ESC_T_MINF: 0.150000 INFO [muorb] [voxl_esc] Params: VOXL_ESC_T_COSP: 0.990000 INFO [muorb] [voxl_esc] Params: VOXL_ESC_VLOG: 1 INFO [muorb] [voxl_esc] Params: VOXL_ESC_PUB_BST: 1 INFO [muorb] [voxl_esc] Params: VOXL_ESC_T_WARN: 0 INFO [muorb] [voxl_esc] Params: VOXL_ESC_T_OVER: 0 INFO [muorb] [voxl_esc] Params: GPIO_CTL_CH: 0 INFO [muorb] [voxl_esc] Params: VOXL_ESC_CMD: 0 INFO [muorb] [qshell] Ok executing command: voxl_esc start INFO [muorb] [voxl_esc] Opening UART ESC device 2, baud rate 2000000 INFO [muorb] [voxl_esc] Successfully opened UART ESC device INFO [muorb] [voxl_esc] Detecting ESCs... INFO [muorb] [voxl_esc] ESC ID : 0 INFO [muorb] [voxl_esc] Board Type : 40: ModalAi 4-in-1 ESC (M0129-3) INFO [muorb] [voxl_esc] Unique ID : 0x2039333557555313000F0024 INFO [muorb] [voxl_esc] Firmware : version 39, hash 9c6233d6 INFO [muorb] [voxl_esc] Bootloader : version 184, hash 10bf24c8 INFO [muorb] [voxl_esc] Reply time : 723us INFO [muorb] [voxl_esc] VOXL_ESC: INFO [muorb] [voxl_esc] ESC ID : 1 INFO [muorb] [voxl_esc] Board Type : 40: ModalAi 4-in-1 ESC (M0129-3) INFO [muorb] [voxl_esc] Unique ID : 0x2039333557555313000F0028 INFO [muorb] [voxl_esc] Firmware : version 39, hash 9c6233d6 INFO [muorb] [voxl_esc] Bootloader : version 184, hash 10bf24c8 INFO [muorb] [voxl_esc] Reply time : 728us INFO [muorb] [voxl_esc] VOXL_ESC: INFO [qshell] qshell return value timestamp: 83652589, local time: 83657098 INFO [muorb] [voxl_esc] ESC ID : 2 INFO [muorb] [voxl_esc] Board Type : 40: ModalAi 4-in-1 ESC (M0129-3) INFO [muorb] [voxl_esc] Unique ID : 0x2039333557555313000F0026 INFO [muorb] [voxl_esc] Firmware : version 39, hash 9c6233d6 INFO [muorb] [voxl_esc] Bootloader : version 184, hash 10bf24c8 INFO [muorb] [voxl_esc] Reply time : 718us INFO [muorb] [voxl_esc] VOXL_ESC: INFO [muorb] [voxl_esc] ESC ID : 3 INFO [muorb] [voxl_esc] Board Type : 40: ModalAi 4-in-1 ESC (M0129-3) INFO [muorb] [voxl_esc] Unique ID : 0x2039333557555313000F0022 INFO [muorb] [voxl_esc] Firmware : version 39, hash 9c6233d6 INFO [muorb] [voxl_esc] Bootloader : version 184, hash 10bf24c8 INFO [muorb] [voxl_esc] Reply time : 739us INFO [muorb] [voxl_esc] VOXL_ESC: INFO [muorb] [voxl_esc] Use extended rpm packet : 1 INFO [muorb] [voxl_esc] All ESCs successfully detected Starting GHST RC driver INFO [qshell] Send cmd: 'ghst_rc start -d 7' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: ghst_rc start -d 7 INFO [muorb] [qshell] arg0 = 'ghst_rc' INFO [uORB] Advertising remote topic actuator_outputs_debug INFO [uORB] Advertising remote topic esc_status INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [qshell] arg2 = '-d' INFO [muorb] [qshell] arg3 = '7' INFO [muorb] [qshell] Ok executing command: ghst_rc start -d 7 INFO [uORB] Advertising remote topic input_rc INFO [qshell] qshell return value timestamp: 83712270, local time: 83715195 INFO [qshell] Send cmd: 'lightware_laser_i2c start -b 4' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: lightware_laser_i2c start -b 4 ERROR [muorb] [qshell] Command lightware_laser_i2c not found ERROR [muorb] [qshell] Failed to execute command: lightware_laser_i2c start -b 4 INFO [qshell] cmd returned with: 1 INFO [qshell] qshell return value timestamp: 83743015, local time: 83745263 ERROR [qshell] Command failed INFO [qshell] Send cmd: 'sensors start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: sensors start INFO [muorb] [qshell] arg0 = 'sensors' INFO [muorb] [qshell] arg1 = 'start' INFO [uORB] Advertising remote topic sensor_selection INFO [uORB] Advertising remote topic sensors_status_imu INFO [muorb] [modules__muorb__slpi] Deleting /data/px4/slpi/keepalive_fail 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 battery_status INFO [uORB] Advertising remote topic vehicle_air_data INFO [uORB] Advertising remote topic vehicle_gps_position INFO [uORB] Advertising remote topic vehicle_magnetometer INFO [uORB] Advertising remote topic sensor_preflight_mag INFO [uORB] Advertising remote topic vehicle_imu INFO [uORB] Advertising remote topic vehicle_imu_status INFO [muorb] [qshell] Ok executing command: sensors start INFO [qshell] qshell return value timestamp: 83931906, local time: 83935646 INFO [uORB] Advertising remote topic sensors_status_baro INFO [qshell] Send cmd: 'ekf2 start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: ekf2 start INFO [muorb] [qshell] arg0 = 'ekf2' INFO [muorb] [qshell] arg1 = 'start' 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] [qshell] Ok executing command: ekf2 start INFO [qshell] qshell return value timestamp: 84173695, local time: 84177522 INFO [uORB] Advertising remote topic ekf2_timestamps 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] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: mc_pos_control start INFO [muorb] [qshell] arg0 = 'mc_pos_control' INFO [muorb] [qshell] arg1 = 'start' INFO [uORB] Advertising remote topic takeoff_status INFO [muorb] [qshell] Ok executing command: mc_pos_control start INFO [qshell] qshell return value timestamp: 84266732, local time: 84268823 INFO [qshell] Send cmd: 'mc_att_control start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: mc_att_control start INFO [muorb] [qshell] arg0 = 'mc_att_control' INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [qshell] Ok executing command: mc_att_control start INFO [qshell] qshell return value timestamp: 84320268, local time: 84321796 INFO [qshell] Send cmd: 'mc_rate_control start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: mc_rate_control start INFO [muorb] [qshell] arg0 = 'mc_rate_control' INFO [muorb] [qshell] arg1 = 'start' INFO [uORB] Advertising remote topic rate_ctrl_status INFO [muorb] [qshell] Ok executing command: mc_rate_control start INFO [qshell] qshell return value timestamp: 84408066, local time: 84410267 INFO [qshell] Send cmd: 'mc_hover_thrust_estimator start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: mc_hover_thrust_estimator start INFO [muorb] [qshell] arg0 = 'mc_hover_thrust_estimator' INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [qshell] Ok executing command: mc_hover_thrust_estimator start INFO [qshell] qshell return value timestamp: 84462789, local time: 84464375 INFO [qshell] Send cmd: 'mc_autotune_attitude_control start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: mc_autotune_attitude_control start INFO [muorb] [qshell] arg0 = 'mc_autotune_attitude_control' INFO [muorb] [qshell] arg1 = 'start' INFO [uORB] Advertising remote topic autotune_attitude_control_status INFO [muorb] [qshell] Ok executing command: mc_autotune_attitude_control start INFO [qshell] qshell return value timestamp: 84514600, local time: 84516557 INFO [qshell] Send cmd: 'land_detector start multicopter' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: land_detector start multicopter INFO [muorb] [qshell] arg0 = 'land_detector' INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [qshell] arg2 = 'multicopter' INFO [muorb] [qshell] Ok executing command: land_detector start multicopter INFO [qshell] qshell return value timestamp: 84553505, local time: 84556075 INFO [uORB] Advertising remote topic vehicle_land_detected INFO [qshell] Send cmd: 'manual_control start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: manual_control start INFO [muorb] [qshell] arg0 = 'manual_control' INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [qshell] Ok executing command: manual_control start INFO [qshell] qshell return value timestamp: 84597175, local time: 84598418 INFO [uORB] Advertising remote topic manual_control_setpoint INFO [qshell] Send cmd: 'control_allocator start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: control_allocator start INFO [muorb] [qshell] arg0 = 'control_allocator' INFO [muorb] [qshell] 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] [qshell] Ok executing command: control_allocator start INFO [qshell] qshell return value timestamp: 84809648, local time: 84811022 INFO [qshell] Send cmd: 'load_mon start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: load_mon start INFO [muorb] [qshell] arg0 = 'load_mon' INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [qshell] Ok executing command: load_mon start INFO [uORB] Advertising remote topic cpuload INFO [qshell] qshell return value timestamp: 84866816, local time: 84868801 INFO [qshell] Send cmd: 'rc_update start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: rc_update start INFO [muorb] [qshell] arg0 = 'rc_update' INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [qshell] Ok executing command: rc_update start INFO [qshell] qshell return value timestamp: 85094704, local time: 85096473 INFO [uORB] Advertising remote topic rc_channels INFO [qshell] Send cmd: 'commander start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: commander start INFO [muorb] [qshell] arg0 = 'commander' INFO [muorb] [qshell] arg1 = 'start' INFO [muorb] [tasks] Creating pthread commander INFO [muorb] [tasks] Successfully created px4 task PX4_commander with tid 2097638 INFO [uORB] Advertising remote topic led_control INFO [muorb] [commander] LED: open /dev/led0 failed (22) INFO [uORB] Advertising remote topic tune_control INFO [muorb] [qshell] Ok executing command: commander start INFO [qshell] qshell return value timestamp: 85278466, local time: 85282382 INFO [uORB] Advertising remote topic event INFO [uORB] Advertising remote topic mavlink_log INFO [muorb] [health_and_arming_checks] Preflight Fail: Compass Sensor 0 missing 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] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: flight_mode_manager start INFO [muorb] [qshell] arg0 = 'flight_mode_manager' INFO [muorb] [qshell] arg1 = 'start' INFO [uORB] Advertising remote topic vehicle_command INFO [muorb] [qshell] Ok executing command: flight_mode_manager start INFO [qshell] qshell return value timestamp: 85385231, local time: 85387168 INFO [dataman] data manager file '/data/px4/dataman' size is 7866640 bytes INFO [muorb] [uORB] Advertising remote topic transponder_report INFO [muorb] [uORB] Advertising remote topic rtl_time_estimate INFO [muorb] [uORB] Advertising remote topic position_setpoint_triplet INFO [mpa] Successfully loaded library libmodal_pipe.so INFO [mavlink] mode: Onboard, data rate: 100000 B/s on udp port 14556 remote port 14557 INFO [muorb] [uORB] Advertising remote topic telemetry_status INFO [mavlink] partner IP: 127.0.0.1 INFO [muorb] [uORB] Advertising remote topic offboard_control_mode INFO [muorb] [uORB] Advertising remote topic obstacle_distance INFO [uORB] Advertising remote topic actuator_controls_status_0 INFO [muorb] [uORB] Advertising remote topic timesync_status INFO [muorb] [uORB] Advertising remote topic vehicle_visual_odometry 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 [mavlink] mode: Normal, data rate: 100000 B/s on udp port 14558 remote port 14559 INFO [muorb] [uORB] Marking DeviceNode(telemetry_status) as advertised in process_remote_topic INFO [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network) INFO [px4] Startup script returned successfully pxh> INFO [logger] logger started (mode=all) INFO [muorb] [gps] GPS UART baudrate set to 9600 INFO [muorb] [health_and_arming_checks] Preflight Fail: Compass Sensor 0 missing -
@voxltester slpi_proc = SLPI = SSC = DSP. I think the only option at this point is to attach an oscilloscope and verify the signals.
-
@voxltester In order to execute on the DSP side you have to have
qshellbefore the command. When you have it you get the error that command is not found. That's probably because the driver has not been built into the DSP image. It only seems to be on the apps side. -
This post is deleted!