From 77b489526eaa640c66b91f9a73e66bd8a64dd6ac Mon Sep 17 00:00:00 2001 From: --global <--global> Date: Fri, 27 Jan 2023 22:45:22 +0200 Subject: [PATCH] limited value ranges --- software/GToE/GToE.ino | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/software/GToE/GToE.ino b/software/GToE/GToE.ino index 862cc30..f801497 100644 --- a/software/GToE/GToE.ino +++ b/software/GToE/GToE.ino @@ -7,8 +7,10 @@ #define SCREEN_ADDRESS 0x3C -#define PPQN 24 //24 is good for triplets. each pulse is 1/512th note +#define PPQN 24 //24 is a standart for midi #define PULSE_LENGTH 5 +#define MAXBPM 250 //250 at 24ppqn 5ms pulse will be 50/50 square wave +#define MINBPM 20 #define INPUT_CONNECTED_PIN 12 #define INPUT_PIN 2 @@ -30,7 +32,7 @@ bool clockModeOld; int inputMode; //clock, reset, start/stop int clockCount = 0; -int bpm = 30; +int bpm = 130; int pulseClockCount = 0; int pulseCount = 0; int pulsePeriod; @@ -206,9 +208,19 @@ void checkInputs() { int change = encPositionOld - encPosition; if (displayTab == 0) { bpm = bpm + change; + if (bpm > MAXBPM) { + bpm = MAXBPM; + } else if (bpm < MINBPM) { + bpm = MINBPM; + } updatePeriod(); } else { outsModeIndex[displayTab-1] = outsModeIndex[displayTab-1] + change; + if (outsModeIndex[displayTab-1] < 0) { + outsModeIndex[displayTab-1] = 0; + } else if (outsModeIndex[displayTab-1] > (sizeof(outsModes)/sizeof(int)) - 1) { + outsModeIndex[displayTab-1] = (sizeof(outsModes)/sizeof(int)) - 1; + } needToResetChannel = displayTab-1; } updateScreen();