I just bought two no-Ethernet from Digikey, slight delay shipping but they arrived in the UK OK. As noted, for some reason only PiHut have stock, Pimoroni have been OOS for weeks.
Ah, OK, your OP suggested a bit less familiarity than that!
A near-example of what you want is AudioTestPlayMultiSD.ino. It uses two buttons and two SD cards, but can easily be tweaked to use one of each, and play four files rather than two.
As...
OK, so for my corner-to-corner example, you'd wait for the dirty area to reach some critical size, then DMA it out while the next parts of the framebuffer is getting dirty. And so on. The Teensy is pretty darn fast, so dirtying the framebuffer is...
Except ... if you draw a diagonal line from corner to corner of the screen, say 480x320 pixels. Drawing the line writes ... er ... 480 pixels. Buffering it then DMAing the bitmap writes 153,500 pixels. This is slower (though the CPU doesn't need...
Great, glad it's working for you now. I'll tidy it up a bit, but there won't be any material changes, just deletion of commented-out code. If you need further support for this code, you might want to post on this thread; I think the one we're in...
I've managed to reproduce this bug, and pushed a possible fix to https://github.com/h4yn0nnym0u5e/ST7735_t3/tree/dev/big-screen-t4 - it seems to work for both my Teensyduino 1.60 system and the older one (1.60b1). I need to do a bit more testing...
You should probably start by looking at the tutorial - see https://www.pjrc.com/teensy/td_libs_Audio.html. That will give you an idea of what the Teensy Audio library can do for you.
What it doesn’t do is “assign” buttons and pots to control...
I've been using 1.8.19 - I'll try 2.3.8 tomorrow, though I don't expect it to make a difference.
You didn't mention which Teensyduino you're using. I'm guessing not 1.60, and my suggested change may well be the cause of the crash - I couldn't...
Sometimes I have to go away and eat, and stuff like that...
You're looking at the "master" branch, whereas we're using the "/dev/big-screen-t4" one.
So ... did the Arduino sketch start working for you?
What version of Teensyduino are you using...
Well that's very odd. I've tried your code, with pins amended to suit my hardware (just my pins here, for clarity), and it works absolutely fine:
#define TFT_DC 9
#define TFT_SCK 13
#define TFT_MISO 12
#define TFT_MOSI 11
#define TFT_CS 29...
That looks like your code. You can allocate the framebuffer in PSRAM, and pass its address as a parameter to the setFrameBuffer() method. See the ReadMe.md.
Yes it does. But no-one can tell what you've done wrong (or if there's a bug) from that...
Well, it looks like PlatformIO isn't finding the one you downloaded, and / or you haven't selected the /dev/big-screen-t4 branch.
ST7796_t3.h is definitely in there
the /dev/big-screen-t4 version number is set to 1.2.0 - PlatformIO is showing...
I did a tweaked version of the standard Teensy ST7735/7789/7796 library, which you can find here. The main motivation was to allow use of the 480x320 ST7796 using DMA, and add some changes so that long-running screen updates over SPI didn’t...
Thanks Paul. Given Rosetta2 is needed anyway for the toolchain, which is probably the only thing that would benefit significantly from being ARM-based, I'll stick with what I have for now. Unless I get bored enough to try again and pay proper...
Arduino lists two builds for macOS, one for Intel and one for ARM:
Somewhere "under the hood" of the Arduino 2.x Boards manager, it figures out what Teensyduino to download and install, unlike 1.x where it's the user's responsibility. On an...
You haven’t set the waveform (not sure if it defaults to something sensible…), and you’ve set the volume to 0.0.
EDIT: just spotted you used AudioSynthWaveformSine, so of course no need to set the waveform! I never use it myself...
Does it work if you try to output a waveform?
Don't forget that for most purposes the odd-numbered TDM I/O ports don't do anything useful, so you should have AudioConnection patchCord2(Input, 2, Output, 2); in order to pass through the second...
Good news! At least you didn't need to do too many hardware mods :)
Looking at the data sheet (January 2016 edition) to remind myself, Table 11 on page 33 and Figure 52 on page 34 are pretty useful. Essentially for "normal" TDM use you just...
I'm getting about 1.84V on both VCOMAD and VCOMDA; that's lower than I'd expect, as VCC is about 4.5V. I can't get to VREFAD1 and VREFAD2 to check those voltages.
That all looks OK. Can you post your layout? I seem to recall issues for some people running I²C near the I²S bus - it go so noisy the I²C stopped working.
Here's an adapted version of my initial test scan code, which I've just runs and is...
I've done a PR which adds a .ZIP file with a selection of .STEP files, depending on the user's needs - just components, with connectors, without copper. See what you think.
JO, you're correct. I have added the KiCad files to the Board Files folders.
Some of the 3D renderings may be missing as they are scattered around in various places.
Thanks Paul. The STL loads fine for me.
OK, so given @MarkT's comment, I tried downloading the STEP file again, and this time it did work. I must've messed up somehow the first time... It'd be good to have more of the components exported so the...
Hmm. Unfortunately it doesn't load for me. I tried in OnShape (my online 3D CAD), and also on https://3dviewer.net/ and https://convert3d.org/view, but none of them liked it. I was able to export a review PCB successfully from KiCad 8, so it...
JO,
There seems to be a FreeCAD plugin that allows you to import KiCAD projects and output them as STEP or IGES models.
https://www.kicad.org/external-tools/stepup/
I'll try it later today.
R
I’m a bit confused (possibly because I simply haven’t found the right documentation…). Should I expect Teensyduino 1.60 to install and work on a 2020 M1 Mac (i.e. Apple silicon), using an ARM build of Arduino 2.x? Or does it need the Intel build...
Nope, still struggling here. Looking at the source code it specifically says it does use the CMD_MUL_EN bit if you want a multi-register read; in any case, that’s unrelated to using multiple devices.
I‘m a bit suspicious about the presence of...
Can your CAD output a 3D model of the PCBA? I'm thinking of designing and printing an enclosure, and having a model to wrap it around makes the process so much easier.
I can’t find that statement - can you point us to it?
If you use the alternative constructor you can choose the /CS pin. The author doesn’t seem to have implemented daisy chain support, though. He does still seem to be responsive, despite the...
I just searched for Arduino libraries for both those ADCs, found some, and they seem to allow selection of the /CS pin in the constructor, so I’m not sure why you think “the libraries do not support multiple units”?
Hmmm ... getting late here, but I tried a 1020-byte block, i.e. 255*uint32_t values; that lets me set NBYTES=4, 12, 20 or 68 (since 255=1*3*5*17), and divide CITER and BITER by the same factor. (The last block isn't full size, so it has to stick...
Here is the table by @h4yn0nnym0u5e with the modified labels (rows in order of increasing speed).
Size [MB]
Speed [MHz]
Prefetch
Block Size [bytes]
memcpy
RAM to
PSRAM [MB/s]
memcpy
PSRAM
to RAM [MB/s]
DMA
RAM to PSRAM
[MB/s]
DMA
PSRAM...
I just checked, as intended ATTR_DST is 2, i.e. it's writing 32 bits per transfer.
Yes, sorry, it was based on a hasty spreadsheet I made to record my results, as I was beginning to lose track. "To mem" means "using memcpy() from RAM buffer to...
OK, here are some results based on a revised version of Paul's original test program, combined with an adapted version of @jmarsh's PR#708. As previously noted, the differing constraints on page boundaries between 8MB and 16MB parts mean that the...
Yes, the page boundary differences can definitely cause issues, but not with TD1.60. I'm glad you've done some independent testing of that.
I’ve been playing with prefetch and DMA memory-to-memory transfers today, but more work is needed to...
This is excellent stuff - we’re really giving the new PSRAM a thrashing!
It’s been on my mind to add DMA transfer to Paul’s memory test, as that’s quite important for frame buffers and the like. Also, it may be possible to make it run faster...
Did you roll your own PSRAM test, or try my revised one? I know the latter can be provoked to fail if prefetch is enabled, e.g. by PR#708. Some work is needed to create a stable speed increase, which @jmarsh has quite rightly declined to do until...
If you’re not pushing images often, then the bit-banged library is probably the way to go, for simplicity. You might want to edit out the code that uses pin 22 (hard-coded…) as a reset (which the display doesn’t have…). You will also need to put...
It may be worth updating the testing and instructions for installing Teensyduino on Raspbian, since it's now 64-bit and the ARM32 version doesn't work...
That looks a lot easier to understand :)
I‘m not entirely sure what you’re expecting from a “review” - sometimes the best review is your own experience of “does it work as I wanted?”…
Assuming it does pretty much work, all I can do is say what...