Enabled C and D sequencer banks

This commit is contained in:
Oleksiy
2025-03-12 20:28:49 +02:00
parent 709c21aaf8
commit 4b30e2ee9f
10 changed files with 32 additions and 4485 deletions

View File

@ -25,13 +25,13 @@ byte bpmModulationRange = 0;
struct channel {
byte mode : 3; //mv: 7. 0 - CLK, 1 - RND, 2 - SEQ, 3 - SWING, 4 - Gate
byte subDiv : 5; //mv: 32
byte random : 4; //mv: 16
byte seqPattern : 4;
byte subDiv : 5; //mv: 31
byte random : 4; //mv: 15
byte seqPattern : 5;
byte CV1Target : 3; //0 - Off, 1 - Subdiv, 2 - RND, 3 - SeqPattern
byte CV2Target : 3;
uint8_t swing : 3;
uint8_t offset : 7; //mv: 128
uint8_t offset : 7; //mv: 127
uint8_t gate : 7;
bool isMute : 1;
};

View File

@ -139,11 +139,12 @@ void checkInputs() {
&& (menuItemSelected || shiftBtnPushed)))
&& displayTab != 0
&& channels[displayTab - 1].mode == 2) { //Change SEQ pattern
channels[displayTab - 1].seqPattern = channels[displayTab - 1].seqPattern + change;
if (channels[displayTab - 1].seqPattern > 100) {
if (channels[displayTab - 1].seqPattern == 0 && change == -1) {
channels[displayTab - 1].seqPattern = 0;
} else if (channels[displayTab - 1].seqPattern > 15) {
channels[displayTab - 1].seqPattern = 15;
} else if (channels[displayTab - 1].seqPattern == 31 && change == 1) {
channels[displayTab - 1].seqPattern = 31;
} else {
channels[displayTab - 1].seqPattern = channels[displayTab - 1].seqPattern + change;
}
saveState();
} else if (((!insideTab && shiftBtnPushed)

View File

@ -232,9 +232,15 @@ void updateScreen() {
if (channels[displayTab - 1].seqPattern < 8) {
valueStr = F("A");
valueStr = valueStr + String(channels[displayTab - 1].seqPattern + 1);
} else {
} else if (channels[displayTab - 1].seqPattern >= 8 && channels[displayTab - 1].seqPattern < 16) {
valueStr = F("B");
valueStr = valueStr + String(channels[displayTab - 1].seqPattern - 7);
} else if (channels[displayTab - 1].seqPattern >= 16 && channels[displayTab - 1].seqPattern < 24) {
valueStr = F("C");
valueStr = valueStr + String(channels[displayTab - 1].seqPattern - 15);
} else if (channels[displayTab - 1].seqPattern >= 24 && channels[displayTab - 1].seqPattern < 32) {
valueStr = F("D");
valueStr = valueStr + String(channels[displayTab - 1].seqPattern - 23);
}
} else if (channels[displayTab - 1].mode == 3) {
byte swingVals[6] = {50, 58, 66, 75, 83, 92};

View File

@ -16,22 +16,23 @@ const PROGMEM uint8_t stkS[437] U8G2_FONT_SECTION("stk-s") =
"\7p\10\255\364V\266\323\2q\7\255\364\216\257\5r\10\253d\242\32*\2t\6\255t\376#w\11"
"\255\364V\245FN\13x\6\233dR\7\0\0\0\4\377\377\0";
const PROGMEM uint8_t stkL[569] U8G2_FONT_SECTION("stk-l") =
"\25\0\4\4\4\5\2\1\6\17\27\1\0\27\0\0\0\1\77\0\0\2\34%'\17\37\313\330R#&"
const PROGMEM uint8_t stkL[592] U8G2_FONT_SECTION("stk-l") =
"\26\0\4\4\4\5\2\1\6\17\27\1\0\27\0\0\0\1\77\0\0\2\63%'\17\37\313\330R#&"
"\32!F\14\211I\310\24!\65\204(MF\21)Cd\304\10\62b\14\215\60Vb\334\20\0/\14"
"\272\336\336d\244\350\263q\343\0\60\37|\377\12\32\25\17\2\35\263\253ChD\30\21bB\14\242S"
"\306lv\350A\10\65H\0\61\24z\337\322\60R\205\314\234\31\61F\310\270\371\177\224\42\3\62\33|"
"\377\216\251$*\10\35\63\66r\206\304\314`c\252\34\301\221\263|\360\300\0\63\34|\377\216)\64*"
"\272\336\336d\244\350\263q\343\0\60\37|\377\216!%*\10\35\263\253ChD\30\21bB\14\242S"
"\306lv\210\204\22Ef\0\61\24z\337\322\60R\205\314\234\31\61F\310\270\371\177\224\42\3\62\33|"
"\377\216)\64*\10\35\63\66r\206\304\314`c\252\34\301\221\263|\360\300\0\63\34|\377\216)\64*"
"\10\35\63\66r \71\332YIr\226\306\16\221P\203\312\14\0\64 |\377\226\220AC\306\20\31B"
"f\310\240\21\204F\214\32\61j\304(cv\366\200\305\312\371\0\65\32}\17\307\12.\206\316\213Bj"
"\226\214\42JtN\315\235\42\261&\325\31\0\66\33}\17\317\251\64+\206\235\63:/\314,aA\352"
"f\310\240\21\204F\214\32\61j\304(cv\366\200\305\312\371\0\65\32|\377\206\212-F\316\27\204\224"
"\254\30\65t\344,\215\35\42\241\6\225\31\0\66\33}\17\317\251\64+\206\235\63:/\314,aA\352"
"\234\335\235\42\261&\325\31\0\67\23|\377\302\212\7)\347Crt\70\345\300\221\363\16\0\70 |\377"
"\216)\64*\10\35\263\331!\22D\310\240\62\205\206\10\11B\307lv\210\204\32Tf\0\71\32|\377"
"\216)\64*\10\35\263\354\20\11\42d\20\235BC\204\4\241cvv\210\204\32Tf\0\71\32|\377"
"\216)\64*\10\35\263\263C$\226\250I\71_\14\42\241\6\225\31\0A\26}\17S\271Si(\31"
"\65d\324\210q\366\356\301w\366\273\1B$}\17\203\232%KF\221\30\66b\330\210a#\206\215\30"
"Eb\311&\243H\14;g\317\36\204`\261\4\0D\33}\17C\42\65KF\15\31\66b\330\210q"
"\366\77;\66b\24\211%j\22\1E\21|\377\302\7)\347%\42\214F\316/\37<\60I\7so"
"\302\37$M$}\17\203\310r\346N\245Q\263\202E\12)L\224\60Q\302\310\20#C\214\14\61\23"
"\306L\30s\366\335\0T\15}\17\303\7\251\206\316\377\377\12\0X)~\37\303@\203\307H\14\33B"
"\210\14\21RC\206\241\63h\222(I\203\346\220\15\31E\204\14!\42\303F\20;h\341\0x\24\312"
"\336\302 CGH\240\61E\312\14\222)\6Y\64\0\0\0\0\4\377\377\0";
"\65d\324\210q\366\356\301w\366\273\1B$}\17C\42\65KF\221\30\66b\330\210a#\206\215\30"
"Eb\311&\243H\14;g\317\36\204`\261\4\0C\27}\17\317\251\64K\10!\63:\377\247\304F"
"\20\42\261F\21\22\0D\33}\17C\42\65KF\15\31\66b\330\210q\366\77;\66b\24\211%j"
"\22\1E\21|\377\302\7)\347%\42\214F\316/\37<\60I\7so\302\37$M$}\17\203\310"
"r\346N\245Q\263\202E\12)L\224\60Q\302\310\20#C\214\14\61\23\306L\30s\366\335\0T\15"
"}\17\303\7\251\206\316\377\377\12\0X)~\37\303@\203\307H\14\33B\210\14\21RC\206\241\63h"
"\222(I\203\346\220\15\31E\204\14!\42\303F\20;h\341\0x\24\312\336\302 CGH\240\61E"
"\312\14\222)\6Y\64\0\0\0\0\4\377\377\0";