benirose / O_C-BenisphereSuite

Benisphere Suite is a continuation of Hemisphere Suite, an alternate firmware for Ornament and Crime, featuring a dual-applet framework with dozens of different modular functions.
168 stars 17 forks source link

VOR support #63

Open asher opened 1 year ago

asher commented 1 year ago

Saw in forums that this is already planned, but opening an issue to track. I recently picked up an OCP X and would be happy to help with testing or with resolving issues if you've got something in progress in a local branch.

djphazer commented 1 year ago

Excellent! I have a proof-of-concept for you to test

This is the result of merging my phazerville branch into the upstream ocplus branch from Chysn. I'll try to rebase just the VOR stuff as a patch on Beni's production branch. Source tree is here

djphazer commented 1 year ago

Isolated patch against production: https://github.com/djphazer/O_C-BenisphereSuite/tree/vor-patch

asher commented 1 year ago

Thanks for this!! Just installed your phazerville build and so far have noticed that the VOR button is inactive, though long pressing up (enabled via #define VOR_NO_RANGE_BUTTON) does open the range selection modal. The only app I've tried so far is AD Env. In -5/5v mode, it produces 0-5v envs as with a standard build. The other ranges just act as an offset though, in -3/7v mode, the 0 point becomes a constant 2v resulting in 2-7v envelopes, and in 0/10v mode, the zero point becomes 5v, with 5-10v envs.

I won't have time before the weekend, but I'm looking forward to playing around with the vor-patch branch and will see if I can make some progress with this.

djphazer commented 1 year ago

Any progress or insights on this? We're trying to tackle VOR support today...

I will say that many applets are probably designed with naive assumptions about the output voltage range, but it should be relatively easy to tweak them for proper expected behavior.

benirose commented 1 year ago

I have a VOR branch in this repo now that includes the patch and have been testing a build as well. As far as I can tell, the only valuable range is -5 to +5. This seems to match the existing behavior of the VOR version of classic Hemisphere Suite as well. My guess is that it was never fully fleshed out.

Assuming most people are asking for VOR support in Benispheres because they either don't have a version of 4Robots that supports non-VOR or they don't want to have to re-calibrate their module after switching to non-VOR, this is probably sufficient enough to ship. I'd like to circle back after focusing on some other features to actually make VOR support work as people might expect it to, at least as well as we can given the fact all 4 outputs have to use the same range.

opeologist commented 1 year ago

i have a 1UO_C that i believe needs the VOR version of this, but don't have a legacy MacOS device to build from source with. is there any way to link a built hex to flash with? thanks!

djphazer commented 1 year ago

There's a VOR build available on my fork