Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Name convention variants vs revisions #73

Open
mjleehh opened this issue Nov 12, 2024 · 0 comments
Open

Name convention variants vs revisions #73

mjleehh opened this issue Nov 12, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@mjleehh
Copy link
Collaborator

mjleehh commented Nov 12, 2024

Problem Statement

There are two revisions of the TBD MK1 board identified as V1 and V2 in the config TUI (see main/Kconfig.projbuild) and there is also

  • MK2 version of the TBD device
  • repurposed Strämpler running TBD
  • the AEM device
  • the BBA Midi device

All of this is rather confusing since it does not really reflect the user perspective on the devices.

Some more Details

The confusion runs down into the technical code and build system layers of the TBD code base. Specifically the V1 and V2 create
the following slightly contradictory situation:

Cases where these are essentially the same:

  • from a user standpoint these may look, but are essentially the same thing
  • from an API standpoint they both identify as mk1 in main/IOCapabilites.hpp and are feature-wise indistinguishable

Cases where they are very different things:

  • on a hardware level they are revisions, utilizing two different audio chips
  • on the root level of the build system they are treated as different devices

The build system and code now has to treat the V1 and V2 versions as different devices everywhere, even where it does not matter at all.

Proposed Improvements

Since we are already dealing with a multitude of hardware variants, which can be rather confusing to new users, we should consider which devices should and need to be supported and should consciously pick a consistent naming scheme that reflects the actual nature of the device (analog vs MIDI, screen or no screen etc). It could be useful to move away from implementation specifics as far as naming is concerned and more to a user level perspective.

On the technical level (software) the device type identifier should be broken down into different capabilities, to avoid unnecessarily probing for specific devices all over the code base. As in

  • which audio chip does it have
  • which type of input does it use
  • does it have a screen
  • which API channels should it utilize (serial, network, ...)
  • ...
@mjleehh mjleehh added the enhancement New feature or request label Nov 12, 2024
@mjleehh mjleehh added this to the tbd tooling and CI milestone Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant