I couldn’t promise a timeline, but if you send me some hardware I could poke around with modifying QNEthernet. I think only lwip_t41.c would need to be modified.
Sounds like you’re specifying a static IP and not getting one through DHCP. If waitForLocalIP() returns false then no address was assigned via DHCP. (Using the Ethernet.begin() form.) I don’t think there’s an accessible...
DMX512 uses a differential pair (RS-485) and is not compatible with the Teensy serial ports (i.e. UART-style signalling). You need a transceiver. Something like this: https://www.sparkfun.com/products/10124
Note that...
I just tested this on a Teensy 4.0 and it seems to work as expected. Is it possible something isn't connected correctly?
I tested your code and I tested with adding a `delay(10)` after the `Serial.println(1)`.
...
Well, then. I stand corrected on the DHCP server. :)
I always thought most modern Ethernet jacks don’t need crossover cables anymore. Is that not the case here?
I did not know that about soldering iron tip...
If you’re using the Ethernet.begin() form then it will try DHCP. I have a feeling that your computer isn’t running a DHCP server, so by the time the 10-second wait time is over, there’s still no IP address. In your code...
QNEthernet doesn’t block or wait on any of the begin() functions, even if there’s no cable plugged in. There are a few options for waiting for an address from DHCP. See the examples for more information. Also, you don’t...
Another fun fact: Changing the toolchain from version 1.50401.190816 (5.4.1) to version 1.90301.200702 (9.3.1) (using PlatformIO and a small test program) saves about 40k of RAM1 and about 45k of flash.
I added this...
Try setting LWIP_DNS_SUPPORT_MDNS_QUERIES to 1 in lwipopts.h (line 148). I think I'll add this to the next release.
Side point: the "(const char *)" casts aren't needed.
Some links about structs:
* https://stackoverflow.com/questions/5397447/struct-padding-in-c
* http://www.catb.org/esr/structure-packing/
The internal structure of structs is not standardized and I wouldn’t rely on...
I just released v0.14.0 of the library. The changes:
##
### Added
* Added a `util::StdioPrint` class, a `Print` decorator for stdio output files.
It routes `Print` functions to a specific `FILE*`. This...
Here's my quickie test programs. I've never seen it fail on the receiving Teensy. I always see "size=1" printed.
Question: Once you see the packet size change to zero, does it ever go back to being non-zero?
Teensy:...
One major thing I noticed about the code is that you're printing strings without a guaranteed NUL terminator. `Udp.write("1")` only sends one byte. Then, when it's received into `data2` on the other Teensy, not only is...
You’re saying that parsePacket() never returns non-zero when you send packets? Could you provide a simple example program that you know exhibits the problem?
When using QNEthernet: What are you seeing for the return value of endPacket()? Also beginPacket() and write()? For write(), does the return value match the number of bytes sent?