probonopd / MiniDexed

Dexed FM synthesizer similar to 8x DX7 (TX816/TX802) running on a bare metal Raspberry Pi (without a Linux kernel or operating system)
https://github.com/probonopd/MiniDexed/wiki
962 stars 72 forks source link

Support for ST7789 based (SPI) displays #652

Closed diyelectromusic closed 1 month ago

diyelectromusic commented 2 months ago

Initial support for ST7789 SPI displays. Note that a typical small 240x240 display will only provide 15x2 characters.

New Minidexed.ini default settings in this build:

SPIBus=
ST7789Enabled=0
ST7789Data=
ST7789Select=
ST7789Reset=
ST7789Backlight=
ST7789Width=240
ST7789Height=240
ST7789Rotation=0

Note: default is for ST7789 and SPI support to be disabled.

I've successfully use it with my Pimoroni Pirate Audio (screen, buttons and audio output) with the following settings:

SoundDevice=i2s
LCDEnabled=1

SPIBus=0
ST7789Enabled=1
ST7789Data=9
ST7789Select=1
ST7789Reset=
ST7789Backlight=13
ST7789Width=240
ST7789Height=240
ST7789Rotation=90

LCDColumns=15
LCDRows=2

ButtonPinPrev=5
ButtonActionPrev=click
ButtonPinNext=6
ButtonActionNext=click
ButtonPinBack=16
ButtonActionBack=click
ButtonPinSelect=24
ButtonActionSelect=click
ButtonPinHome=16
ButtonActionHome=doubleclick
ButtonPinShortcut=0

EncoderEnabled=0

Kevin

IMG_7789

probonopd commented 2 months ago

Thanks @diyelectromusic. I don't think I have such a display at hand for testing. But indeed this could be interesting for people who do not want to solder.

Build for testing: MiniDexed_2024-05-06-1bdab3d

diyelectromusic commented 2 months ago

I've found an issue with rotations with the code in circle. The fix will be merged into circle shortly, then I'll update the submod.sh script again to pull in the new version.

These are very common hobby displays and there are many boards with these displays and buttons that makes for quite a neat "all in one" solution. I think they could be quite beginner friendly (and I'm pretty sure someone asked about the Pirate Audio specifically at some point, but I can't find it now).

Kevin

diyelectromusic commented 1 month ago

Updated build now here: MiniDexed_2024-05-07-dd14da0

Kevin

chemati8 commented 1 month ago

Can you write the entire minidexed.ini configuration in your rapsberry?

diyelectromusic commented 1 month ago

Can you write the entire minidexed.ini configuration in your rapsberry?

It should be the default minidexed.ini with the changes I mentioned in my first post - that is specific to the Pirate Audio board of course. Is that what you mean?

Kevin

chemati8 commented 1 month ago

I also have the audio pirate hat

diyelectromusic commented 1 month ago

Well I should warn you that I've managed to kill mine... but I'm pretty sure this is a hardware problem and nothing I've done in software ;)

IMG_7790

chemati8 commented 1 month ago

This works.Thank you

probonopd commented 1 month ago

So do you think this is in a state to merge this @diyelectromusic?

chemati8 commented 1 month ago

At least it worked for me

diyelectromusic commented 1 month ago

Well I can't see an issue with the rest of the system from merging this (famous last words I'm sure), so I guess if there are any problems left, we can just isolate the st7789 side of things...

... so yes, I'd say go for it :)

Then I'll update the wiki with the latest details.

Kevin

probonopd commented 1 month ago

Thanks @diyelectromusic