Forum Rule: Always post complete source code & details to reproduce any issue!
Page 2 of 4 FirstFirst 1 2 3 4 LastLast
Results 26 to 50 of 92

Thread: Teensyduino 1.54 Beta #6

  1. #26
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    16,887
    This 'padding' is interesting note about the 32KB blocking for ITCM : .text.itcm.padding 8548 24220

  2. #27
    Senior Member
    Join Date
    Apr 2014
    Location
    -
    Posts
    9,735
    Yup, the padding is somewhat useful.

    If I think of the 1770... these things will be much much worse..
    I'm not that sure the whole builder is usable... not sure if it is able too compile different files (two cores) with different flags and math-libraries.. (FPU)
    If not, it would be needed to call it twice.
    Building will take ages.. :-( Edit: I think it will end with #ifdef IMXRT1170_CORE0 [...] #elseif IMXRT1170_CORE1 [...] and calling the compiler twice. However, all the other things the builder does, like detecting the libraries will be problematic.

    It will take a decade for Massimo to take these things into account in the builder. If a decade is enough.
    Last edited by Frank B; 02-08-2021 at 08:36 PM.

  3. #28
    Senior Member
    Join Date
    Apr 2014
    Location
    -
    Posts
    9,735

    Mtp

    Hi Paul,

    could you please take a look at usb_dec.h?
    I think the config for USB_MTPDISK_SERIAL is wrong. My Lubuntu (dmesg) says:
    Code:
    [   58.300446] usb 1-1: new high-speed USB device number 2 using ehci-pci
    [   58.659302] usb 1-1: config 1 has an invalid interface number: 3 but max is 2
    [   58.659305] usb 1-1: config 1 has no interface number 0
    [   58.673878] usb 1-1: New USB device found, idVendor=16c0, idProduct=0476
    [   58.673881] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [   58.673883] usb 1-1: Product: Teensy MTP Disk/Serial
    [   58.673884] usb 1-1: Manufacturer: Teensyduino
    [   58.673885] usb 1-1: SerialNumber: 7820070
    [   58.690544] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
    [   58.693345] usbcore: registered new interface driver cdc_acm
    [   58.693346] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
    [   98.089536] usb 1-1: USB disconnect, device number 2
    [   98.130423] cdc_acm 1-1:1.1: failed to set dtr/rts
    If have modified it to :
    Code:
     #define VENDOR_ID             0x16C0
      #define PRODUCT_ID        0x0476 //fake an include everything device
      #define RAWHID_USAGE_PAGE    0xFFAB  // recommended: 0xFF00 to 0xFFFF
      #define RAWHID_USAGE        0x0200  // recommended: 0x0100 to 0xFFFF
      #define DEVICE_CLASS        0xEF
      #define DEVICE_SUBCLASS    0x02
      #define DEVICE_PROTOCOL    0x01
    
    
      #define MANUFACTURER_NAME     {'T','e','e','n','s','y','d','u','i','n','o'}
      #define MANUFACTURER_NAME_LEN 11
      #define PRODUCT_NAME          {'T','e','e','n','s','y',' ','M','T','P',' ','D','i','s','k','/','S','e','r','i','a','l'}
      #define PRODUCT_NAME_LEN      22
      #define EP0_SIZE              64
    
    
      #define NUM_INTERFACE        3
      #define NUM_ENDPOINTS         5
    
    
      #define CDC_IAD_DESCRIPTOR      1 //1
      #define CDC_STATUS_INTERFACE    0 //1
    
    
      #define CDC_DATA_INTERFACE      1    // Serial //2
      #define CDC_ACM_ENDPOINT        2 //2
      #define CDC_RX_ENDPOINT       3 //3
      #define CDC_TX_ENDPOINT       3 //3
      #define CDC_ACM_SIZE          16
      #define CDC_RX_SIZE_480       512
      #define CDC_TX_SIZE_480       512
      #define CDC_RX_SIZE_12        64
      #define CDC_TX_SIZE_12        64
      #define ENDPOINT2_CONFIG    ENDPOINT_RECEIVE_UNUSED + ENDPOINT_TRANSMIT_INTERRUPT
      #define ENDPOINT3_CONFIG    ENDPOINT_RECEIVE_BULK + ENDPOINT_TRANSMIT_BULK
    
    
      #define MTP_INTERFACE         2 // MTP Disk
      #define MTP_TX_ENDPOINT       4
      #define MTP_RX_ENDPOINT       4
      #define MTP_EVENT_ENDPOINT    5
      #define MTP_TX_SIZE_480       512
      #define MTP_RX_SIZE_480       512
      #define MTP_TX_SIZE_12        64
      #define MTP_RX_SIZE_12        64
      #define MTP_EVENT_SIZE        32
    
    
      #define MTP_EVENT_INTERVAL_12    10    // 10 = 10 ms
      #define MTP_EVENT_INTERVAL_480 7    // 7 = 8 ms
    
    
      #define ENDPOINT4_CONFIG    ENDPOINT_RECEIVE_BULK + ENDPOINT_TRANSMIT_BULK
      #define ENDPOINT5_CONFIG    ENDPOINT_RECEIVE_INTERRUPT + ENDPOINT_TRANSMIT_INTERRUPT  // ????
    Now, Linux seems to be happy, but I'm not entirly sure, that it is correct now.
    Thank you!

    Edit: After a while, it continous to write:
    Code:
    cdc_acm 1-1:1.1: failed to set dtr/rts
    Not sure, if this is normal.

    Then, lsusb needs a long time (several seconds) to display the verbose info for the Teensy (tested with USB_MTPDISK_SERIAL only) and sometimes fails to prints the strings (serial-no, manufacturer etc)

  4. #29
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,462
    @Paul - Playing with my old dev machine that has Ubuntu 20.04 on it and I think up to date.

    I have Arduino 1.8.13 with this beta, and maybe having issues with SEREMU connections working to Arduino Terminal monitor.

    I started this up to test out some MTP stuff and could not debug output to terminal monitor:
    More details about this in the thread: https://forum.pjrc.com/threads/43050...l=1#post269826

    Then I wondered if it was specific to MTP, so I configured USB Type to keyboard, loaded the Simple sketch:
    Modified only to add: while (!Serial && millis() < 5000) ;

    actually edited again to comment out the keyboard prints as they were getting annoying

    Code:
    int count = 0;
    
    void setup() {
      while (!Serial && millis() < 5000) ;
      Serial.begin(9600);
      delay(1000);
    }
    
    void loop() {
      // Your computer will receive thesHello World 0e characters from a USB keyboard.
      //Keyboard.print("Hello World "); 
      //Keyboard.println(count);
    
      // You can also send to the Arduino Serial Monitor
      Serial.println(count);
    
      // increment the count
      count = count + 1;
    
      // typing too rapidly can overwhelm a PC
      delay(5000);
    }
    It then does not want to be programmed automatically again by upload: Teensy verbos info:
    Code:
    08:53:16.374 (post_compile 1): Begin, version=1.54-beta6
    08:53:16.660 (loader): Teensy Loader 1.54-beta6, begin program
    08:53:16.688 (loader): File "Simple.pde.hex". 18768 bytes, 0% used
    08:53:16.689 (loader): Listening for remote control on port 3149
    08:53:16.689 (loader): initialized, showing main window
    08:53:16.775 (loader): remote connection 9 opened
    08:53:16.775 (post_compile 1): Sending command: comment: Teensyduino 1.54-beta6 - LINUX64 (teensy_post_compile)
    08:53:16.775 (loader): remote cmd from 9: "comment: Teensyduino 1.54-beta6 - LINUX64 (teensy_post_compile)"
    08:53:16.775 (loader): remote cmd from 9: "status"
    08:53:16.835 (post_compile 1): Status: 1, 0, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:16.835 (post_compile 1): Sending command: auto:on
    08:53:16.835 (loader): remote cmd from 9: "auto:on"
    08:53:16.835 (post_compile 1): Disconnect
    08:53:16.846 (loader): remote connection 9 closed
    08:53:16.852 (post_compile 2): Begin, version=1.54-beta6
    08:53:16.852 (loader): remote connection 9 opened
    08:53:16.852 (post_compile 2): Sending command: comment: Teensyduino 1.54-beta6 - LINUX64 (teensy_post_compile)
    08:53:16.852 (loader): remote cmd from 9: "comment: Teensyduino 1.54-beta6 - LINUX64 (teensy_post_compile)"
    08:53:16.853 (loader): remote cmd from 9: "status"
    08:53:16.916 (post_compile 2): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:16.916 (post_compile 2): Disconnect
    08:53:16.926 (post_compile 3): Running teensy_reboot: /home/kurt/Desktop/arduino-1.8.13/hardware/teensy/../tools/teensy_reboot
    08:53:16.926 (loader): remote connection 9 closed
    08:53:16.926 (loader): remote connection 9 opened
    08:53:16.927 (loader): remote connection 9 closed
    08:53:16.927 (reboot 4): Begin, version=1.54-beta6
    08:53:16.927 (reboot 4): location = /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:16.927 (reboot 4): portlabel = /dev/hidraw6 Keyboard
    08:53:16.927 (reboot 4): Only location /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1 will be tried
    08:53:16.927 (reboot 4): portprotocol = Teensy
    08:53:16.999 (loader): remote connection 9 opened
    08:53:17.002 (reboot 4): add device: subsys=usb, type=usb_device, location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:17.002 (reboot 4):   devnode=/dev/bus/usb/001/022, subsystem=usb, ifacenum=-1
    08:53:17.002 (reboot 4): add child:  subsys=usb, type=usb_interface, location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.0
    08:53:17.002 (reboot 4):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:17.002 (reboot 4):   model=37 (Teensy 4.1)
    08:53:17.003 (reboot 4): add child:  subsys=hid, type=(null), location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.0/0003:16C0:04D0.001F
    08:53:17.003 (reboot 4):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:17.003 (reboot 4): add child:  subsys=hidraw, type=(null), location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.0/0003:16C0:04D0.001F/hidraw/hidraw3
    08:53:17.003 (reboot 4):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:17.003 (reboot 4): add child:  subsys=usb, type=usb_interface, location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.1
    08:53:17.003 (reboot 4):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:17.003 (reboot 4): add child:  subsys=hid, type=(null), location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.1/0003:16C0:04D0.0020
    08:53:17.003 (reboot 4):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:17.004 (reboot 4): add child:  subsys=hidraw, type=(null), location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.1/0003:16C0:04D0.0020/hidraw/hidraw6
    08:53:17.004 (reboot 4):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:17.004 (reboot 4):   devnode=/dev/hidraw6, subsystem=hidraw, ifacenum=1
    08:53:17.004 (reboot 4): add child:  subsys=usb, type=usb_interface, location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.2
    08:53:17.004 (reboot 4):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:17.004 (reboot 4): add child:  subsys=hid, type=(null), location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.2/0003:16C0:04D0.0021
    08:53:17.004 (reboot 4):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:17.005 (reboot 4): add child:  subsys=hidraw, type=(null), location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.2/0003:16C0:04D0.0021/hidraw/hidraw7
    08:53:17.005 (reboot 4):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:17.020 (reboot 4): found Teensy Loader, version 1.54
    08:53:17.020 (reboot 4): Sending command: show:arduino_attempt_reboot
    08:53:17.049 (loader): remote cmd from 9: "show:arduino_attempt_reboot"
    08:53:17.049 (loader): got request to show arduino rebooting message
    08:53:17.052 (reboot 4): Sending command: comment: Teensyduino 1.54-beta6 - LINUX64 (teensy_reboot)
    08:53:17.053 (loader): remote cmd from 9: "comment: Teensyduino 1.54-beta6 - LINUX64 (teensy_reboot)"
    08:53:17.053 (loader): remote cmd from 9: "status"
    08:53:17.115 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:17.115 (reboot 4): hid_send_feature, opened /dev/hidraw6
    08:53:17.115 (reboot 4): error sending reboot command to /dev/hidraw6
    08:53:17.115 (loader): remote cmd from 9: "status"
    08:53:17.213 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:17.213 (reboot 4): status read, retry 0
    08:53:17.313 (loader): remote cmd from 9: "status"
    08:53:17.375 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:17.375 (reboot 4): status read, retry 1
    08:53:17.501 (loader): remote cmd from 9: "status"
    08:53:17.554 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:17.554 (reboot 4): status read, retry 2
    08:53:17.654 (loader): remote cmd from 9: "status"
    08:53:17.716 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:17.716 (reboot 4): status read, retry 3
    08:53:17.817 (loader): remote cmd from 9: "status"
    08:53:17.877 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:17.877 (reboot 4): status read, retry 4
    08:53:18.028 (loader): remote cmd from 9: "status"
    08:53:18.084 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:18.084 (reboot 4): status read, retry 5
    08:53:18.184 (loader): remote cmd from 9: "status"
    08:53:18.244 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:18.244 (reboot 4): status read, retry 6
    08:53:18.345 (loader): remote cmd from 9: "status"
    08:53:18.409 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:18.409 (reboot 4): status read, retry 7
    08:53:18.558 (loader): remote cmd from 9: "status"
    08:53:18.612 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:18.612 (reboot 4): status read, retry 8
    08:53:18.712 (loader): remote cmd from 9: "status"
    08:53:18.775 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:18.775 (reboot 4): status read, retry 9
    08:53:18.875 (loader): remote cmd from 9: "status"
    08:53:18.938 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:18.938 (reboot 4): status read, retry 10
    08:53:19.088 (loader): remote cmd from 9: "status"
    08:53:19.143 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:19.143 (reboot 4): status read, retry 11
    08:53:19.243 (loader): remote cmd from 9: "status"
    08:53:19.306 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:19.306 (reboot 4): status read, retry 12
    08:53:19.406 (loader): remote cmd from 9: "status"
    08:53:19.470 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:19.470 (reboot 4): status read, retry 13
    08:53:19.622 (loader): remote cmd from 9: "status"
    08:53:19.677 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:19.677 (reboot 4): status read, retry 14
    08:53:19.777 (loader): remote cmd from 9: "status"
    08:53:19.840 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:19.840 (reboot 4): status read, retry 15
    08:53:19.940 (loader): remote cmd from 9: "status"
    08:53:20.002 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:20.002 (reboot 4): status read, retry 16
    08:53:20.151 (loader): remote cmd from 9: "status"
    08:53:20.205 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:20.205 (reboot 4): status read, retry 17
    08:53:20.305 (loader): remote cmd from 9: "status"
    08:53:20.367 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:20.367 (reboot 4): status read, retry 18
    08:53:20.468 (loader): remote cmd from 9: "status"
    08:53:20.532 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:20.532 (reboot 4): status read, retry 19
    08:53:20.679 (loader): remote cmd from 9: "status"
    08:53:20.734 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:20.734 (reboot 4): status read, retry 20
    08:53:20.835 (loader): remote cmd from 9: "status"
    08:53:20.897 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:20.897 (reboot 4): status read, retry 21
    08:53:20.998 (loader): remote cmd from 9: "status"
    08:53:21.059 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:21.059 (reboot 4): status read, retry 22
    08:53:21.210 (loader): remote cmd from 9: "status"
    08:53:21.265 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:21.265 (reboot 4): status read, retry 23
    08:53:21.365 (loader): remote cmd from 9: "status"
    08:53:21.426 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:21.426 (reboot 4): status read, retry 24
    08:53:21.526 (loader): remote cmd from 9: "status"
    08:53:21.587 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:21.587 (reboot 4): status read, retry 25
    08:53:21.737 (loader): remote cmd from 9: "status"
    08:53:21.791 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:21.791 (reboot 4): status read, retry 26
    08:53:21.892 (loader): remote cmd from 9: "status"
    08:53:21.954 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:21.954 (reboot 4): status read, retry 27
    08:53:22.054 (loader): remote cmd from 9: "status"
    08:53:22.114 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:22.114 (reboot 4): status read, retry 28
    08:53:22.266 (loader): remote cmd from 9: "status"
    08:53:22.321 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:22.321 (reboot 4): status read, retry 29
    08:53:22.421 (loader): remote cmd from 9: "status"
    08:53:22.482 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:22.482 (reboot 4): status read, retry 30
    08:53:22.582 (loader): remote cmd from 9: "status"
    08:53:22.644 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:22.644 (reboot 4): status read, retry 31
    08:53:22.798 (loader): remote cmd from 9: "status"
    08:53:22.854 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:22.854 (reboot 4): status read, retry 32
    08:53:22.954 (loader): remote cmd from 9: "status"
    08:53:23.014 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:23.014 (reboot 4): status read, retry 33
    08:53:23.115 (loader): remote cmd from 9: "status"
    08:53:23.176 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:23.176 (reboot 4): status read, retry 34
    08:53:23.328 (loader): remote cmd from 9: "status"
    08:53:23.384 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:23.384 (reboot 4): status read, retry 35
    08:53:23.484 (loader): remote cmd from 9: "status"
    08:53:23.547 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:23.547 (reboot 4): status read, retry 36
    08:53:23.648 (loader): remote cmd from 9: "status"
    08:53:23.710 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:23.710 (reboot 4): status read, retry 37
    08:53:23.865 (loader): remote cmd from 9: "status"
    08:53:23.923 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:23.923 (reboot 4): status read, retry 38
    08:53:24.023 (loader): remote cmd from 9: "status"
    08:53:24.084 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:24.084 (reboot 4): status read, retry 39
    08:53:24.184 (loader): remote cmd from 9: "status"
    08:53:24.245 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:24.245 (reboot 4): status read, retry 40
    08:53:24.398 (loader): remote cmd from 9: "status"
    08:53:24.455 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:24.455 (reboot 4): status read, retry 41
    08:53:24.555 (loader): remote cmd from 9: "status"
    08:53:24.618 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:24.618 (reboot 4): status read, retry 42
    08:53:24.718 (loader): remote cmd from 9: "status"
    08:53:24.781 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:24.781 (reboot 4): status read, retry 43
    08:53:24.931 (loader): remote cmd from 9: "status"
    08:53:24.988 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:24.988 (reboot 4): status read, retry 44
    08:53:25.088 (loader): remote cmd from 9: "status"
    08:53:25.150 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:25.150 (reboot 4): status read, retry 45
    08:53:25.251 (loader): remote cmd from 9: "status"
    08:53:25.313 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:25.313 (reboot 4): status read, retry 46
    08:53:25.463 (loader): remote cmd from 9: "status"
    08:53:25.520 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:25.520 (reboot 4): status read, retry 47
    08:53:25.620 (loader): remote cmd from 9: "status"
    08:53:25.683 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:25.683 (reboot 4): status read, retry 48
    08:53:25.783 (loader): remote cmd from 9: "status"
    08:53:25.845 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:25.845 (reboot 4): status read, retry 49
    08:53:25.993 (loader): remote cmd from 9: "status"
    08:53:26.047 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:26.047 (reboot 4): status read, retry 50
    08:53:26.148 (loader): remote cmd from 9: "status"
    08:53:26.209 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:26.209 (reboot 4): status read, retry 51
    08:53:26.310 (loader): remote cmd from 9: "status"
    08:53:26.373 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:26.373 (reboot 4): status read, retry 52
    08:53:26.521 (loader): remote cmd from 9: "status"
    08:53:26.575 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:26.575 (reboot 4): status read, retry 53
    08:53:26.675 (loader): remote cmd from 9: "status"
    08:53:26.737 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:26.737 (reboot 4): status read, retry 54
    08:53:26.838 (loader): remote cmd from 9: "status"
    08:53:26.899 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:26.899 (reboot 4): status read, retry 55
    08:53:27.048 (loader): remote cmd from 9: "status"
    08:53:27.102 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:27.102 (reboot 4): status read, retry 56
    08:53:27.202 (loader): remote cmd from 9: "status"
    08:53:27.264 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:27.264 (reboot 4): status read, retry 57
    08:53:27.264 (loader): Verbose Info event
    08:53:27.364 (loader): remote cmd from 9: "status"
    08:53:27.424 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:27.424 (reboot 4): status read, retry 58
    08:53:27.573 (loader): remote cmd from 9: "status"
    08:53:27.628 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:27.628 (reboot 4): status read, retry 59
    08:53:27.728 (loader): remote cmd from 9: "status"
    08:53:27.794 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:27.794 (reboot 4): status read, retry 60
    08:53:27.894 (loader): remote cmd from 9: "status"
    08:53:27.962 (reboot 4): Status: 1, 1, 0, 0, 0, 0, /tmp/arduino_build_803802/, Simple.pde.hex
    08:53:27.962 (reboot 4): status read, retry 61
    08:53:28.062 (reboot 4): Teensy did not respond to a USB-based request to automatically reboot.
    08:53:28.066 (serialmon 5): Begin, version=1.54-beta6
    08:53:28.066 (serialmon 5): listening for location: /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:28.115 (loader): remote connection 10 opened
    08:53:28.119 (serialmon 5): add device: subsys=usb, type=usb_device, location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:28.119 (serialmon 5):   devnode=/dev/bus/usb/001/022, subsystem=usb, ifacenum=-1
    08:53:28.119 (serialmon 5): add child:  subsys=usb, type=usb_interface, location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.0
    08:53:28.119 (serialmon 5):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:28.119 (serialmon 5):   model=37 (Teensy 4.1)
    08:53:28.119 (serialmon 5): add child:  subsys=hid, type=(null), location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.0/0003:16C0:04D0.001F
    08:53:28.119 (serialmon 5):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:28.119 (serialmon 5): add child:  subsys=hidraw, type=(null), location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.0/0003:16C0:04D0.001F/hidraw/hidraw3
    08:53:28.119 (serialmon 5):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:28.119 (serialmon 5): add child:  subsys=usb, type=usb_interface, location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.1
    08:53:28.119 (serialmon 5):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:28.120 (serialmon 5): add child:  subsys=hid, type=(null), location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.1/0003:16C0:04D0.0020
    08:53:28.120 (serialmon 5):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:28.120 (serialmon 5): add child:  subsys=hidraw, type=(null), location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.1/0003:16C0:04D0.0020/hidraw/hidraw6
    08:53:28.120 (serialmon 5):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:28.120 (serialmon 5):   devnode=/dev/hidraw6, subsystem=hidraw, ifacenum=1
    08:53:28.120 (serialmon 5): can't open /dev/hidraw6
    08:53:28.120 (serialmon 5): add child:  subsys=usb, type=usb_interface, location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.2
    08:53:28.120 (serialmon 5):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:28.120 (serialmon 5): can't open /dev/hidraw6
    08:53:28.120 (serialmon 5): add child:  subsys=hid, type=(null), location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.2/0003:16C0:04D0.0021
    08:53:28.120 (serialmon 5):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:28.120 (serialmon 5): can't open /dev/hidraw6
    08:53:28.121 (serialmon 5): add child:  subsys=hidraw, type=(null), location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.2/0003:16C0:04D0.0021/hidraw/hidraw7
    08:53:28.121 (serialmon 5):   parent location=/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1
    08:53:28.121 (serialmon 5): can't open /dev/hidraw6
    08:53:28.149 (loader): remote connection 9 closed
    Serial Monitor shows offline.

    Code:
    kurt@kurt-XPS-8300:~/github/MTP_t4$ dmesg | tail -30
    [13974.148621] usb 1-1.4.1: USB disconnect, device number 19
    [14011.490461] usb 1-1.4.1: new high-speed USB device number 20 using ehci-pci
    [14011.599328] usb 1-1.4.1: New USB device found, idVendor=16c0, idProduct=04d0, bcdDevice= 2.80
    [14011.599331] usb 1-1.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [14011.599333] usb 1-1.4.1: Product: Keyboard
    [14011.599335] usb 1-1.4.1: Manufacturer: Teensyduino
    [14011.599336] usb 1-1.4.1: SerialNumber: 8597440
    [14011.600652] input: Teensyduino Keyboard as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.0/0003:16C0:04D0.001B/input/input30
    [14011.658750] hid-generic 0003:16C0:04D0.001B: input,hidraw3: USB HID v1.11 Keyboard [Teensyduino Keyboard] on usb-0000:00:1a.0-1.4.1/input0
    [14011.659613] hid-generic 0003:16C0:04D0.001C: hidraw6: USB HID v1.11 Device [Teensyduino Keyboard] on usb-0000:00:1a.0-1.4.1/input1
    [14011.660534] input: Teensyduino Keyboard as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.2/0003:16C0:04D0.001D/input/input31
    [14011.718936] hid-generic 0003:16C0:04D0.001D: input,hidraw7: USB HID v1.11 Device [Teensyduino Keyboard] on usb-0000:00:1a.0-1.4.1/input2
    [14016.644287] usb 1-1.4.1: USB disconnect, device number 20
    [14017.066497] usb 1-1.4.1: new high-speed USB device number 21 using ehci-pci
    [14017.175062] usb 1-1.4.1: New USB device found, idVendor=16c0, idProduct=0478, bcdDevice= 1.05
    [14017.175064] usb 1-1.4.1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
    [14017.175065] usb 1-1.4.1: SerialNumber: 000D1E60
    [14017.176116] hid-generic 0003:16C0:0478.001E: hidraw3: USB HID v1.11 Device [HID 16c0:0478] on usb-0000:00:1a.0-1.4.1/input0
    [14017.924217] usb 1-1.4.1: USB disconnect, device number 21
    [14018.402487] usb 1-1.4.1: new high-speed USB device number 22 using ehci-pci
    [14018.511403] usb 1-1.4.1: New USB device found, idVendor=16c0, idProduct=04d0, bcdDevice= 2.80
    [14018.511415] usb 1-1.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [14018.511417] usb 1-1.4.1: Product: Keyboard
    [14018.511418] usb 1-1.4.1: Manufacturer: Teensyduino
    [14018.511420] usb 1-1.4.1: SerialNumber: 8597440
    [14018.512697] input: Teensyduino Keyboard as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.0/0003:16C0:04D0.001F/input/input32
    [14018.570961] hid-generic 0003:16C0:04D0.001F: input,hidraw3: USB HID v1.11 Keyboard [Teensyduino Keyboard] on usb-0000:00:1a.0-1.4.1/input0
    [14018.571952] hid-generic 0003:16C0:04D0.0020: hidraw6: USB HID v1.11 Device [Teensyduino Keyboard] on usb-0000:00:1a.0-1.4.1/input1
    [14018.572979] input: Teensyduino Keyboard as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.2/0003:16C0:04D0.0021/input/input33
    [14018.630920] hid-generic 0003:16C0:04D0.0021: input,hidraw7: USB HID v1.11 Device [Teensyduino Keyboard] on usb-0000:00:1a.0-1.4.1/input2
    kurt@kurt-XPS-8300:~/github/MTP_t4$

  5. #30
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,462
    Quote Originally Posted by Frank B View Post
    Hi Paul,

    could you please take a look at usb_dec.h?
    I think the config for USB_MTPDISK_SERIAL is wrong. My Lubuntu (dmesg) says:
    Code:
    [   58.300446] usb 1-1: new high-speed USB device number 2 using ehci-pci
    [   58.659302] usb 1-1: config 1 has an invalid interface number: 3 but max is 2
    [   58.659305] usb 1-1: config 1 has no interface number 0
    [   58.673878] usb 1-1: New USB device found, idVendor=16c0, idProduct=0476
    [   58.673881] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [   58.673883] usb 1-1: Product: Teensy MTP Disk/Serial
    [   58.673884] usb 1-1: Manufacturer: Teensyduino
    [   58.673885] usb 1-1: SerialNumber: 7820070
    [   58.690544] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
    [   58.693345] usbcore: registered new interface driver cdc_acm
    [   58.693346] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
    [   98.089536] usb 1-1: USB disconnect, device number 2
    [   98.130423] cdc_acm 1-1:1.1: failed to set dtr/rts
    If have modified it to :
    Code:
     #define VENDOR_ID             0x16C0
      #define PRODUCT_ID        0x0476 //fake an include everything device
      #define RAWHID_USAGE_PAGE    0xFFAB  // recommended: 0xFF00 to 0xFFFF
      #define RAWHID_USAGE        0x0200  // recommended: 0x0100 to 0xFFFF
      #define DEVICE_CLASS        0xEF
      #define DEVICE_SUBCLASS    0x02
      #define DEVICE_PROTOCOL    0x01
    
    
      #define MANUFACTURER_NAME     {'T','e','e','n','s','y','d','u','i','n','o'}
      #define MANUFACTURER_NAME_LEN 11
      #define PRODUCT_NAME          {'T','e','e','n','s','y',' ','M','T','P',' ','D','i','s','k','/','S','e','r','i','a','l'}
      #define PRODUCT_NAME_LEN      22
      #define EP0_SIZE              64
    
    
      #define NUM_INTERFACE        3
      #define NUM_ENDPOINTS         5
    
    
      #define CDC_IAD_DESCRIPTOR      1 //1
      #define CDC_STATUS_INTERFACE    0 //1
    
    
      #define CDC_DATA_INTERFACE      1    // Serial //2
      #define CDC_ACM_ENDPOINT        2 //2
      #define CDC_RX_ENDPOINT       3 //3
      #define CDC_TX_ENDPOINT       3 //3
      #define CDC_ACM_SIZE          16
      #define CDC_RX_SIZE_480       512
      #define CDC_TX_SIZE_480       512
      #define CDC_RX_SIZE_12        64
      #define CDC_TX_SIZE_12        64
      #define ENDPOINT2_CONFIG    ENDPOINT_RECEIVE_UNUSED + ENDPOINT_TRANSMIT_INTERRUPT
      #define ENDPOINT3_CONFIG    ENDPOINT_RECEIVE_BULK + ENDPOINT_TRANSMIT_BULK
    
    
      #define MTP_INTERFACE         2 // MTP Disk
      #define MTP_TX_ENDPOINT       4
      #define MTP_RX_ENDPOINT       4
      #define MTP_EVENT_ENDPOINT    5
      #define MTP_TX_SIZE_480       512
      #define MTP_RX_SIZE_480       512
      #define MTP_TX_SIZE_12        64
      #define MTP_RX_SIZE_12        64
      #define MTP_EVENT_SIZE        32
    
    
      #define MTP_EVENT_INTERVAL_12    10    // 10 = 10 ms
      #define MTP_EVENT_INTERVAL_480 7    // 7 = 8 ms
    
    
      #define ENDPOINT4_CONFIG    ENDPOINT_RECEIVE_BULK + ENDPOINT_TRANSMIT_BULK
      #define ENDPOINT5_CONFIG    ENDPOINT_RECEIVE_INTERRUPT + ENDPOINT_TRANSMIT_INTERRUPT  // ????
    Now, Linux seems to be happy, but I'm not entirly sure, that it is correct now.
    Thank you!

    Edit: After a while, it continous to write:
    Code:
    cdc_acm 1-1:1.1: failed to set dtr/rts
    Not sure, if this is normal.

    Then, lsusb needs a long time (several seconds) to display the verbose info for the Teensy (tested with USB_MTPDISK_SERIAL only) and sometimes fails to prints the strings (serial-no, manufacturer etc)

    Frank,

    I will take a look. I believe this is not stuff in the current build, but stuff you added in from @WMXZ files in the MTP_t4 project? There are probably a few other things I want to double check to see as it compares to some other fixes I did for the
    SEREMU one which is in the build.

    And I may want to try it out anyway on Ubuntu as to get some debug working.

  6. #31
    Senior Member
    Join Date
    Apr 2014
    Location
    -
    Posts
    9,735
    Quote Originally Posted by KurtE View Post
    Code:
    kurt@kurt-XPS-8300:~/github/MTP_t4$ dmesg | tail -30
    [...]
    [14017.066497] usb 1-1.4.1: new high-speed USB device number 21 using ehci-pci
    [14017.175062] usb 1-1.4.1: New USB device found, idVendor=16c0, idProduct=0478, bcdDevice= 1.05
    [14017.175064] usb 1-1.4.1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
    [14017.175065] usb 1-1.4.1: SerialNumber: 000D1E60
    [14017.176116] hid-generic 0003:16C0:0478.001E: hidraw3: USB HID v1.11 Device [HID 16c0:0478] on usb-0000:00:1a.0-1.4.1/input0
    It can't read the device strings, sometimes.

  7. #32
    Senior Member
    Join Date
    Apr 2014
    Location
    -
    Posts
    9,735
    Quote Originally Posted by KurtE View Post
    Frank,

    I will take a look. I believe this is not stuff in the current build, but stuff you added in from @WMXZ files in the MTP_t4 project?
    .
    I've taken it from Michael Meissners post here:
    https://forum.pjrc.com/threads/43050...l=1#post269604

  8. #33
    Member
    Join Date
    May 2020
    Location
    South East England
    Posts
    24
    Hi Paul,
    I think FreqCount() is flawed. The gating period appears to not be set by the call to FreqCount.begin(NuSec).
    Or am I being stupid (as usual)?

    T4.1 on custom PCB with very good signal conditioning.
    Main code is many thousands of lines... but boils down to this:


    Code:
    /*
        Name:       FreqCountBug_01.ino
        Created:    10/02/2021 17:42:50
        Author:     DESKTOP-KBCLAD0\Richard
    */
    #include <FreqCount.h>
    
    
    void myDelay(int milliseconds) {
    	long time_end = millis() + milliseconds;
    	while (millis() < time_end) {}
    }
    
    
    void setup() {
    	Serial.begin(57600);
    	Serial.println("Hello....");
    	FreqCount.begin(100);  // Gate time in uSec.
    }
    
    
    void loop() {
    	unsigned long count;
    	if (FreqCount.available()) {
    		count = FreqCount.read();
    		Serial.println(count);  // Display the measured frequency
    
    
    		/* Displayed frequency shows the gate time is NOT
    		set by <FreqCount.begin(100)> but DOES correspond
    		with the interval set by myDelay()
    
    
    		Ex : 10MHz input should show 100 * 10 = 1000
    		Actual value is 17000139
    
    
    		Comment out the call to myDelay() and all is well.
    		*/
    
    
    	}
    
    
    	// This delay simulate a lot of other things happening in real app.
    	myDelay(1700); // Strange delay time makes malfunction obvious.
    }

  9. #34
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,462
    Quote Originally Posted by Frank B View Post
    I've taken it from Michael Meissners post here:
    https://forum.pjrc.com/threads/43050...l=1#post269604
    My updated version is:
    Code:
    #elif defined(USB_MTPDISK_SERIAL)
      #define VENDOR_ID             0x16C0
      #define PRODUCT_ID            0x0476 //fake an include everything device
      #define RAWHID_USAGE_PAGE 0xFFAB  // recommended: 0xFF00 to 0xFFFF
      #define RAWHID_USAGE    0x0200  // recommended: 0x0100 to 0xFFFF
      #define DEVICE_CLASS    0xEF
      #define DEVICE_SUBCLASS 0x02
      #define DEVICE_PROTOCOL 0x01
    
      #define MANUFACTURER_NAME     {'T','e','e','n','s','y','d','u','i','n','o'}
      #define MANUFACTURER_NAME_LEN 11
      #define PRODUCT_NAME          {'T','e','e','n','s','y',' ','M','T','P',' ','D','i','s','k','/','S','e','r','i','a','l'}
      #define PRODUCT_NAME_LEN      22
      #define EP0_SIZE    64
    
      #define NUM_ENDPOINTS         5
      #define NUM_INTERFACE   3
      #define CDC_IAD_DESCRIPTOR  1
      #define CDC_STATUS_INTERFACE  0
      #define CDC_DATA_INTERFACE  1 // Serial
      #define CDC_ACM_ENDPOINT  2
      #define CDC_RX_ENDPOINT       3
      #define CDC_TX_ENDPOINT       3
      #define CDC_ACM_SIZE          16
      #define CDC_RX_SIZE_480       512
      #define CDC_TX_SIZE_480       512
      #define CDC_RX_SIZE_12        64
      #define CDC_TX_SIZE_12        64
      
      #define ENDPOINT2_CONFIG  ENDPOINT_RECEIVE_UNUSED + ENDPOINT_TRANSMIT_INTERRUPT
      #define ENDPOINT3_CONFIG  ENDPOINT_RECEIVE_BULK + ENDPOINT_TRANSMIT_BULK
    
      #define MTP_INTERFACE         2 // MTP Disk
      #define MTP_TX_ENDPOINT       4
      #define MTP_RX_ENDPOINT       4
      #define MTP_EVENT_ENDPOINT    5
      #define MTP_TX_SIZE_480       512
      #define MTP_RX_SIZE_480       512
      #define MTP_TX_SIZE_12        64
      #define MTP_RX_SIZE_12        64
      #define MTP_EVENT_SIZE        32
    
      #define MTP_EVENT_INTERVAL_12 10  // 10 = 10 ms
      #define MTP_EVENT_INTERVAL_480 7  // 7 = 8 ms
    
      #define ENDPOINT4_CONFIG  ENDPOINT_RECEIVE_BULK + ENDPOINT_TRANSMIT_BULK
      #define ENDPOINT5_CONFIG  ENDPOINT_RECEIVE_UNUSED + ENDPOINT_TRANSMIT_INTERRUPT  // ????
    And my boards.local.txt
    Code:
    teensy41.menu.usb.mtpserial=MTP Disk Serial (Experimental)
    teensy41.menu.usb.mtpserial.build.usbtype=USB_MTPDISK_SERIAL
    
    teensy40.menu.usb.mtpserial=MTP Disk Serial (Experimental)
    teensy40.menu.usb.mtpserial.build.usbtype=USB_MTPDISK_SERIAL
    
    teensy36.menu.usb.mtpserial=MTP Disk SERIAL (Experimental)
    teensy36.menu.usb.mtpserial.build.usbtype=USB_MTPDISK_SERIAL
    
    teensy35.menu.usb.mtpserial=MTP Disk SERIAL (Experimental)
    teensy35.menu.usb.mtpserial.build.usbtype=USB_MTPDISK_SERIAL
    
    teensy31.menu.usb.mtpserial=MTP Disk SERIAL (Experimental)
    teensy31.menu.usb.mtpserial.build.usbtype=USB_MTPDISK_SERIAL
    This got rid of that Linux error message. I updated the interface to match the MIDI versions, and I did verify on Ubutu that the Serial monitor is working with this setup...

  10. #35
    Senior Member
    Join Date
    Apr 2014
    Location
    -
    Posts
    9,735
    Ok, Kurt, thanks for the confirmation - your version has the same values as mine.

  11. #36
    (EDIT: you probably should skip ahead to my followup post before sinking time into reading this...)

    I'm trying to adapt some filesystem code that was SD-specific to be filesystem agnostic, so it can be used with SD and LittleFS on both the Teensy and ESP32. I need to be able to pass a FS reference to a function. A function like this (taken from ESP32 example code) compiles on the ESP32 but not with Teensyduino 1.54 beta 6.

    Code:
    void listDir(fs::FS &fs, const char * dirname, uint8_t levels);
    This level of C++ is beyond me; I'm not sure what that code does let alone how to troubleshoot the errors. I get these errors when compiling:

    Code:
    SD_FS_test:8: error: variable or field 'listDir' declared void
     void listDir(fs::FS &fs, const char * dirname, uint8_t levels){
                  ^
    SD_FS_test:8: error: 'fs' has not been declared
    SD_FS_test:8: error: 'fs' was not declared in this scope
     void listDir(fs::FS &fs, const char * dirname, uint8_t levels){
                          ^
    SD_FS_test:8: error: expected primary-expression before 'const'
     void listDir(fs::FS &fs, const char * dirname, uint8_t levels){
                              ^
    SD_FS_test:8: error: expected primary-expression before 'levels'
     void listDir(fs::FS &fs, const char * dirname, uint8_t levels){
                                                            ^
    SD_FS_test:8: error: variable or field 'listDir' declared void
     void listDir(fs::FS &fs, const char * dirname, uint8_t levels){
                  ^
    SD_FS_test:8: error: 'fs' has not been declared
    SD_FS_test:8: error: 'fs' was not declared in this scope
     void listDir(fs::FS &fs, const char * dirname, uint8_t levels){
                          ^
    SD_FS_test:8: error: expected primary-expression before 'const'
     void listDir(fs::FS &fs, const char * dirname, uint8_t levels){
                              ^
    SD_FS_test:8: error: expected primary-expression before 'levels'
     void listDir(fs::FS &fs, const char * dirname, uint8_t levels){
                                                            ^
    Multiple libraries were found for "SD.h"
     Used: /Applications/Teensyduino_1_54_Beta_6.app/Contents/Java/hardware/teensy/avr/libraries/SD
     Not used: /Applications/Teensyduino_1_54_Beta_6.app/Contents/Java/libraries/SD
    Multiple libraries were found for "SdFat.h"
     Used: /Applications/Teensyduino_1_54_Beta_6.app/Contents/Java/hardware/teensy/avr/libraries/SdFat
     Not used: /Users/louis/Dropbox/Dev/Arduino/libraries/SdFat_-_Adafruit_Fork
    Using library SD at version 2.0.0 in folder: /Applications/Teensyduino_1_54_Beta_6.app/Contents/Java/hardware/teensy/avr/libraries/SD 
    Using library SdFat at version 2.0.5-beta.1 in folder: /Applications/Teensyduino_1_54_Beta_6.app/Contents/Java/hardware/teensy/avr/libraries/SdFat 
    Using library SPI at version 1.0 in folder: /Applications/Teensyduino_1_54_Beta_6.app/Contents/Java/hardware/teensy/avr/libraries/SPI 
    variable or field 'listDir' declared void
    Here's the full test sketch that works on ESP32 and doesn't compile for Teensy 3.6:

    Code:
    #include <FS.h>
    #include <SD.h>
    
    #define SD_CS BUILTIN_SDCARD
    //#define SD_CS 5
    
    void listDir(fs::FS &fs, const char * dirname, uint8_t levels){
      Serial.printf("Listing directory: %s\n", dirname);
    
      File root = fs.open(dirname);
      if(!root){
        Serial.println("Failed to open directory");
        return;
      }
      if(!root.isDirectory()){
        Serial.println("Not a directory");
        return;
      }
    
      File file = root.openNextFile();
      while(file){
        if(file.isDirectory()){
          Serial.print("  DIR : ");
          Serial.println(file.name());
          if(levels){
            listDir(fs, file.name(), levels -1);
          }
        } else {
          Serial.print("  FILE: ");
          Serial.print(file.name());
          Serial.print("  SIZE: ");
          Serial.println(file.size());
        }
        file = root.openNextFile();
      }
    }
    
    
    void setup() {
      Serial.begin(115200);
      delay(1000);
      
      if (SD_CS >= 0) {
        pinMode(SD_CS, OUTPUT);
      }
    
      // initialize the SD card at full speed
      if (!SD.begin(SD_CS)) {
        Serial.println("Card Mount Failed");
        while(1);
      }
    
      listDir(SD, "/", 0);
    }
    
    void loop() {
    }
    I specifically need this for improvements to the GifDecoder library

    Is there something missing from the SD to SdFat wrapper code that could be added to get this to compile?
    Last edited by embedded-creations; 02-10-2021 at 07:32 PM.

  12. #37
    Sure enough directly after posting this I found the issue... The ESP32 FS library uses a namespace for some reason. If I change
    Code:
    fs::FS &fs
    to
    Code:
    FS &fs
    it works fine. I don't know why they are using a namespace or if it's a good or bad thing. Based on my other experience with ESP32 libraries I'm guessing making their code compatible with existing Arduino libraries wasn't a priority.

    This line might be relevant: https://github.com/espressif/arduino.../src/FS.h#L117

    I think my issue is fixed and I'll just remove the namespace from GifDecoder. I'm leaving this here in case it's actually a good thing to add namespaces to the Teensyduino version of the FS library.

  13. #38
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,462
    @PaulStoffregen - Again wondering has anyone had any luck with Ubuntu 20.04 with USB Types that include SEREMU to have the Arduino Terminal Monitor?
    As I posted earlier in this thread. It did not work for me with the MTP disk one, and then tried with Keyboard and again Arduino monitor shows offline...

    Note: when I added the stuff for MTP with Serial, that works...

  14. #39
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    27,695
    Quote Originally Posted by KurtE View Post
    wondering has anyone had any luck with Ubuntu 20.04 with USB Types that include SEREMU to have the Arduino Terminal Monitor?
    I don't know. The only Ubuntu 20 issue on my radar is the problem you found with ARM64 on Raspberry Pi. Are there threads where people have reported problems on normal x86 Ubuntu 20?

    I'm still on Ubuntu 18 here, but considering updating to 20 soon. Maybe it's time....

  15. #40
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,462
    Quote Originally Posted by PaulStoffregen View Post
    I don't know. The only Ubuntu 20 issue on my radar is the problem you found with ARM64 on Raspberry Pi. Are there threads where people have reported problems on normal x86 Ubuntu 20?

    I'm still on Ubuntu 18 here, but considering updating to 20 soon. Maybe it's time....
    Maybe? First off you might try running a simple keyboard test (I commented out the outputs to keyboard ...) and see if it work there...

    Note: code I ran in #29

  16. #41
    Senior Member
    Join Date
    Apr 2014
    Location
    -
    Posts
    9,735
    Hm I thought I try the Teensy LC audio again.. something seems to be broken with the current code from Beta6.
    I'll look.... maybe my PR did not include all needed changes.

  17. #42
    Senior Member
    Join Date
    Apr 2014
    Location
    -
    Posts
    9,735
    Quote Originally Posted by Frank B View Post
    Hm I thought I try the Teensy LC audio again.. something seems to be broken with the current code from Beta6.
    Windows can restore old versions. I replaced the current core with an older one, from december... and LC Audio works again.
    Any Idea what has changed that can cause problems? With the current core I hear distorted audio.
    It is NOT the Audio Library.

    Edit: ok. I'll find that...
    Last edited by Frank B; 02-12-2021 at 04:46 PM.

  18. #43
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,462
    Quote Originally Posted by KurtE View Post
    Maybe? First off you might try running a simple keyboard test (I commented out the outputs to keyboard ...) and see if it work there...

    Note: code I ran in #29
    I thought I would mention I installed on MAC (the big whole version of Arduino installed...) and the keyboard test I mentioned, the SEREMU appears to work.
    I do get the apple system saying it wont install the keyboard until it knows what type of keyboard and I supposed to press the button to the right of ...
    But Teensy Monitor showed the pass numbers.

    Now Mac is doing an update...

  19. #44
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,462
    @Paul on the test I grabbed an old portable that had Ubuntu 14.04 and installed Ubunt 18.04 installed latest Arduino and this beta build and then tried plugging in the T4.1 with the keyboard app that I programmed on the Mac and it shows I believe same issues as the Ubuntu 20.04.
    aClick image for larger version. 

Name:	Screenshot from 2021-02-12 16-13-36.jpg 
Views:	91 
Size:	156.4 KB 
ID:	23674
    It is showing in arduino terminal monitor as offline

    Edit: I should mention I also did switch to T4.1 and reprogrammed the Teensy. It failed to reboot the Teensy, I had to hit the program button, which programmed it.

    It still showed the Teensy offline. I tried programming again and again I had to hit the program button

  20. #45
    Senior Member
    Join Date
    Apr 2014
    Location
    -
    Posts
    9,735
    Code:
    warning: #warning "Please include TimeLib.h, not Time.h.  Future versions will remove Time.h" [-Wcpp]

    Has existed for years.
    Isn't it time to finally do that....?

  21. #46
    Deleted User
    Guest
    Teensy 4.1
    USB Type "Serial + MIDI"
    It shows up in Linux as MTP device, which is obviously not fuctional. Is this by intention?

  22. #47
    Junior Member
    Join Date
    Feb 2021
    Posts
    12
    Hi all,

    I hope this is the right place to post this issue with the Entropy Library.

    The implementations of these two defined functions in the Entropy.h are missing in the Entropy.cpp file:
    Code:
    uint8_t randomByte(void);
    uint16_t randomWord(void);

    I added them in to my local files like this (in case anyone needs this):
    Code:
    uint8_t EntropyClass::randomByte(void)
    {
      return random8();
    }
    
    uint16_t EntropyClass::randomWord(void)
    {
      return random16();
    }
    Thanks

  23. #48
    Senior Member
    Join Date
    Feb 2018
    Location
    Corvallis, OR
    Posts
    434
    Tested B6 with Radiohead library and two NRF24LO1 modules with LNA and power amplifiers. Good comms between T4.0 and T4.1 at default power and SPI settings over about 30 feet inside the house. The Teensies and modules are on plugboards and powered by the T4X 3.3V power.

    I did the default RH_NRF24 instantiation and initialization:
    Code:
    #include <SPI.h>
    #include <RH_NRF24.h>
    
    const char compileTime [] = " Compiled on " __DATE__ " " __TIME__;
    // Singleton instance of the radio driver
    RH_NRF24 nrf24;
    // RH_NRF24 nrf24(8, 7); // use this to be electrically compatible with Mirf
    // RH_NRF24 nrf24(8, 10);// For Leonardo, need explicit SS pin
    // RH_NRF24 nrf24(8, 7); // For RFM73 on Anarduino Mini
    
    void setup() {
      Serial.begin(9600);
      delay(400);
       Serial.printf("NRF_24 Server %s\n", compileTime); 
      if (!nrf24.init())
        Serial.println("init failed");
      // Defaults after init are 2.402 GHz (channel 2), 2Mbps, 0dBm
      if (!nrf24.setChannel(1))
        Serial.println("setChannel failed");
      if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm))
        Serial.println("setRF failed");    
    }
    An important note: With this default initialization, the library expects the CE signal to be connected to Pin 8 on the Teensy. I think it is possible that some of the earlier posts noting difficulties with the NRF24 may have connected the CE signal to the wrong pin, or were mixing up the CE and SPI CS pins.


    A less important note: A lot of the the examples in the Radiohead library supplied with the TD install still have sketches with the .pde extension. That's so 2014!!!

  24. #49
    Senior Member
    Join Date
    Dec 2018
    Posts
    205
    Hi,

    Just to say thanks for this release.
    Band limited waveforms + clean Freeverb = big improvement for synths projects !
    Emmanuel

  25. #50
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    16,887
    @Paul:
    NOTE for SD update to SdFat : transferred Arduino/Teensy drive contents to new machine here
    > Build pulled in Adafruit_SDFAT library instead of the Teensy one, had to delete that ( used for their NRF family )

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •