robinfawell Posted March 13, 2006 Report Share Posted March 13, 2006 Dear ThorstenPlease 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 SystemThe 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 Quote Link to comment Share on other sites More sharing options...
TK. Posted March 13, 2006 Report Share Posted March 13, 2006 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 rangeStoring patterns: just use the internal EEPROM to store/restore patterns. The EEPROM can be accessed with the MIOS_EEPROM_* functions, it provides 256 bytesYou 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 statesBest Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
robinfawell Posted March 14, 2006 Author Report Share Posted March 14, 2006 Dear ThorstenThanks for the code for the Auto Reset trigger. This is now incorporated and working. I will start the Memory programs very soon.Regards robin Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.