The API should practically be the same. I made QNEthernet follow the Arduino-style Ethernet API. Can you show an example of some compile errors? Sounds like, however, you’ll be switching to UDP…
Check out the BroadcastChat example.
My experience and my equipment are the only things I have to go on here.
Number of Teensies I've used: 3
Number of Teensies I've had USB connectivity problems with: 3
Number of A -> MicroB cables I've tried with these boards: 6 (at least, if not...
I just want to be instructed as to how to get work done with my Teensies. That's it, and that's all. If the answer were "re-solder the micro-b connector" that would be fine -- I tried that; it didn't help. If the answer is 'buy this one, specific...
If you put inline in front of the variables then you can leave them in the header:
inline TransmitPacketType transmitPacket;
inline ReceivePacketType receivePacket;
The Teensy should be able to auto-detect the connection. Some questions:
1. What happens in summary point #1 if the PC is set to 100Mbps? This will indicate whether “over robot wiring” is doing something to the signal.
2. What does “over robot...
See the new SimpleHTTPClient example (via GitHub) for a client example, and one of the server examples for a server example. Note that the examples may be a little more complex than you need, but they still illustrate some good points.
I’d actually suggest a bunch of changes, but I think you could get it working minimally by replacing those three includes (SPI, Ethernet, EthernetUdp) with <QNEthernet.h>. And then install the QNEthernet library.
I’m glad you figured it out. I rely on things like what I put in post #5 to get the actual sizes of objects. The teensy_size output only gives you a rough idea.
Back in 2014 I started a thread about my Burning Man project and claimed that I'd post pictures of the project, but never ever did, and now the thread is closed for reasons.
But anyway, Teensy and OctoWS2811 have been serving us well for 10...
I’m not sure what it is that “routers do”. I’m not aware of things other than arp and maybe IGMP things. If you could find that out, maybe I can help.
Try version 0.29.1 and see if it makes a difference.
Post #21 describes how the main system calls your setup() and loop(). It’s a description of what’s happening under the hood; it’s not what you need to do, nor might it be exactly the same as what’s actually there. The gist is that your setup() is...
See this post: #21
You don’t need to call yield() at the end of loop().
Can you define these terms: invisible in the network, isn’t visible on the clientlist.
For example, what does it mean for a connected device to be “visible”?
Do you mean a...
Some more ideas I’m thinking about:
6. A set of functions that do the things that are very repetitive when starting, and creating, an Ethernet-based app. (I have many thoughts about this for better Arduino app development too.) (Remember...
Sure, I can include an HTTP client. I’ll probably do it a little differently, though.
Other changes I’m planning:
1. Decouple the driver initialization from setting the MAC
2. Add a small capabilities API for determining what the driver supports...
I just released v0.29.1. Here's the Changelog:
## [0.29.1]
### Fixed
* Fixed being able to process more than one incoming frame in a row in
the driver.
Highlights:
* Fixed a throughput problem.
Link...
I think this discussion might be better moved to a QNEthernet library issue on the GitHub repo. (Or a different thread here. Reason being findability, one-thing-per-discussion, etc.)
In fact, just to be sure the library isn’t there after removing it, try to compile your program and observe that it doesn’t compile, for each uninstall of the library.
@bicycleguy I'm still having trouble duplicating the issue. I have a request: Can you provide a small program that demonstrates the problem with UDP? (#224)
On the subject of receiving the "Host:" header, the close request might not be complete...
I've uploaded an annotated copy of the NXP Reference Manual. It's linked from the Teensy 4.0 and Teensy 4.1 pages under Technical Information (where the plain old manual was). Here's a direct link to the PDF...
Thanks for that clue. At first glance, the “Host:” line should be there because HTTP 1.1 clients are supposed to send that. I’m just surprised that “Host:” line isn’t there for the 0.28.0 version. I wasn’t looking closely at the serial output...
The underlying link appears to be broken. Here’s the correct link:
https://forum.arduino.cc/t/teensyduino-error-library-arduino15-packages-teensy-hardware-avr-tools-arm-bin-arm-none-eabi-g-no-such-file-or-directory/1160214/2
I changed to 24MHz for the same curl tests I did above, and v0.29.0 is a hair faster than v0.28.0. I'm seeing approx. 40-something milliseconds on v0.28.0 and 30-something milliseconds on v0.29.0.
I also just ran the test suite (pio test -v -e teensy41-test -f test_ethernet). The results:
1. 0.29.0: 40.905s, 27.365s, 26.836s
2. 0.28.0: 41.173s, 27.210s, 27.721s
I'm seeing that 0.29.0 is just a smidgen faster from this and from timing the...
I did some rudimentary testing:
1. Copied the code into the Arduino IDE (2.3.2) and made no modifications
2. Installed QNEthernet 0.28.0
3. Ran this a bunch of times: time curl http://192.168.1.10 (replace with your Teensy address)
4. Saw times...
I just released v0.29.0. Here's the Changelog:
## [0.29.0]
### Added
* Added protected access to the internal `std::FILE*` stream in the
`StdioPrint` utility class.
* Added more unit tests:
* test_ethernet:
* test_server_zero_port...
@defragster there’s already an SNTP example:
https://github.com/ssilverman/QNEthernet/blob/master/examples/SNTPClient/SNTPClient.ino
(I’m open to improvement suggestions.)
Are you saying you wrote two drivers, one for FNET and one for QNEthernet? Or are you saying you’re trying to get FNET working with QNEthernet? QNEthernet uses lwIP under the covers for its TCP/IP stack, not FNET, which is a different stack.
Sorry to harp on this, but is your code really formatted like that, with no indentation? The reason I ask is because it’s a little hard to read this way.
I wouldn’t use multiple .ino files in your project; that sounds strange to me. Have one .ino file for your “main code” and then the rest headers and C++ or C sources.
C and C++ are completely different programming languages. The snippet shown uses C++ syntax, and does not compile as C, not even as C23.
I stand by my claim of using the C++11 and later syntax for specifying the underlying type for the enum...
Hi, I would like to announce a new project.
The goal could be described as "open science", or at least the part that is about being able to make physical measurements and build experiments when you are not necessarily at an elite institute or...