I was thinking more like this, only a couple of wires to connect (I2C SCL and SDA) and the LEDs are multiplexed by the driver so they won't pull a lot of current like using a 74HC595 would. You'd just need to come up with some dot patterns for...
Maybe a LED 8 digit display instead rather than LCD? You can get MAX7219-based displays pretty cheap and there's drivers included as part of Teensyduino. Or since it only has to display 1-16, could use an 8x8 LED dot display.
I'm reasonably sure integer overflow/underflow is still undefined behavior so the compiler is free to make optimizations assuming it will never happen, i.e. if it sees a loop with "x<=0" as an exit condition, but it knows x starts as a positive...
The thing is, what you're doing here doesn't really need to be done with the PXP... it's just a straight memcpy of each row. It probably takes longer to prepare the PXP to do it than just performing it using the CPU.
There's several external inputs available to the FlexPWM modules via the xbar, which means they can be connected directly to GPIOs or triggers from other modules... but which one to use really depends on the specific of how the FlexPWM is being...
I don't see how this is a limitation of the MCU - you just can't update arbitrary pixels inside a region without an alpha plane...
Are you sure LVGL isn't using 1555 rather than 565 pixel format?
Move the updates to s_framePending before the function calls.
The moment you call PXP_Process, the interrupt can be fired which may result in pxpCallback executing before you have set s_framePending to true. Likewise for calling...
Typically these camera sensors have separate voltage requirements for analog/digital/IO stages so the board would take care of all that. Wouldn't say that's worth an extra $45 though.
It looks like it's using the wfi instruction (wait for interrupt) when idle to wait until the next timer tick, that's not going to work properly on Teensy 4.x since wfi stops the systick timer by default.
I've used std::function (and lambdas) extensively with Teensy 4.x and Teensyduino 1.59+ (which enabled C++17 for Teensy 3.x/4.x), it should work fine as long as dynamic memory is supported.
AFAIK the Arduino platform requires yield(), so any...
Not strictly true; PJRC's chip isn't a bootloader (it doesn't execute anything when the device is turned on), it's mostly just there to handle the power-up sequence and enable re-programming in an easy way. You can write a program using the...
I had an idea to do something similar to this but modifying the Teensy's USB descriptor to present as a webcam (as well as an audio device) and sending the screen frames as JPGs. Then you wouldn't need any specific server-side software, just...
Teensy 4.1 has SPIClass, but it doesn't have a default constructor because it's designed to take hardware parameters (based on which port to use). It doesn't look like it's intended to be an extendible class.
Your delay is too long, delayNanoseconds is only intended for small values. Since you don't actually need nanosecond resolution try delayMicroseconds() instead.
(You really need to use a timer module for exact precision, not relay on CPU cycle...
What is this SD card module? SD cards are powered by 3.3V, if it is converting the MISO signal to 5V you are risking damaging your Teensy. There may also be issues if the module is expecting 5V signals going to the SD card.
If it's a safety issue I wouldn't trust the CPU to be able to reliably do anything after one of those faults occurred. I would use the external watchdog monitor to raise a signal that could be handled by an external shutdown circuit.
(Note that...
Square wave generator needs an offset so it generates a wave from 0 to 3.3v. You may have measured only half the current draw, I'm not sure if the "max" shown is taken from peak-to-peak or from zero.
Yeah, an optical transmitter is the easy way (they Just Work(tm)) or failing that I'd suggest controlling a transistor connected to appropriate resistor dividers; the type of transistor (NPN or PNP) wouldn't matter since an inverted signal should...
Try using AudioOutputSPDIF3 with this line added to the end of setup():
SPDIF_STCSCH = 1 << 21;
Let me know if that gets output working from your converter...
There is a waterfall example like that in the repo (based on incoming USB audio) but I modified it to scroll horizontally since there's more pixels in that direction... didn't mention it here because it proved difficult to get a decent photo of.
Added support for circular framebuffers and a "piano roll" demo:
This scrolls upwards, writing only the bottom line of the framebuffer on each new frame. The colored bars are active MIDI notes coming from the PC with each channel being...
So something fun I learned today... the SMOD setting on DMA channels only applies to the SADDR+SOFF calculation, it doesn't get applied to SADDR+minor loop offset or SADDR+SLAST. Presumably the same applies to DMOD.
I have just finished committing support for Fresco Logic 2000 USB video adapters to my teensy4_usbhost library.
These adapters are all over ebay for very cheap prices, they're actually designed to be used in USB3 ports but also work over USB2 for...
Judging from the second pic, it looks like the index pulse is taking too long to rise (and possibly fall), hovering around the no-mans-land between "high" and "low" long enough to cause false readings. What happens if the index pin is configured...
Trying to adapt a simple MTP sketch to the new MTP code in the core and there's some obvious problems:
- useFileSystemIndexFileStore() is gone. There is useFilesystemForIndexList(), but the point is I don't want to use a physical drive for the...
It would be nice if the configure_external_ram() function was moved out of startup.c (probably into extmem.c) to make it easier to replace without having to edit the core library, in case some other new chips show up (or in the case of SDRAM...
But then Pin2 won't be doing anything since the diode will be reversed-biased when Pin1 is turned on. You're going to damage the Teensy by pulling too much current from one pin. Please just use a transistor or a buffer IC.