I have a Pix32v5 system with DShot ESCs. I have configured the DSHOT_TEL_CFG parameter to use TELEM3. However, after system restart, the telemetry is not started:
nsh> dshot esc_info -m 1
ERROR [dshot] Telemetry is not enabled, but required to get ESC info
I have to manually start it, to get access to the esc telemetry data:
nsh> dshot telemetry /dev/ttyS4
nsh> dshot esc_info -m 1
INFO [dshot] ESC Type: #Furling32_A#
INFO [dshot] MCU Serial Number: d14642-353638-100030-4d5057
INFO [dshot] Firmware version: 32.70
INFO [dshot] Rotation Direction: normal
INFO [dshot] 3D Mode: off
INFO [dshot] Low voltage Limit: off
INFO [dshot] Current Limit: off
INFO [dshot] LED 0: off
INFO [dshot] LED 1: off
INFO [dshot] LED 2: off
INFO [dshot] LED 3: unsupported
nsh>
Any clue where to look for the reason for this behavior?
I’m using 1.12.3 stable. No suspect messages in the dmesg log. I have tried to change the port, and it works (on a different free port), or I get a message about a conflicting port usage (on an already used port). I will post the output from the debug console once I have it.
Here’s output of the debug console. I print all DSHOT* parameters at the bottom:
[boot] Rev 0x0 : Ver 0x0 V500
[boot] Fault Log info File No 4 Length 3177 flags:0x01 state:1
[boot] Fault Log is Armed
sercon: Registering CDC/ACM serial driver
s[hardfault_log] Fault Log is Armed
ercon: Successfully registered the CDC/ACM serial driver
HW arch: PX4_FMU_V5
HW type: V500
HW version: 0x00000000
HW revision: 0x00000000
FW git-hash: 2e8918da66af37922ededee1cc2d2efffec4cfb2
FW version: Release 1.12.3 (17564671)
OS: NuttX
OS version: Release 8.2.0 (134349055)
OS git-hash: bf660cba2af81f055002b3817c87b1f63a78fd09
Build datetime: Sep 6 2021 16:39:19
Build uri: localhost
Toolchain: GNU GCC, 9.3.1 20200408 (release)
PX4GUID: 00020000000020323441425650060041001f
MCU: STM32F76xxx, rev. Z
INFO [param] selected parameter default file /fs/mtd_params
INFO [parameters] BSON document size 2526 bytes, decoded 2526 bytes
Board architecture defaults: /etc/init.d/rc.board_arch_defaults
Board defaults: /etc/init.d/rc.board_defaults
rgbled_ncp5623c #0 on I2C bus 1 (external) address 0x39
INFO [px4io] IO FW CRC match
Board sensors: /etc/init.d/rc.board_sensors
icm20602 #0 on SPI bus 1 rotation 2
icm20689 #0 on SPI bus 1 rotation 2
WARN [SPI_I2C] bmi055: no instance started (no device on bus?)
WARN [SPI_I2C] bmi055: no instance started (no device on bus?)
ms5611 #0 on SPI bus 4
ist8310 #0 on I2C bus 3 address 0xE rotation 10
ist8310 #1 on I2C bus 1 (external) address 0xE rotation 10
WARN [SPI_I2C] Already running on bus 1
Board extras: /etc/init.d/rc.board_mavlink
INFO [mavlink] mode: Config, data rate: 800000 B/s on /dev/ttyACM0 @ 57600B
Starting Benewake TFmini Rangefinder on /dev/ttyS2
Starting Main GPS on /dev/ttyS0
Starting FrSky Telemetry on /dev/ttyS3
INFO [init] Mixer: /etc/mixers/quad_x.main.mix on /dev/pwm_output0
INFO [init] setting PWM_AUX_OUT none
ekf2 [357:100]
INFO [ekf2] 0 - selected distance_sensor:0
INFO [ekf2] starting instance 0, IMU:0 (3670026), MAG:0 (0)
INFO [ekf2] 1 - selected distance_sensor:0
INFO [ekf2] starting instance 1, IMU:1 (3932170), MAG:0 (0)
INFO [logger] logger started (mode=all)
NuttShell (NSH) NuttX-10.1.0
nsh> INFO [ekf2] 2 - selected distance_sensor:0
INFO [ekf2] starting instance 2, IMU:1 (3932170), MAG:1 (396809)
INFO [ekf2] 3 - selected distance_sensor:0
INFO [ekf2] starting instance 3, IMU:0 (3670026), MAG:1 (396809)
INFO [frsky_telemetry] sending FrSky SmartPort telemetry
nsh> dshot esc_info -m 1
ERROR [dshot] Telemetry is not enabled, but required to get ESC info
nsh> dshot telemetry /dev/ttyS4
nsh> dshot esc_info -m 1
INFO [dshot] ESC Type: #Furling32_A#
INFO [dshot] MCU Serial Number: d14642-353638-100030-4d5057
INFO [dshot] Firmware version: 32.70
INFO [dshot] Rotation Direction: normal
INFO [dshot] 3D Mode: off
INFO [dshot] Low voltage Limit: off
INFO [dshot] Current Limit: off
INFO [dshot] LED 0: off
INFO [dshot] LED 1: off
INFO [dshot] LED 2: off
INFO [dshot] LED 3: unsupported
nsh> param show dshot*
Symbols: x = used, + = saved, * = unsaved
x DSHOT_3D_DEAD_H [190,273] : 1000
x DSHOT_3D_DEAD_L [191,274] : 1000
x DSHOT_3D_ENABLE [192,275] : 0
x + DSHOT_CONFIG [193,276] : 1200
x DSHOT_MIN [194,277] : 0.0550
x + DSHOT_TEL_CFG [195,278] : 103
786/1548 parameters used.
nsh>