Starless unofficial Dwarf image - ALABS

So I’m back to report the bug…in the meantime, I found another that is more visual than anything else: on the Cabinet Loader plugin editor, it seems to be a glitch that creates a funny spot under the plugin title, it also makes somtimes either the header for “Presets” or the preset name itself a bit “funky”


It seems to be in general with the presets, because I just had it happen with the Dragonfly Plate Reverb. Switching pages fixed it.

Now the bug I wanted to report: When changing presets on AIDA-X it freezes the full UI. Audio still goes through, but you can’t interact with the device anymore. You can also still access the WebGUI while the device interface is frozen.
It actually seems to have something more on the behaviour. First, I access the Plugin Editor for AIDA-X and try to change the preset and on the screen, I get another control being changed (always from the LP1 that I also have on this pedalboard). Then I go back to the plugins list and go back to the AIDA-X and it freezes.
Check the video. (Actually, while recording the video, I managed to go a step further than I ever got before, but I believe it was only because I was fast).

EDIT: I guess it interacts with that parameter of the LP1 because it’s what I have assigned for that very same encoder on the first page and first subpage.

2 Likes

Thank for the report.

The UI glitch was already reported by Abotte IIRC, but I didn’t manage to find the root cause and fix. Anyway it’s just a cosmetic bug.

The freeze is instead a major bug, I’ll take a look ASAP and report back when I found a fix or if I need some more testing.

3 Likes

Ah sorry, forgot about that. Yes, it’s a bug that “doesn’t bug me” :sweat_smile:

Cool. Let me know if you need some extra info from my side.
And thanks a lot!

1 Like

Hi Andrea,
I have a small bug to report, nothing to worry about since it’s quite a remote use case: I noticed that the binding assignment is not working if you have the onboard plug-in editor open. It seems to really assign the control to a footswitch (the icon of the assigned parameter turns purple), but on the device, the binding is not acquired. I didn’t try, but I guess that assigning an encoder would be the same.

I’m reporting this because I assume you’d find any feedback valuable, but I’m not sure it’s worth fixing. This bug requires using the on-board plugin parameter editor and the web GUI simultaneously, which is quite a nonsense imho :sweat_smile:

1 Like

Hi, yes I find any feedback valuable.

Yes, but we can do better, there are some places in the firmware that display a message when attached to the web gui, may be I should do the same and don’t allow on device editing while connected with the GUI.

Ehm, please don’t :sweat_smile:
I find it very handy to use both the web GUI and the on board editor at the same time, and I remember a post of another user who tweaked the software to bypass that nag screen.
If you think you really need to solve the issue, maybe you should prevent the web GUI from saving a binding if the onboard editor it’s opened.

2 Likes

Don’t get me wrong… But you can’t take that hiatus. lol… Looking forward to more updates. This project is sensational! Congratulations!

Hello,

as expected development slowed down during december and january, too busy at work, but I’m near a new release.

I hope to finish the last things in the next weeks :wink:

@jon I didn’t manage to reproduce your bug would mind to send me the pedalboard?

11 Likes

Sure! I’m really happy that you are getting back on this :slight_smile:

Little note, not sure why, but I was not able to share the pedalboard via the share pedalboard feature over the pedalboard feed. I was always getting an error both with your MOD OS version as with the original. So I took it over ssh.
Here is a zip file of it: https://drive.google.com/file/d/1hFIIzDIyY53oWH0Kg_COsFkyu8AbHVP8/view?usp=sharing

I have another thing to add on this: the controls that actually show up is what I have assigned on the normal assignments system. First page, first sub-page.

1 Like

Thank you so much for creating this great addition to the ModDwarf! I understand that it`s a lot of work and possibly extra work with bugfixes and so on.

Anyway, I still dare to wish for implementation of two way midi. Maybe this would still work? Midi cc out nrpn by AndrewCapon · Pull Request #62 · mod-audio/mod-host · GitHub

I will also try to report if I discover some bug.

3 Likes

That would be great !
@AndyCap (Andrew Cap already made the code but was never merged with the MOD OS.
I can’t find it…
Here is a thread talking about it this some Guthub links

2 Likes

Hi @Rom,

5 Likes

Hi all,

this year it’s been harder than usual for me to get back to my normal pace, and I still have very little free time (day job, family, and music of course). Things are slowly getting back to normal though.

Right now I’m working on the last bug [1] I’d like to fix before doing a release.

It hasn’t been the most fun task — it turned out to be quite tricky, and there are still a few issues to iron out that can cause the controller to crash pretty badly :frowning:

Here’s a video showing my progress so far [2]. Keep in mind that the settings are specific to each pedalboard.

I hope to finish this and release a new version soon [3]. After that I’ll try to take a look at the patch Andy linked, but I can’t promise anything since it’s a module I haven’t really looked into yet.

[1] “assign all” function: include only a subset of a plugin’s presets · Issue #20 · sejerpz/alabs-mod-custom-images · GitHub
[2] https://www.dropbox.com/scl/fi/ugj5jursu87ocy54fe9np/Mod-Dwarf-Preset-Selection.mp4?rlkey=mshd442cv61j5ifowjgzwexea&st=b5b778po&dl=0
[3] GitHub · Where software is built

12 Likes

Some quick news: I’m finalizing the development, and if there are no surprises I’ll try to release a new version this weekend.

To gather more information about the controller crashes, I added a new screen with some useful debug information.

If your controller crashes, please send me a photo.

Both the screen and the footswitch LED color contain important details that can help with debugging.

16 Likes

haha, fantastic! hope this debug info will help fix any problems quickly!

Yep, it depends on the type of crash. In cases of heap or stack corruption the information may be unreliable, but for most other kinds of bugs the PC contains the faulting address and the LR contains the return address of the caller function.

I tested this, and with an exact copy of the firmware compiled with -g I can retrieve the exact .c line using addr2line:

arm-none-eabi-addr2line -e out/mod-dwarf-controller.elf 0xbece
/home/andrea/Alab/Devel/mod/mod-dwarf-controller/app/src/main.c:129

For this reason the crash screen also shows something like v.839cfe79, which is the git commit hash of the distributed firmware version.

Also, the color of the central footswitch indicates the type of fault.
In this case red means a Hard Fault.

The original firmware always used magenta but switched the LED that was lit. I preferred to keep the same LED and just change the color :slightly_smiling_face:

I’ll try to document everything better in the starless wiki.

EDIT: On a side note, I noticed that the linker files hardware.c file is incorrect. Not all the available RAM was reserved for heap usage — only about 40 KB out of ~64 KB available. I’m still carefully double-checking the changes needed to fix this.

7 Likes

Hi Andrea,

I just noticed on your github the bug “CV Bindings duplicate entries in combo #34”: it also happens for Control Chain bindings.

All the best!!!

2 Likes

From the commit log [1] it looks like I applied the same fix to CC devices as well, so please try again with the next release.

Let me know how it goes, since I don’t have any CC device to verify the fix on my side.

[1] Fix CV Bindings duplicate entries in combo. Closes /sejerpz/alabs-mod… · sejerpz/mod-ui@55c6fde · GitHub

5 Likes

It’s always good news when this post is updated. Looking forward to the new version. Thank you very much for your work!

3 Likes

After a long night digging into this, I can confirm that not all of the HMI memory is configured as heap regions.

With the current setup, only a total of 40 KB is reserved for the heap memory pools.

INFO:root:----------------------------------------
INFO:root:HMI LOG: 'SRAM: 0x10010000, SRAM0: 0x20008000'
INFO:root:HMI LOG: 'Reg. 0: 0x10006000-0x10008000 (8KB)'
INFO:root:HMI LOG: 'Reg. 1: 0x20000000-0x20008000 (32KB)'
INFO:root:HMI LOG: 'Total: 40KB'
INFO:root:HMI LOG: 'Free: 4528B'
INFO:root:----------------------------------------

This is what I’ve configured now (8K reserved for the main stack, I hope will be enough):

INFO:root:----------------------------------------
INFO:root:HMI LOG: 'SRAM: 0x10010000, SRAM0: 0x20008000'
INFO:root:HMI LOG: 'Heap: 0x100046c0-0x1000e000 (39232 bytes)'
INFO:root:HMI LOG: 'Sys stack: 0x10010000-0x1000e000 (8192 bytes)'
INFO:root:HMI LOG: 'Reg. 0: 0x100046c0-0x1000e000 (38KB)'
INFO:root:HMI LOG: 'Reg. 1: 0x20000000-0x20008000 (32KB)'
INFO:root:HMI LOG: 'Total: 70KB'
INFO:root:HMI LOG: 'Free: 35568B'
INFO:root:----------------------------------------

The question now is: why did the original firmware use only 8 KB from the first memory bank for the heap, leaving the remaining ~56 KB mostly for the stack (56 KB − 19 KB for bss + noinit)?

@falkTX or someone from the MOD team — does anyone remember the rationale behind this decision?

EDIT: I’ve just pushed all my changes. So far this firmware version looks very stable.
If any FreeRTOS experts are around, I’d appreciate some feedback on the heap changes.
Here’s the commit: fix heap memory region definitions, add option to enable rdimon, bett… · sejerpz/mod-dwarf-controller@d2c360c · GitHub

4 Likes