I’ve gotten hold of some nifty lil joysticks fitted with 10k pots. I’d like to use one of these in place of the 2 encoders for the filter section (cutoff/resonance)…
Initialising the unmuxed ain driver is simple enough but I’m sumwhat at a dead-end trying to swap these filter encoders to the 2 pots instead…
here the same: if you promise that you will write a report about the integration for the MIDIbox portal and send it to Poeloq until the 1st November, I will give you some step by step instructions
Have you already programmed an AIN handler which sends any MIDI event when the joystick is moved? This would be a good starting point
Hey T…
I havnt done any asm editing as of yet, I’ve just worked out how to rescue the button/led brds on my LC …long story! - so i’m gettin this done as a priority Should only take a day at the most…
it allows you to assign up to 64 pots to any menu parameter,
It would be nice, if you could write a short tutorial, how to integrate this driver into the SID application (see the file header) and how to customize the setup
Best Regards, Thorsten.
P.S.: hope it works… it was a quick hack based on the code of cs_menu_enc.inc
this time SUCCESS! surprisingly easy to setup…once ya use ya loaf
Cheers TK!
write-up to follow
EDIT4…
okay, this is workin and feelin nice i’m now thinking about the poss of extending the functionality by making use of a ‘Learn’ button (using one of the spare DIN pins) where u can assign any 2 params to the stick. Like the midilearn function on the ol’ MB64. Doable?
This short artical will describe how to set up the SID CS app for use with 2 additional pots - in this case for a joystick controlling the cutoff and resonance params…
First off, make sure u have the latest sid_init.inc file (see the mios download section at ucapps.de) and copy it over the original one from the SID app .zip archive. Now for the .asm file editing. Open up sid_init.inc and locate these lines:
;; initialize the AIN driver
movlw 2 ; use 2 pots
call MIOS_AIN_NumberSet
call MIOS_AIN_UnMuxed ; don't service multiplexer interface
Pretty self explanotory - we are using only 2 pots so dont need any AIN modules, hence the UnMuxed setting. Now open up sid_ain.inc and locate SID_AIN_POT_ASSIGN_TABLE. Here u’ll find the params u can assign to your pots. In this case as we only want to control the cutoff and res so we only need to edit it to this:
SID_AIN_POT_ASSIGN_TABLE
;; every pot has it's own entry
;; no layer handling supported here!
;; up to 64 entries are allowed for various parameter values
;; Function name parameter menu offset cursor pos
CSAIN_ENTRY CS_MENU_AIN_CHANGE_SYS, CS_SID_FILTER_RESONANCE, CS_MENU_FIL, 0x00, 0x02
CSAIN_ENTRY CS_MENU_AIN_CHANGE_SYS, CS_SID_FILTER_CUTOFF, CS_MENU_FIL, 0x00, 0x01
The table is listed chromatically inline with the AIN inputs so it’s very quick to get a setup goin
Thats it!! Build a new hex file, convert to syx and send to ur box…job dun
Fine fine, so send it to ik@midibox.org so that this FAQ will be part of the portal
There is only one error:
> make sure u have the latest sid_init.inc file
it isn’t sid_init.inc, but sid_ain.inc (http://www.ucapps.de/tmp/sid_ain_enhanced.zip). This file should also be uploaded to the portal - I won’t support it in the future (means: I don’t want to try it out with every new SID release)
Is it possible to add these 8 pots to the minimal cs for the sid in such way that a sequenser records the changes when turned, when a dedicated button for ‘CC’ is not on the surface as it is not in the first step (4 sel. buttons, 1 menu and an encoder)?
Now i’m going to make the din circuit anyways, so i’ll implement the cc button as well. I looked at the schematics and it is indeed easy to make this without vectorboard.
I’ve been experiencing quite a bit of jitter with the pots in this joystick, it is quite annoying because everytime the cut/res changes values by like 1 or 2 (cos of the jitter), then menu param onscreen jumps to these params - so if ur in the middle of editing summin else ur suddenly controlling the cut/res…
Is there a way to just leave cut/res controls in the background? Ie, so when they’re values fluctuate a lil (cos of the jitter) the LCD/menu wont change to these control but just stay as is…
is the joystick a metal shaft? if it is, maybe a touch sensor could be implemented. This would be the ideal solution!
apart from that, have you taken all the usual precations to avoid jitter… adequate power supply, short wires, judicious use of capacitors, mains filter if needed, sheilding, no ground loops, etc?
Has the implementation used features like the AIN deadband?
anyway, it’s exciting to hear about your midibox adventures!
is the joystick a metal shaft? if it is, maybe a touch sensor could be implemented. This would be the ideal solution!
Yup, metal shaft indeed. How and why would making the joystick touch sensor like make a diff?
apart from that, have you taken all the usual precations to avoid jitter… adequate power supply, short wires, judicious use of capacitors, mains filter if needed, sheilding, no ground loops, etc?
Has the implementation used features like the AIN deadband?
psu schem is based on the c4 psu TK done. wires should be okay. havn’t used any capacitiors (should i just add the 100n like in the MF pdf?). no shielding. ground loops - not sure, never really known how to tell if u got them (theres no hum neway). Havnt tried any other ain deadband settings…
on my logic control emulation, when the faders were moved by the software, sometimes they move a little too far, and a bit of jitter meant that the software thought I was moving the fader by hand, so the software updated to an incorrect position. Now, with touch sensors activated, the midibox only sends controller changes when the touch sensor is active, so the software no longer gets incorrect messages, which is awesome! (another of TK’s awesome solutions to make life easy!)
How can I save dif param setups assigned to the joystick pots and flick between them via some buttons? I’m guessing the dif setups could be stored on a bankstick (I have 4 internal ones)…