mirror of
https://git.alemi.dev/cv-keyboard.git
synced 2024-11-23 17:04:49 +01:00
Some fixes. Will need to reduce step size
This commit is contained in:
parent
9792260a1d
commit
66fe2591af
1 changed files with 31 additions and 12 deletions
|
@ -11,7 +11,7 @@
|
||||||
#define MINUTE 60000
|
#define MINUTE 60000
|
||||||
#define MIDICLOCK 0xf8
|
#define MIDICLOCK 0xf8
|
||||||
#define MAXKEYS 48
|
#define MAXKEYS 48
|
||||||
#define MAXDPAD 3
|
#define MAXDPAD 7
|
||||||
#define MAXSTEP 64
|
#define MAXSTEP 64
|
||||||
#define NBITS 6
|
#define NBITS 6
|
||||||
#define DEBOUNCE 100
|
#define DEBOUNCE 100
|
||||||
|
@ -39,8 +39,8 @@ int NOTE[12] = { // Pins used to read each note (C is 0, B is 11)
|
||||||
int OCTAVE[4] = { // Pins associated to each OCTAVE's contact bar
|
int OCTAVE[4] = { // Pins associated to each OCTAVE's contact bar
|
||||||
12, 9, 8, 10 };
|
12, 9, 8, 10 };
|
||||||
int LEDS[NBITS] = { // Pins used for leds
|
int LEDS[NBITS] = { // Pins used for leds
|
||||||
5, 4, 3, 14, 16, 18 };
|
5, 4, 2, 14, 16, 18 };
|
||||||
int OW = 2; // Pin used for overwrite switch
|
int OW = 3; // Pin used for overwrite switch
|
||||||
int NEXT = 51; // Pin used for next step switch
|
int NEXT = 51; // Pin used for next step switch
|
||||||
int DEL = 11; // Capacitive button used for DELETE button
|
int DEL = 11; // Capacitive button used for DELETE button
|
||||||
int PLUS = 10; // Capacitive button used for PLUS button
|
int PLUS = 10; // Capacitive button used for PLUS button
|
||||||
|
@ -316,7 +316,11 @@ bool insertStep(byte chan) {
|
||||||
link newS = newStep();
|
link newS = newStep();
|
||||||
link buffer;
|
link buffer;
|
||||||
|
|
||||||
if (newS == NULL) return LOW;
|
if (newS == NULL) {
|
||||||
|
display(63);
|
||||||
|
delay(500);
|
||||||
|
return LOW;
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0; i < MAXKEYS; i++) newS->kboard_s[i] = LOW;
|
for (int i = 0; i < MAXKEYS; i++) newS->kboard_s[i] = LOW;
|
||||||
for (int i = 0; i < MAXDPAD; i++) newS->dpad_s[i] = LOW;
|
for (int i = 0; i < MAXDPAD; i++) newS->dpad_s[i] = LOW;
|
||||||
|
@ -334,11 +338,19 @@ bool insertStep(byte chan) {
|
||||||
buffer = current[chan]->next;
|
buffer = current[chan]->next;
|
||||||
current[chan]->next = newS;
|
current[chan]->next = newS;
|
||||||
newS->next = buffer;
|
newS->next = buffer;
|
||||||
nstep[chan]++;
|
|
||||||
while (buffer != head[chan]) {
|
int c = 0;
|
||||||
buffer->stepnumber++;
|
buffer = head[chan];
|
||||||
|
|
||||||
|
buffer->stepnumber = c;
|
||||||
|
c++;
|
||||||
|
buffer = buffer->next;
|
||||||
|
while(buffer != head[chan]) {
|
||||||
|
buffer->stepnumber = c;
|
||||||
|
c++;
|
||||||
buffer = buffer->next;
|
buffer = buffer->next;
|
||||||
}
|
}
|
||||||
|
nstep[chan] = c;
|
||||||
|
|
||||||
return HIGH;
|
return HIGH;
|
||||||
}
|
}
|
||||||
|
@ -365,12 +377,19 @@ bool deleteStep(byte chan) {
|
||||||
buffer->next = current[chan]->next; // Skip step which is being deleted
|
buffer->next = current[chan]->next; // Skip step which is being deleted
|
||||||
if (current[chan] == head[chan]) head[chan] = head[chan]->next; // If deleting head, head moves forward
|
if (current[chan] == head[chan]) head[chan] = head[chan]->next; // If deleting head, head moves forward
|
||||||
free(current[chan]); // Step is actually deleted
|
free(current[chan]); // Step is actually deleted
|
||||||
nstep[chan]--; // Decreased the counter
|
|
||||||
current[chan] = buffer; // Current step becomes previous step
|
current[chan] = buffer; // Current step becomes previous step
|
||||||
buffer = buffer->next; // Skip the current step which was just before deleted step
|
|
||||||
while(buffer != head[chan]) { // If this is not the head,
|
int c = 0;
|
||||||
buffer->stepnumber--; // decrease counter
|
buffer = head[chan];
|
||||||
buffer = buffer->next; // and move on
|
|
||||||
|
buffer->stepnumber = c;
|
||||||
|
c++;
|
||||||
|
buffer = buffer->next;
|
||||||
|
while(buffer != head[chan]) {
|
||||||
|
buffer->stepnumber = c;
|
||||||
|
c++;
|
||||||
|
buffer = buffer->next;
|
||||||
}
|
}
|
||||||
|
nstep[chan] = c;
|
||||||
return HIGH;
|
return HIGH;
|
||||||
}
|
}
|
Loading…
Reference in a new issue