Following my original directions is providing confusing results.
As far as I can tell GAIN is not working at all using firmware 20090326.
* Set GAIN = 0
* Set HighLevel = 1022
* Strike the trigger hard
* MIDI Velocity = 124
* Set GAIN = 8
* Strike the trigger hard
* MIDI Velocity = 124
I would have expected GAIN to reduce reference volage, which in turn would generate a steep input curve towards maximum velocity, in addition to causing more of my hits to reach maximum velocity (127). However, none of my hits reach maximum velocity.
Doing the following:
* Set HighLevelAuto = Yes
* Set HighLevel = 100
* Set GAIN = 0
* Strike the trigger hard
* HighLevel = 989
* Set HighLevelAuto = Yes
* Set HighLevel = 100
* Set GAIN = 0
* Strike the trigger hard
* HighLevel = 985
I'm assuming the spread of 4 in HighLevel between Gain = 0 and Gain = 8 is arbitrary, though maybe completely real. But regardless I would expect Gain to have a significant impact on HighLevel considering the significant reference voltage differences in play.
Levels on ADC inputs in Atmega are measured against reference voltage. When Gain is set to 0, the reference voltage is close to 5V. When Gain is set to 8, the reference voltage is close to 2V. If the input voltage is above the reference voltage it is registered as a maximum (equals to 1023 in Atmega). If the input voltage is between 0 and the reference voltage it is registered as a level between 0 and 1023 proportionately to input/reference voltage relation.
Just to confirm, All Gains Low = No. I'm using MCT to more easily push/pull data from MD and while doing so am trying to remember to confirm the actual MD is registering the same data in MCT to rule out some defect in MCT.
I also confirmed that Gain changes in MCT are being properly pushed to MD. So the good news is MCT appears to be working great. Thumbs up!