The magjacks used with the Ethernet module have a 1000pf capacitor as well as a 75 ohm resistor in series between the cable ground and the Teensy ground. This includes both the Cetus J1B1211 and the Link-PP JPJ4012AHNL. Paul's example schematic...
Update: I just added a driver_restart_auto_negotiation() function to the drivers (the Teensy 4.1 driver is the only one that does something), and I'm now calling this on link-down in the project (not in the driver). This is in the hopes that I...
@KenHahn Do you know the reason why reseating the Ethernet cable won't cause auto-negotiation but reseating the ribbon cable will? I'm going through the DP83825i docs but nothing's jumping out at me.
@KenHahn - Thanks for these notes. Maybe my driver needs to be more aware of a need for link renegotiation. Maybe this can, at least partially, be mitigated in software.
@PaulStoffregen - If you have the parts, may I request 3 or 4 of them? (Or...
I'll add some more info about the hardware: Teensy 4.1, Ethernet Kit (PJRC version), double-high pins into an OctoWS2811, likely unshielded Ethernet cable for both the LED outputs and the network connection.
It’s happening on many devices. I’m going to check my link-related driver code and investigate the schematics.
Is it possible that EMF can be a cause of something like this, say with power supplies that are known to have bad radiating noise...
I’m looking for some thoughts because I’m stuck on how to even debug this. I can’t reproduce it, but a customer sees this from time to time.
So I have a project where everything runs fine over a network. It’s a lighting controller that receives...
Do you mean in theory? I was unaware that female micro-USB plugs could act as a host, let alone the Teensy port acting like a host. Would you mind clarifying?
It's mostly a pointless warning for Arduino-like projects though since they typically don't use prebuilt libraries. I posted about this a while ago and Paul changed the necessary build flags to get rid of it in the first 1.6.x beta.
I think that warning is okay. It means that libraries compiled with earlier versions of GCC may not work with the current compilation.
I Googled this: vector.tcc parameter passing changed gcc 7.1
The AI summary seems decent.
Additionally, while the specific context matters, I believe phases "version of Teensy" or "variant of Teensy" for products not from PJRC are extremely problematic.
I've added some branches for the latest Teensyduino 1.60-beta6.
Mac example:
platform_packages =
framework-arduinoteensy@https://github.com/ssilverman/teensy_betas.git#teensy_1.60-beta6/framework-arduinoteensy...
Adafruit were perfectly happy to sell Teensy with the closed-source bootloader to this point. I don't understand why they don't switch to buying the bootloader chip from Paul and make their own clones to undercut Sparkfun? It would be a quicker...
I forgot to add an example for ${flags}. Fixed:
# Change the following to suit your needs
flags=-DQNETHERNET_ENABLE_PING_SEND=1
board=teensy:avr:teensy41
path=examples/LinkWatcher
all_flags="$(arduino-cli compile -b ${board} ${path}...
Trying to understand this - the third party would want a reseller discount so they can make a profit, and then Adafruit would also want a reseller discount so they can make a profit. I struggle to see how Adafruit would then be able to remain...
I think this is a reasonable response, and I have enough respect for Paul to want to offer another voice of support.
The original post... doesn't exactly make this Adafruit representative look very good. Frankly I don't think they need another...
Indeed most other forums would have locked this thread. I'm not sure we've made the right decision, but for better or worse we're letting this play out as long as it stays mostly civil.
Even more difficult (for me) has been resisting the urge...
Has anyone designed a 3D print that can contain a Teensy 4.1, OctoWS2811, and the new Ethernet kit? I’m looking for an easy solution for an LED control box.
There's no over-voltage protection. If the project is important, I'd use new parts that haven't been abused.
If the old hardware still seems to work, maybe save it for a less important project. Or if you've used it for a long enough without...
Sorry for taking so long to get back. I have a 121GW multimeter from EEVBlog. It's an awesome meter and a little pricey.
For the specific task you are looking at this video does a good job of explaining the issues. The 121GW does the same...
The stock audio library, using the PJRC Audio Adapter, has an in to out latency of about 6.4ms. I know this from measuring it myself. Obviously you’d need to reduce the audio block size to get to your desired latency, as you say, but 32 samples...
@bicycleguy what sort of equipment do you have, the 5 measurements/second one? (Brand, model, etc.) Basically, I’m curious what “good equipment” I should get.
I don’t need much timing info, only average power consumption over some length of time, given a program that does lots of network activity. I suppose there are two types of programs:
1. Some real world program that does lots of networking and...
Well I got it working... but the results aren't great. Here's the reason why:
This is the timing for the flash memory's suspend command. tSUS is defined as a "maximum" (meaning it has to be implemented as a minimum delay) of 20 microseconds...
Actually... something strange is going on. I have a flexspi_setup() function that gets called first thing from setup() that unlocks the LUT, sets the required entries then locks it again. When the Teensy has been freshly programmed, this function...
OK, the code above compiled and linked to Teensy 4.1 and loaded to the board, in the Arduino IDE.
As I expected!
With regard to posting all the code, I hoped that I was just being a wee bit Pascal and that the answer was immediately apparent to...
Indeed! I just couldn’t remember offhand which version of C++ that was introduced in. For sure it’s in the compiler included with Teensyduino (C++17), but I was trying to be “generic”. Let me look that up, actually…
Update: from a cursory...
In the spirit of using more modern C++ features instead of #defines, here’s another alternative:
ModbusRTUClientClass& MB = ModbusRTUClient;
// This is the same thing (spacing difference): ModbusRTUClientClass &MB = ModbusRTUClient;
Or the more...
Note that some coding standards require all reference parameters to be const. The same coding standards use pointers if you want to change the calling variable. I don’t always agree with this, but you might find this in the wild.
Example: void...
I have a QNEthernet library branch that implements IEEE 802.3az, Energy-Efficient Ethernet (EEE). Would anyone who has appropriate power measurement equipment be willing to compare the power consumption of your real-world Ethernet apps using this...
Yes, but don't expect the battery to last more than a couple of months. It's ok for keeping the clock over short power outages but for long term preservation a dedicated RTC is still better.
See this new thread for a how-to using the command line:
https://forum.pjrc.com/index.php?threads/how-to-add-extra-build-options-using-arduino-cli.77536/
Guessing the lack of response is due to you already having a solution to your immediate problem, and a feeling that “if you have to ask, you probably don’t have the knowledge to do” a change to the official Audio library source.
The usual way...
As long as the non-prefetch or restricted prefetch keeps up with DMA, for my project I am fine with it.
I do various tricks with DMA and SPI buffers to allow the cycles tolerate any bursts/stalls on the PSRAM anyway.
This is kind of why a few...
I was struggling with how to set extra build options with arduino-cli and Teensy builds. Teensyduino, unless you add it yourself, doesn't support the Arduino-standard compiler.cpp.extra_flags, compiler.c.extra_flags, and the like. (See...
I think you’re probably right, but it’s clearly causing issues when used with pre-emptive multitasking.
The specific issue I had was with yield calls deep inside the SdFat library interacting with my EventResponder response functions … which...
Perhaps it’s influenced by cooperative multitasking thinking? From that perspective, what do you think is wrong with yield() in long-running functions?
Just want to confirm I am indeed still actively working on this issue. This is no simple easy fix. It's a really tough problem.
To explain a bit further, it's actually at least 3 problems.
1: Code which handles regular events isn't checking...