fixing broken branching (I guess)

This commit is contained in:
--global
2023-02-10 01:27:09 +02:00
parent ef82663e6f
commit 6b190610f2
2 changed files with 231 additions and 110 deletions

View File

@ -12,7 +12,6 @@
#define MAXBPM 250 //250 at 24ppqn with 5ms pulse will be 50/50 square wave
#define MINBPM 20
#define INPUT_CONNECTED_PIN 0
#define INPUT_PIN 2 //needs to be an interrupt pin
#define ENC_BTN_PIN 17
#define ENC_D1_PIN 4
@ -29,7 +28,7 @@ unsigned int bpm = 130;
struct channel {
unsigned int mode;
bool random;
int random;
bool modulationChannel; //0 - A1, 1 - A2
int modulationRange;
};
@ -80,7 +79,6 @@ void setup() {
EEPROM.get(0, bpm);
EEPROM.get(sizeof(int), channels);
pinMode(INPUT_CONNECTED_PIN, INPUT);
pinMode(ENC_BTN_PIN, INPUT_PULLUP);
pinMode(START_STOP_BTN_PIN, INPUT_PULLUP);
pinMode(START_STOP_BTN_PIN, ANALOGUE_INPUT_1_PIN);
@ -207,14 +205,6 @@ void saveState() {
void checkInputs() {
//input jack switcch
externalClockConnected = digitalRead(INPUT_CONNECTED_PIN);
if (externalClockConnected != externalClockConnectedOld) {
//updateScreen();
externalClockConnectedOld = externalClockConnected;
Serial.println(externalClockConnected);
}
//encoder button
if (!digitalRead(ENC_BTN_PIN) && !encPressRegistered) {
encPressRegistered = true;
@ -269,7 +259,10 @@ void checkInputs() {
}
needToResetChannel = displayTab-1;
} else if (displayTab != 0 && insideTab == 1) { //random
channels[displayTab-1].random = !channels[displayTab-1].random;
channels[displayTab-1].random = channels[displayTab-1].random + change;
if (channels[displayTab-1].random > 9 || channels[displayTab-1].random < 0) {
channels[displayTab-1].random = 0;
}
} else if (displayTab != 0 && insideTab == 2) { //modulation
channels[displayTab-1].modulationRange = channels[displayTab-1].modulationRange + change;
if (channels[displayTab-1].modulationRange > 6 || channels[displayTab-1].modulationRange < -6) {
@ -329,13 +322,13 @@ void updateScreen() {
}
}
display.setTextColor(SSD1306_BLACK, SSD1306_WHITE);
//display.println(F(" "));
display.fillRect(108, 2, 20, 8, SSD1306_WHITE);
display.println();
display.println();
display.fillRect(0, 10, 128, 2, SSD1306_WHITE);
//Content
display.setCursor(4,16);
display.setTextSize(3);
display.setTextColor(SSD1306_WHITE);
if (displayTab == 0) {
@ -343,12 +336,12 @@ void updateScreen() {
display.println(F("bpm"));
} else {
if (clockModes[channels[displayTab-1].mode] == 0) {
display.print(F(" OFF"));
display.print(F("OFF"));
} else if (clockModes[channels[displayTab-1].mode]>0) {
display.print(F(" /"));
display.print(F("/"));
display.print(abs(clockModes[channels[displayTab-1].mode]));
} else {
display.print(F(" x"));
display.print(F("x"));
display.print(abs(clockModes[channels[displayTab-1].mode]));
}
}
@ -357,6 +350,7 @@ void updateScreen() {
display.println();
//Extra params
display.setCursor(58,16);
display.setTextSize(1);
if (displayTab != 0) {
if (insideTab == 1) {
@ -365,17 +359,18 @@ void updateScreen() {
display.setTextColor(SSD1306_WHITE);
}
display.print(F(" RND:"));
if (channels[displayTab-1].random) {
display.print(F("On "));
if (channels[displayTab-1].random > 0) {
display.print(channels[displayTab-1].random);
display.print(F("0% "));
} else {
display.print(F("Off "));
}
display.setCursor(60,50);
if (insideTab == 2) {
display.setTextColor(SSD1306_BLACK, SSD1306_WHITE);
} else {
display.setTextColor(SSD1306_WHITE);
}
display.setCursor(58,30);
display.print(F(" MOD:"));
if (channels[displayTab-1].modulationChannel && channels[displayTab-1].modulationRange != 0) {
display.print(F("A2 "));