Jump to content

Organ Console is working!


robinfawell
 Share

Recommended Posts

Dear Thorsten

Please accept my thanks for your efforts in helping me with the organ console.  It is probably the major design hurdle. The dump_table/dump_index coding was solved a few nights ago.

I have to connect the keyboards pedalboard and console together and I need to test the AIN inputs some more. There are also a few small remaining problems.

Automatic triggring of "Reset" at Switch-On.

I have a button on the console which triggers a "Reset" 0x4056 byte sysex message. This takes a few seconds.

I would also like to trigger this at the time (or just after) the DC power is applied to the system.  Is there a standard method using the PIC or do I devise a circuit to do this?

Stop  Memory System

The main organ "Stops"consist of 27 buttons and Leds arranged in 7 groups of "Radio" buttons.  I would like record use 5 "Memory" buttons to recall 5 differet setup patterns. The idea is to select the combinations in the normal way and use a "Record" button in conjunction with each of the buttons in turn to memorise each combination.  The patterns would be chosen offline.

This would mean that I would need togenerate 7 SendDumps on pressing any of the memory buttons.  I imagine that there might be timing restrictions on sending such messges at one time.

Please help me a little.

Thanks Robin

Link to comment
Share on other sites

Hi Robin,

A reset message could be triggered counter driven from the Tick() task.

Just declare a global variable "unsigned int delayed_reset", set it to 0xffff within Init() (this function is only called once after a core reset)

Within Tick() decrement the variable until it reaches 0, then send the SysEx message:


  if( delayed_reset && !--delayed_reset ) {
      // send SysEx message
  }
[/code]

(once the variabled reached zero, it won't be decremented anymore)

The delay can be adjusted by changing the default value within Init(). The delay time is not exact, but within an known range

Storing patterns: just use the internal EEPROM to store/restore patterns. The EEPROM can be accessed with the MIOS_EEPROM_* functions, it provides 256 bytes

You need to store the variables which hold the "stop" configuration, and once they have been restored, you need to call the functions which send the SysEx dumps depending on the stop states

Best Regards, Thorsten.

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