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

Use optional flag for parameter inversion on legacy firmware #70

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

antisvin
Copy link
Collaborator

@antisvin antisvin commented Jul 6, 2020

This removes parameter inversion from OWL builds unless "USE_LEGACY_FIRMWARE" flag is set. Not sure if we should define it by default or no, especially for web patcher.

@pingdynasty
Copy link
Collaborator

Hi @antisvin!

so is the purpose to make patches that work with OpenWare firmwares, where the inversion happens on the firmware side?

If so, how about instead we define a new OWL_MODULAR_HARDWARE id, rename the old one OWL_MODULAR_LEGACY_HARDWARE, and do the inversion based on that?

So new firmwares would use the new hardware id, with no inversion, and old ones would work the same.

@antisvin
Copy link
Collaborator Author

antisvin commented Jul 7, 2020

Yeah, exactly for this issue. This patch eliminates conditional check for new FW completely, while hardware ID check would require doing it for Owl1 even if it runs new FW. So I guess it would be better to keep this flag (and set it by default in makefile), but use ID-based check that would allow building patches that support both firmwares on Owl1.

If there would be a way to set hardware-specific flags in web UI, this flag could also be exposed (along with display support, digital bus, etc). Performance difference would likely be negligible, but we may want to use it for other purposes if there would be some features added that can't be supported on old FW.

I'll rework this PR and will add a branch with separate device IDs in OpenWare repo. I will add IDs at least for Owl modular and Pedal. I'm not sure if something should be done for Rack - do you still have that hardware, what FW will it use if you do?

@pingdynasty
Copy link
Collaborator

okay sounds good - Rack uses OpenWare, so it's only OWL Pedal and OWL Modular that need legacy support.

@antisvin
Copy link
Collaborator Author

I've updated this PR based on discussion above. Also, I've mentioned adding device ID for OwlPedal legacy earlier, but it's probably unnecessary. It doesn't use ADC parameter inversion AFAICT, so there's no difference between firmware versions for pedal.

I've added a separate OwlLegacy option for PLATFORM in Makefile and made it the default - looks like web patcher doesn't set anything when building patches, this should be backwards compatible. And I've confirmed that this setting works by building FW with both device IDs

Not sure if it's OK to copy full list of hardware IDs from Openware to sync them, I apologize if this is top secret information ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants