Here’s another approach: use Teensy 4.1’s wired Ethernet (may I suggest the QNEthernet library) and then plug that into a little wireless bridge configured for your network. You’ll need to get and assemble an Ethernet...
You probably already saw this, but here’s a link directly to my last PR comment (I don’t want it to get lost in the shuffle since it fixes my original LTO “fix”), to make your life easier:...
I fixed it via the discussion in this report: https://github.com/ssilverman/TeensyDMX/issues/20
In summary, some of the state management was only doing bit changes and not completely setting the CTRL register. This...
Thanks for that. I appreciate the guidance.
This might be somewhat slow-going because it’s one of those “I’ll dive into it more deeply when I have more bandwidth” things.
Edit: Also, thank you for those plots...
Update: I used a scope to verify that the DMX part of the program is actually still running. DMX is continuously being transmitted (via serial interrupts), but control somehow doesn't return to setup() nor loop(). Also,...
I've been doing some experiments with trying to figure out how to trigger the bug. (There's going to be some repetition here, but I figured I'd document what I'm doing.) Some details I'm learning:
1. The bug occurs...
I made an experimental PR that should fix the warning: https://github.com/PaulStoffregen/cores/pull/680
Could you see if it fixes the warnings for you?
This thread has more information:
https://forum.pjrc.com/threads/25549-What-is-the-difference-between-the-74HCT245-and-sparkfun-s-logic-level-converter
In summary, the bidirectional shifters are slower. Use the...
Here's a version that uses the `data()` function of the UDP socket. It obviates the need for reading into a buffer.
Other changes:
1. Using the gateway address as the DNS address in the Ethernet.begin() call,
2....
What happens when you try the QNLinkStatus example here?
https://forum.pjrc.com/threads/71143-Teensy-4-1-NativeEthernet-Link-Status?p=318696&viewfull=1#post318696
For future readers, here's a basic "QNLinkStatus" example that uses the QNEthernet library. Note that it will run without putting anything in loop().
#include <QNEthernet.h>
using namespace qindesign::network;
...
I took the liberty of writing an alternative Teensy program in a more QNEthernet style. Here it is, for illustration.
// This is a redo of the code at:
//...
That’s true, but some work would need to be done to enable the Socket API. QNEthernet disables this and uses the raw API by default. See this comment and its thread:...
I made a PR to make _gettimeofday() weak: https://github.com/PaulStoffregen/cores/pull/671
This is for the same reason that _write() is weak: an application may wish to override the behaviour.
Here’s how to implement regular printf on the Teensy:
https://forum.pjrc.com/threads/71420-Undefined-reference-to-_write?p=315291&viewfull=1#post315291
(Note that if you’re using QNEthernet, the library includes...
Just curious why the final product wouldn’t have Serial output? I can think of a few reasons, but I’ve made a few products with logging to the Serial port, and that logging has saved the day in more than a few cases.
This pull request adds EHEX support to the Teensy builder in PlatformIO: https://github.com/platformio/platform-teensy/pull/98
It's not perfect yet, but you can add support to your own setup by duplicating the...
Here's one way to monitor link status using QNEthernet. You could poll, but this shows a listener approach. Internally, QNEthernet polls about 8 times a second.
#include <QNEthernet.h>
using namespace...
The folks who make PlatformIO do a great job of incorporating new Teensyduino releases in a not unreasonable timeframe. However, the Teensyduino beta releases aren't usually added. This post serves as a guide to add a...
Don’t use that function. It’s only there because the Arduino Ethernet API has it, and that API was designed for different hardware with slightly different functionality. Check out the QNEthernet library (accessible via...
QNEthernet supports zero-length UDP packets. The NativeEthernet library and likely most Arduino-style Ethernet libraries don’t support them. (Note: Arduino’s text description of EthernetUDP.parsePacket() is technically...
The 12V LEDs usually have 5V control signals. I’ve used them with an OctoWS2811 myself. As for max. LED limits, the main restriction, really, is the frame rate. Because each pixel takes a fixed amount of time to...
The keywords.txt file is for the Arduino IDE’s syntax colouring. It’s not meant as documentation. I’ve tried to make the README as complete as possible, but perhaps it deserves a section on possible electrical or “bad...
Curious, which parts do you agree with, and which do you disagree with? Or are you merely saying that having the parity bit in the returned data is expected? If it’s expected, why doesn’t 8O1 or 8E1 return a 9-bit...
@KurtE: First, thanks for engaging and reading the PR. However, I don't agree with your points. Let me elaborate:
Point 1 — 9-bit and 10-bit support:
My PR does still support 9 and 10 bits. First, for teensy3, the...
Just so it’s clear, there is unexpected behaviour for 7E1 and 7O1 modes: the user needs to do a `&0x7f`step after reading a byte or bytes because the system puts the parity bit in the top bit. Respectfully, @KurtE’s...
There’s also the option of putting a web server on a Teensy 4.1 and serving up a page with a form. The submitted settings can then be stored locally in flash/SD card/RAM/EEPROM/etc.