Skip to content

Conversation

@Aisper
Copy link

@Aisper Aisper commented Jul 5, 2025

For my version of Deej I wanted to use Encoders. New stuff:

  1. Config has additive_indices array of ints now. Inputs that are present in that array become additive instead of absolute. Mostly needed for encoders so that we can jump between windows with deej.current and always add/reduce volume

  2. Arduino can send a flag that will tell deej on PC to toggle mute on a session. Made it a toggle flag to support deej.current again

  3. Reworked data transfer to produce uint16 with both the value ranging -1023:1023 (negatives to support additive values) and a boolean flag for mute. Still have 4 bits leftover maybe for some additional stuff.

Aisper added 3 commits July 20, 2025 22:44
+deej with rotary encoders + buttons + sliders combo

better handshake
fixed pinout

ver 1.0

new config and better mute stabilization on init

resend init data on sessions refresh

+ encoder rework. They are now additive which enables them to organically change deej.current volume with no jarring leaps of volume
- sadly mute is no longer working for encoders. Gonna fix that in next revision
- removed init data that was needed for encoders to work as they are now additive and don't need to know about the data they affect

! reworked data transfer to use 2 bytes per slider instead of strings

~remove redundant readLine func

+ mute working
~ changed mute flag to be a signal to toggle mute on the PC side. Allows us to use deej.current

~ change to config
! fix a fatal error when getting incomplete data from the arduino

! fix intermittent crashes on Init because of wca not being able to create instance
~ better communication with pc. Fixes cases of wrong byte sequences
@Aisper Aisper changed the title +support for encoders (under additive_indices) and mute toggles for W… Added support for Rotary Encoders, Logarithmic volume option, Mute toggles Jul 20, 2025
@Aisper
Copy link
Author

Aisper commented Jul 20, 2025

Also added logarithmic volume control option. No more using only the bottom 30% of a slider. It's enabled only for pots as it didn't make a lot of sense for rotary encoders.

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.

1 participant