Hello, forum members!
Literally just did an article on homemade rotor balancing machines and came across this thread on the forum, so I decided to register.
I would like to share some thoughts on the use of different types of sensors in...
It's likely you need to call flush() after writing to a TCP connection. The default behaviour is to buffer any outgoing TCP data until the buffer is full or the internal TCP timer expires (I think it's at 250ms).
See...
I think it was an attempt to make the library behave the same as a remembered past version, for compatibility with existing past code.
A post with some history: https://forum.pjrc.com/index.php?threads/compiler-error.73841/post-333932
An...
This is something I have been working on for a bit over a year now just wanted to show it off . . . cause u know . . . is fun.
BitByte is a development console designed to make it easier to learn how to program and a...
True to the title of the thread, I was wiring up the two new eyes I bought (see the previous post, #151). Now of course these new eyes have a different wiring layout than the previous eyes. So to test them out, I added jumper wires to the...
You don’t by any chance have the compiled hex file from the previous build, do you?
One good habit to get into is, when releasing any sort of software, save the compiled hex and elf files, etc. (i.e. all the artifacts.)
I don’t personally have experience with that library, but I recently made the QNEthernet library work with the W5500 if you’d like to try it out. You don’t even need to set a MAC address; it uses the Teensy’s internal one.
Simply do these steps...
I’m trying to figure out the apparent contradiction (maybe it’s the way I’m reading it) in the last two paragraphs. What happens with pins 24 & 25 with lockable/locked, lockable/not locked, and not lockable, after and before running that code?
Ethernet.begin() tries to get an IP address via DHCP. Since it doesn’t look like you have a DHCP server on your network, the locally-assigned 169.* address is assigned after some timeout. I’ll suggest using a static IP instead with...
I have updated the code security page with a "Pin 25 Issue" section and this code. Hopefully it can help everyone in the future who needs to update secure firmware and use pin 25 for input that might be low during boot...
pins #24 and #25 are fully functional when not programming. But if Button pressed or doing an upload they do get some level of 3.3V so they can't be used for a device that would turn on or activate uncontrolled in that case. And at this time if p...
Should new designs that intend to use a lockable Teensy avoid use of pins 24 & 25?
@defragster how did you think to check these pins in post #4? Are they mentioned somewhere in a different thread?
To be clear: show() doesn’t wait for the whole frame to finish. It simply ensures the DMA stuff has what it needs. It will pause, however, until the previous frame has finished, if it’s called before the frame is done. You can check this with a...
In WS2811-and-Octo-land, the strip is likely to operate at 800kHz, 1.25us per bit. There are 24 bits per pixel and maybe 300us between frames. This means that for N pixels in the longest strip, each frame is about N*24*1.25 + 300 microseconds...
I’m not sure if it helps, but the QNEthernet library can do raw Ethernet frames. I’m also making a small update so that the library can be built without any IP support (IPv4, etc., and any protocols built on top), should you not want those...
I also wrote a W5500 driver, that works with the QNEthernet library, so you can see what I do there: https://github.com/ssilverman/QNEthernet/tree/master/src/drivers
I see this problem too with large HEX files when I have some script or something that waits for upload-complete. I think the problem for me is that the Teensy Loader program indicates that it’s finished before it’s actually finished.
See here for how to install Mbed TLS: https://github.com/ssilverman/QNEthernet/blob/3715188da72431325a6a61273e652520e75bd0b6/README.md#how-to-enable-mbed-tls
Check out the MbedTLSDemo example. I was able to connect to external HTTPS servers with it. It’s a little bit more involved to set up with certificates and specific functions and things, but I’d say the demo is workable as a starting point.
Next level (or lower?) tip: In IDE 1 or 2 [command may be different in other IDE] do:
Ctrl + T : 'Auto Format'
Copy & Pasting code after that assures some uniform formatting and indenting.
This Ctrl+T is also handy when unclear/Random Build...
I chuckled when I saw this. :)
One of the things that wrapping it in the code tag helps is the formatting. Lines can have indents too. Unless… did all your code between the braces line up with the first column?
Pro tip: you can format your code by wrapping your code in “CODE” tags or by pressing the “</>” button in the editor. That will make the code in your questions easier to read.
It’s timing out (-1). See: https://www.arduino.cc/reference/en/libraries/ethernet/client.connect/
Are you sure the IP, netmask, and gateway are correct for your network? The values I put in the example may not be the values you need. But maybe...
The technique will be the same whether you use std::function or the new lightweight function type. It’s because there’s a need to “impedance match” C functions to C++ function objects.
See what @luni does here...
I've made a simpler example for you:
#include <QNEthernet.h>
using namespace qindesign::network;
// Note: This example uses stdout for serial output, but you can use
// Serial if you like instead.
// Change these to what you need:
const...
It looks like it’s not getting an IP address; that 169.* address is self-assigned. Do you need to use a static IP?
The delays you’re seeing are from the pause before it realizes it hasn’t gotten an address from DHCP. The way that example is...
I just released v0.27.0. Here's the Changelog:
## [0.27.0]
### Added
* New `QNETHERNET_FLUSH_AFTER_WRITE` configuration macro for flushing after
every call to `EthernetClient::write()`. This may reduce TCP efficiency.
* Added a W5500 driver...
Here's a basic HTTP client example that works:
#include <QNEthernet.h>
using namespace qindesign::network;
// Tracks if the network is up.
bool networkReady = false;
// Note: This example uses stdout for serial output, but you can use
//...
My understanding is this: when you press a button attached to a Teeny, the Teensy makes an HTTP request to a server running elsewhere. In other words, the Teensy is an HTTP client. Is my understanding correct? How does the Teensy know when to...
Hello all
I have been tinkering around with a DIN rail mounted 4.1 system and it is actually coming out quite well!
The main CPU module has the 4.1 in it with a 36 way bus that runs the length of all the slave modules.
It incorporates a...
First check out the ServerWithListeners example in the library. That’s the beginnings of one way to write a server that can track multiple clients. (There are other ways too.) I’m happy to chat with you off-list, too, if you send me a message.
It’s compatible with the Arduino-style Ethernet API with a bunch of extra stuff. See the included README (in the library directory or here: https://github.com/ssilverman/QNEthernet)
Unfortunately, there’s no great non-commercial web server library that I could find. I use the basic Arduino-style API provided by QNEthernet for my servers.