PaulStoffregen's latest activity

  • PaulStoffregen
    Maybe this cable from Amazon could be used for testing? https://www.amazon.com/dp/B0DHRM7TJ4 It claims to have the CP2105 chip
  • PaulStoffregen
    Well, I spent some time trying to figure out why the security plugin is creating an annoying useless extra menu in Arduino IDE 2.3.x on Linux and Windows. Turn out it's a bug in Arduino IDE which might be related to a limitation in the Theia IDE...
  • PaulStoffregen
    Please do not create duplicate threads. Duplicates only dilute attention and annoy people who would want to help. Let's discuss on your other thread which specifically mentions IWR6843AOP.
  • PaulStoffregen
    First step is to edit USBHost_t36.h to turn on debug printing. Look for this near the top of that file, probably at line 62. // Uncomment this line to see lots of debugging info! //#define USBHOST_PRINT_DEBUG
  • PaulStoffregen
    Please do not create duplicate topics about your IWR6843AOP device. IWR6843AOP is not related to MIDI. Let's use your main thread to discuss IWR6843AOP with USBHost_t36.
  • PaulStoffregen
    I curious if this Zetta ZDSD04G part is really the same as XTX Tech XTSD04G? We had a report of problems with XTSD01G a couple years ago. The fix should be in version 1.59. Their 2 datasheets look nearly identical, even the same words in the...
  • PaulStoffregen
    Please give 1.60-beta a try, if you're not already using it. I'll admit it's a long shot, but trying is so simple. Just put the beta URL into Arduino IDE preferences, then use Boards Manager to switch from 1.59 (or whatever version you have) to...
  • PaulStoffregen
    If I run "git log", the latest commit it prints is: commit c11e8bb2c6819f40d9739c833baf24f3bf646387 (HEAD -> master, origin/master, origin/HEAD) Author: Shawn Silverman <email redacted> Date: Thu Feb 12 20:56:14 2026 -0800 w5500: Remove...
  • PaulStoffregen
    My "direct" network is actually 2 ethernet switches. My Linux desktop (running iperf) plugs into a QNAP QSW-IM1200-8C switch which then connects with a short SFP+ cable to a UniFi USW-48 switch which has the Wiznet W5500 plugged in (or whatever...
  • PaulStoffregen
    With a Wiznet W5500 and src/qnethernet_opts.h edited to uncomment #define QNETHERNET_DRIVER_W5500 iperf -c 192.168.195.236 -i 1 ------------------------------------------------------------ Client connecting to 192.168.195.236, TCP port 5001 TCP...
  • PaulStoffregen
    Sure. With the native ethernet port on Teensy 4.1: iperf -c 192.168.195.236 -i 1 ------------------------------------------------------------ Client connecting to 192.168.195.236, TCP port 5001 TCP window size: 16.0 KByte (default)...
  • PaulStoffregen
    By first glance at your schematic, looks like you have the same 3 diode circuit. But I hope you can understand how difficult it is for me or anyone else to help check this style of schematic. Almost all your connections are with net names which...
    • 1770940887662.png
  • PaulStoffregen
    Looks like he's using the Ground Loop Isolator. If they're still out of stock, this one from Amazon should work fine.
  • PaulStoffregen
    The most common strategy for PCB routing is to dedicate some layers for horizontal and other layers for vertical traces. Usually long diagonal lines are avoided until almost everything is routed with only vertical and horizontal lines, because a...
  • PaulStoffregen
    To capture continuously, you have a couple options. You can use 2 DMA channels, where each causes the other to begin when it completes. You would create 2 similar interrupt functions which collect the captured data just the recently completed...
  • PaulStoffregen
    Are you using the W5500 interrupt or only polling?
  • PaulStoffregen
    Here is one more test, with old 1.56.2 Teensy software and w5100.h edited to 48 MHz SPI. Result is 40.98 Mbit/sec, which is 85% of the SPI clock speed.
    • 1770666828922.png
  • PaulStoffregen
    I tried it with Arduino IDE 2.3.7 and Teensy software 1.56.2 and w5100.h edited to 30 MHz. Ran iperf on Linux desktop machine. Test communicates on a LAN through 2 ethernet switches. Result is 26.44 Mbit/sec. I don't know why you're seeing a...
    • 1770666120108.png
  • PaulStoffregen
    I'm also using 1.60 beta6. Version 1.56 is very old, and uses the old gcc 5.4 toolchain.
  • PaulStoffregen
    They're using 50 MHz SPI clock. If you edit w5100.h for 50 MHz, you'll see similar performance with Teensy's Ethernet.h library. EDIT: Teensy will actually use 48 MHz clock because the default config creates the SPI clock by dividing 240 MHz by...
  • PaulStoffregen
    Ran it just now. Confirm slow speed here. Probably not worth a lot of effort since the normal Ethernet.h library is well optimized. @istrateandrei26 - Please let us know what speed you get with the Ethernet.h iperf code (msg #25)? iperf -i 1...
  • PaulStoffregen
    Sure, I still have W5500 on my desk. But where do I find the QNEthernet/W5500/IPerfServer example?
  • PaulStoffregen
    PaulStoffregen reacted to shawn's post in the thread Teensy 4.1 - W5500 using SPI DMA with Sad Sad.
    I'd like to report absolutely dismal performance with QNEthernet/W5500/IPerfServer example (note: the driver uses MACRAW mode): I'm seeing about 350 Kibps. That's at 30MHz SPI. At 14MHz, < 200 Kibps. I tried with both interrupts enabled (not the...
  • PaulStoffregen
    This benchmark can run slightly faster if client.connected() is called only when no data is available to read. Code below. Results with default 14 MHz SPI: Teensy 4.1: 12.02 Mbit/sec Teensy 3.6: 11.33 Mbit/sec Teensy 3.2: 10.79 Mbit/sec Teensy...
  • PaulStoffregen
    I get 11.96 Mbit/sec Ethernet.h default 14 MHz SPI. I get 26.26 Mbit/sec after editing libraries/Ethernet/src/utility/w5100.h for 30 MHz SPI. These tests were done from my Linux desktop communicating on my LAN which uses 2 ethernet switches. I...
  • PaulStoffregen
    I looked briefly at the Nucleo-F412 benchmark code. Looks like they're just receiving all incoming data without any parsing of iperf's info. So I tried to create a similar very simple benchmark. I also added a Mbit/sec bandwidth print every...
  • PaulStoffregen
    Thanks! I'm not so familiar with those finer points of C++. This really helps. I added just a couple lines to print the IP number, and then I ran it here with a Teensy 4.1 and W5500. Something isn't working quite right, but it seems like...
  • PaulStoffregen
    I started trying to port IPerfServer to regular Ethernet for Wiznet. Currently stuck on a struct as typedef issue after working around a number of QNEthernet features not in regular Ethernet. Here's where it's at so far. Maybe someone better...
  • PaulStoffregen
    I see you have a very nice IPerfServer example in QNEthernet. I'm wondering whether it can be ported to regular Ethernet library?
  • PaulStoffregen
    I tried a quick test on a Teensy 4.1 with this simple program: const int pin = 32; void setup() { pinMode(pin, INPUT_PULLUP); attachInterrupt(pin, mycount, CHANGE); } volatile unsigned int count = 0; void mycount() { count = count + 1...
    • 1770391176966.png
  • PaulStoffregen
    No, DMA is not used. I am curious where you found the suggestion that DMA would give a 2X to 3X performance improvement? Is it specific to Wiznet over SPI? Is it based on an actual implementation with measured performance on specific Wiznet...
  • PaulStoffregen
    Have you tried the regular Ethernet.h library? From the tone of your messages so far, I'm guessing you may have immediately discounted it without trying, under the assumption Arduino Ethernet.h couldn't possibly be as good as the code Wiznet...
  • PaulStoffregen
    @PaulStoffregen Thanks for the update. Going to be interesting going forward to see what happens. Would like to see boards like adafruit uses for their feather wing. But that is another story - what boards to build vs ROI is always...
  • PaulStoffregen
    I should have commented about this earlier. Probably no surprise that I'm going to leave the currently customized SdFat as-is for 1.60. Changing something that could have unintended consequences so soon before a release seems too risky...
  • PaulStoffregen
    I should be careful about talking too much of private meetings. But everyone here does deserve an update. If this seems a bit awkward, please understand I'm trying to balance community openness with private business discussions. Supply chain...
  • PaulStoffregen
    Have you tried different cables? We've heard plenty of times where a shoddy cable works with regular Arduino boards at 12 Mbit but caused problems talking at 480 speed with a regular PC.
  • PaulStoffregen
    Confirm, D- & D+ for USB device route only to the USB connector on Teensy 4.0. That board is so small and packs so many features into other bottom side pads. We simply did not have room to add extra pads for device D- & D+.
  • PaulStoffregen
    All, You may be aware of my FlickerFree library that lets you print text to a TFT LCD and avoids annoying text flickering upon updates. Hot off the press is an updated version that now supports drawing text with RIGHT justification for both...
  • PaulStoffregen
    Don't forget a 100 ohm resistor on SCK. Of all the signals where you would want that resistor, SCK is probably the most important.
  • PaulStoffregen
    A couple issues have come up with other projects involving several displays connected to SPI. These may or may not be a problem for you. Some displays don't properly turn off their MISO pin output driver when their CS pin is high. You can test...
  • PaulStoffregen
    I just ordered fresh PCBs from OSH Park, both the PJRC version and something very similar to SparkFun's version. I got only 3 pieces of each.
  • PaulStoffregen
    If I were to build up a couple alternate adapters with different capacitors, would you be able to give them a try in these problematic applications?
  • PaulStoffregen
    Do you have a Teensy 4.0 or 4.1 and an audio shield? Have you run any audio library examples yet? This 31 page tutorial is the best starting point, if you're at the very beginning.
  • PaulStoffregen
    In Arduino IDE (with Teensy selected), click File > Examples > SD > SdFat_Usage for an example of how to select the other SPI ports. See the comments in that example for explanation.
  • PaulStoffregen
    The USB connector on Teensy 4.0 and 4.1 is Micro-B. Using USB spec conforming cables, it's only usable in device mode. Or course with a non-conforming cable, anything goes... Teensy 3.2 had a Micro-AB connector, which could mate either a...
  • PaulStoffregen
    With all the discussion around overclocking and CoreMark recently, I have set up a long-term test operating the Teensy 4.1 at the maximum 1.008GHz clock. It is running CoreMark in an infinite loop which should be fairly stressful, though it...
  • PaulStoffregen
    Yes, and with GCC 14.2.1 and C++20. Via PlatformIO.
  • PaulStoffregen
    Has anyone used this beta on MacOS yet?
  • PaulStoffregen
    PaulStoffregen replied to the thread Controlling LEDs at 8kHz.
    Nope. SK6812 internally uses about 1.1 to 1.2 kHz PWM. Yes, separate power for LEDs works fine with common ground. Unless you have a long wire between Teensy and the LEDs, you probably don't need any resistors at all. These LEDs use...
  • PaulStoffregen
    That's what we already implement.
Back
Top