Everything you've described sounds like Teensy 4.0 is working perfectly, but you're programming a HEX file onto it which does nothing.
On this page, you can download known-good HEX files. Click the "LED Blink, Both...
Definitely use 1.49-beta1 from msg #43.
Unless any Mac-specific problems turn up or Arduino makes a non-beta release, all remaining work planned for 1.49 is for the code running on Teensy. The Macintosh stuff will...
Sure does look like a bug in Windows, maybe even a buffer overflow, judging by the sudden appearance of stuff about PCI bus devices in what looks like 16 bit wchar format that Windows uses internally. That data sure...
Thanks Theremingenieur, hpyle, grahamguitarman, jwx49 for testing. It's a huge help.
If I could ask you one more question... do you use the touch bar? I don't own any Macbooks new enough to have the touch bar, so I...
The urgent question right now is whether the USB code on the Teensy side is working properly. With the recent tests on issue #401, and many tests I did before this week's MacOS Catalina work, and with every indication...
One other variable to consider is your Mac's power source. Apple's CDC driver uses a *lot* of CPU time (for reasons unknown, Windows & Linux drivers don't do this) when receiving data at high speed. Sustained high...
Red LED blinking (slowly) means something is wrong with the USB cable or port. It only does the slow blink when you're in bootloader mode, but your PC hasn't performed any USB communication, not even enumeration to...
Simply including those other libs will not make Adafruit_NeoMatrix play nice. Adafruit designed their library to block interrupts.
To make this work smoothly, you need to completely remove all use of...
Windows CMD is slow, much slower than the Arduino Serial Monitor.
Usually when I run this, it will show an impossibly high lines/sec speed, like 600000 to 750000. But just by watching which digit of the count number...
While working on the teensy_serialmon.exe that's in 1.49-beta1, I did quite a bit of testing running it from a CMD window. It expects a single input on the command line, which is the port name shown in the lower right...
Why would you want this? What's the practical purpose, that's worth risking having too many cooks in the kitchen?
If you want a big block of 100K for a buffer, it's so very simple to just create an array as a global...
Technically, the linker only creates symbols used by startup.c. Compiling & linking your program results in a HEX file with data that goes only into the flash memory. All configuration of how the RAM gets used is done...
Yes, the documented memory layout is based on the defaults you get from startup.c and imxrt1062.ld.
But to some extent, it's also based on what the hardware provides. No matter what you do in software, the hardware...
Don't update to Catalina. But DO run the 1.49-beta1 for Catalina on your Mac running Mojave. Also run the normal 1.49-beta1, where you install it into a copy of Arduino 1.8.10.
Those 2 are pretty much identical,...
Have you tried with 1.49-beta1? Either the normal way or this build for Catalina? (which should work on Mojave)
The USB device code has some very substantial improvements in 1.49-beta1. The raw USB speed is...
You might try running teensy_serialmon in Terminal, without Arduino. To do this, first make a note of the USB number shown in the lower right corner of the Arduino window.
Then open Terminal and navigate to the...
I've added a link to the AltSoftSerial readme file.
https://github.com/PaulStoffregen/AltSoftSerial/commit/c9faaee57a0dce1509cb5a0f48aebd83f215983a
Hopefully that will help people find this if they need low baud...
These libs won't be shown in Arduino's "Manage Libraries", because they're written directly into the Teensy platform folder.
You also won't see them in the File > Examples menu when any non-Teensy is selected in...
Here is the first completely 100% signed and hardened runtime test. This copy is Apple notarized, so you should see only the "downloaded from internet" warning, but no warnings that Apple hasn't checked it for malware...
Why are you again asking for the process to read something on the host, when you have clearly said you're running software you don't control on the host?
Yes. In fact, I probably will have to do that. This build without dark mode probably can not pass all the notarization requirements which go into effect in January 2020.
But while I'm still struggling to figure out...
I've managed to make a signed copy of Arduino+Teensyduino.
EDIT: link removed. Please use the newer code on msg #43.
This is using Apple's hardened runtime, with 5 entitlements Java 8 needs. So this is more than...
Yes, that's right. When a program lacks the extra signature from Apple proving it's been through their notarization check, MacOS tries to connect to servers at Apple to look up the software. I guess most people these...
To get started, install Arduino & Teensyduino, if you haven't already.
Then in Arduino first select Teensy 3.5 in Tools > Boards. This is important, because the other menus update depending on which board is...
Wow, after a ton of jumping through Apple's hoops, including $99 paid, I believe I may have finally got Teensy Loader notarized.
Please download this copy and tell me if Catalina on your Mac is able to run it?
...
Just a quick update, to let you know I'm working on proper MacOS Catalina support, including Apple notarization. I hope to have a beta test for you to try later this week. Please keep following this thread.
Until...
Right now I'm working on support for MacOS Catalina. If there problems with the new USB serial, really hoping for test cases.
Will look at the USB stuff and merging things in a couple days, and then publish another...
Also in the new code is optimized Serial.readBytes().
void setup() {
Serial.setTimeout(0);
}
void loop() {
char buf;
unsigned int n = Serial.available();
Yes, I also saw some of this while testing. Even though we're running at 600 MHz, when the host has a large amount of data all buffered as a single transfer (all done by hardware), the 480 Mbit speed is pretty...
This message is trying to tell you something...
Arduino is using a copy you installed in Documents\Arduino\Pipe\libraries (which is probably an old version from before Teensy 4.0 existed), and it's ignoring the...
Usually you can get away with omitting the current limit chip and big capacitor if...
1: Your USB device uses only a moderate amount of power, relative to whatever is powering Teensy. Mainly this can be an issue if...
Thanks for testing. But it is still very much a work in progress. I can tell you it will fail if you transmit a single large write of more than 1024 bytes, followed by 2 small writes. That's the problem I'm working...
No, it will be called Teensy 4.{something}.
Just like Teensy 3.2 -> 3.6, even through it's a large step up in clock speed and comes with many new peripherals, it's still the same processor family with (mostly)...
Ok, I'm considering this problem solved (and no longer following this thread). Will probably close issue #401 on github soon.
As of today, the USB serial receive code is still far from optimal. I'm now focusing my...
The latest code on github is now using 512 byte packets. I did test with a 511 character (plus newline) string and I did watch with my USB protocol analyzer to check it was all in 1 packet, both receiving and sending,...
That would break a huge amount of code which depends on Serial to work properly without losing incoming data while the sketch/program is busy doing other work!
In a matter of days I'm confident we'll have a...
PJRC is planning to make a 1062-based board in the Teensy 3.6 form factor. Time frame is "early 2020". Please discuss 1062-in-T36-form-factor on this thread:
...
Looking at this one now. If anyone remembers back to the lengthy T4 beta test, for a long time we had only USB serial transmit. I wrote pretty simple receive code (so it would be reliable and stable), with the...
I've committed a fix on github. I was able to reproduce the problem with the latest code using a 512 byte string.
https://github.com/PaulStoffregen/cores/commit/24e0248267da3fc4c1db88eb863a707265d9c192
...
Sorry about the very long delay on this urgent problem.
What I've learned so far is this problem which seems to be a USB receiving bug is actually happening on the transmit side. Teensy is receiving the 64 bytes...
I have an older Macbook Air, 11 inch mid-2012, model "MacBookAir5,1". It has MacOS 10.12.2. The software is Arduino 1.8.9 and Teensyduino 1.47.
I uploaded the LED blink example a couple dozen times using that old...
Pretty much all semiconductor companies specify "A weighted" signal to noise ratio. So an ADC with 96 dB SNR will have lots of random changes in its 16th bit, and even a good amount in the 15th bit, and of course...
Double check these 2 lines?
You're using either pin 2 (bit 4 in GPIO9) or pin 5 (bit 8 in GPIO9), but this manipulates bit 3.
Maybe you meant this?
GPIO9_GDIR &= ~(1<<8);
Could you be more specific? You've only told us it does not work, but no real info about what actually goes wrong?
Perhaps your PC's bios doesn't recognize see Teensy as any sort of keyboard? That sort of problem...
TRST is not required.
Virtually all JTAG debuggers will pulse TRST low, and then also drive 5 clocks on TCK with TMS high to reset the TAP controller. Odds are very slim you'll find any debugger which uses only TRST...
The ARM Cortex-M7 debug features are exactly the same with JTAG as they are with SWD. Lack of support for SWD doesn't mean you can't connect a debugger. It merely means your debugger needs to speak JTAG protocol and...
Microsoft fixed that long wait in Windows 10.
It isn't anything happening in Teensy. The long wait is simply a bug (or "feature") in older versions of Windows.
In case anyone finds this question later by search, I2C clock stretching is supported on all Teensy 3.x and 4.0 boards.
But there is a timeout which limits the maximum clock stretch, so a hung or crashed I2C device...
Changing the sample rate will break some parts of the library, especially playing WAV files which are 44100 Hz sample rate. Many other parts will automatically work.
Changing the data type to int32_t will break...
Without understanding the cause, I can't advise how to avoid this. But I can tell you a little about how things work. Maybe that can lead to discovering why this happens?
In the Tools > Ports menu, you should see 2...
Earlier in msg #20 I asked you whether the host software is directly accessing hardware registers or using an API like WIN32.
Now you're saying the host software is accessing UART registers. But perhaps this is not...
Why don't you do the work to answer this, as I outlined in msg #24.
Since this PC software and its communication protocol is proprietary and confidential, nobody here can directly answer your question. The best we...
On Teensy 4.0, the same 4 magic bytes are expected in the HID feature request. Here's the code from the usb.c used on Teensy 4.0.
#ifdef SEREMU_INTERFACE
if (setup.word1 == 0x03000921 && setup.word2 ==...
No, not impossible.
I'm saying the correct way is to identify the serial device (called COM port on Windows), open it, and set the baud rate to 134.
Or if Teensy is running in a non-serial mode, find the HID...
Perhaps you could modify usb_dev.c to blink a LED or increment a global variable each time it receives the set line coding control transfer. Then you could try running the host software with Teensy and observe whether...
I have considered adding this sort of feature. It may happen. But I can tell you 2 things with certainty.
1: This won't happen within the next 6 months. So much needs to be done with Teensy 4.0 libs and special...
I recall looking at the RoboClaw code years ago. I believe back then it was using SoftwareSerial, which does indeed block while transmitting.
If you give me a direct link to the code, I could take another quick look.
Nope, that's a wrong assumption on your part. CDC ACM protocol is indeed implemented by the core library, which you can edit. On Teensy 3.2, the main files are usb_serial.c and usb_dev.c.
How does this PC software...
Quad I2S has not yet been ported to Teensy 4.0, so today only stereo is possible.
Eventually quad I2S and even more I2S options will someday be written for Teensy 4.0. Early 2020 is a likely time frame. Right now...
Any ideas how we could make it more noticeable?
On Teensy 4.0 we added a red LED, mainly motivated by the need to show a distinctive blink with these charge-only cables.
The USBHost_t36 library is used for that 2nd USB host port. It does support using USB hubs, so you can indeed plug many other Teensy boards into the hubs and read them all from the Teensy 3.6.
However, you might...
This line from your own code will create an array.
int16_t buf = {0}; // buffer
However, this array will be created as a local variable. That's probably not what you want, because the variable will cease to exist...
There are some counterfeits on the market, mostly through Aliexpress. The counterfeits do become bricked if you upload certain types of programs. For example, if you set the CPU speed to 24 MHz and upload any program,...
It all depends on your temperature profile and how you handle the boards.
When Teensy 4.0 is manufactured, the back side parts are placed first and reflowed. Then the top side parts are placed and reflowed. During...
Usually "not much" happens, especially if both sides are powered up. Perhaps a slight increase in power consumption can be seen sometimes. But if your PC turns off, or if both of your power supplies have very unusual...
You might also try looking at File > Examples > Audio > Analysis > DialTone_Serial. It detects the 7 standard DTMF tones using the simpler AudioAnalyzeToneDetect object.
That's some pretty incredible ringing on that waveforms, almost look like your scope's probes may be defective. Or maybe you're using ordinary wires rather than proper scope probes? Or maybe an extra (and long) wire...
This is often call "9 bit protocol". If you search you'll find it has been discussed many times before. Teensy does support it, but not by default. You will need to edit this line in the core lib.
...
Confirmed, this is correct, the parity bits are only used with actual hardware serial ports. Software emulation of those port (eg, the SoftwareSerial and AltSoftSerial libs) do not support parity, but theoretically...
I2S support on Teensy is part of the Teensy Audio Library. If you've installed Teensyduino and you have Teensy selected in Tools > Boards, you can find all its examples in File > Examples > Audio.
This 31 page...
You should be careful what you wish for. When you use the word "correct" about semantics of programming languages..... ;)
Any chance I can talk you into posting the link to that specific Arduino documentation page?...
Yes, PaulN82 is correct. If you want to ask Teensy to reboot, you should talk to it directly and set the baud rate to 134. That is, if it's programmed to be a serial port. If it's programmed with any of the...
PJRC will sell a boot loader chip for 4.0, but probably not until at least mid-2020, maybe later.
Teensy 4.0's bootloader as it exists today does not work with a fresh IMXRT1062 chip, so we can't simply sell you...
There is some tolerance, about 10%. The chip can tolerate up to 3.6V. So 3.4 should be ok. But if your 3.4 has some tolerance too, make sure the worst cases still under 3.6.
Yes, use larger capacitors. TI's suggestion is not enough to support reliable hot plugging in this case.
The output should be 100 to 220 uF. USB spec says 120 uF minimum. Aluminum electrolytic, tantalum or ceramic...
The current limit chip is meant to be used together with a large (100 uF or more) capacitor. Together they serve these functions.
1: If the USB device or cable has a failure, the current is limited.
2: When you...