Jump to content

Changing speed on encoder value MB 6582


Scifo

Recommended Posts

Hey guys!

 

Situation: I have the CUTOFF filter completely closed. To open it fully I need to turn MANY laps on the CUTOFF filter encoder to reach the max value. I suppose this is normal, since holding down SHIFT while turning the knobs increases the rate significantly. BUT, I'm playing at the same time so I have only one hand free.
My questions: Is there a hex-file or such I can edit so the dent-to-value-amount increases? So I can open the filter on that amazing bass to the max with 1 lap instead of 9.

 

I tried looking for this before I posted, cause I have a feeling I've read somewhere that you can edit a file to change this, but I couldn't find any info.

 

Thanks in advance for your help.

 

/Scifo

Link to comment
Share on other sites

You could try if it works better for you if you invert the "fast" function selected with the SHIFT button.

 

For this, open src/cs_menu.inc, search for

btfss   CS_MENU_MODE, CS_MENU_MODE_SHIFT_PRESSED

replace "btfss" by "btfsc"

 

Thereafter build a new .hex file (see also the Wiki for more infos on the toolchain)

 

Alternatively it should also be possible to set a specific speed for the cutoff encoder in the CS_MENU_EncSpeedSet function if you prefer this (but I would have to test the code before providing it)

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Hey TK, thanx for the reply.

That SHIFT-thing sounds like a good solution. First I thought that holding down SHIFT would make the 1-15 value knobs go too fast, but I noticed they are not affected by holding SHIFT. Only the "long" values (0-255 etc) are affected by SHIFT. This is great news, so I will definitely try to edit that .inc-file and build a HEX-file so the MB will have the SHIFT activated by default. I let you know if I need any help doing that.

Thanks again.

Scifo

Link to comment
Share on other sites

  • 4 weeks later...

I just tried this and changed btfss to btfsc.

After compiling and uploading nothing changed.

I edited some menu orders and other things at the same time, these changes worked, so my upload was succesfull.

 

In cs_menu.inc i see two lines with

 

CS_MENU_MODE, CS_MENU_MODE_SHIFT_PRESSED

 

maybe they both need to be edited?

 

one in this block (already edited)

 

CS_MENU_EncSpeedSet_ModVal_GT1F
    ;; max value > 0x1f: set fast speed
    movf    CS_MENU_PARAMETER_MAX_H, W
    movwf    TMP2
    rlf    TMP1, F
    rlf    TMP2, F
    movlw    0x05        ; saturate if value >= 5
    cpfsgt  TMP2, ACCESS    ; (IFLEQ)
    movf    TMP2, W

    ;; increase speed if shift button pressed
    btfsc    CS_MENU_MODE, CS_MENU_MODE_SHIFT_PRESSED
    addlw 2

 

and another one a bit above in the code:

 

CS_MENU_EncSpeedSet_Main
    movlw    2            ; this speed value is taken when ENC_SPEED_FAST is selected
    movwf    MIOS_PARAMETER2
    movlw    MIOS_ENC_SPEED_FAST    ; FAST or NORMAL mode depending on state of shift button
    btfsc    CS_MENU_MODE, CS_MENU_MODE_SHIFT_PRESSED
    movlw    MIOS_ENC_SPEED_NORMAL
    movwf    MIOS_PARAMETER1
    movf    PRODL, W        ; encoder number
    goto    MIOS_ENC_SpeedSet

Link to comment
Share on other sites

  • 4 weeks later...
You could try if it works better for you if you invert the "fast" function selected with the SHIFT button.

 

For this, open src/cs_menu.inc, search for

btfss CS_MENU_MODE, CS_MENU_MODE_SHIFT_PRESSED

replace "btfss" by "btfsc"

 

could somebody confirm this works?

In my case it did nothing :(

Link to comment
Share on other sites

  • 3 weeks later...

possible we are just using the wrong encoders?

I built my cs prototype with cheap encoders i ordered from china (about 15 pices for 5$...). They are detented (24 clicks) and detents cannot be removed as the  detents are made of the switching contacts.

 

Somewhere i have read that by using nondetented encoders the resolution is much better, although i don´t see how this will work as they should still only have 24 impulses per turn (right?).

 

Maybe someone has some input on this and can recomend a better suited part.

Link to comment
Share on other sites

Hey TK, thanx for the reply.

That SHIFT-thing sounds like a good solution. First I thought that holding down SHIFT would make the 1-15 value knobs go too fast, but I noticed they are not affected by holding SHIFT. Only the "long" values (0-255 etc) are affected by SHIFT. This is great news, so I will definitely try to edit that .inc-file and build a HEX-file so the MB will have the SHIFT activated by default. I let you know if I need any help doing that.

Thanks again.

Scifo

Hello Scifo,

 

I have the same situation with CUT OFF of my MB....

Did you change something? If yes i am interested.

 

Best Regards

 

3090

Link to comment
Share on other sites

changing the code is really simple. Just change the line and recompile. I already tried it but for me it changed nothing. So it would be really interesting if it´s a mistake on my side or if it simply doesn´t work like that. Maybe just a little mistake in the discription (although i would normally trust tk blindly).

 

So people, if you are interested, just try it and tell us how it went. If it works for you i´ll have to keep trying and see what my mistake was.

 

 

Besides, i still belive using a MB_NG or MB_64e to handle the controllers would give more options and would be much easier to tweak for best feel and resolution.

The only thing that troubles me is that a second core running the encoders or pots would have to determine what SID (1,2,3,4) is currently active so data will be transmitted on the right channel. Luckily each SID engine sends a dout flag when active, that´s where the SID LEDs are connected. This could be used to let MB_NG switch to the right midi channel(s).

This would also mean that channel assignment would have to be fixed in the ensamble settings. So a Midi router would be required since we want to be able to play each sid individually or unisono from one channel.

Edited by jrp
Link to comment
Share on other sites

You could try if it works better for you if you invert the "fast" function selected with the SHIFT button.

 

For this, open src/cs_menu.inc, search for

btfss   CS_MENU_MODE, CS_MENU_MODE_SHIFT_PRESSED

replace "btfss" by "btfsc"

 

Thereafter build a new .hex file (see also the Wiki for more infos on the toolchain)

 

Alternatively it should also be possible to set a specific speed for the cutoff encoder in the CS_MENU_EncSpeedSet function if you prefer this (but I would have to test the code before providing it)

 

Best Regards, Thorsten.

 

:smile:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...