I've not heard of anyone has writing code for Pico to work with Teensy's audio shield. I did see a few people working on generic audio stuff (not specifically for SGTL5000 or this shield) but it...
Type: Posts; User: PaulStoffregen
I've not heard of anyone has writing code for Pico to work with Teensy's audio shield. I did see a few people working on generic audio stuff (not specifically for SGTL5000 or this shield) but it...
SPIFIFO isn't really recommended anymore, but I decided to give it a quick try just to see how much of the CPU time on a Teensy 3.2 would remain unused if an IntervalTimer uses it every 5...
Yes, there is a solution. All you need to do is use a recent beta version, because PDM support for Teensy 4.x was added after 1.53 was released.
Get it here:...
Yup, let's fix the struct in imxrt.h and see if anything breaks. ;)
EDIT: committed a fix. https://github.com/PaulStoffregen/cores/commit/64f7d7c1eededf0102510530a4e621395c4d51f7
Yup, sent a pull request just now. I'm not sure it's 100% working yet. I'm seeing a lot more VSYNC interrupts than screen refreshes. I added a some code to print the actual refresh rate.
Opps, sorry, I made some mistakes. Working on it now...
Send a pull request for continuous FlexIO DMA. I took the liberty of replacing Defragster's continuous "F" mode in hm01b0_testv3.ino.
I'm working right now to add start / stop for FlexIO, as similar to Kurt's API as I can.
Just wanted to ask which buffers are really meant to be DMAMEM vs DTCM?
I see this in the examples.
uint8_t frameBuffer[(324) * 244];
uint16_t imageBuffer[(324) * 244]; DMAMEM
uint8_t...
Yes, I believe your library tries to do the dynamic allocation of FlexIO resources, right?
The camera interface is a bit special through, because only shifters 3 & 7 support receiving parallel...
Yup, that did the trick. I see where I went wrong. A silly mistake really. Sent a pull request to fix it.
EDIT: with the latest updates I'm getting a really dark picture...
Can you point me to that DMA serial receive code?
Before trying to answer, I need to admit two things.
1: I've only read Kurt's code quickly, haven't actually worked with it or analyzed carefully
2: Obviously I don't know everything about FlexIO...
I believe all you need to do with Teensy 4.0 & 4.1 is edit the sample rate number in AudioStream.h.
That file is located inside your Arduino folder. When you search for that file, you should find...
Hope you can find whatever I missed on the FlexIO hardware trigger. It's probably something "trivial" I overlooked.
I wouldn't toss that code! It still could be really useful on Teensy 4.1...
Looks like my display woes might be from pulling in the latest ILI9341_t3n. When I run graphicstest from ILI9341_t3, my display works. But graphicstest from ILI9341_t3n now gives a white screen. ...
The example seems to no longer work with my ILI9341. Not sure why... can't do more right now.
Sent a PR with the work-in-progress DMA code.
https://github.com/mjs513/TMM-HB01B0-Camera/pull/7/files
When you run it, you'll probably see this in the serial monitor
ERROR: 19764 manual...
I'm playing the FlexIO DMA. Can't seem to get hardware triggering to work, but the DMA does transfer the image if I cheat and manually trigger the DMA channel each time the shifter status flag is...
Ok, I just sent a pull request with initial FlexIO. No DMA yet, but it should be fairly "easy" to just set up a DMA transfer which reads from that FlexIO register and writes to the buffer.
I updated to the latest TMM-HB01B0-Camera from github, in prep to clean up my flexio stuff, but it seems I no longer get a working image from either "s" or DMA. I'll admit, I fell behind on the...
Should I make the FlexIO code just read the whole 324x244 data? That would be simpler...
Somehow I was under the impression we were keeping the first 320 pixels and discarding the last 4.
Just to confirm, on each line of 324 pixels, we're supposed to ignore the first 2 and last 2...
I just connected all 3 power pins to 3.3V.
That test board doesn't connect the video signals at all. They just route to those pads in the middle of the PCB. Only power and I2C are actually...
Right now I'm using Sparkfun's ML carrier board with ILI9341 connected to the left side pins. Nothing special on the HM01B0 camera.
On the breakout board, which is still at least a week away, I...
More fiddling with FlexIO... and I finally have it somewhat working. For reasons I don't fully understand, it's capturing only 7 of every 8 pixels. So I added a bit of kludge code to add 4 white...
Another detail to keep in mind is the display redraws the screen from its own frame buffer at a speed probably less than 60 Hz. I recall seeing a register to adjust the internal refresh speed. But...
I'm working on FlexIO again today. Building test code inside your lib and targeting 8 bit mode, mostly just overriding the readFrame() function while I struggle to get it just working in any way at...
I started playing with FlexIO for the camera. So far it's unresponsive, but hope to have something soon...
Pulled in the latest QuadEncoder.
Running the DMA version now. Wow, frame rate is so smooth. Seeing some tearing & artifacts.
Which Teensy are you using? The process is different on Teensy 4.x than the older boards.
I finally got the display wired up and have it running here too, showing a super exciting view of my oscilloscope from the workbench.
24406
Send another pull request, just minor stuff &...
A little breakout board to play with the signals on a Teensy 4.1 arrived last night from OSH Park. I build one this morning.
24398
I'm running the camera completely on 3.3V. Haven't looked at...
I tested just now by adding Serial.println("test"); to main.cpp. That original Makefile compiles it properly. I uploaded the hex file to a Teensy 4.0, and indeed it does print "test" every second...
I believe the Himax HM01B0 camera does support HSYNC gated PCLK. Try setting bit 5 (mask 0x20) in the OSC_CLK_DIV register (address 0x3060).
Maybe change this line in HM01B0.cpp
...
That crystal should be fine. From everything you've said, especially that you do observe the crystal oscillating under some circumstance, I'd say the crystal is very unlikely to be your problem.
...
The "queue" objects are meant to let your program get access to the actual audio samples. See File > Examples > Audio > Recorder for sample code. Edit that code to delete the part which writes to a...
I also want to know why it would do this, because it should not normally blink 8 times if you have used the IMXRT1062 chip.
But I can not see your PCB. I know nothing of its design details. Even...
@mamdos - Can you tell me which hardware you're using for passive PoE? If I wanted to experiment with various diodes and resistors, which gear should I buy to give me the PHY-destroying scenario you...
You can use Serial.availableForWrite() to check how much space is remaining in Teensy's transmit buffer.
Looks like you changed Wire to Wire1 only in setup().
You also need to edit these lines in loop()
Wire.beginTransmission(address);
error = Wire.endTransmission();
Sure, just connect the button to the Program pin and GND.
That probably explains why the ML carrier board schematic has the wrong I2C address. The Himax camera is address 0x24. OV7670 uses 0x21, according to a couple pages I could find.
To try answering your question....
This really depends on what you meant by "functional difference".
The short answer is they use exactly the same communication. I have made every effort...
By default, the timers used by IntervalTimer run directly from the 24 MHz crystal clock.
No. The 24 MHz clock they use is fixed at 24 MHz, regardless of how the rest of the chip runs. ...
Reboot your PC. Then run the Teensyduino 1.53 installer before you run the Arduino IDE.
Oh, I know that mistake well too!
Looks like Sparkfun's ATP carrier board lacks any sort of USB host current limiting or even a 100 or 150 uF capacitor.
As far as I can tell none of their other boards do USB host, so they're...
Did you solder GND which is next to pin 0, or GND which is between VIN and 3.3V?
The one next to pin 0 (on the audio shield) must be connected. It will not work if you used a wire only on the...
Ok, 7mm it is!
Here's roughly what I have for a breakout board with alternate camera pins.
24340
As you can see, I also routed pins 0-23 to a Teensy 4 layout so we can plug in shields for...