ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    voxl Tmotor f55 esc

    ESCs
    5
    26
    1669
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      ErezI @Alex Kushleyev
      last edited by

      @Alex-Kushleyev

      Hi Alex,

      No change.

      I can't reduce the latency:
      user@ubuntu18-VBox:/mnt/ushare/voxl-esc-add-new-params/voxl-esc-tools$ sudo echo 1 > /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
      bash: /sys/bus/usb-serial/devices/ttyUSB0/latency_timer: Permission denied
      user@ubuntu18-VBox:/mnt/ushare/voxl-esc-add-new-params/voxl-esc-tools$ echo 1 > /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
      bash: /sys/bus/usb-serial/devices/ttyUSB0/latency_timer: Permission denied

      and no ESCs identified:
      user@ubuntu18-VBox:/mnt/ushare/voxl-esc-add-new-params/voxl-esc-tools$ ./voxl-esc-scan.py --enable-debug 1
      Detected Python version : 3.8.16 (default, Dec 7 2022, 01:12:13)
      [GCC 7.5.0]
      Found voxl-esc tools bin version: 1.2
      INFO: All COM ports:
      /dev/ttyUSB0 : C232HD-DDHSP-0 - C232HD-DDHSP-0
      INFO: UART Port Candidates:
      ERROR: No ESC(s) detected, exiting.

      1 Reply Last reply Reply Quote 0
      • Yariv LandY
        Yariv Land @Alex Kushleyev
        last edited by

        @Alex-Kushleyev

        Hi Alex,

        I am working with Erez ad Ben on this project and it seems that we are hitting a wall which I assume that you are the only one who can help.
        I would appreciate if we will be able to contact you directly in regards to the issue in hand, I don't know if this is a setup issue, wiring issue, FTDI issue or etc - but I do hope that in a quick conference chat we will be able to overcome this.

        I would appreciate if you will be able to contact me through my E-mail Yariv.l@pearls.org.il to schedule a quick chat to resolve this whole issue.

        Appreciate your help and support,

        Yariv

        1 Reply Last reply Reply Quote 0
        • E
          ErezI @Alex Kushleyev
          last edited by

          @Alex-Kushleyev

          Hi Alex,

          I added my tests' info using wsl2 (no success)

          on windows

          #process0
          C:\Program Files\usbipd-win>usbipd server

          on wsl (f55a-cyclic.sh)

          #!/bin/bash
          sudo echo 1 > /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
          sleep 5

          #proces1
          sudo nome-terminal -x ./auto-attach.sh 172.24.192.1 3-2
          sleep 3

          #process2
          sudo gnome-terminal -x watch "ls -al /dev | egrep ttyU"
          sleep 3

          #process3
          sudo gnome-terminal -x dmesg -W
          sleep 3

          #process4
          sudo gnome-terminal --working-directory=/data/voxl-esc-add-new-params/voxl-esc-tools/ -x watch "python /data/voxl-esc-add-new-params/voxl-esc-tools/voxl-esc-scan.py --enable-debug 1"

          sleep 30
          ps -a
          sleep 3
          sudo pkill -9 gnome-terminal
          pkill -9 gnome-terminal
          sleep 5

          #process0 output

          C:\Program Files\usbipd-win>usbipd server
          info: Microsoft.Hosting.Lifetime[0]
          Application started. Press Ctrl+C to shut down.
          info: Microsoft.Hosting.Lifetime[0]
          Hosting environment: Production
          info: Microsoft.Hosting.Lifetime[0]
          Content root path: C:\Program Files\usbipd-win
          info: Usbipd.ConnectedClient[1]
          Client 172.24.199.17 claimed device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).
          info: Usbipd.ConnectedClient[2]
          Client 172.24.199.17 released device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).
          info: Usbipd.ConnectedClient[1]
          Client 172.24.199.17 claimed device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).
          info: Usbipd.ConnectedClient[2]
          Client 172.24.199.17 released device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).
          info: Usbipd.ConnectedClient[1]
          Client 172.24.199.17 claimed device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).

          #process1 output

          usbip: error: Attach Request for 3-2 failed - Device not found
          Attached
          Detached
          usbip: error: Attach Request for 3-2 failed - Device not found
          Attached
          Detached
          Attached

          #process2 output

          Every 2.0s: ls -al /dev | egrep ttyU PW-CONTROL07: Wed Jun 21 17:06:16 2023

          crw------- 1 root root 188, 0 Jun 21 2023 ttyUSB0

          #process3 output

          [ 1892.623021] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3)
          [ 1892.628241] vhci_hcd vhci_hcd.0: devid(196610) speed(2) speed_str(full-speed)
          [ 1892.630748] vhci_hcd vhci_hcd.0: Device attached
          [ 1892.914403] vhci_hcd: vhci_device speed not set
          [ 1892.984269] usb 1-1: new full-speed USB device number 18 using vhci_hcd
          [ 1893.084280] vhci_hcd: vhci_device speed not set
          [ 1893.164250] usb 1-1: SetAddress Request (18) to port 0
          [ 1893.604492] usb 1-1: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
          [ 1893.606748] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
          [ 1893.609072] usb 1-1: Product: TTL232RG-VREG3V3
          [ 1893.609980] usb 1-1: Manufacturer: FTDI
          [ 1893.610659] usb 1-1: SerialNumber: FT4TW3LE
          [ 1893.623736] ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
          [ 1893.625770] usb 1-1: Detected FT232RL
          [ 1893.632497] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
          [ 1895.017816] vhci_hcd: unlink->seqnum 81017
          [ 1895.018495] vhci_hcd: the urb (seqnum 81017) was already given back
          [ 1895.019313] vhci_hcd: unlink->seqnum 81019
          [ 1895.019856] vhci_hcd: the urb (seqnum 81019) was already given back
          [ 1895.163809] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1895.164874] vhci_hcd: unlink->seqnum 81055
          [ 1895.165354] vhci_hcd: the urb (seqnum 81055) was already given back
          [ 1895.310820] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1895.311921] vhci_hcd: unlink->seqnum 81089
          [ 1895.312494] vhci_hcd: the urb (seqnum 81089) was already given back
          [ 1895.461562] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1895.464395] vhci_hcd: unlink->seqnum 81123
          [ 1895.466541] vhci_hcd: the urb (seqnum 81123) was already given back
          [ 1895.628411] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1895.630861] vhci_hcd: unlink->seqnum 81158
          [ 1895.632078] vhci_hcd: the urb (seqnum 81158) was already given back
          [ 1895.784242] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1895.785161] vhci_hcd: unlink->seqnum 81193
          [ 1895.785654] vhci_hcd: the urb (seqnum 81193) was already given back
          [ 1896.349788] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1896.350886] vhci_hcd: unlink->seqnum 81521
          [ 1896.351526] vhci_hcd: the urb (seqnum 81521) was already given back
          [ 1896.914474] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1896.915333] vhci_hcd: unlink->seqnum 82125
          [ 1896.915797] vhci_hcd: the urb (seqnum 82125) was already given back
          [ 1899.267100] vhci_hcd: unlink->seqnum 82295
          [ 1899.267747] vhci_hcd: the urb (seqnum 82295) was already given back
          [ 1899.268576] vhci_hcd: unlink->seqnum 82297
          [ 1899.269365] vhci_hcd: the urb (seqnum 82297) was already given back
          [ 1899.416402] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1899.417294] vhci_hcd: unlink->seqnum 82468
          [ 1899.417874] vhci_hcd: the urb (seqnum 82468) was already given back
          [ 1899.561474] vhci_hcd: unlink->seqnum 82634
          [ 1899.562043] vhci_hcd: the urb (seqnum 82634) was already given back
          [ 1899.562994] vhci_hcd: unlink->seqnum 82636
          [ 1899.563598] vhci_hcd: the urb (seqnum 82636) was already given back
          [ 1899.708527] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1899.710263] vhci_hcd: unlink->seqnum 82802
          [ 1899.711258] vhci_hcd: the urb (seqnum 82802) was already given back
          [ 1899.859324] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1899.860214] vhci_hcd: unlink->seqnum 82958
          [ 1899.860859] vhci_hcd: the urb (seqnum 82958) was already given back
          [ 1900.003321] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1900.004322] vhci_hcd: unlink->seqnum 83123
          [ 1900.004759] vhci_hcd: the urb (seqnum 83123) was already given back
          [ 1900.567465] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1900.568335] vhci_hcd: unlink->seqnum 83730
          [ 1900.568811] vhci_hcd: the urb (seqnum 83730) was already given back
          [ 1901.130609] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1901.131840] vhci_hcd: unlink->seqnum 84335
          [ 1901.132850] vhci_hcd: the urb (seqnum 84335) was already given back
          [ 1903.459054] vhci_hcd: unlink->seqnum 84493
          [ 1903.460300] vhci_hcd: the urb (seqnum 84493) was already given back
          [ 1903.461365] vhci_hcd: unlink->seqnum 84495
          [ 1903.462478] vhci_hcd: the urb (seqnum 84495) was already given back
          [ 1903.611008] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1903.611918] vhci_hcd: unlink->seqnum 84668
          [ 1903.612309] vhci_hcd: the urb (seqnum 84668) was already given back
          [ 1903.757928] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1903.758831] vhci_hcd: unlink->seqnum 84837
          [ 1903.759266] vhci_hcd: the urb (seqnum 84837) was already given back
          [ 1903.904994] vhci_hcd: unlink->seqnum 85001
          [ 1903.905570] vhci_hcd: the urb (seqnum 85001) was already given back
          [ 1903.906408] vhci_hcd: unlink->seqnum 85003
          [ 1903.906866] vhci_hcd: the urb (seqnum 85003) was already given back
          [ 1904.055495] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1904.056528] vhci_hcd: unlink->seqnum 85174
          [ 1904.057186] vhci_hcd: the urb (seqnum 85174) was already given back
          [ 1904.199584] vhci_hcd: unlink->seqnum 85340
          [ 1904.200320] vhci_hcd: the urb (seqnum 85340) was already given back
          [ 1904.201153] vhci_hcd: unlink->seqnum 85342
          [ 1904.201755] vhci_hcd: the urb (seqnum 85342) was already given back
          [ 1904.770065] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1904.771215] vhci_hcd: unlink->seqnum 85941
          [ 1904.793412] vhci_hcd: the urb (seqnum 85941) was already given back
          [ 1905.378980] vhci_hcd: unlink->seqnum 86540
          [ 1905.379524] vhci_hcd: the urb (seqnum 86540) was already given back
          [ 1905.380213] vhci_hcd: unlink->seqnum 86542
          [ 1905.380672] vhci_hcd: the urb (seqnum 86542) was already given back
          [ 1907.712779] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1907.713839] vhci_hcd: unlink->seqnum 86708
          [ 1907.714369] vhci_hcd: the urb (seqnum 86708) was already given back
          [ 1907.856827] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1907.857885] vhci_hcd: unlink->seqnum 86873
          [ 1907.858613] vhci_hcd: the urb (seqnum 86873) was already given back
          [ 1908.000380] vhci_hcd: unlink->seqnum 87037
          [ 1908.000990] vhci_hcd: the urb (seqnum 87037) was already given back
          [ 1908.001894] vhci_hcd: unlink->seqnum 87039
          [ 1908.002283] vhci_hcd: the urb (seqnum 87039) was already given back
          [ 1908.144051] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1908.145049] vhci_hcd: unlink->seqnum 87203
          [ 1908.145540] vhci_hcd: the urb (seqnum 87203) was already given back
          [ 1908.287037] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1908.287877] vhci_hcd: unlink->seqnum 87365
          [ 1908.288349] vhci_hcd: the urb (seqnum 87365) was already given back
          [ 1908.429762] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1908.430658] vhci_hcd: unlink->seqnum 87530
          [ 1908.431205] vhci_hcd: the urb (seqnum 87530) was already given back
          [ 1908.985317] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1908.986189] vhci_hcd: unlink->seqnum 88127
          [ 1908.986661] vhci_hcd: the urb (seqnum 88127) was already given back
          [ 1909.548749] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1909.549567] vhci_hcd: unlink->seqnum 88733
          [ 1909.550019] vhci_hcd: the urb (seqnum 88733) was already given back
          [ 1911.260690] vhci_hcd: connection closed
          [ 1911.261065] vhci_hcd: stop threads
          [ 1911.269459] vhci_hcd: release socket
          [ 1911.270215] vhci_hcd: disconnect device
          [ 1911.270792] usb 1-1: USB disconnect, device number 18
          [ 1911.271620] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
          [ 1911.272759] ftdi_sio 1-1:1.0: device disconnected
          [ 1919.686333] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3)
          [ 1919.694426] vhci_hcd vhci_hcd.0: devid(196610) speed(2) speed_str(full-speed)
          [ 1919.695445] vhci_hcd vhci_hcd.0: Device attached
          [ 1919.974230] vhci_hcd: vhci_device speed not set
          [ 1920.054310] usb 1-1: new full-speed USB device number 19 using vhci_hcd
          [ 1920.134299] vhci_hcd: vhci_device speed not set
          [ 1920.204355] usb 1-1: SetAddress Request (19) to port 0
          [ 1920.271386] usb 1-1: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
          [ 1920.272654] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
          [ 1920.276426] usb 1-1: Product: TTL232RG-VREG3V3
          [ 1920.283974] usb 1-1: Manufacturer: FTDI
          [ 1920.284659] usb 1-1: SerialNumber: FT4TW3LE
          [ 1920.290771] ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
          [ 1920.294102] usb 1-1: Detected FT232RL
          [ 1920.302218] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
          [ 1921.677956] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1921.678813] vhci_hcd: unlink->seqnum 88782
          [ 1921.679423] vhci_hcd: the urb (seqnum 88782) was already given back
          [ 1921.876417] vhci_hcd: unlink->seqnum 88820
          [ 1921.879762] vhci_hcd: the urb (seqnum 88820) was already given back
          [ 1921.881034] vhci_hcd: unlink->seqnum 88822
          [ 1921.882547] vhci_hcd: the urb (seqnum 88822) was already given back
          [ 1922.043477] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1922.044895] vhci_hcd: unlink->seqnum 88857
          [ 1922.047776] vhci_hcd: the urb (seqnum 88857) was already given back
          [ 1922.198003] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1922.199267] vhci_hcd: unlink->seqnum 88892
          [ 1922.201613] vhci_hcd: the urb (seqnum 88892) was already given back
          [ 1922.347202] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1922.348165] vhci_hcd: unlink->seqnum 88926
          [ 1922.348714] vhci_hcd: the urb (seqnum 88926) was already given back
          [ 1922.499077] vhci_hcd: unlink->seqnum 88960
          [ 1922.501091] vhci_hcd: the urb (seqnum 88960) was already given back
          [ 1922.502717] vhci_hcd: unlink->seqnum 88962
          [ 1922.503551] vhci_hcd: the urb (seqnum 88962) was already given back
          [ 1923.072953] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1923.073985] vhci_hcd: unlink->seqnum 89043
          [ 1923.074516] vhci_hcd: the urb (seqnum 89043) was already given back
          [ 1923.635175] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1923.636452] vhci_hcd: unlink->seqnum 89124
          [ 1923.639462] vhci_hcd: the urb (seqnum 89124) was already given back
          [ 1925.988300] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1925.989173] vhci_hcd: unlink->seqnum 89294
          [ 1925.989803] vhci_hcd: the urb (seqnum 89294) was already given back
          [ 1926.134048] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1926.135052] vhci_hcd: unlink->seqnum 89463
          [ 1926.135819] vhci_hcd: the urb (seqnum 89463) was already given back
          [ 1926.278682] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1926.279729] vhci_hcd: unlink->seqnum 89630
          [ 1926.280229] vhci_hcd: the urb (seqnum 89630) was already given back
          [ 1926.421818] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1926.422654] vhci_hcd: unlink->seqnum 89795
          [ 1926.423078] vhci_hcd: the urb (seqnum 89795) was already given back
          [ 1926.564779] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1926.565697] vhci_hcd: unlink->seqnum 89960
          [ 1926.566098] vhci_hcd: the urb (seqnum 89960) was already given back
          [ 1926.708525] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1926.709465] vhci_hcd: unlink->seqnum 90126
          [ 1926.709876] vhci_hcd: the urb (seqnum 90126) was already given back
          [ 1927.274337] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1927.275263] vhci_hcd: unlink->seqnum 90734
          [ 1927.275660] vhci_hcd: the urb (seqnum 90734) was already given back
          [ 1927.845187] vhci_hcd: unlink->seqnum 91344
          [ 1927.850883] vhci_hcd: the urb (seqnum 91344) was already given back
          [ 1927.851973] vhci_hcd: unlink->seqnum 91345
          [ 1927.852996] vhci_hcd: the urb (seqnum 91345) was already given back
          [ 1930.171018] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1930.171928] vhci_hcd: unlink->seqnum 91510
          [ 1930.172363] vhci_hcd: the urb (seqnum 91510) was already given back
          [ 1930.314139] vhci_hcd: unlink->seqnum 91677
          [ 1930.314704] vhci_hcd: the urb (seqnum 91677) was already given back
          [ 1930.315339] vhci_hcd: unlink->seqnum 91678
          [ 1930.315820] vhci_hcd: the urb (seqnum 91678) was already given back
          [ 1930.459077] vhci_hcd: unlink->seqnum 91844
          [ 1930.459613] vhci_hcd: the urb (seqnum 91844) was already given back
          [ 1930.460384] vhci_hcd: unlink->seqnum 91846
          [ 1930.460758] vhci_hcd: the urb (seqnum 91846) was already given back
          [ 1930.604012] vhci_hcd: unlink->seqnum 92012
          [ 1930.604595] vhci_hcd: the urb (seqnum 92012) was already given back
          [ 1930.605499] vhci_hcd: unlink->seqnum 92014
          [ 1930.605943] vhci_hcd: the urb (seqnum 92014) was already given back
          [ 1930.749651] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1930.750537] vhci_hcd: unlink->seqnum 92180
          [ 1930.750994] vhci_hcd: the urb (seqnum 92180) was already given back
          [ 1930.892499] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1930.893423] vhci_hcd: unlink->seqnum 92342
          [ 1930.893815] vhci_hcd: the urb (seqnum 92342) was already given back
          [ 1931.450515] vhci_hcd: unlink->seqnum 92942
          [ 1931.451036] vhci_hcd: the urb (seqnum 92942) was already given back
          [ 1931.451855] vhci_hcd: unlink->seqnum 92943
          [ 1931.452310] vhci_hcd: the urb (seqnum 92943) was already given back
          [ 1932.005934] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1932.007079] vhci_hcd: unlink->seqnum 93538
          [ 1932.008051] vhci_hcd: the urb (seqnum 93538) was already given back
          [ 1934.344638] vhci_hcd: unlink->seqnum 93705
          [ 1934.345318] vhci_hcd: the urb (seqnum 93705) was already given back
          [ 1934.346020] vhci_hcd: unlink->seqnum 93707
          [ 1934.346914] vhci_hcd: the urb (seqnum 93707) was already given back
          [ 1934.492421] vhci_hcd: unlink->seqnum 93877
          [ 1934.493007] vhci_hcd: the urb (seqnum 93877) was already given back
          [ 1934.493725] vhci_hcd: unlink->seqnum 93879
          [ 1934.494085] vhci_hcd: the urb (seqnum 93879) was already given back
          [ 1934.635685] vhci_hcd: unlink->seqnum 94043
          [ 1934.636305] vhci_hcd: the urb (seqnum 94043) was already given back
          [ 1934.637020] vhci_hcd: unlink->seqnum 94045
          [ 1934.637408] vhci_hcd: the urb (seqnum 94045) was already given back
          [ 1934.781906] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1934.782873] vhci_hcd: unlink->seqnum 94212
          [ 1934.783484] vhci_hcd: the urb (seqnum 94212) was already given back
          [ 1934.928139] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1934.929093] vhci_hcd: unlink->seqnum 94374
          [ 1934.929506] vhci_hcd: the urb (seqnum 94374) was already given back
          [ 1935.072487] vhci_hcd: unlink->seqnum 94540
          [ 1935.073073] vhci_hcd: the urb (seqnum 94540) was already given back
          [ 1935.073747] vhci_hcd: unlink->seqnum 94542
          [ 1935.074123] vhci_hcd: the urb (seqnum 94542) was already given back
          [ 1935.636666] vhci_hcd: unlink->seqnum 95136
          [ 1935.637325] vhci_hcd: the urb (seqnum 95136) was already given back
          [ 1935.638064] vhci_hcd: unlink->seqnum 95137
          [ 1935.638408] vhci_hcd: the urb (seqnum 95137) was already given back
          [ 1936.206561] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1936.207426] vhci_hcd: unlink->seqnum 95734
          [ 1936.207861] vhci_hcd: the urb (seqnum 95734) was already given back
          [ 1938.546194] vhci_hcd: unlink->seqnum 95901
          [ 1938.547045] vhci_hcd: the urb (seqnum 95901) was already given back
          [ 1938.547876] vhci_hcd: unlink->seqnum 95902
          [ 1938.548267] vhci_hcd: the urb (seqnum 95902) was already given back
          [ 1938.693577] vhci_hcd: unlink->seqnum 96071
          [ 1938.694092] vhci_hcd: the urb (seqnum 96071) was already given back
          [ 1938.835928] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1938.836732] vhci_hcd: unlink->seqnum 96236
          [ 1938.837195] vhci_hcd: the urb (seqnum 96236) was already given back
          [ 1938.987705] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1938.988677] vhci_hcd: unlink->seqnum 96353
          [ 1938.989499] vhci_hcd: the urb (seqnum 96353) was already given back
          [ 1939.135970] vhci_hcd: unlink->seqnum 96522
          [ 1939.136689] vhci_hcd: the urb (seqnum 96522) was already given back
          [ 1939.137357] vhci_hcd: unlink->seqnum 96523
          [ 1939.137810] vhci_hcd: the urb (seqnum 96523) was already given back
          [ 1939.281588] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1939.282484] vhci_hcd: unlink->seqnum 96689
          [ 1939.282888] vhci_hcd: the urb (seqnum 96689) was already given back
          [ 1939.845544] vhci_hcd: unlink->seqnum 97291
          [ 1939.846182] vhci_hcd: the urb (seqnum 97291) was already given back
          [ 1939.846917] vhci_hcd: unlink->seqnum 97292
          [ 1939.847364] vhci_hcd: the urb (seqnum 97292) was already given back
          [ 1940.417903] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1940.418750] vhci_hcd: unlink->seqnum 97899
          [ 1940.419149] vhci_hcd: the urb (seqnum 97899) was already given back
          [ 1942.755591] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1942.756589] vhci_hcd: unlink->seqnum 98066
          [ 1942.757790] vhci_hcd: the urb (seqnum 98066) was already given back
          [ 1942.911059] vhci_hcd: unlink->seqnum 98221
          [ 1942.922839] vhci_hcd: the urb (seqnum 98221) was already given back
          [ 1942.924368] vhci_hcd: unlink->seqnum 98222
          [ 1942.925054] vhci_hcd: the urb (seqnum 98222) was already given back
          [ 1943.070474] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1943.071268] vhci_hcd: unlink->seqnum 98389
          [ 1943.071663] vhci_hcd: the urb (seqnum 98389) was already given back
          [ 1943.214148] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1943.215327] vhci_hcd: unlink->seqnum 98555
          [ 1943.216018] vhci_hcd: the urb (seqnum 98555) was already given back
          [ 1943.357497] vhci_hcd: unlink->seqnum 98720
          [ 1943.358063] vhci_hcd: the urb (seqnum 98720) was already given back
          [ 1943.358735] vhci_hcd: unlink->seqnum 98721
          [ 1943.359371] vhci_hcd: the urb (seqnum 98721) was already given back
          [ 1943.500841] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1943.501779] vhci_hcd: unlink->seqnum 98886
          [ 1943.502181] vhci_hcd: the urb (seqnum 98886) was already given back
          [ 1944.063008] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1944.064232] vhci_hcd: unlink->seqnum 99489
          [ 1944.064739] vhci_hcd: the urb (seqnum 99489) was already given back
          [ 1944.632563] vhci_hcd: unlink->seqnum 100100
          [ 1944.633273] vhci_hcd: the urb (seqnum 100100) was already given back
          [ 1944.634220] vhci_hcd: unlink->seqnum 100102
          [ 1944.634954] vhci_hcd: the urb (seqnum 100102) was already given back
          [ 1946.987708] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1946.988507] vhci_hcd: unlink->seqnum 100265
          [ 1946.988882] vhci_hcd: the urb (seqnum 100265) was already given back
          [ 1947.131863] vhci_hcd: unlink->seqnum 100433
          [ 1947.132557] vhci_hcd: the urb (seqnum 100433) was already given back
          [ 1947.133420] vhci_hcd: unlink->seqnum 100435
          [ 1947.133848] vhci_hcd: the urb (seqnum 100435) was already given back
          [ 1947.277502] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1947.278353] vhci_hcd: unlink->seqnum 100601
          [ 1947.278806] vhci_hcd: the urb (seqnum 100601) was already given back
          [ 1947.421364] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1947.422139] vhci_hcd: unlink->seqnum 100766
          [ 1947.422522] vhci_hcd: the urb (seqnum 100766) was already given back
          [ 1947.564322] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1947.565243] vhci_hcd: unlink->seqnum 100931
          [ 1947.565648] vhci_hcd: the urb (seqnum 100931) was already given back
          [ 1947.708369] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1947.709290] vhci_hcd: unlink->seqnum 101096
          [ 1947.709646] vhci_hcd: the urb (seqnum 101096) was already given back
          [ 1948.271305] vhci_hcd: unlink->seqnum 101700
          [ 1948.271907] vhci_hcd: the urb (seqnum 101700) was already given back
          [ 1948.272566] vhci_hcd: unlink->seqnum 101701
          [ 1948.272967] vhci_hcd: the urb (seqnum 101701) was already given back
          [ 1948.836005] vhci_hcd: unlink->seqnum 102308
          [ 1948.836530] vhci_hcd: the urb (seqnum 102308) was already given back
          [ 1948.837297] vhci_hcd: unlink->seqnum 102310
          [ 1948.837803] vhci_hcd: the urb (seqnum 102310) was already given back
          [ 1951.221720] vhci_hcd: unlink->seqnum 102476
          [ 1951.222227] vhci_hcd: the urb (seqnum 102476) was already given back
          [ 1951.223094] vhci_hcd: unlink->seqnum 102478
          [ 1951.223494] vhci_hcd: the urb (seqnum 102478) was already given back
          [ 1951.366078] vhci_hcd: unlink->seqnum 102645
          [ 1951.366657] vhci_hcd: the urb (seqnum 102645) was already given back
          [ 1951.507570] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1951.508420] vhci_hcd: unlink->seqnum 102809
          [ 1951.508825] vhci_hcd: the urb (seqnum 102809) was already given back
          [ 1951.649614] vhci_hcd: unlink->seqnum 102972
          [ 1951.650215] vhci_hcd: the urb (seqnum 102972) was already given back
          [ 1951.650835] vhci_hcd: unlink->seqnum 102973
          [ 1951.651252] vhci_hcd: the urb (seqnum 102973) was already given back
          [ 1951.793651] vhci_hcd: unlink->seqnum 103135
          [ 1951.794324] vhci_hcd: the urb (seqnum 103135) was already given back
          [ 1951.795432] vhci_hcd: unlink->seqnum 103137
          [ 1951.795971] vhci_hcd: the urb (seqnum 103137) was already given back
          [ 1951.945607] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1951.946650] vhci_hcd: unlink->seqnum 103266
          [ 1951.947846] vhci_hcd: the urb (seqnum 103266) was already given back
          [ 1952.526231] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1952.527052] vhci_hcd: unlink->seqnum 103855
          [ 1952.527565] vhci_hcd: the urb (seqnum 103855) was already given back
          [ 1953.086825] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1953.087673] vhci_hcd: unlink->seqnum 104455
          [ 1953.088135] vhci_hcd: the urb (seqnum 104455) was already given back
          [ 1955.428797] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1955.429715] vhci_hcd: unlink->seqnum 104623
          [ 1955.430191] vhci_hcd: the urb (seqnum 104623) was already given back
          [ 1955.572786] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1955.573645] vhci_hcd: unlink->seqnum 104791
          [ 1955.574106] vhci_hcd: the urb (seqnum 104791) was already given back
          [ 1955.716720] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1955.717641] vhci_hcd: unlink->seqnum 104957
          [ 1955.718139] vhci_hcd: the urb (seqnum 104957) was already given back
          [ 1955.862343] vhci_hcd: unlink->seqnum 105123
          [ 1955.862955] vhci_hcd: the urb (seqnum 105123) was already given back
          [ 1955.863721] vhci_hcd: unlink->seqnum 105125
          [ 1955.864233] vhci_hcd: the urb (seqnum 105125) was already given back
          [ 1956.025327] vhci_hcd: unlink->seqnum 105299
          [ 1956.025921] vhci_hcd: the urb (seqnum 105299) was already given back
          [ 1956.026807] vhci_hcd: unlink->seqnum 105301
          [ 1956.027397] vhci_hcd: the urb (seqnum 105301) was already given back
          [ 1956.168997] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1956.169933] vhci_hcd: unlink->seqnum 105466
          [ 1956.170407] vhci_hcd: the urb (seqnum 105466) was already given back
          [ 1956.730264] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
          [ 1956.731121] vhci_hcd: unlink->seqnum 106071
          [ 1956.731612] vhci_hcd: the urb (seqnum 106071) was already given back

          #process4 output

          Every 2.0s: python /data/voxl-esc-add-new-params/voxl-esc-tools/voxl-esc-scan.py --enable-debug 1 PW-CONTROL07: Wed Jun 21 17:11:43 2023

          Detected Python version : 3.8.0 (default, Jun 18 2023, 12:37:59)
          [GCC 11.3.0]
          Found voxl-esc tools bin version: 1.2
          INFO: All COM ports:
          /dev/ttyUSB0 : TTL232RG-VREG3V3 - TTL232RG-VREG3V3
          INFO: UART Port Candidates:
          /dev/ttyUSB0
          INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
          UART TX: AF 06 00 00 91 C1
          UART TX: AF 06 18 00 9B C1
          UART TX: AF 06 00 01 50 01
          UART TX: AF 06 18 01 5A 01
          UART TX: AF 06 00 02 10 00
          UART TX: AF 06 18 02 1A 00
          UART TX: AF 06 00 03 D1 C0
          UART TX: AF 06 18 03 DB C0
          INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 250000
          UART TX: AF 06 00 00 91 C1
          UART TX: AF 06 18 00 9B C1
          UART TX: AF 06 00 01 50 01
          UART TX: AF 06 18 01 5A 01
          UART TX: AF 06 00 02 10 00
          UART TX: AF 06 18 02 1A 00
          UART TX: AF 06 00 03 D1 C0
          UART TX: AF 06 18 03 DB C0
          INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 921600
          UART TX: AF 06 00 00 91 C1
          UART TX: AF 06 18 00 9B C1
          UART TX: AF 06 00 01 50 01
          UART TX: AF 06 18 01 5A 01
          UART TX: AF 06 00 02 10 00
          UART TX: AF 06 18 02 1A 00
          UART TX: AF 06 00 03 D1 C0
          UART TX: AF 06 18 03 DB C0
          INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 230400
          UART TX: AF 06 00 00 91 C1
          UART TX: AF 06 18 00 9B C1
          UART TX: AF 06 00 01 50 01
          UART TX: AF 06 18 01 5A 01
          UART TX: AF 06 00 02 10 00
          UART TX: AF 06 18 02 1A 00
          UART TX: AF 06 00 03 D1 C0
          UART TX: AF 06 18 03 DB C0
          INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 57600
          UART TX: AF 06 00 00 91 C1
          UART TX: AF 06 18 00 9B C1
          UART TX: AF 06 00 01 50 01
          UART TX: AF 06 18 01 5A 01
          UART TX: AF 06 00 02 10 00
          UART TX: AF 06 18 02 1A 00
          UART TX: AF 06 00 03 D1 C0
          UART TX: AF 06 18 03 DB C0
          INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 115200
          UART TX: AF 06 00 00 91 C1
          UART TX: AF 06 18 00 9B C1
          UART TX: AF 06 00 01 50 01
          UART TX: AF 06 18 01 5A 01
          UART TX: AF 06 00 02 10 00
          UART TX: AF 06 18 02 1A 00
          UART TX: AF 06 00 03 D1 C0
          UART TX: AF 06 18 03 DB C0
          INFO: Scanning for ESC bootloader: /dev/ttyUSB0, baud: 38400
          UART TX: AF 06 00 00 91 C1
          UART TX: AF 06 18 00 9B C1
          UART TX: AF 06 00 01 50 01
          UART TX: AF 06 18 01 5A 01
          UART TX: AF 06 00 02 10 00
          UART TX: AF 06 18 02 1A 00
          UART TX: AF 06 00 03 D1 C0
          UART TX: AF 06 18 03 DB C0
          UART TX: FA FA 00 05 64 32 3E 65 1A
          UART TX: FA FA 00 05 64 32 3E 65 1A
          UART TX: FA FA 00 05 64 32 3E 65 1A
          UART TX: FA FA 00 05 64 32 3E 65 1A
          UART TX: FA FA 00 05 64 32 3E 65 1A
          UART TX: FA FA 00 05 65 B5 92 BD 1B
          UART TX: FA FA 00 05 65 B5 92 BD 1B
          UART TX: FA FA 00 05 65 B5 92 BD 1B
          UART TX: FA FA 00 05 65 B5 92 BD 1B
          UART TX: FA FA 00 05 65 B5 92 BD 1B
          UART TX: FA FA 00 05 66 3C 67 D4 19

          Alex KushleyevA 1 Reply Last reply Reply Quote 0
          • Alex KushleyevA
            Alex Kushleyev ModalAI Team @ErezI
            last edited by

            @ErezI sorry i missed your earlier message. Please email me at akushley @ modalai . com and we will discuss via email. No need to re-send the previous information. Thank you.

            E 2 Replies Last reply Reply Quote 0
            • E
              ErezI @Alex Kushleyev
              last edited by

              @Alex-Kushleyev
              OK
              Thanks

              1 Reply Last reply Reply Quote 0
              • E
                ErezI @Alex Kushleyev
                last edited by

                @Alex-Kushleyev

                Hi Alex

                When we try to verify or update ESC params (xml file) to the F5A esc,
                we get the following error:

                data/voxl-esc-add-new-params/voxl-esc-tools$ sudo ./voxl-esc-verify-params.py
                Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
                [GCC 9.4.0]
                Found voxl-esc tools bin version: 1.2
                INFO: All COM ports:
                /dev/ttyS4 : n/a
                /dev/ttyUSB0 : TTL232R
                INFO: UART Port Candidates:
                /dev/ttyUSB0
                Found previous connection information in .voxl_esc_cache ..
                Prioritizing /dev/ttyUSB0 @ 2000000
                INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
                INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 2000000
                Exception in thread uartserial:
                Traceback (most recent call last):
                File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
                self.run()
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/uarttransceiver.py", line 100, in run
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/escmanager.py", line 135, in handle_packets
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/escmanager.py", line 270, in handle_config_data
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/esc.py", line 84, in set_params
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 268, in parse_params
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 394, in parse_tune_params
                Exception: Tune length got: 136, expected: 180
                Tune config CRC mismatch 42914 != 0
                ERROR: Params for ID 0 are invalid!
                ID config CRC mismatch 60163 != 0
                ERROR: Params for ID 1 are invalid!
                ID config CRC mismatch 60163 != 0
                ERROR: Params for ID 2 are invalid!
                ID config CRC mismatch 60163 != 0
                ERROR: Params for ID 3 are invalid!
                ERROR: Params from ID 0 and 1 are not the same
                ERROR: Params from ID 0 and 2 are not the same
                ERROR: Params from ID 0 and 3 are not the same
                ERROR: Some params are invalid or not the same!
                Number of ESCs expected : 4
                Number of ESCs found : 4
                Number of invalid params : 4
                Number of matched params : 1
                user@user-CF-54-3:/data/voxl-esc-add-new-params/voxl-esc-tools$

                [sudo] password for user:
                Starting Wizard

                What do you want to do?

                1. scan 3) spin 5) upload_params
                2. detect 4) upgrade_firmware
                  #? 5

                Which ?

                1. starling_v2 3) fpv_revB 5) MPD

                2. sentinel_v1 4) starling_m129
                  #? 5
                  uploading params file ../voxl-esc-params/MPD/mpd_params.xml
                  enabling bridge
                  Failed to get unit file state for voxl-px4.service: No such file or directory
                  bridge enabled
                  Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
                  [GCC 9.4.0]
                  Found voxl-esc tools bin version: 1.2
                  INFO: All COM ports:
                  /dev/ttyS4 : n/a
                  /dev/ttyUSB0 : TTL232R
                  INFO: UART Port Candidates:
                  /dev/ttyUSB0
                  Found previous connection information in .voxl_esc_cache ..
                  Prioritizing /dev/ttyUSB0 @ 2000000
                  INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
                  INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 2000000
                  INFO: Detected protocol: firmware
                  INFO: Additional Information:
                  INFO: ---------------------
                  ID : 0
                  Board : version 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                  UID : 0x203135385631500200730034
                  Firmware : version 37, hash ba6d193a*
                  Bootloader : version 0, hash 7a01a780

                  ID : 1
                  Board : version 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                  UID : 0x203135385631500200320035
                  Firmware : version 37, hash ba6d193a*
                  Bootloader : version 0, hash 7a01a780

                  ID : 2
                  Board : version 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                  UID : 0x203135385631500200340033
                  Firmware : version 37, hash ba6d193a*
                  Bootloader : version 0, hash 7a01a780

                  ID : 3
                  Board : version 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                  UID : 0x203135385631500200710034
                  Firmware : version 37, hash ba6d193a*
                  Bootloader : version 0, hash 7a01a780


                successfully pinged ESCs
                Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
                [GCC 9.4.0]
                Found voxl-esc tools bin version: 1.2

                INFO: Params file name : ../voxl-esc-params/MPD/mpd_params.xml
                INFO: Params file size : 6959 bytes

                INFO: All COM ports:
                /dev/ttyS4 : n/a
                /dev/ttyUSB0 : TTL232R
                INFO: UART Port Candidates:
                /dev/ttyUSB0
                Found previous connection information in .voxl_esc_cache ..
                Prioritizing /dev/ttyUSB0 @ 2000000
                INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
                INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 2000000
                INFO: ESCs detected:
                INFO: ---------------------
                ID: 0, SW: 37, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                ID: 1, SW: 37, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                ID: 2, SW: 37, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                ID: 3, SW: 37, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)

                INFO: Loading XML config file...
                Traceback (most recent call last):
                File "voxl-esc-upload-params.py", line 114, in <module>
                esc.params.parse_xml_string( xml_string )
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 518, in parse_xml_string
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 935, in set_packet_metadata
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 249, in update_crc
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 165, in get_param_bytes_for_crc
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 85, in byteify
                struct.error: pack expected 12 items for packing (got 4)
                disabling bridge
                bridge disabled

                we use the following xml file for the f40 pro 2400kv:
                sudo cat ./mpd_params.xml
                <?xml version="1.0" encoding="UTF-8"?>

                <!-- Copyright (c) 2020 ModalAI Inc.

                Redistribution and use in source and binary forms, with or without
                modification, are permitted provided that the following conditions are met:

                1. Redistributions of source code must retain the above copyright notice,
                  this list of conditions and the following disclaimer.

                2. Redistributions in binary form must reproduce the above copyright notice,
                  this list of conditions and the following disclaimer in the documentation
                  and/or other materials provided with the distribution.

                3. Neither the name of the copyright holder nor the names of its contributors
                  may be used to endorse or promote products derived from this software
                  without specific prior written permission.

                4. The Software is used solely in conjunction with devices provided by
                  ModalAI Inc.

                THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
                LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                POSSIBILITY OF SUCH DAMAGE.

                For a license to use on non-ModalAI hardware, please contact license@modalai.com -->

                <EscParameters>

                <IdParams>
                <param name="id" value="127"/> <!-- 0-7 .. 127 means use hardware ID pins to read ID-->
                <param name="dir" value="2"/> <!-- 0=fwd, 1=rev, 2=fwd id-based, 3=rev id-based -->
                </IdParams>

                <BoardParams>
                <param name="id_map" value="[0, 1, 2, 3, 4, 5, 6, 7]"/> <!-- reserved for future use -->
                <param name="vsense_scale" value="6.0"/> <!-- voltage_mv = adc_val_mv * vsense_mult / vsense_ div -->
                <param name="isense_scale" value="18.25"/> <!-- Ima * 0.001 * 50 = Vmv, so mult is 1 / (0.001 * 50) = 20 . Note that actual gain is a bit off -->
                <param name="isense_zero_mv" value="550"/> <!-- voltage offset of current sensor when current is zero (0.55V by design) -->
                </BoardParams>

                <UartParams>
                <param name="protocol_version" value="2"/> <!-- reserved for future use -->
                <param name="input_mode" value="0"/> <!-- reserved for future use -->
                <param name="baud_rate" value="2000000"/> <!-- communication bit rate -->
                <param name="char_timeout_ns" value="0"/> <!-- not used -->
                <param name="cmd_timeout_ns" value="100000000"/> <!-- timeout for incoming commands before ESC will stop the motor -->
                </UartParams>

                <TuneParams>
                <param name="pwm_frequency" value="48000"/> <!-- switching freqency of PWM signal going to motors. 24Khz and 48Khz are only options for now -->
                <param name="vbat_nominal_mv" value="14800"/> <!-- used for sanity checking and limiting of voltage-dependent funcions -->
                <param name="num_cycles_per_rev" value="7"/> <!-- number of pole pairs in the motor. used for converting electrical frequency to mechanical rpm -->
                <param name="min_rpm" value="1000"/> <!-- minimum RPM that will be attempted, otherwise capped -->
                <param name="max_rpm" value="25000"/> <!-- maximum RPM that will be attempted, otherwise capped -->
                <param name="min_pwm" value="50"/> <!-- cap for minimum power to be ever applied. max is 999 -->
                <param name="max_pwm" value="999"/> <!-- cap for maximum power to be ever applied. max is 999 -->
                <param name="pwm_vs_rpm_curve_a0" value="870.0"/> <!-- this is actually motor_voltage vs rpm curve.. using legacy naming -->
                <param name="pwm_vs_rpm_curve_a1" value="0.5"/> <!-- Emax RS1306 3300KV with tri-blade 3x3x3 -->
                <param name="pwm_vs_rpm_curve_a2" value="3.0e-06"/>
                <param name="kp" value="250"/> <!-- RPM controller proportional gain -->
                <param name="ki" value="30"/> <!-- RPM controller proportional gain -->
                <param name="max_kpe" value="300"/> <!-- maximum proportional erorr term (max is 999) -->
                <param name="max_kie" value="100"/> <!-- maximum integral error term (max is 999) -->
                <param name="max_rpm_delta" value="3000"/> <!-- cap for maximum rpm error used in RPM controller -->

                <param name="alignment_time_ns"   value="0"/>
                <param name="spinup_power"        value="70"/>      <!-- power used to give the motor initial kick (out of 999) -->
                <param name="latch_power"         value="80"/>     <!-- power used during latching stage of spin-up (out of 999)-->
                <param name="min_num_cross_for_closed_loop" value="50"/>  <!-- exit latching mode of fixed power after this number of zero crossings -->
                
                <param name="brake_to_stop"       value="0"/>             <!-- apply brake when stopping motor (or not) -->
                <param name="stall_timeout_ns"    value="20000000"/>      <!-- after spin-up, if no zero crossing is not detected for this amount of time, motor is considered stalled -->
                <param name="require_reset_if_stalled"      value="0"/>   <!-- require sending an array of zero commands to reset before next spin-up, if motor stalled -->
                

                <!-- <param name="tone_freqs_10hz" value="[200, 215, 225, 250]"/> --> <!-- 200 is 2000Hz, max 255 -->
                <!-- <param name="tone_times_ms" value="[10, 10, 10, 10]"/> --> <!-- duration of each tone in units of 10 milli-seconds. Poor naming!!! -->
                <param name="tone_powers" value="[100, 100, 100, 100]"/> <!-- max is 255 -->

                <param name="dt_threshold_ns"       value="150000"/>      <!-- during start up, ignore inter-commutation times less than this val, probably noise -->
                <param name="max_dt_ns"             value="2500000"/>     <!-- min and max values for time between two commutations. these are used as caps -->
                <param name="min_dt_ns"             value="10000"/>
                <param name="dt_bootstrap_ns"       value="2000000"/>     <!-- filter bootstrap value for commutation dt during start up -->
                
                <param name="spinup_stall_dt_ns"    value="6000000"/>     <!-- during spin-up, if no zero crossing is not detected for this amount of time, motor is considered stalled -->
                <param name="spinup_stall_check_ns" value="30000000"/>    <!-- time after beginning of spinup to start checking for spinup stall -->
                
                <param name="timing_advance"        value="0"/>
                <param name="sense_advance"         value="0"/>
                
                <param name="demag_timing"          value="0"/>    <!-- unused -->
                

                </TuneParams>
                </EscParameters>

                Thanks,

                Erez

                Alex KushleyevA 1 Reply Last reply Reply Quote 0
                • Alex KushleyevA
                  Alex Kushleyev ModalAI Team @ErezI
                  last edited by

                  @ErezI

                  We recently updated the parameter structure in the ESC params. The ESCs you have are using older params. If you wanted to verify or update those params, please use the following version of voxl-esc tools : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/v1.1.1

                  If you want to use the latest params, a firmware update and param update is required.
                  You can use the latest voxl-esc tools : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/v1.2.2

                  update the firmware on all ESCs:
                  ./voxl-esc-upload-firmware-all.sh firmware/modalai_esc_firmware_tmotor_f55a_revc_v0_38_9b6d54b6.bin

                  At this point the ESCs will make a sad tone because the params will be invalid. Now update the params to the latest default params for the tmotor ESC.
                  ./voxl-esc-upload-params.py --params-file ../voxl-esc-params/FPV_RevB/FPV_RevB.xml

                  After this, you should have the ESC updated firmware and params to the latest. Next you can diff your desired params against the latest params you just loaded, and create a new version of your params.

                  I noticed that you have pretty high kp and ki values. If you are just starting out, i would suggest setting kp=0 and ki=0, this will result in performance close to a off-the-shelf ESC. having gains set too high could result in vibrations or motors heating up, it will require some more careful testing.

                  Additionally, i noticed that your tuning params do not have a lot of precision, which will result in incorrect curve. You should have at least 3 or preferably 6 decimal places for each of a0, a1, a2 to avoid any error. You can copy paste them directly from the calibration procedure.

                  <param name="pwm_vs_rpm_curve_a0" value="870.0"/>
                  <param name="pwm_vs_rpm_curve_a1" value="0.5"/>
                  <param name="pwm_vs_rpm_curve_a2" value="3.0e-06"/>

                  Alex

                  E 4 Replies Last reply Reply Quote 0
                  • E
                    ErezI @Alex Kushleyev
                    last edited by

                    @Alex-Kushleyev

                    Alex Hi

                    Thanks for your fast & supporting respond.

                    1.We got negative values for a0 (-500 to -1000) and not your recommended positive value
                    <param name="pwm_vs_rpm_curve_a0" value="870.0"/>
                    <param name="pwm_vs_rpm_curve_a1" value="0.5"/>
                    <param name="pwm_vs_rpm_curve_a2" value="3.0e-06"/>

                    Should a0 be a negative value (-870) or a positive on (a correctness value?)?

                    2.We got different parameter values to the curves while running multiple calibration tests t
                    o the same ESCx-Motx couples,
                    and of course different values testing a different ESCx-Motx couples.

                    What should be (how to choose/ calculate) the right a0,a1 & a2 values for the single uploaded parameters file (avg?)

                    20230712-150720_ESC_#3_Volt_vs_RPM.jpg 20230712-150654_ESC_#2_Volt_vs_RPM.jpg 20230712-150617_ESC_#1_Volt_vs_RPM.jpg 20230712-150539_ESC_#0_Volt_vs_RPM.jpg 20230712-150233_ESC_#0_Volt_vs_RPM.jpg

                    Thanks Erez

                    ps

                    New voxl-esc-calibrate.py with a0-a2 inside the graphs and
                    created under the logs folder

                    cat ./voxl-esc-calibrate2.py

                    Copyright (c) 2020 ModalAI Inc.

                    Redistribution and use in source and binary forms, with or without

                    modification, are permitted provided that the following conditions are met:

                    1. Redistributions of source code must retain the above copyright notice,

                    this list of conditions and the following disclaimer.

                    2. Redistributions in binary form must reproduce the above copyright notice,

                    this list of conditions and the following disclaimer in the documentation

                    and/or other materials provided with the distribution.

                    3. Neither the name of the copyright holder nor the names of its contributors

                    may be used to endorse or promote products derived from this software

                    without specific prior written permission.

                    4. The Software is used solely in conjunction with devices provided by

                    ModalAI Inc.

                    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"

                    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

                    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

                    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE

                    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR

                    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF

                    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS

                    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN

                    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)

                    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE

                    POSSIBILITY OF SUCH DAMAGE.

                    For a license to use on non-ModalAI hardware, please contact license@modalai.com

                    from voxl_esc_setup_paths import *
                    voxl_esc_setup_paths()

                    from libesc import *
                    from esc_scanner import EscScanner
                    import time
                    import numpy as np
                    import argparse

                    parser = argparse.ArgumentParser(description='ESC Calibration Script')
                    parser.add_argument('--device', required=False, default=None)
                    parser.add_argument('--baud_rate', required=False, default=None)
                    parser.add_argument('--id', type=int, required=False, default=0)
                    parser.add_argument('--pwm-min', type=int, required=False, default=10)
                    parser.add_argument('--pwm-max', type=int, required=False, default=90)
                    parser.add_argument('--pwm-step', type=int, required=False, default=1)
                    parser.add_argument('--pwm-step-duration', type=float, required=False, default=0.5) #seconds
                    args = parser.parse_args()

                    devpath = args.device
                    baudrate = args.baud_rate
                    esc_id = args.id
                    PWM_MIN = args.pwm_min
                    PWM_MAX = args.pwm_max
                    PWM_STEP = args.pwm_step
                    STEPDURATION = args.pwm_step_duration

                    quick scan for ESCs to detect the port

                    scanner = EscScanner()
                    (devpath, baudrate) = scanner.scan(devpath, baudrate)

                    if devpath is not None and baudrate is not None:
                    print('INFO: ESC(s) detected on port: ' + devpath + ', baud rate: ' + str(baudrate))
                    else:
                    print('ERROR: No ESC(s) detected, exiting.')
                    sys.exit(1)

                    #check input arguments
                    if PWM_MIN < 10 or PWM_MIN > 50:
                    print('ERROR: Minimum power must be between 10 and 50')
                    sys.exit(1)

                    if PWM_MAX < 10 or PWM_MAX > 100:
                    print('ERROR: Maximum power must be between 10 and 100')
                    sys.exit(1)

                    if PWM_MAX < PWM_MIN:
                    print('ERROR: Maximum power must be greater than minimum power')
                    sys.exit(1)

                    TRANSITIONTIME = 0.40

                    create ESC manager and search for ESCs

                    try:
                    esc_manager = EscManager()
                    esc_manager.open(devpath, baudrate)
                    except Exception as e:
                    print('ERROR: Unable to connect to ESCs :')
                    print(e)
                    sys.exit(1)

                    wait a little to let manager find all ESCs

                    time.sleep(0.25)
                    num_escs = len(esc_manager.get_escs())
                    if num_escs < 1:
                    print('ERROR: No ESCs detected--exiting.')
                    sys.exit(1)

                    esc = esc_manager.get_esc_by_id(esc_id)
                    if esc is None:
                    print('ERROR: Specified ESC ID not found--exiting.')
                    sys.exit(1)

                    warn user

                    print('WARNING: ')
                    print('This test requires motors to spin at high speeds with')
                    print('propellers attached. Please ensure that appropriate')
                    print('protective equipment is being worn at all times and')
                    print('that the motor and propeller are adequately isolated')
                    print('from all persons.')
                    print('')
                    print('For best results, please perform this test at the')
                    print('nominal voltage for the battery used.')
                    print('')
                    response = input('Type "Yes" to continue: ')
                    if response not in ['yes', 'Yes', 'YES']:
                    print('Test canceled by user')
                    sys.exit(1)

                    get ESC software version. sw_version < 20 means gen1 ESC, otherwise gen2

                    sw_version = esc.get_versions()[0]

                    esc_manager.enable_protocol_logging()

                    spin up

                    esc_manager.set_highspeed_fb(esc_id) #tell ESC manager to only request feedback from this ID (so we get feedback 4x more often)
                    esc.set_target_power(10)
                    t_start = time.time()
                    while time.time() - t_start < 1.0:
                    time.sleep(0.05)
                    esc_manager.send_pwm_targets()

                    measurements = []
                    t_test_start= time.time()

                    ramp up from min to max

                    pwm_now = PWM_MIN #10
                    while pwm_now <= PWM_MAX:
                    esc.set_target_power(pwm_now)
                    t_start = time.time()
                    print('')
                    while time.time() - t_start < STEPDURATION:
                    time.sleep(0.01)
                    esc_manager.send_pwm_targets()
                    if pwm_now >= PWM_MIN and time.time() - t_start >= TRANSITIONTIME:
                    measurements.append(
                    [esc.get_power(), esc.get_rpm(), esc.get_voltage(), esc.get_current()])
                    print('POW: %d, RPM: %.2f, Voltage: %.2fV, Current: %.2fA' % (esc.get_power(), esc.get_rpm(), esc.get_voltage(), esc.get_current()))
                    pwm_now += PWM_STEP

                    close the manager and UART thread

                    esc_manager.close()
                    t_test_stop= time.time()
                    print ('INFO: Test took %.2f seconds' % (t_test_stop-t_test_start))

                    #d_date=datetime.datetime.now()
                    d_date="{:%Y%m%d-%H%M%S}".format(datetime.now())
                    print ("date="+str(d_date))

                    parse measurements

                    pwms = [data[0] for data in measurements]
                    rpms = [data[1] for data in measurements]
                    voltages = [data[2] for data in measurements]
                    currents = [data[3] for data in measurements]

                    #reported power is 0-100, but in ESC firmware it is 0-1000
                    motor_voltages = [pwms[i]10.0/999.0(voltages[i]*1000) for i in range(len(pwms))]

                    linear fit or quadratic fit

                    ply = np.polyfit(rpms, motor_voltages, 2)
                    motor_voltages_fit = np.polyval(ply, rpms)

                    print corresponding params

                    print('Quadratic fit: motor_voltage = a2rpm_desired^2 + a1rpm_desired + a0')
                    print(' a0 = ' + str(ply[2]))
                    print(' a1 = ' + str(ply[1]))
                    print(' a2 = ' + str(ply[0]))
                    print('ESC Params (after scaling):')
                    print(' pwm_vs_rpm_curve_a0 = ' + str(ply[2]))
                    print(' pwm_vs_rpm_curve_a1 = ' + str(ply[1]))
                    print(' pwm_vs_rpm_curve_a2 = ' + str(ply[0]))

                    plot results if possible

                    try:
                    import matplotlib.pyplot as plt
                    except:
                    print('WARNING: In order to plot the results, install the Python "matplotlib" module')
                    sys.exit(0)

                    plot the results

                    plt.plot(rpms, motor_voltages, 'bo')
                    plt.tight_layout()
                    plt.plot(rpms, motor_voltages_fit)
                    print ('Motor Voltage vs. RPM Test')
                    plt.xlabel('Measured RPM')
                    plt.ylabel('Commanded Motor Voltage (mV)')
                    plt.title('Motor Voltage vs. RPM Test')
                    plt.legend(['Data', 'Fit'], loc=2)
                    plt.ylim([0, np.max(motor_voltages)+1000])
                    plt.tight_layout()
                    print ('Motor Voltage vs. RPM Test')
                    plt.tight_layout()

                    plot corresponding params

                    plt.figtext(0.5, 0.01, "Quadratic fit: motor_voltage = a2rpm_desired^2 + a1rpm_desired + a0", ha="center", fontsize=10, bbox={"facecolor":"orange", "alpha":0.5, "pad":5})
                    plt.figtext(0.2, 0.97, 'a0=%.8f' % ply[2], ha="center", fontsize=10, bbox={"facecolor":"green", "alpha":0.5, "pad":5})
                    plt.figtext(0.5, 0.97, 'a1=%.8f' % ply[1], ha="center", fontsize=10, bbox={"facecolor":"green", "alpha":0.5, "pad":5})
                    plt.figtext(0.8, 0.97, 'a2=%.8f' % ply[0], ha="center", fontsize=10, bbox={"facecolor":"green", "alpha":0.5, "pad":5})
                    plt.tight_layout()

                    plt.savefig('./logs/'+str(d_date)+'ESC#'+str(esc_id)+'_Volt_vs_RPM.jpg',bbox_inches='tight')
                    #time.sleep(2)

                    plt.figure()

                    plt.plot(pwms, rpms, 'bo')
                    print ('RMP vs. PWM Test')
                    plt.xlabel('Commanded PWM (x/100)')
                    plt.ylabel('Measured RPM')
                    plt.title('RPM vs. PWM Test')
                    plt.tight_layout()

                    plot corresponding params

                    plt.figtext(0.5, 0.01, "ESC Params (after scaling):", ha="center", fontsize=10, bbox={"facecolor":"orange", "alpha":0.5, "pad":5})
                    plt.figtext(0.3, 0.97, 'a0=%.8f' % ply[2], ha="center", fontsize=10, bbox={"facecolor":"yellow", "alpha":0.5, "pad":5})
                    plt.figtext(0.6, 0.97, 'a1=%.8f' % ply[1], ha="center", fontsize=10, bbox={"facecolor":"yellow", "alpha":0.5, "pad":5})
                    plt.figtext(0.9, 0.97, 'a2=%.8f' % ply[0], ha="center", fontsize=10, bbox={"facecolor":"yellow", "alpha":0.5, "pad":5})

                    plt.savefig('./logs/'+str(d_date)+'ESC#'+str(esc_id)+'_RPM_vs_PWM.jpg',bbox_inches='tight')
                    plt.show()
                    plt.close()

                    1 Reply Last reply Reply Quote 0
                    • E
                      ErezI @Alex Kushleyev
                      last edited by

                      @Alex-Kushleyev

                      Hi Alex,

                      I replaced the F55A ESCs firmware from version 33 to version 38
                      (modalai_esc_firmware_tmotor_f55a_revc_v0_38_9b6d54b6.bin),
                      and used he new code version (v1.2.2) &
                      also used the new XML file (FPV_RevB.xml renamed to mpd_params.xml)
                      but I got the same errors:

                      user@user-CF-54-3:/data/voxl-esc-v1.2.2/voxl-esc-tools$ sudo python3 ./voxl-esc-upload-params.py --params-file ../../voxl-esc-add-new-params/voxl-esc-params/MPD/mpd_params.xml
                      Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
                      [GCC 9.4.0]
                      Found voxl-esc tools bin version: 1.2

                      INFO: Params file name : ../../voxl-esc-add-new-params/voxl-esc-params/MPD/mpd_params.xml
                      INFO: Params file size : 6835 bytes

                      INFO: All COM ports:
                      /dev/ttyS4 : n/a
                      /dev/ttyUSB0 : TTL232R
                      INFO: UART Port Candidates:
                      /dev/ttyUSB0
                      INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
                      INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 250000
                      INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 921600
                      INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 230400
                      INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 57600
                      INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 57600
                      INFO: ESCs detected:
                      INFO: ---------------------
                      ID: 0, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                      ID: 1, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                      ID: 2, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                      ID: 3, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)

                      INFO: Loading XML config file...
                      WARNING: Tune Parameter "tone_freqs_10hz" incompatible
                      WARNING: Tune Parameter "tone_times_ms" incompatible
                      Traceback (most recent call last):
                      File "./voxl-esc-upload-params.py", line 124, in <module>
                      esc.params.parse_xml_string( xml_string )
                      File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 518, in parse_xml_string
                      File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 935, in set_packet_metadata
                      File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 249, in update_crc
                      File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 165, in get_param_bytes_for_crc
                      File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 85, in byteify
                      struct.error: pack expected 12 items for packing (got 4)

                      Erez

                      1 Reply Last reply Reply Quote 0
                      • E
                        ErezI @Alex Kushleyev
                        last edited by

                        @Alex-Kushleyev

                        Alex,

                        more info

                        /data/voxl-esc-v1.2.2/voxl-esc-tools$ sudo ./voxl-esc-verify-params.py
                        Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
                        [GCC 9.4.0]
                        Found voxl-esc tools bin version: 1.2
                        INFO: All COM ports:
                        /dev/ttyS4 : n/a
                        /dev/ttyUSB0 : TTL232R
                        INFO: UART Port Candidates:
                        /dev/ttyUSB0
                        Found previous connection information in .voxl_esc_cache ..
                        Prioritizing /dev/ttyUSB0 @ 57600
                        INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 57600
                        INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 57600
                        ID config CRC mismatch 60163 != 0
                        ERROR: Params for ID 0 are invalid!
                        ID config CRC mismatch 60163 != 0
                        ERROR: Params for ID 1 are invalid!
                        ID config CRC mismatch 60163 != 0
                        ERROR: Params for ID 2 are invalid!
                        ID config CRC mismatch 60163 != 0
                        ERROR: Params for ID 3 are invalid!
                        ERROR: Some params are invalid or not the same!
                        Number of ESCs expected : 4
                        Number of ESCs found : 4
                        Number of invalid params : 4
                        Number of matched params : 4

                        1 Reply Last reply Reply Quote 0
                        • E
                          ErezI @Alex Kushleyev
                          last edited by

                          @Alex-Kushleyev

                          Alex,

                          With the new file it works:

                          sudo python3 ./voxl-esc-upload-params.py --params-file ../voxl-esc-params/FPV_RevB/FPV_RevB.xml
                          Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
                          [GCC 9.4.0]
                          Found voxl-esc tools bin version: 1.2

                          INFO: Params file name : ../voxl-esc-params/FPV_RevB/FPV_RevB.xml
                          INFO: Params file size : 7663 bytes

                          INFO: All COM ports:
                          /dev/ttyS4 : n/a
                          /dev/ttyUSB0 : TTL232R
                          INFO: UART Port Candidates:
                          /dev/ttyUSB0
                          Found previous connection information in .voxl_esc_cache ..
                          Prioritizing /dev/ttyUSB0 @ 57600
                          INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 57600
                          INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 57600
                          INFO: ESCs detected:
                          INFO: ---------------------
                          ID: 0, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                          ID: 1, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                          ID: 2, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                          ID: 3, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)

                          INFO: Loading XML config file...
                          INFO: Uploading params...
                          -- board config
                          -- id config
                          -- uart config
                          -- tune config
                          DONE
                          INFO: Resetting ESCs...
                          DONE

                          I'll change the relevant parameters to fit our motor's type.

                          Thanks

                          Erez

                          Alex KushleyevA 1 Reply Last reply Reply Quote 0
                          • Alex KushleyevA
                            Alex Kushleyev ModalAI Team @ErezI
                            last edited by

                            @ErezI

                            When it comes to comparing the quadratic curve fits, it is difficult to look at just the coefficients and compare them. If you have multiple tests, you should plot the quadratic plots on the same figure and see how repeatable they are. What may seem like a noticeable variation in the coefficients, could still result in curves that are very similar.

                            By the way, you should not just average values of a0, a1, and a2 to get a0_average, a1_average, and a2_average, as this will result in wrong curve. If you would like to find an average of all 4 runs, then you can just create a quadratic fit of all the points from the 4 data sets - that is the proper way to do it. However, if after plotting the 4 curves they look very similar, you can use any of the 4 individual fits. The PI (Proportional Integral) controller on the ESC will compensate for minor deviations.

                            The error you saw with params not being valid was due to the latest version of voxl-esc tools using new parameter structure. So the solution is (which is what you already figured out) to update the firmware and params to latest. This type of change does not happen too often. We will add this to documentation to make this clear.

                            Alex

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Powered by NodeBB | Contributors