PaulStoffregen

Latest activity Postings About

    • PaulStoffregen
      PaulStoffregen replied to the thread MTP file size limits..
      Perhaps you missed the code in MTPStorage::loop() ? It does indeed call FS::mediaPresent(), on line 1899. You can easily confirm by adding a Serial.print() within that function.
    • PaulStoffregen
      PaulStoffregen replied to the thread MTP file size limits..
      Please try with this program. #include <SD.h> #include <USBHost_t36.h> #include <MTP_Teensy.h> //#define CS_PIN 10 #define CS_PIN BUILTIN_SDCARD USBHost myusb; USBHub myhub(myusb); USBDrive mydrive(myusb); USBFilesystem mydisk(myusb); void...
    • PaulStoffregen
      PaulStoffregen replied to the thread MTP file size limits..
      Added the missing mediaPresent() function to USBFilesystem. https://github.com/PaulStoffregen/USBHost_t36/commit/ca33e97660f3918277432015d4af615cf5c59065
    • PaulStoffregen
      PaulStoffregen replied to the thread MTP file size limits..
      Here's a commit for (hopefully) better handling of removable media. So far only tested with SD cards, but should support any type of removable media which implements FS.mediaPresent()...
    • PaulStoffregen
      PaulStoffregen replied to the thread MTP file size limits..
      Working on improvements to removal media...
    • PaulStoffregen
      PaulStoffregen replied to the thread MTP file size limits..
      @KurtE - Could I talk you into creating another branch from the large_files branch? I'll use it to do the stuff I was planning before the chip shortages hit. I normally use only the simple git command and github website, so syncing back to your...
    • PaulStoffregen
      I'll ask Robin if she can look up the exact part number we purchased.
    • PaulStoffregen
      PaulStoffregen replied to the thread MTP file size limits..
      Successfully copied a 6GB file from a SD card (FAT64 format) to my Linux desktop. Didn't time it, but took several minutes. SHA256 and full file compare confirms every byte correctly received. FWIW, turns out this 64GB Sandisk card was...
    • PaulStoffregen
      PaulStoffregen replied to the thread MTP file size limits..
      Definitely not ready for 1.60 in its current state. I'm diving into the code now to really look at what's needed. Support for larger than 4GB files is not a huge concern (at least for 1.60...) I'm also not really worried about MSC slow speed...
    • PaulStoffregen
      PaulStoffregen replied to the thread MTP file size limits..
      Both Windows 11 Media Player and whatever unnamed media player Ubuntu 24.04 Gnome Files defaults to using cause GetPartialObject to be requested.
    • PaulStoffregen
      PaulStoffregen replied to the thread MTP file size limits..
      Can GetObjectPartial support 64 bits? I don't see it mentioned in Appendix H and I don't understand how the host could request the offset or size as 64 bits. Maybe I missed something?
    • PaulStoffregen
      PaulStoffregen replied to the thread MTP file size limits..
      Sent a pull request to fix size handling in GetObjectPartial. This may not be the only issue. I still hear weird artifacts in Windows Media Player. Playing on Linux is also not 100%, but it at least works for a while now.
    • PaulStoffregen
      Yes, the IMXRT fuse memory absolutely is permanent. Setting a fuse bit physically alters the chip in an irreversible way. NXP doesn't give details of how it's implemented, but the on-chip technology is likely amorphous silicon anti-fuse. The...
    • PaulStoffregen
      PaulStoffregen replied to the thread MTP file size limits..
      Tested the latest with Windows 11. Copying a WAV file works well. But playing it in Media Player has dropouts. Protocol analyzer shows 1 large GetObject transfer for the file copy, but when Media Player is used Windows sends several GetObject...
    • PaulStoffregen
      PaulStoffregen replied to the thread Software detail.
      The audio library can run many concurrent filters processing 44100 Hz sample rate. Processing in data in blocks (as the audio library does) rather than 1 sample at a time makes a huge difference.
    • PaulStoffregen
      This question might be better asked on PlatformIO's issue tracker. They'll probably need you to share the large code that gives the error. It's just a couple .c files which don't depend on any special libraries, just a C compiler and the usual...
    • PaulStoffregen
      PaulStoffregen replied to the thread Software detail.
      Here's a few tips... First, 38000 Hz is slightly beyond 12 bit PWM resolution. This is documented on the PWM page. It's also easy math. The FlexPWM timers clock at 150 MHz. 150 MHz / 4096 = 36621.09 Hz. Your use of analogWrite(4, 1); only...
      • 1730391207198.png
    • PaulStoffregen
      PaulStoffregen replied to the thread MTP file size limits..
      Trying the latest code. From Linux, seems I can't write even a small file, using either main or large_files branch. :( Will dig into the details soon...
    • PaulStoffregen
      PaulStoffregen replied to the thread MQS vs pin interrupts.
      Looked very briefly at your code. There's a lot going on within that rotate() function. It does many String operations, and calls a display() function which calls other stuff that looks like it might take quite some time. If you're happy with...
    • PaulStoffregen
      PaulStoffregen replied to the thread MQS vs pin interrupts.
      Looked at that library briefly. I only see attachInterrupt within this example, not the actual library code. So many things are wrong with that example! 1: attachInterrupt() uses hard-coded interrupt numbers for Arduino Uno. Should use...
    • PaulStoffregen
      MotionCal is a PC-based application I wrote several years ago, around the time of Teensy 3.5 + 3.6 release. It uses OpenGL to visualize the shape of the distribution of calibration points which are supposed to look like a sphere if the data is...
    • PaulStoffregen
      No blink at all on the red LED after holding the pushbutton for 13+ seconds is a bad sign. Sad to say, odds are strong the hardware got damaged. Next step in troubleshooting is to look at the power supply voltages. First is the simplest, just...
    • PaulStoffregen
      Source code for teensy_size: https://github.com/PaulStoffregen/teensy_size
    • PaulStoffregen
      shiftOut() transmits a byte (8 bits). Documentation here: https://www.arduino.cc/reference/tr/language/functions/advanced-io/shiftout/ For 12 bits, just write your own loop using digitalWriteFast() and delayNanoseconds() or delayMicroseconds().
    • PaulStoffregen
      Try having Teensy send the message to different software. Try "simple" programs like Notepad or a command prompt window. This problem may turn out to be a simple matter that some programs are just too slow to receive characters this quickly.
    • PaulStoffregen
      As a first step, can you at least collect a screenshot of the Ports menu before you try to upload, and a screenshot of the error which appears? I want to help, but we're flying completely blind without the ability to see the errors you're...
    • PaulStoffregen
      Remember we can't see your screen. Figuring out the root cause of technical problems can be challenging even with complete info, but in this case we can't even see the errors you're saying you saw. I can't even tell if you're using MacOS...
    • PaulStoffregen
      PaulStoffregen reacted to KurtE's post in the thread MTP file size limits. with Like Like.
      I thought I would mention, that I have started hacking on the MTP code to hopefully handle 64 bits. Not there yet, but making some progress. WIP branch - https://github.com/KurtE/MTP_Teensy/tree/large_files For the fun of it, doing the code on...
    • PaulStoffregen
      PaulStoffregen replied to the thread Teensy 4.1 USB connection.
      I've just re-read this thread and I'm still struggling to understand the question here. This seems to be the main one, right? Likely explanation would be some sort of problem with the PCB design or construction of your home built AT43301-bsaed...
    • PaulStoffregen
      Could I talk you into sharing that fading sine wave test program?
    • PaulStoffregen
      Try editing output_pt8211.h at line 40. Does changing the oversampling algorithm or just disabling oversampling have any effect? Arduino IDE installs the libraries in a hidden folder, so you may need to do something special to find the...
    • PaulStoffregen
      Ah, yes, this is the older Teensy 3.2 PCB where the D+ pad connects that that via to the USB connector pad, and then does underneath those 2 capacitors to reach the 33 ohm resistor. Newer Teensy 3.2 had a different layout. Not relevant here...
    • PaulStoffregen
      D+ routes to R2, which the bottom of these 2 resistors. This is documented on the schematic and component locations on the Teensy 3.2 product page. (scroll down to near the end of the page)
      • 1729967039284.png
    • PaulStoffregen
      Some of the chip is used for your program and a small part is reserved for EEPROM and the restore program (15 sec button press), so you can't use the entire chip.
    • PaulStoffregen
      Use LittleFS_Program, not LittleFS_QSPIFlash.
    • PaulStoffregen
      That connection looks like it ought to work. But the photo is blurry, and shot from the Teensy top side so we can't see how the wires are actually soldered. If you can share a better photo, and if it's a "simple" problem with the connection...
    • PaulStoffregen
      PaulStoffregen replied to the thread Teensy 4.1 USB connection.
      Maybe it's related to 12 vs 480 Mbit speed? Did you find usb.c and try editing to force use of only 12 Mbit speed?
    • PaulStoffregen
      PaulStoffregen replied to the thread Teensy 4.1 USB connection.
      Yet another issue you might be facing is inrush current during hot plugging. Mentioning this because I see only a 22uF capacitor on your schematic. USB spec says to use at least 150uF. Make a point to test with keeping everything plugged...
    • PaulStoffregen
      PaulStoffregen replied to the thread Teensy 4.1 USB connection.
      While not a good solution, try the easiest thing first... reprogram Teensy while Tools > CPU Speed is set very slow, like 150 or even 24 MHz. It will use less power. Slightly more difficult would be editing usb.c to force 12 Mbit/sec mode...
    • PaulStoffregen
      PaulStoffregen replied to the thread Software detail.
      These are the links, right? https://epsilonrt.github.io/eFlexPwm/ https://forum.pjrc.com/index.php?threads/72458 (added these to the reference manual as annotation on page 3091)
    • PaulStoffregen
      PaulStoffregen reacted to joepasquariello's post in the thread Software detail with Like Like.
      Paul mentions FlexPWM, so I'll add that it can be configured to interrupt on each PWM period, and the duty cycle can be updated, with the new value applying on the next period. If you search the forum or github for eFlexPWM, you will find a...
    • PaulStoffregen
      PaulStoffregen replied to the thread Software detail.
      One of the many things I've dreamed of making (in my dream world of infinite daily programming hours and zero mundane business stuff) is a DMA-based pulse output library. And also one for capturing pulses. We get these questions pretty...
    • PaulStoffregen
      PaulStoffregen replied to the thread Blew up 2 Teensy LCs.
      Teensy LC was discontinued. Can't do much. But I want to help. Best I can offer is if your order a new Teensy 4.0 or Teensy 4.1, I can offer you a 2nd unit for free. Hopefully that'll offset the loss of those those 2 Teensy LCs while also...
    • PaulStoffregen
      PaulStoffregen replied to the thread Software detail.
      Good. Will wait for the code before trying to make sense of that scope screenshot. But in the meantime, to try answering these latest question. As with all microcontrollers, you have 3 basic ways to do this sort of thing. 1: bitbanging with...
    • PaulStoffregen
      PaulStoffregen replied to the thread Software detail.
      As a quick check on the time taken to modulate PWM, I wrote this tiny program which alters the duty cycle every 0.1ms. void setup() { pinMode(1, OUTPUT); analogWriteFrequency(2, 38000); } void loop() { digitalToggleFast(1)...
      • file.png
    • PaulStoffregen
      PaulStoffregen replied to the thread Software detail.
      Would like to help you, but without seeing your code or knowing specifically what you're actually doing and how you're observing the result as taking several milliseconds, can't do much. Please show us your code, or if it's a huge or secret...
    • PaulStoffregen
      This is normal. By default Teensy uses HID protocol, not Serial. You will not see a COM port on Windows (or /dev/ttyACM on Liniux or /dev/cu.usbmodem on MacOS) when Teensy is running with its default HID communication. It only becomes USB...
    • PaulStoffregen
      Ah, now your questions make a lot more sense! I really don't know anything about the fast IrDA modes. I added these words to the PulsePosition web page "PulsePosition is unrelated to IrDA FIR 4Mbit/sec communication. It only usesthe relatively...
    • PaulStoffregen
      Maybe just a bit of explanation might help? Of course you can find much info online about PPM. But the general idea of a group of signals are transmitted by sending tiny pulses, where the values of the signals are the time between each pulse...
    • PaulStoffregen
      Yes, of course they do. That's fundamentally how PPM (pulse position modulation) signals work.
  • Loading…
  • Loading…
Back
Top