PaulStoffregen's latest activity

  • PaulStoffregen
    PaulStoffregen replied to the thread connect pdm microphone.
    Is the S pad connected? From the SPH0641LM4H-1 datasheet (figure 1 on page 5), looks like it should be connected to GND so the data is valid for clock rising edge.
  • PaulStoffregen
    PaulStoffregen replied to the thread Large DMA transfers.
    You can usually achieve pretty much the same thing with this size and memory alignment requirement by using ordinary mode with the registers to adjust the destination upon the last transfer, or by replacing the whole TCD when complete. Maybe the...
  • PaulStoffregen
    Does your program have a "while (!Serial)" in setup()?
  • PaulStoffregen
    PaulStoffregen replied to the thread Large DMA transfers.
    Maybe this can help? https://forum.pjrc.com/index.php?threads/t4-memory-to-memory-using-dma.69845/ Also check the API and comments in DMAChannel.h. https://github.com/PaulStoffregen/cores/blob/master/teensy4/DMAChannel.h
  • PaulStoffregen
    I will reach out to SparkFun.
  • PaulStoffregen
    Most of the LPUART peripherals inside the chip can have their RX & TX signals routed to different pins. Even if those pins are among the many that aren't routed on the PCB, properly configuring the hardware involves setting up the input select...
  • PaulStoffregen
    Sicco's DMA_UART code works a treat! Thanks!!
  • PaulStoffregen
    Thanks. I've added both of these to the list at the end of the hardware serial page. If anyone knows of more alternate or specialized serial library code, please tell me and I'll add them to this list. Hopefully long-term having a complete...
  • PaulStoffregen
    Maybe this can help? https://forum.pjrc.com/index.php?threads/dma-serial-library-for-teensy-3-6-and-teensy-4-0.73974/ I recall there was another DMA serial library, but I've lost the link for it. Can anyone remind me of it? I want to update...
  • PaulStoffregen
    It's just newlib, whatever version was part of ARM's 11.3.rel1 release. That's the "easy" answer. At the time we did the toolchain update I created these notes with the specific build commands used for the versions ARM didn't supply as compiled...
  • PaulStoffregen
    Yet another suggestion... or really a question, is regarding the use of pointers for StepPin and DirPin. Why do this? Consider you're telling the compiler to go to the extra work of reading the pin number from somewhere else. At least from the...
  • PaulStoffregen
    One more suggestion, try using const char *name instead of Arduino's String class to know the name of each motor.
  • PaulStoffregen
    Here's a few things to try: 1: Move the variable from assignments inside the code to C++ initialization list syntax. For example, change this: Motor::Motor(String n, const byte *s, const byte *d, byte sw, byte m0){ // constructor name...
  • PaulStoffregen
    PaulStoffregen replied to the thread Teensy 4.1 500 ma Fuse.
    PTC fuses limit current by increasing their resistance. They don't stop the current from flowing like a traditional fuse. Instead the current stabilizes at some high but hopefully not too destructively high amount. How high the steady current...
  • PaulStoffregen
    Smallest code uses a linker option for the "nano" version of the C library. Not sure if that makes any difference, but it might...
  • PaulStoffregen
    Usually I do try to reproduce a problem when complete code is shown. If you're still stuck, please consider reducing the program to something I and others can try running to reproduce the problem without needing special hardware. Here's an...
  • PaulStoffregen
    I copied your code into Arduino IDE. It compiles without error. But I have no idea what steps I should perform to reproduce the problem. I'm guessing I need some sort of USB MIDI instrument? Are 6 of that special CV hardware also needed...
  • PaulStoffregen
    I tried running your program by putting into loop() and adding my best guess for the setup() function. Indeed there is a strange long delay is you disable interrupts. Both Serial and delay() need interrupts to function properly. With...
  • PaulStoffregen
    PaulStoffregen replied to the thread Teensy LC units available.
    I've added an update with a link to this thread on the Teensy LC product page. Hopefully it will help people who want to find Teensy LC to contact you.
  • PaulStoffregen
    PaulStoffregen replied to the thread 4 Blinks and nothing else.
    Sad to say, the hardware is almost certainly damaged beyond repair. More than 6 volts for input power or more than 4 volts anywhere else is known to damage the hardware.
  • PaulStoffregen
    PaulStoffregen replied to the thread Help I2S!.
    This is the sort of question best answered by software searching. Many good programs exist, but they mostly fall into 2 broad categories. Modern IDEs can create search indexes of all the code you're using, which means you can highlight a...
  • PaulStoffregen
    PaulStoffregen replied to the thread 4 Blinks and nothing else.
    Yikes, 9 volts! Did you have a 5V regulator between the 9V and Teensy?
  • PaulStoffregen
    PaulStoffregen replied to the thread Help I2S!.
    AudioStream.h in the core library. Look at line 58.
  • PaulStoffregen
    Years ago I looked at slow responses for misbehaving bots. Maybe there is some way to do it, but it's tricky to accomplish without tying up resources on our side while the connection remains open. For an idea of the scale, yesterday's log file...
  • PaulStoffregen
    PaulStoffregen replied to the thread Help I2S!.
    At least you can look at the audio library source code for a known-good example! Just to be realistic, even if you showed the complete program, I really can't spend a lot of time to track down where it's going wrong, when we have the officially...
  • PaulStoffregen
    PaulStoffregen replied to the thread Help I2S!.
    Which hardware do you have connected to listen to the I2S data? Have you tried simply running the normal audio library examples? Even if you want to write all the code from scratch, simply running the known-good examples could let you verify...
  • PaulStoffregen
    The bots are still at it, fetching about 10-15 URLs per second from a vast pool of IP numbers. I'm configured the server to reply with 403 error for 22 large netblocks which are more than half the requests so far. A quick 403 response means PHP...
  • PaulStoffregen
    This is quite a lot of code, but it doesn't look like a complete program. I don't see a setup() or loop() function. Sorry, I really don't have time to review large code that I can't run on actual hardware. If the issue is as simple as...
  • PaulStoffregen
    Usually pinMode() should be enough if the pins were configured as FlexIO. There are some unusual cases. Libraries like OctoWS2811 which use DMA to the GPIO registers switch pins from fast-but-no-DMA GPIO5-9 to slow-DMA-friendly GPIO1-4...
  • PaulStoffregen
    Looking at the apache log files, the access patterns look similar to the problems we had back in October 2024. Whoever is doing this commands an impressive army of servers with thousands of different IP numbers. IPdb says finds locations all...
  • PaulStoffregen
    Look at Print.cpp at line #85. extern "C" { __attribute__((weak)) int _write(int file, char *ptr, int len) { if (file >= 0 && file <= 2) file = (int)&Serial; return ((class Print *)file)->write((uint8_t *)ptr, len); } }
  • PaulStoffregen
    The compiler can recognize Serial.print("") actually does nothing, so it effectively deletes the function call and doesn't put any code into your program. Remember, we put ~10 years of work into heavily optimizing Teensy 3.x for speed and...
  • PaulStoffregen
    Indeed it's not quite right. It's also (probably) not ever going to be fixed, since all new development is on Teensy 4.x. I'm not 100% certain why this happens (and also unlikely time will be invested to really dig into the reason why), but I...
  • PaulStoffregen
    FlexPWM has bitmask register which allow you to apply changes to more than 1 channel at the same moment. I glanced only briefly at your code, but I immediately noticed these functions where you're setting only a single bit within those bitmap...
  • PaulStoffregen
    The I2C hardware has a glitch filter. Maybe we're configuring it wrong in slave mode? Will investigate soon. Realistically, at the rate things are going I probably can't do much until late tonight or tomorrow. But it's clear we do have a...
  • PaulStoffregen
    PaulStoffregen replied to the thread Short Circuit Problem.
    That is pretty close to zero. If you didn't know what went wrong, and especially if the problem had appeared right after soldering pins or doing some other mechanical work where stray metal may have been placed on the circuit board, I would have...
  • PaulStoffregen
    PaulStoffregen replied to the thread Short Circuit Problem.
    That part is the voltage regulator. It gets burning hot when another part of the board is shorted (from 3.3V to GND), because the rest of the board is trying to consume nearly limitless current and the regulator tries to work as hard as it can...
  • PaulStoffregen
    I tried adding 1K resistors in series with BCLK and LRCLK... on a (admittedly pretty weak) hunch this may be a signal quality problem. It doesn't solve the problem, but does seem to make it behave differently. I'm out of time for right now, but...
    • 1747920278398.png
  • PaulStoffregen
    I added wires for BCLK and LRCLK, and indeed strange problems appear. So far I have no idea why... just sharing the info and confirming I can see a problem as I start to investigate.
    • 1747917982595.png
    • 1747918013915.png
    • 1747918078593.png
  • PaulStoffregen
    I'm trying to investigate. So far I have only the I2C wires connected between a Teensy 4.0 and Teensy 4.1 running the 2 programs from msg #1. I'm seeing all the bytes printed in the Arduino Serial Monitor. My scope sees both bytes too...
    • 1747916528785.png
    • 1747916618059.png
    • 1747916649323.png
  • PaulStoffregen
    PaulStoffregen replied to the thread Teensyduino 1.60 Beta #4.
    Well, at least this confirms they do have different serial numbers. Windows is supposed to assign a unique COM port number when the serial number differs. Why it didn't do as it was supposed to, I have no idea. Maybe a bug? Since you're...
  • PaulStoffregen
    Server maintenance has been completed and we're back up. Forum was offline for a few hours this morning during the move.
  • PaulStoffregen
    PaulStoffregen replied to the thread Teensyduino 1.60 Beta #4.
    In Device Manager, can you look at the "Parent" value for both ports in the Details tab?
    • capture.png
  • PaulStoffregen
    If you buy the version without detents so it turns smoothly, you'll see the software really is working as it should and you'll get 60 or 80 counts (depending on which resolution you buy) per 360 degree turn. 4 counts per pulse is the correct...
    • 1747626469193.png
  • PaulStoffregen
    It's a well know hardware feature, or "issue" depending on your point of view. The hardware has "click" detents on every full cycle of the quadrature waveform. Since they're quadrature (quad = four) you get 4 changes counted, because the...
  • PaulStoffregen
    Please understand we're blind guessing here. We can only see what you've shown us, which so far is almost nothing. I tried to answer your question whether we've seen this before. But keep in mind I really can't see almost anything right now...
  • PaulStoffregen
    To explain just a bit further, the unable to sync on 100% bandwidth problem has every byte corrupted at the receiver, but they all do arrive at the correct pace. It only happens if the transmitter is already in the middle sending when the...
  • PaulStoffregen
    Agreed, this is really a job for an oscilloscope. Ideally for the sake of testing you would short the 2 grounds together and connect to the scope's ground. Then you could watch the signal Teensy sends and the copy of it the other chip receives...
  • PaulStoffregen
    Usually download errors are due to poor quality USB cables or other physical connectivity or power problems. Before you pour a lot of time into the software side, check the most common things. On the software side, the 2 places you might...
  • PaulStoffregen
    Maybe info from this breakout board can help? https://www.pjrc.com/breakout-board-for-teensy-4-0/ Scroll down to "Parts List"...
Back
Top