volatile uint16_t syncPhaseAcc;volatile uint16_t syncPhaseInc;volatile uint16_t grainPhaseAcc;volatile uint16_t grainPhaseInc;volatile uint16_t grainAmp;volatile uint8_t grainDecay;volatile uint16_t grain2PhaseAcc;volatile uint16_t grain2PhaseInc;volatile uint16_t grain2Amp;volatile uint8_t grain2Decay;
For anyone trying to get the Audino project to run and finding that only pot 4 changes anything,
I do not understand the problem.Why should we make all global vars volatile?Vars need only be volatile to prevent the compiler from optimizing them with registers.Typically used in synchronization issues between a main program and ISR's (and probably some other cases).
That is all that needs to be made volatile and it was always thus.
Note - The volatile keyword is not needed in every case however I do not have the resources to confirm which at the moment.