Custom firmware (naming and enabling issues) #342
Replies: 2 comments 1 reply
-
GLad to hear that.
There is no such key in the YAML for enabling of individual components. Analog inputs and encoders need to be enabled explicitly in the configurator, and that includes the DIN MIDI. "enable" for certain things in the YAML file means only that the support for those components is compiled in and that you can enable or disable them later on through the configurator.
Yeah, naturally.
This.
I'm not sure what issue you're describing here. The configurator matches the received board ID which is basically a shortened hash of the board name with the human-readable string. If no such match is found, the configurator will say "Custom board". https://github.com/shanteacontrols/OpenDeckUI/blob/master/src/definitions/board/boards.ts
This might simply be due to the caching on the operating system level. Even when you change the name of the board, the USB VID/PID combination remains the same, so the OS might just reuse the same name as it did the last time. This is something I have no influence on. |
Beta Was this translation helpful? Give feedback.
-
To clarify a bit more: There are two names in play here. The first one is retrieved via SysEx. The configurator asks the board for its ID, and then it matches it with the list in boards.ts file. If a match is found, the name will be shown in the configurator. This is relevant only for the configurator, and nothing else. The second one is the USB device name. The name is always in "OpenDeck | <board_name>" format, where board_name is the name of the YAML configuration file. This is what the operating system and other MIDI software uses. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
After purchasing the opendeck L and making a rough prototype and realizing how awesome this project is, I designed a custom board based on the opendeck L. Using the same hardware as the L but custom paths / pcb. I am wanting to make a custom firmware for the board and I am running into issues. I believe the issues are all firmware and website based because everything works perfectly with the default opendeck31.uf2. I've tried to find solutions on the discussion and wiki to help but the solution is eluding me so here I am asking.
I have two problems.
The first problem I am running into is that on the firmware I can't get features to enable. I used “enable : true” or “enabled : true” and none of the analog inputs, encoders or din midi enable. If I enable these functions through the website config or the standalone config everything works perfectly. Just not sure what I am missing. Is this possible or do I need to do it through the website? If you can do this can you please show me a very clear example of code. I'm looking at 4-15, two encoders 48 and 52, and turn on Din midi. I'm sorry for my lack of understanding and skill. I must not be understanding the wiki.
Attempt to enable Analog:

Another Attempt just trying brute force:

Results on website (nothing is enabled) :

The second problem I am having is changing the name of the board to a custom name and having the website recognize it. I am having some really weird things happen. The changed name firmware is not recognized on windows or android machines, but is recognized on mac. (the opendeck 31 firmware is recognized on all these devices on my board) All the other midi softwares recognize the new name of “Mercury”. I thought this might be an ID issue as discussed in the wiki. I have added a new config to my website with a matching ID but still no luck. I have a python script that pulls the ID to compare. My code pulls the ID as Hex and when converted to decimal it matches.
Python ID pull:

New Config with matching ID:

Mac website (works):

Any help would be greatly appreciated.
Thank you in advance.
My board:

Beta Was this translation helpful? Give feedback.
All reactions