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.
    • 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