Jump to content

DIN Buttons problem on my SID please help!! (Renamed)


dcer10
 Share

Recommended Posts

Hi,

Im having some troubles connecting up my SID, I'm at the last steps now, but having difficulty with the buttons in a couple of respects.

I have attached a picture of the layout of the DIN board I am using (only one of them) in my CS. In the setup_8580.asm file it refers to the cs_menu_io_tables.inc file which has all of the shift registers and pins listed. Considering the layout for my DIN board what would be the correct entries in the cs_menu_io_tables.inc file? Im confused as to the layout of the SR's and pins. Can someone point me in the right direction for my example please?

Here is what I have now in the mios_tables.inc file (just the encoder section)

;; additional CS encoders

;;        SR  Pin  Mode

ENC_ENTRY  0,  0,  MIOS_ENC_MODE_DETENTED2 ; Osc delay/transpose/assign #1

ENC_ENTRY  0,  0,  MIOS_ENC_MODE_DETENTED2 ; Osc attack/finetune/assign #2

ENC_ENTRY  0,  0,  MIOS_ENC_MODE_DETENTED2 ; Osc decay/portamento/assign #3

ENC_ENTRY  0,  0,  MIOS_ENC_MODE_DETENTED2 ; Osc sustain/release/assign #4

ENC_ENTRY  0,  0,  MIOS_ENC_MODE_DETENTED2 ; Osc release/pulsewidth/assign #5

ENC_ENTRY  0,  0,  MIOS_ENC_MODE_DETENTED2 ; LFO rate

ENC_ENTRY  0,  0,  MIOS_ENC_MODE_DETENTED2 ; LFO depth

ENC_ENTRY  3,  5,  MIOS_ENC_MODE_DETENTED2 ; Filter CutOff

ENC_ENTRY  3,  7,  MIOS_ENC_MODE_DETENTED2 ; Filter Resonance

ENC_ENTRY  0,  0,  MIOS_ENC_MODE_DETENTED2 ; Env depth/assign #1

ENC_ENTRY  0,  0,  MIOS_ENC_MODE_DETENTED2 ; Env attack/assign #2

ENC_ENTRY  0,  0,  MIOS_ENC_MODE_DETENTED2 ; Env decay/assign #3

ENC_ENTRY  0,  0,  MIOS_ENC_MODE_DETENTED2 ; Env sustain/assign #4

ENC_ENTRY  0,  0,  MIOS_ENC_MODE_DETENTED2 ; Env release/assign #5

ENC_EOT

and here is what I have in the cd_menu_io_tables.inc file (just in the buttons section)

CS_MENU_DIN_TABLE

;; Function name SR# Pin#

DIN_ENTRY CS_MENU_BUTTON_Dec,     1, 0 ; only valid if rotary encoder not assigned to these pins

DIN_ENTRY CS_MENU_BUTTON_Inc,     1, 1 ; (see mios_tables.inc) and CS_MENU_USE_INCDEC_BUTTONS == 1

DIN_ENTRY CS_MENU_BUTTON_Exec, 1, 2

DIN_ENTRY CS_MENU_BUTTON_Sel1, 1, 7

DIN_ENTRY CS_MENU_BUTTON_Sel2, 1, 6

DIN_ENTRY CS_MENU_BUTTON_Sel3, 1, 5

DIN_ENTRY CS_MENU_BUTTON_Sel4, 1, 4

DIN_ENTRY CS_MENU_BUTTON_Sel5, 4, 7

DIN_ENTRY CS_MENU_BUTTON_Sel6, 4, 6

DIN_ENTRY CS_MENU_BUTTON_Sel7, 4, 5

DIN_ENTRY CS_MENU_BUTTON_Sel8, 4, 4

DIN_ENTRY CS_MENU_BUTTON_Sel9, 2, 4

DIN_ENTRY CS_MENU_BUTTON_Sel10, 2, 5

DIN_ENTRY CS_MENU_BUTTON_SID1, 0,  0

DIN_ENTRY CS_MENU_BUTTON_SID2, 0,  0

DIN_ENTRY CS_MENU_BUTTON_SID3, 0,  0

DIN_ENTRY CS_MENU_BUTTON_SID4, 0,  0

DIN_ENTRY CS_MENU_BUTTON_Link, 0, 0

DIN_ENTRY CS_MENU_BUTTON_CC, 0, 0

DIN_ENTRY CS_MENU_BUTTON_Edit, 1, 3

DIN_ENTRY CS_MENU_BUTTON_Osc_Sel, 3, 3

DIN_ENTRY CS_MENU_BUTTON_Osc_Ctrl, 3, 1

DIN_ENTRY CS_MENU_BUTTON_Osc_Wav,  3, 2

DIN_ENTRY CS_MENU_BUTTON_Osc_RS,  0, 0

DIN_ENTRY CS_MENU_BUTTON_LFO_Sel, 0, 0

DIN_ENTRY CS_MENU_BUTTON_LFO_Wav, 0, 0

DIN_ENTRY CS_MENU_BUTTON_Env_Sel, 0, 0

DIN_ENTRY CS_MENU_BUTTON_Env_Ctrl, 0, 0

DIN_ENTRY CS_MENU_BUTTON_Fil_Sel, 2, 0

DIN_ENTRY CS_MENU_BUTTON_Fil_Mod,  2, 1

DIN_ENTRY CS_MENU_BUTTON_M_O1Ptch, 0, 0

DIN_ENTRY CS_MENU_BUTTON_M_O2Ptch, 0, 0

DIN_ENTRY CS_MENU_BUTTON_M_O3Ptch, 0, 0

DIN_ENTRY CS_MENU_BUTTON_M_O1PW,  0, 0

DIN_ENTRY CS_MENU_BUTTON_M_O2PW,  0, 0

DIN_ENTRY CS_MENU_BUTTON_M_O3PW,  0, 0

DIN_ENTRY CS_MENU_BUTTON_M_Filter, 2, 2

DIN_ENTRY CS_MENU_BUTTON_M_E1, 0, 0

DIN_ENTRY CS_MENU_BUTTON_M_E2, 0, 0

DIN_ENTRY CS_MENU_BUTTON_M_L1, 0, 0

DIN_ENTRY CS_MENU_BUTTON_M_L2, 0, 0

DIN_ENTRY CS_MENU_BUTTON_M_L3, 0, 0

DIN_ENTRY CS_MENU_BUTTON_M_L4, 0, 0

DIN_ENTRY CS_MENU_BUTTON_M_L5, 0, 0

DIN_ENTRY CS_MENU_BUTTON_M_L6, 0, 0

DIN_ENTRY_EOT

What I am confused about in particular is how the encoders for cutoff and resonance will work. The main data encoder has inc and dec pins listed, but the others dont so which do you connect and which do you reference in this file? I have not complied with these new settings yet as im not sure they are correct.

Also another problem is that I am getting some strange button and encoder behaviours. For example, I have only connect up the Menu and Edit Buttons and the main encoder to do a small test. This is done using the default setup_8580.asm file (not one custom for my setup). The menu button and encoder are actually the same in both setups tho so they should work ok I think. The encoder wheel works, but when turning it slowly between the notches (its detended) the program change on the screen looks like its going to happen (flicks) but reverts to the current program. Turning the wheel faster works ok. When pressing the edit button nonthing happens, when pressing the menu button nothing happens, but when pressing the menu button and holding it then pressing edit and releasing edit it shows a menu of some sort.

Also while no buttons are pressed the screen flickers a bit, but when I press and hold the menu button this goes away and the screen looks normal.

Ive also attached some new pictures for anyone interested in the progress :)

Thanks in advance,

John

mbsid_din_johns_thumb.jpg

DSC01833_thumb.jpg

DSC01835_thumb.jpg

DSC01762_thumb.jpg

211_mbsid_din_johns_jpgb1d6e31587cf97706

213_DSC01833_jpgf63253ef27edfe6be3091170

215_DSC01835_jpg933db7bcc4bf2088e189c588

217_DSC01762_jpg363d5ec88e072a939c384d95

Link to comment
Share on other sites

Hi John,

I've currently very limited time to check your setup, but I guess that somebody else who did this in the past could help as well...

The encoder wheel works, but when turning it slowly between the notches (its detended) the program change on the screen looks like its going to happen (flicks) but reverts to the current program. Turning the wheel faster works ok. When pressing the edit button nonthing happens, when pressing the menu button nothing happens, but when pressing the menu button and holding it then pressing edit and releasing edit it shows a menu of some sort.

Also while no buttons are pressed the screen flickers a bit, but when I press and hold the menu button this goes away and the screen looks normal.

This remembers me a little bit on the resistor array issue cchocjr had (resistor array soldered in wrong orientation). But for the encoder it could also be the wrong detented mode (-> mios_tables.inc), or the wrong pinning (an encoder has three pins, there are three possible combinations, only one works correctly)

You could use the MIDIO128 application in order to check if the DINX4 module works correctly (see also http://www.midibox.org/dokuwiki/doku.php?id=din_module)

Best Regards, Thorsten.

Link to comment
Share on other sites

You're right; resistors do not have polarity. However, if you're using the latest SmashTV revision of the board there's an option to use SIP resistor packs, which do need you to check polarity.

For more info: http://www.midibox.org/forum/index.php?topic=7256.msg48524#msg48524

That is, of course, if you're using resistor packs rather than separate resi's.

Link to comment
Share on other sites

Maybe there are some random button triggers which prevent MIOS from checking for upload requests.

However, could you please try to upload MIDIO128 with the 1st level bootloader, which is active for 2 seconds after power-on (before the MIOS V1.9 message appears on the LCD).

Please also use the latest MIOS Studio release beta7_4

Best Regards, Thorsten.

Link to comment
Share on other sites

Hi,

regarding your question about the tables:

having connected 12 Encoders (with at least two pins per Encoder = 24 Digital Connections) on one ShiftRegister ("0") that provides only up to 8 Digital Inputs seems not right...

The same applies for the DIN's, there are 25 more Inputs to SR0, witch would make 51 connections to SR0 ???

You have to fill in the ShiftRegister-Number and the Pin, eg. if you have an Encoder on SR0, Pins D0 and D1 the entry should say:

;;            SR  Pin  Mode

ENC_ENTRY  0,  0,  MIOS_ENC_MODE_WHATEVER

ENC_ENTRY  0,  1,  MIOS_ENC_MODE_WHATEVER

or an Encoder at SR4, Pins D3 and D4:

;;            SR  Pin  Mode

ENC_ENTRY  4,  3,  MIOS_ENC_MODE_WHATEVER

ENC_ENTRY  4,  4,  MIOS_ENC_MODE_WHATEVER

Best regards,

Michael

Link to comment
Share on other sites

Michael, I only put the 0,0 in there as I saw someone say it is best to set all the unused encoders etc to zero. In reality I have 3 encoders and 18 buttons only. Is this not the right thing to do?

right... I already guessed something like this ;)

However, if you have problems gettings your encoders to work properly, I would write down that correctly. It does not hurt to comment lines out and put the encoders in the right order. You can also use some sort of "scratchFile" where you copy and paste unused codeSnippets.

I will try loading the MIDIIO128 application in the mean time to test.

That's a good suggestion. Try that again!

**Update, I did this and now the PIC seems to be unable to load up properly, the MIOS TK 1.9 screen comes up but goes no further, I cant even reload the SID program. Normally at the end of the update it reboots itself, it wont do that. Ive tried several applications now to get something to load. This is a machine which was working ok (except not having the buttons finished), I was even making music with it last nite**

the most important thing is to get to know the reason why something is not working! So "seems to be unable" is not a real descriptive statement! And putting a bunch of different apps, won't help solving anything either.

- Have you tried uploading it again after "it seemed not to work"?

The fact that there's no message "reloading" (and PIC restarting) indicates, that there's a problem with the MIDI-flow from the PC to the Core, either because of some hardware-crap in the box, or because of a misconfigured MIDI-application/routing!

- Have you tried with another interface?

- Is any software MIDI-routing app active?

- Have you tried restarting MIDI-apps?

- You said MIOSStudio "is not working"?

- Sorry to be repetitive, but: what exactly is "not working"?

- Have you followed the uploading notes for MidiOx?

for example setting the speed of delay between the messages; if msg are sent too fast, the PIC is receiving garbage!

- If it's a box that was working formerly, what are the differences now to your procedure in the past?

However I'm a bit confused: Are you talking of two boxes now? If it's just one, there might be a hardware error; if you have two boxes and by uploading an application to the second (formerly working) box, you just prooved, that the error has to be searched somewhere in the sysEx chain. In this case, try getting MIOSStudio to work and send the application from there!

**LATER UPDATE: I still could not get the pic to be re programmed via midi on this box, tried the pic in another midibox and same thing, so I put in a different pic into another working midibox and loaded the SID application to it, which now loads up on the SID im building now, however it does not show the midi in/out lights working on the LTC, nor does it recognise the bankstick board now ***

This indicates, that you have either a bad soldering or bad wiring. If there's a short somewhere, that would explain the flickering of the screen and if the LTC is "disturbing" the SysEx receivement, this would explain why the SysEx Data is not received correctly.

Again:

- try to sort this out piece by piece.

- make sure your MIDI applications are working and you can send/receive sysEx

- disconnect all modules from the core (have you used connectors? ;D)

- upload a test application from the download section

- does it work?

- now switch off the box, connect one module and switch it back on.

- does it work?

(and so on...)

Regards,

Michael

Link to comment
Share on other sites

Uploads working fine since DIN removed

Hey, that's great news! :D

I totally agree! I just cant seem to find where. Ive looked at and "beeped out" every connection in the box more than once, there are no shorts on the boards as they have not been soldered to since it worked, not even touched.

I've had an issue with a SpeakJet prototype board; soldered it one week and then connected it to a Core that was working fine (seemed to me obviously because I'd used it before)... nothing was functioning as expected and it took me about two weeks until I discovered that there was a wrong connection on the Core! I just never found that error, because I've never been using IIC before – Nevertheless I have been so convinced that the error couldn't be on the Core that this irrational assumption brought me two sleepless weeks ::)

What I want to say is: don't let yourself distract from the fact "it was working before"; maybe the error is hiding exactly there where you're not looking - for whatever reason - ;D

Cheers,

AC

Edit:

and the regulator on the core is VERY hot

the regulator can become hot, but running only a Core, LCD and LTC it shouldn't become VERY hot! This indicates there is still something crappy around...

try it without LTC, just Core and LCD, maybe you can track the error down to the Core ;D hehe...

Link to comment
Share on other sites

  • 2 months later...

Hi,

To make it easier to assist I have condensed all of the previous information into this one reply. Sorry if this puts some of the other peoples previous replies out of context.

I have got some problems with the buttons and encoders on the SID. I think the problems are software related, being that I dont know enough about the setup of the application to actually change the application to my button setup.

I have the DIN board set up as in the attached image, and here is a link to a zip file to assemble into HEX to upload to my SID

http://www.dcerecords.dnsalias.com/Working.zip

The resulting HEX works but some of the buttons do unexpected things, and the two extra encoders which I want to do cutoff filter and resonance do decay and sustain. Where would you set up these extra encoders in the application? I did not see them. I have 6 extra buttons whos functions are easy to identify from the diagram which are not doing anything I expect.

I would really appreciate some assistance to get this SID up to 100%, its so close!

Thanks in advance,

John

516_my_din4x_jpgb3ae679d6aa471dfc76fa2c5

Link to comment
Share on other sites

Hi All,

I have made some progress on the SID's control interface. I have uploaded the new code here:

http://www.dcerecords.dnsalias.com/Working_SID_mod.zip

Can someone have a look at it in relation to my DIN diagram which is here:

http://www.dcerecords.dnsalias.com/my_din4x.jpg

All of the select buttons 1-10 are now working, the menu button is working, the cutoff and resonance controls are working but only in the downwards direction not upwards.

My problem is that my edit button which previously worked now does not. Im pretty sure the configuration in the mios tables is correct for it. Also im still having trouble with the three buttons for the filter menus and the three for the osc menus which are shown in the jpg. All of those buttons seem to do something, some do what I want others dont.

Any help would be great!!

Thanks again,

John

Link to comment
Share on other sites

Hi All,

I have made some progress on the SID's control interface. I have uploaded the new code here:

http://www.dcerecords.dnsalias.com/Working_SID_mod.zip

Can someone have a look at it in relation to my DIN diagram which is here:

http://www.dcerecords.dnsalias.com/my_din4x.jpg

All of the select buttons 1-10 are now working, the menu button is working, the cutoff and resonance controls are now working but only in the downwards direction not upwards.

My problem is that my edit button which previously worked now does not, I havent even moved or opened the case, only changed the application. Im pretty sure the configuration in the mios tables is correct for it. I ran midiio128 and the button is pressing d#2 with a value of 127 when pressed and 0 when left alone. Also im still having trouble with two buttons for the mod filter and OSC control as shown in the jpg.

OSC wave works fine as does OSC select, OSC control does go into the osc menu but just scrolls it to the end for some reason. Maybe that is normal? I may change that one to CC if it is as it would be more useful. Filter select is working fine, as is filter mode, but mod filter is doing nothing and is showing note A#2 with a value of 127 when pressed and 0 when left alone. 

With the encoders for the filter and resonace this is what happens in midiio128:

Cutoff Filter encoder - shows A_3 or G#3 seemingly randomly when turned right at a value of 127 whilst turning and 0 when left alone and does exactly the same when turned left.

Resonance encoder - shows B_3 or A#3 seemingly randomly when turned right at a value of 127 whilst turning and 0 when left alone and does exactly the same when turned left.

I think what I need is for someone to tell me what Im doing wrong in the setup files etc that is making all the inputs act a little odd.

Any help would be great!!

Thanks again,

John

Link to comment
Share on other sites

Aftet thinking about it a bit more I think that maybe before the edit button seemed to work, but looking at my application setup I had it sharing a button with select 5 so what I thought was the edit button was probably just activating the menu.

What is the normal behavior of the edit button? I have no Dout do only the LTC in/out leds which makes it hard to tell if something is happening. Nothing happens on the screen but I guess maybe the button is working but not doing something obvious. Accoring to the site edit does this:

If the edit mode is enabled, all parameter changes will be saved automatically into the current selected patch before you select another patch. The LED flashes slowly if there is something to save in order to warn you.

So with no LED, I could be in edit mode or not and not see any change?? If thats the case it may be better for me to not include it or I could be saving over patches with edits all the time which wouldnt be that great.

Perhaps this is the same for cc? I swapped in the application setup edit to cc for a moment to see what happens , I pressed what is now cc and changed some settings but I did not see the out light from the LTC do anything. Since the button is not dead as it works in midiio128 but edit, or CC dont work when assigned to it as far as I can tell, I dont know whats going on with it!

I also tried swapping over in the setup the select 1 and 2 buttons which are known to be good with the edit and cc buttons, and I get the same result ie now when I press select 1 or 2 I get nothing happen. Ill swap them back to their normal state now.

Can someone explain the normal behavior of pressing edit or cc? Also is it possible to run some LED's from the core without a Dout so I can have the edit light?

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...
 Share

×
×
  • Create New...