diff --git a/Software/Gravity/Gravity.ino b/Software/Gravity/Gravity.ino index 13c7bf1..2879bb4 100644 --- a/Software/Gravity/Gravity.ino +++ b/Software/Gravity/Gravity.ino @@ -524,7 +524,9 @@ void calculateBPMTiming() { } else if (bpmModulationRange != 0 && bpmModulationChannel == 1) { mod = map(CV2Input, 0, 1023, bpmModulationRange * -10, bpmModulationRange * 10); } - pulsePeriod = 600000 / ((bpm + mod) * PPQN); + byte calcbpm = bpm + mod; + if (calcbpm > MAXBPM) { calcbpm = MAXBPM; }; + pulsePeriod = 600000 / (calcbpm * PPQN); } else if (masterClockMode == 1 && extClockPPQN == 1) { //for ext 1/16 clock (hardcoded) pulsePeriod = (newExtPulseTime - lastExtPulseTime) / 6; diff --git a/Software/Gravity/Interactions.ino b/Software/Gravity/Interactions.ino index 95a542a..25781ab 100644 --- a/Software/Gravity/Interactions.ino +++ b/Software/Gravity/Interactions.ino @@ -255,7 +255,7 @@ void checkInputs() { && displayTab != 0 && menuItem == 2 && channels[displayTab - 1].mode == 0) { //Offset channels[displayTab - 1].offset = channels[displayTab - 1].offset + change; - if (channels[displayTab - 1].offset > 1000) { + if (channels[displayTab - 1].offset == 255) { // 0 - 1 for uint8 is 255 channels[displayTab - 1].offset = 0; } else if (channels[displayTab - 1].offset > channelPulsesPerCycle[displayTab-1]) { channels[displayTab - 1].offset = channelPulsesPerCycle[displayTab-1];