Multi-Screen DIY controller

Hi all,

Originally inspired by Piing's DIY project I decided to make my own version but add in screens. I know I'm not the first person to do this but I'm putting everything up on github to help people work on their own if interested. I originally posted this to Piing's thread but starting a new one myself so I can answer any questions publicly (rather than via DM).
I'll be iterating on the firmware as I (or other people) have ideas.

You'll find it all on on github including the tutorials (work in progress) and a shopping list for the parts.

You only need basic skills to do this construction - drilling, using rotary tool, soldering (easy to learn from a few youtube videos)
Fair warning, if you do want to build 1 yourself then be prepared for a lot of hours cutting wires, soldering etc. But I've had a lot of fun and I've ended up with something that I can keep adding new features to as I need them - yesterday I wrote a first version of realtime tuner display.

If anyone wants to contribute code as well then go for it! I'll be reviewing pull requests. But you don't need to write any software for this project if you're happy with the features I build.

I have no intention of selling these (I'd need to make 50+ units to break even on this given time investment and I already have a job :) ).

Shoutout to Tysonit for their AxeControl library.

Features:
  • 3x5 momentary footswitch, lcd screen pairs.
    • The LCD screen is a 1.8" 128x160px TFT SPI (ST7735 driver).
  • 7 pin MIDI in/out + phantom power on input
  • 2 1/4" expression pedal inputs (add as many as you want)
  • 9v adapter input
  • Button short press, long press, hold
    • Hold allows for streaming multiple actions as opposed to long press which is an instantaneous single function - for example increase volume in increments while holding (I haven't yet assigned to any function..)
    • Functions can be assigned independently and screens will display these assignments independently
  • Layouts
    • A layout is a set of functions assigned to buttons
    • A function can be assigned to switch layouts
  • Functions
    • Preset/scene increment,decrement,select. Can increment/decrement by 1 or more. Select allows for an arbitrary preset/scene number to be selected eg. jump to preset 100
    • Expression pedal switch
      • Although 2 expression pedals are supported, if you want to use 1 pedal but switch between controlling volume, wah, pitch or others a button press can do this - effectively changing expression pedal 1/2 to become 1-4. (TODO)
    • Tap tempo - LED on front panel in sync
    • Tuner toggle + tuner display
    • Mute button
    • Stomp box - bypass drive, delay and other functions
      • Display colour per type, dimmed display when already bypassed
I'm really just displaying basic info on the screens at the moment as it's more functional than esthetic, but I'll probably improve over time.

demo_layout_1.jpg
demo_layout_2.jpg
 
Hey there @prongs_386 ,

Great to see you started your own thread.
From the moment I saw your build I wanted to build one myself. Thanks to this thread and your github tutorial I have good hope I will manage to build one.

You got a working tuner? that is awesome news. I bought a 128X32 Oled Lcd Led Display for the tuner function or a digital clock or maby tap tempo speed next to the flash led, idk yet.

My items of the shoppinglist are starting to drop in. The Arduino came as first item, man that is one small board. Never realized that connecting and soldering would require dwarff hands. Therefore I got myself some assistant clambs to hold all items in place while soldering and a magnifying deskglass to see anything at all 🤣

Still waiting for the other 21 packets though and hope to start building a wooden test unit somewhere round half november. This is going to be a great project to follow and to participate.

Thank you for sharing 🤘

Cheers
 
Last edited:
Hey there @prongs_386

My ordered parts have not all arived yet, so i cannot do any physical testing with the arduino and hardware buttons and lcd, so i have made a start to explore your files in the library from Github.

I started to explore your arduino library and went searching for the most optimal software to work with the files.
I found the arduino IDE most suitable for me, but had a try first with visual studio (arduino) and Atmel studio 7, but for this noob, the Arduino IDE is working in my favour, so i will have a go with this one.

Powershell:
You have pointed me to use Microsoft Powershell to work with your lib, but even with video tutorials on Youtube, i could not even get a command line to work with the lib. Hope you can stil help me out, even when i am using another building interface.

Working with the library:
I had to re-arange your library because the Arduino IDE cannot handle sub folders very good. I have made 1 big folder with all files in the main pedalboard folder, so now the .h and the .cpp files are all together. I have embedded all the Tyson files also in this folder, so it is all together like one big library. There is only one subfolder that is containing the lcd library you have provided (libraries\Adafruit_ST7735).

Adjusting the code to the new file directory:
I could adjust the .h and .cpp files very easy with notepad++ , so i managed to compile the files all together correctly.
The main folder contains 31 .cpp files and 68 .h files with a total size of 358Kb. I guess that would fit on the Arduino Due memory right?

Compiling the code:
While compiling, i ran into a few errors, i will explane and hope you can help me out with these somehow.
? I dont know if this threat is for troubleshooting, but let me know if you have or want another solution for to get in touch for troubleshooting.
Anyway, i dont know what to do at this moment with the error messages as i am a newbie to Arduino and C++ compiling.


1: First off, I am missing library files:

*Missing:
functionstr_fn.h​
from
function_state.h

*Missing:
lwip/netif.h​
console.h​
wl_definitions.h​
from
spi.h
Question:
Are these files missing or not needed?




2: File pch.h has only one line of code: #pragma once

Question:
Is this file empty or for future development?



3: I get these error messages :

Arduino:1.8.13 (Windows 10), Board:"Arduino Due (Programming Port)" In file included from sketch\src/function.h:5:0, from sketch\src/control.h:5, from sketch\src/layout.h:4, from sketch\src/layout_manager.h:4, * sketch\src/function_state.h: In constructor 'PresetState::PresetState(const char*, short unsigned int, char, FunctionType)': sketch\src/function_state.h: In member function 'void PresetState::UpdateState(const char*, short unsigned int)': ** sketch\src/function_state.h: In constructor 'SceneState::SceneState(const char*, char, FunctionType)': sketch\src/function_state.h: In member function 'void SceneState::UpdateState(const char*, char, short unsigned int)': *** sketch\src/function_state.h: In constructor 'EffectState::EffectState(const char*, char, FunctionType)': sketch\src/function_state.h: In member function 'void EffectState::UpdateState(const char*, char, bool)': **** sketch\src/function_state.h:166:31: error: 'strTerm' was not declared in this scope exit status 1 no match for call to '(ButtonEvent) ()'
I guess that the sketch is creating a \str/ folder while compiling, because i have deleted the str folder and i left no reference in the code to any src folder anywere.

Question:
The strTerm not being declared... i haven't fount any solution online using google.... so this is a mistery to me ATM.

exit status 1
no match for call to '(ButtonEvent) ()'

I guess this error is because there was no event while compiling? Should i simulate an event for instance button1 for the code to run?
***\

Waiting for all the parts
I guess all the parts will arrive around 11th November, so then i can start creating a simple test setup with one button and one screen and some code to test with.


Thank you in advance

Cheers
Axelman8
 

Attachments

  • Axelman8_lib_directory.txt
    5.9 KB · Views: 16
Last edited:
Hey,

Moving the file locations around is going to be an issue as anytime you want to get the latest updates from me (or want to contribute changes yourself) it won't be in sync with the repository. So I'd strongly recommend against this.

If you didn't like VS Code then Notepad++ is fine as well, you just want to open up the whole folder as your workspace/project - Notepad++ workspace

If the issue was mainly the powershell scripts not working then lets diagnose that problem - trust me it's a much better experience to upload using powershell rather than in the Arduino IDE.

Now that said I can try to help with the above issues.

Apologies in advance if I explain anything that you already know.

The main folder contains 31 .cpp files and 68 .h files with a total size of 358Kb. I guess that would fit on the Arduino Due memory right?
In terms of program space you have 512KB - you can lookup the details here https://store.arduino.cc/usa/due
However the size of the cpp/h files doesn't actually tell us how much program space will be taken up after compilation - after you compile in the output of the arduino IDE it should tell you how much flash memory is used. (we aren't even close to using it all up)

When you talk about memory though, there is both flash memory where we store our program and then 96KB of RAM which is used when the program is running. So all the objects we create in our program must fit into 96KB, every variable, every member of a class * the number of instances of that class. If interested have a google for memory stack vs heap.

For our program we actually need to be careful not to violate the 96KB, I've run over this several times before optimising and this just results in the arduino freezing.

1: First off, I am missing library files:

Initial things to check, have you installed the arduino due board?
1604392108272.png

Other libraries I have installed at the moment that might influence:
Needed:
MIDI Library
Adafruit GFX library

Maybe?:
Adafruit seesaw library
TFT
LiquidCrystal

I'm pretty sure the maybe aren't needed, but no harm in installing.


2: File pch.h has only one line of code: #pragma once
pch.h is a standard way of having a common includes file. Some compilers force you to include this file in a folder, this probably isn't needed in your Arduino setup, but was needed when I was working with Visual Studio to do the development. I'll probably revisit this, I was using VS (different to VS Code) to run unit tests but want to find an alternate way to do that.

Basically don't worry about this file, you could delete and it will probably still work for you, but leave it there if sticking with my file structure.

3: I get these error messages :
error: 'strTerm' was not declared in this scope


This function is defined in str_fn.cpp.
Make sure your function_state.h has an include line like:
#include "../../str_fn.h"

If you've changed directory structures then you would need to change every include line in every file so it would be
#include "str_fn.h"


I hope this helps, probably best to send me a zip file of what you've got so I can build myself and advise, but honestly I think it will make it too hard with your different folder setup and we should try and keep it the same as mine.
 
Hey there @prongs_386

Thank you for your detailed answer. You are talking about VS, you mean Visual Studio right? I have this application, but it was a little more complicated to me than the IDE. I understand now how the .h and the .cpp files are related and how Arduino uses these files, so i guess i could use the VS software from now on.

Your option of using Powershell:
Did you mean VS with this or the command line powershell. I tried the command line version and that totally crashed for me, didnt understand what to do, so i gave up on that option.
I have created a starting folder workspace with NotePad++, man that is really great looking. Now the interface looks pretty usable to me. I dont know if i can use it to create a Arduino sketch, but walking through the files is much much easier. Thanks for pointing this out.


Missing files and functions not working:
Your given advice worked out. File ../../str_fn was excluded in my code (guess i did it few weeks ago and forgot about it), but now it works without any error. The only error that remains is: no match for call to '(ButtonEvent) ()' . Guess that is because there is no physical ButtonEvent right?
I installed the library's you suggested and i guess it is working properly :)

I will explore the code in VS and do some research on how to use VS with arduino to create a sketch / upload file for the Due board.
I also have the github desktop, maby this is even easier to use by using your library. I will have a go checking all out what works best.

I will get back on this, but still have to wait to get the last items off the shoppinglist to be delivered so the actual testing can start.


Cheers
Axelman8
 
I am interested in your project, however, I've been wanting a huge pedalboard with iPhone sized LCD's for each button, so I can really see the labels. In my experience, many midi controller buttons are too close together for my wide shoes, and I sometimes hit two at the same time. The overall size/width of the pedal board is not important - being able to see the labels and having the buttons a little further apart is more useable for me.

Since I do not know anything about electronics, is this design and the components something that could support much larger LCD's? I imagine they require more power, but I wouldn't know what components to upgrade to support this properly.

Thanks
 
I am interested in your project, however, I've been wanting a huge pedalboard with iPhone sized LCD's for each button, so I can really see the labels. In my experience, many midi controller buttons are too close together for my wide shoes, and I sometimes hit two at the same time. The overall size/width of the pedal board is not important - being able to see the labels and having the buttons a little further apart is more useable for me.

Since I do not know anything about electronics, is this design and the components something that could support much larger LCD's? I imagine they require more power, but I wouldn't know what components to upgrade to support this properly.

Thanks

Hey,

A few things to think about here. My design uses SPI protocol and a specific screen driver ST7735. The driver can be changed without too much hassle if you use a screen that needs a different driver, but you do want it to be SPI, not I2C.

I'm not sure exactly how big you want to go as they can get quite expensive when they get larger (considering I was buying 15). But I would hunt around on AliExpress after figuring out how big you want it to be. For example this is 4" which might be OK and uses ST7796S driver - I haven't tried this but is supported by Bodmer version of the driver so I would guess it will work with some minor changes to the code. If you do find a screen that you think would be the right size let me know and I can take a look to see if it would be compatible.

Regarding power usage, my screens were rated at 30ma so with 15 running that's 450ma. The Arduino due can run 500ma. I was a bit worried about this but you can supply extra power if you need to (not via the usb port but via din input), or you could run the VCC on a completely independent circuit to the arduino. So this is definitely a solvable problem but worth planning for.
 
Axelman8,

When I say VS I mean Visual Studio which is different to Visual Studio Code (VS Code). Think of VS Code as a lightweight ide similar to notepad++ whereas VS is a fully fledged complex tool better suited to larger projects.

That ButtonEvent error is weird, I'd need to see the full details.

Regarding powershell, the way to do this is ctrl+r type powershell and hit ok. You'll get a terminal window. Now you need to cd into the correct directory where you stored your files. For example:
cd /code/pedalboard
then hit enter. (windows allows you to use back \ or forward / slashes for paths. I favour / to be consistent with other OS like linux/osx)

Now there are 2 powershell scripts you can run from this folder.
./upload.ps1
or
./monitor.ps1

The upload script will compile your code and upload to the arduino. The monitor script will run forever and collect logs from the running arduino program. So you could leave 1 powershell window open with monitor running (if you are diagnosing problems) and then open a second window to run the upload.ps1 script. These scripts will likely only work with my original file structure though unless you modify those as well.

So you do your editing with vs code / notepad++ and then run the upload from the powershell window separately.
- Although VS Code does have a terminal built in, so it is possible to run it all within VS Code, I personally keep it separate though.
 
Hey there @prongs_386

Thank you for the information. I started using powershell today. I did it another way by right clicking the .ps1 files and selecting "open with powershell" or "Manage". With the manage option (in dutch it is "bewerken") i can see the code and edit the code in powershell ISE.

Powershell gave me a hard time before i got it starting to work with the scripts. While running the monitor.ps1 i saw a error message about policy's for running scripts on my machine. Had to grand these policy's first and now they do run. That whas the whole problem i guess why i didnt get scripting to work at all few days back.

Another thing:
I saw that you use a .exe file to compile the code: "d:\apps\arduino\arduino-cli.exe"
I have downloaded the arduino-cli.exe and created the location on d:\ and now that is running also.


COM port in the code:
I have the arduino on com 5, so i edited this in your code too. In your code it is on COM 3. Dont know if thats okay?

Compiling error:
Compiling gives me an error. This is the same error i have in the arduino IDE:
Arduino\libraries\Pedalboard/SPI.h:11:24: fatal error: lwip/netif.h: No such file or directory
#include "lwip/netif.h"

These 3 files in SPI.h are not found as a libriary. Any idea where i can find these files?
#include "lwip/netif.h"
#include "console.h"
#include "wl_definitions.h"


I like working on this project and learning tons of new stuff. Thank you prongs_386 for your help.
 
Hey on those errors it looks to me like it's not using the correct hardware - picking up arduino uno or something rather than the due - sam architecture.

Do you have the full output of the build log? It is that all you get?

If you haven't already done it you can install the due hardware in the arduino ide.

That SPI file looks like it's in your source folder though, not in a global libraries directory? Where did you get it from?
 
Hey There @prongs_386

Thank you on your comment. You are right.... the SPI file is useless and i have no clue how it got in the directory at all. I removed it and have this project archived to another directory .

Today i re-installes the Arduino IDE freshly and all the needed library's installed. I Hope that starting with a fresh installation may help me out with the error messages.
I got the new Pedalboard-master.zip file from Github. From now on i will use the library as you have shared it...

Error message when trying to compile:
When trying to compile with the "Arduino IDE" with the Pedalboard.ino or in "PowerShell ISE" using the build.ps1 in both enviroments i get a error on the Gframe/gframe.h library file.
PS C:\Users\Mediacenter\Documents\Arduino\Pedalboard> C:\Users\Mediacenter\Documents\Arduino\Pedalboard\build.ps1 d:\apps\arduino\arduino-cli.exe : In file included from C:\Users\Mediacenter\Documents\Arduino\Pedalboard\Pedalboard.ino:22:0: At C:\Users\Mediacenter\Documents\Arduino\Pedalboard\build.ps1:1 char:1 + d:\apps\arduino\arduino-cli.exe compile --output-dir "$PSScriptRoot/. ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (In file include...board.ino:22:0::String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError C:\Users\Mediacenter\Documents\Arduino\Pedalboard\.build\sketch\src/libraries/GFrame/gframe.h: In member function 'uint16_t GFrame::Color565(uint8_t, uint8_t, uint8_t)': C:\Users\Mediacenter\Documents\Arduino\Pedalboard\.build\sketch\src/libraries/GFrame/gframe.h:169:80: error: 'newColorX' was not declared in this scope uint16_t Color565(uint8_t r, uint8_t g, uint8_t b) { return newColorX(r, g, b);} ^ Error during build: exit status 1 PS C:\Users\Mediacenter\Documents\Arduino\Pedalboard>

I have done some research on the internet on this error message, but cannot find anything that could help me out.
Are you getting this error message? what could be wrong here?


If i can get the code on the arduino, i can start building the mockup. All the items of the shoppinglist have arrived.


Another thing:
The monitor.ps1 file is giving me a hard time too... keeps giving me this message:
PS C:\Users\Mediacenter\Documents\Arduino\Pedalboard> C:\Users\Mediacenter\Documents\Arduino\Pedalboard\monitor.ps1 We found ports: COM1 COM5 Please define an environment variable ARDUINO_COMM_PORT PS C:\Users\Mediacenter\Documents\Arduino\Pedalboard>

I dont know what to do here.



Thank you in advance


Cheers
Remon
 
Hey, I'm heading into work but will hopefully have some time tonight to check it out. I pushed a new version of the code last night so I wonder if you have that or the previous version. GFrame is my custom version of the display driver so the error will definitely be to do with my code and you won't find an answer online. Interesting it was failing for you and not me though.

I'll apply some updates to the scripts to make them port agnostic / ask you to select 1.

But in powershell you could run $env:ARDUINO_COMM_PORT = "COM5"
 
Hey @prongs_386

Thank you on the quick reply.... i will wait for your response on the [ 'newColorX' was not declared ] error message.
Your help worked out for the COM_PORT. I memoryzed the code to set the com port (learning more and more) but for other participaters your add-on could be of great help.

The monitor.ps1 and build-helper.ps1 are running without errors now. Although i have no clue what these files are for LOL... but the run okay in Powershell ISE so that's a start.

I will go ahead and create a simple setup MIDI setup with one button, one screen for a connection to the AXE-FX.
If the code can be compiled and be uploaded to the board, i can start testing all hardware that i received.
After this test i will make a complete mockup of the pedalboard... once that is working i can create a final version and solder everything together. (aprox. 2022 lol)


Cheers
 
Last edited:
I've pushed a new update.

Removed the reference to newColorX - this isn't used anywhere so it seems my compiler was ignoring it completely, but it was definitely just broken.

I updated the ps scripts to be a bit friendlier - they will now ask you to select a com port and then store it in the env var so you don't need to do that yourself.

In terms of the scripts you need to worry about / will be useful:

build.ps1 (does a single build of the code, no arduino needed)
upload.ps1 (this will build and upload to the arduino. It will ask you to select the com port used by arduino)
monitor.ps1 (you can run this independently of uploads to read the log output from the arduino)

I usually have 2 terminals open - 1 running monitor.ps1 constantly, the other running upload.ps1 when I'm ready to upload.
 
I usually have 2 terminals open - 1 running monitor.ps1 constantly, the other running upload.ps1 when I'm ready to upload.

Hey there @prongs_386

Thnx for the quick reply and fix :)
I will download asap and try again. really frustrating if errors pop up and i cant find answers, but so satifying when the errors are solved.

The duo terminal tip is a good one.... very helpfull indeed. will do that for sure.

I will report back when i made some progress with testing (because hopefully i wont have any errors now ;) )


Cheers
 
Hey there @prongs_386

The ST7735 also has the newColorX error...

Code:
PS C:\Fractal Audio\PROJECT_Github files\Pedalboard> C:\Fractal Audio\PROJECT_Github files\Pedalboard\build.ps1
d:\apps\arduino\arduino-cli.exe : In file included from C:\Fractal Audio\PROJECT_Github files\Pedalboard\.build\sketch\src\libraries\Adafruit_ST7735\Adafruit_ST7735.
cpp:19:0:
At C:\Fractal Audio\PROJECT_Github files\Pedalboard\build.ps1:1 char:1
+ d:\apps\arduino\arduino-cli.exe compile --output-dir "$PSScriptRoot/. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (In file include...T7735.cpp:19:0::String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError
 
C:\Fractal Audio\PROJECT_Github files\Pedalboard\.build\sketch\src\libraries\Adafruit_ST7735\Adafruit_ST7735.h: In member function 'uint16_t Adafruit_ST7735::Color56
5(uint8_t, uint8_t, uint8_t)':
C:\Fractal Audio\PROJECT_Github files\Pedalboard\.build\sketch\src\libraries\Adafruit_ST7735\Adafruit_ST7735.h:118:80: error: 'newColorX' was not declared in this sc
ope
   uint16_t Color565(uint8_t r, uint8_t g, uint8_t b) { return newColorX(r, g, b);}
                                                                                ^
Error during build: exit status 1

PS C:\Fractal Audio\PROJECT_Github files\Pedalboard>

I have analyzed the new gframe.h file and saw that you just deleted the line 169 so i will delete the line 118 in the ST7735.h

Dont know what editor you are using that is not bitching with errors, i want that one too LOL

Cheers
 
Hey there @prongs_386

I have had some succes! the build.ps1 is working correctly,
Unfortunately, the upload.ps1 is giving these errors:

Code:
PS C:\Fractal Audio\PROJECT_Github files\Pedalboard> C:\Fractal Audio\PROJECT_Github files\Pedalboard\build.ps1
Sketch uses 78120 bytes (14%) of program storage space. Maximum is 524288 bytes.

PS C:\Fractal Audio\PROJECT_Github files\Pedalboard> C:\Fractal Audio\PROJECT_Github files\Pedalboard\upload.ps1
d:\apps\arduino\arduino-cli.exe : In file included from C:\Fractal Audio\PROJECT_Github files\Pedalboard\Pedalboard.ino:13:0:
At C:\Fractal Audio\PROJECT_Github files\Pedalboard\upload.ps1:8 char:5
+     d:\apps\arduino\arduino-cli.exe compile --output-dir "$PSScriptRo ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (In file include...board.ino:13:0::String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

C:\Fractal Audio\PROJECT_Github files\Pedalboard\.build\sketch\generated/settings.h:1:1: error: stray '\377' in program
ÿþc
^
C:\Fractal Audio\PROJECT_Github files\Pedalboard\.build\sketch\generated/settings.h:1:1: error: stray '\376' in program
C:\Fractal Audio\PROJECT_Github files\Pedalboard\.build\sketch\generated/settings.h:1:3: error: 'c' does not name a type
ÿþc
   ^
In file included from C:\Fractal Audio\PROJECT_Github files\Pedalboard\Pedalboard.ino:13:0:
C:\Fractal Audio\PROJECT_Github files\Pedalboard\.build\sketch\generated/settings.h:3:2: error: expected unqualified-id before ')' token
C:\Fractal Audio\PROJECT_Github files\Pedalboard\Pedalboard.ino: In function 'void setup()':
C:\Fractal Audio\PROJECT_Github files\Pedalboard\Pedalboard.ino:109:47: error: 'jsonSettings' was not declared in this scope
   auto error = deserializeJson(PedalSettings, jsonSettings);
                                               ^
Error during build: exit status 1

PS C:\Fractal Audio\PROJECT_Github files\Pedalboard>

The monitor.ps1 is looping somehow. When starting this file in Powershell ISE it just flickers on the screen. When i stop the proces, it asks me for the correct COM_PORT. After i insert 5 it does nothing.

Google is no help at all at the moment

EDIT:
Finally some succes: I have a github downloaded Build from 3-11-2020...
I adjusted the COM_PORT manually to 5 and delete the line 118 in the ST7735.h.

monitor.ps1 is working
upload.ps1 dit the job... the file compiled and uploaded correctly to the arduino :)

Little step further



Cheers
 

Attachments

  • Axelman8 compiling error.txt
    90.1 KB · Views: 4
Last edited:
Cool stuff.... first button Press test and got a response of the window.ps1

Testwindow.jpg

Cheers
 

Attachments

  • Testwindow.jpg
    Testwindow.jpg
    54.6 KB · Views: 22
Alright I've deleted that whole ST7735 lib now - it wasn't referenced anymore.

Also added a new function for quickly selecting presets - pressing the preset display button will then display on all screens a range of presets, eg.
screen 1: 0-36
screen 2: 37-73
then pressing button 2 will display:
screen 1: 37 38 39
screen 2: 40 41 42
etc

So you can quickly move across 512 presets - previously I was either using AxeEdit or the axe front panel to do large jumps between presets.

The intention is to display preset numbers once it's down to 3 numbers per screen. I'm still testing the loading of all preset names though so this will come as a second phase. The main issue really is that for large preset names the text is going to be pretty hard to read.
 
Hey there @prongs_386

Really like how you are finding a solutions for preset selecting.
I saw a video how a similar footcontroller with displays uses this option:

Selecting preset option:
All screens have a number 0-9
f.i. you want preset 60, then select 0, 6, 0 and then the selection button to jump to this specific preset. But your idea could be just as simple as this option.

Cheers
 
Back
Top Bottom