Yes, this.
The other ones with a dedicated struct typedef has (mostly) been done that way.
Eventually we'll probably get rid of all the old offset stuff. I did that before the beta test because it was much faster...
I'm not quite sure either....
Yes, please do.
But do not delete the already defined full register names. Convert them to the new struct. I believe there's at least one pull request still pending which I...
FWIW, we are currently using these 5 hardened runtime entitlements on the JRE and top-level bundle, because they're required for Java 8:
com.apple.security.cs.allow-jit...
All the info I've found so far is sandbox is meant for programs distributed by Apple's app store and hardened runtime is intended for programs distributed outside the Apple app store.
My (perhaps bad) attitude is to...
Yes, I did the HID ones and I'm working on MIDI now. I did a few quick tests on keyboard, mouse and joystick. Touchscreen still needs more work.
My plan is for 1.49-beta2 within the next few days.
Planning to...
That is a wrong assumption. The mixer and amp handle zero gain as a special case. They stop sending data, which does affect the CPU usage of most (but not all) objects connected to their outputs.
All objects in the...
This one, right?
https://www.invensense.com/download-pdf/ics-40300-datasheet/
Looks like it should work. Can you show us photos of how you've actually connected everything? And the exact code you're running? If...
That confirms you *do* have a libraries folder in Documents.
Look again, it's in Documents/Arduino/libraries/Audio.
You need to move or delete that library, because it's interfering with Arduino finding the one...
I do not know what's wrong here. But I do have another idea that might help give more info.
Click File > Preferences and turn on "Show verbose output during compilation". Then copy this into the code window and...
Really good to know it's working well. I've already started on the other USB types with this receive code. Will probably start pushing code to github later today.
Looks like 8 buffers will be a pretty reasonable...
Maybe try editing Contents/Info.plist. Look for these lines:
<key>LSMinimumSystemVersion</key>
<string>10.8</string>
Arduino 1.8.5 definitely does work on 10.7. It has an older Java runtime.
Normally 1.8.6...
I replied just now on your main thread.
There are 2 separate issues here... how tech stuff works, and how communicating with humans works. This forum is about DIY electonics. We all know everyone has to start...
I'm not going to get directly involved in your project, but I might add another USB MIDI example for use of rotary encoders.
First, I would like to ask, have you run *any* of the USB MIDI examples yet? In Arduino,...
Please do not create duplicate threads. Continue this here:
https://forum.pjrc.com/threads/58564-Teensy-3-2-USB-MIDI-Controller-Coding-Assistance-*Willing-to-Pay*
Difficult to say when I can't run it here. This USB code is pretty new, so it's quite possible there may be undiscovered bugs.
If you can give me a test case to run here, I can try investigating. I can watch the...
If your program spends time doing work to "consume" the incoming data, like a blocking write to SPI for 4-wire addressable LEDs, those buffers will allow USB to receive the next incoming data while you work on using the...
Thanks for testing. Really good to see the new USB code is running faster!
If you're feeling like experimenting, any chance you might try running this with different numbers of buffers inside usb_serial.c. This is...
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 ==...