i guess we're running out of memory

This commit is contained in:
Jeremie GABOLDE 2022-09-18 16:09:53 +02:00
parent 38e3882d6a
commit ac57e8c9cb
2 changed files with 80 additions and 108 deletions

View File

@ -16,23 +16,10 @@ struct MemSlot
};
MemSlot memory[] = //128 bytes for the Teensy LC
{
{
{"prst", 1, 0},
{"p1_1", 2, 63},
{"p1_2", 3, 63},
{"p1_3", 4, 63},
{"p1_4", 5, 63},
{"p1_5", 6, 63},
{"p1_6", 7, 63},
{"p1_7", 8, 63},
{"p1_8", 9, 63},
{"p1_9", 10, 63},
{"p1_a", 11, 63},
{"p1_b", 12, 63},
{"p1_c", 13, 63},
{"p1_d", 14, 63},
{"p1_e", 15, 63},
{"p1_f", 16, 63}
{"p2_1", 2, 63},
{"p2_2", 3, 63},
};
@ -52,24 +39,9 @@ MenuItem menuEntries[] =
{
{"", true, "prst"},
{"", false, "edit"},
{"/edit", false, "p1"},
{"/edit", false, "p2"},
{"/edit", false, "p3"},
{"/edit/p1", true, "p1_1"},
{"/edit/p1", true, "p1_2"},
{"/edit/p1", true, "p1_3"},
{"/edit/p1", true, "p1_4"},
{"/edit/p1", true, "p1_5"},
{"/edit/p1", true, "p1_6"},
{"/edit/p1", true, "p1_7"},
{"/edit/p1", true, "p1_8"},
{"/edit/p1", true, "p1_9"},
{"/edit/p1", true, "p1_a"},
//{"/edit/p1", true, "p1_b"},
/*{"/edit/p1", true, "p1_c"},
{"/edit/p1", true, "p1_d"},
{"/edit/p1", true, "p1_e"},
{"/edit/p1", true, "p1_f"},*/
{"/edit/p2", true, "p2_1"},
{"/edit/p2", true, "p2_2"},
};
String menuCurrentPath = "";
@ -88,7 +60,7 @@ SevSeg sevseg;
/*
* key button matrix
*/
#include <Key.h>
//#include <Key.h>
#include <Keypad.h>
const byte rows = 4; //four rows
@ -113,7 +85,6 @@ byte rotaryEncoderState = 0;
// Rotary push button
const int BUTTON_Rotary = 4;
bool BUTTON_Rotary_lastState = HIGH;
/*
* mode presets and action
@ -123,16 +94,16 @@ bool BUTTON_Rotary_lastState = HIGH;
/*
* custom display animations
*/
#include "animations.h"
//#include "animations.h"
int animationFrame = 0;
bool animationLooping = true;
//int animationFrame = 0;
//bool animationLooping = true;
/*
* time cooldown managment
*/
unsigned int lastInputMillis = 0;
unsigned int inputCoolDown = 50;
unsigned int inputCoolDown = 10;
unsigned int sevSegCoolDown = 5000;
/*
@ -196,21 +167,20 @@ void loop()
if (millis() > lastInputMillis + inputCoolDown)
{
char customKey = keypad.getKey();
rotaryEncoderState = rotaryEncoder.rotate();
//Serial.println(customKey);
if (customKey)
{
sendInputOuput(customKey);
}
if (digitalRead(BUTTON_Rotary) == LOW && BUTTON_Rotary_lastState == HIGH) // = pressed
if (rotaryEncoder.push() == 1) // = pressed
{
sendInputOuput(15);
}
else if (rotaryEncoderState == 1 || rotaryEncoderState == 2)
}
rotaryEncoderState = rotaryEncoder.rotate();
if (rotaryEncoderState == 1 || rotaryEncoderState == 2)
{
if ( rotaryEncoderState == 1 ) //Turned Clockwise
{
@ -223,26 +193,21 @@ void loop()
}
}
}
//clear screen after no input delay
if (millis() > lastInputMillis + sevSegCoolDown)
{
sevseg.blank();
}
sevseg.refreshDisplay();
BUTTON_Rotary_lastState = digitalRead(BUTTON_Rotary);
}
void clickKey(int key)
{
Keyboard.press(key);
Keyboard.release(key);
}
void printMenu()
{
Serial.println("printMenu");
Serial.println(menuCurrentPath + "/ ");
Serial.print(menuCurrentPath + "/ ");
if (isInMenu)
{
if(menuIsSettingValue)
@ -254,7 +219,7 @@ void printMenu()
{
updateMenu();
sevseg.setChars(menuCurrentItem.displayName.c_str());
Serial.println("3e :" + menuCurrentItem.displayName);
Serial.println(menuCurrentItem.displayName);
}
}
}
@ -268,9 +233,7 @@ void updateMenu()
{
if(correspondingPathItemIndex == menuSelectionIndex)
{
Serial.println("1e :" + menuEntries[i].displayName);
menuCurrentItem = menuEntries[i];
Serial.println("2e :" + menuCurrentItem.displayName);
}
correspondingPathItemIndex++;
}
@ -425,7 +388,7 @@ void sendInputOuput(int input)
{
lastInputMillis = millis();
sevseg.setNumber(input, -1);
int mode = (getMemorySlot("prst")->value) % 3;
int mode = (getMemorySlot("prst")->value) % (sizeof(modes)/(sizeof(Action)*15));
Action actionToRun = modes[mode][input-1];
if (actionToRun.keyID == -1) //menu
{
@ -454,6 +417,15 @@ void sendInputOuput(int input)
}
else
{
clickKey(actionToRun.keyID);
clickKey(actionToRun.keyID, actionToRun.keyModifierID);
}
}
void clickKey(int key, int modifier)
{
if (modifier != -1) Keyboard.set_modifier(modifier);
Keyboard.press(key);
Keyboard.release(key);
Keyboard.set_modifier(0);
Keyboard.send_now();
}

View File

@ -3,60 +3,60 @@
struct Action
{
int keyID;
String arguments;
int keyModifierID;
};
Action modes[][15] =
{
{
{KEY_F13, ""},
{KEY_F14, ""},
{KEY_F15, ""},
{KEY_F16, ""},
{KEY_F17, ""},
{KEY_F18, ""},
{KEY_F19, ""},
{KEY_F20, ""},
{KEY_F21, ""},
{KEY_F22, ""},
{KEY_F23, ""},
{-1, ""}, //menu
{KEY_MEDIA_VOLUME_DEC, ""},
{KEY_MEDIA_VOLUME_INC, ""},
{KEY_MEDIA_MUTE, ""}
{KEY_MEDIA_PREV_TRACK, -1},
{KEY_MEDIA_PLAY_PAUSE, -1},
{KEY_MEDIA_NEXT_TRACK, -1},
{KEY_F16, -1},
{KEY_F17, -1},
{KEY_F18, -1},
{KEY_F19, -1},
{KEY_F20, -1},
{KEY_F21, -1},
{KEY_F22, -1},
{KEY_F23, -1},
{-1, -1}, //menu
{KEY_MEDIA_VOLUME_DEC, -1},
{KEY_MEDIA_VOLUME_INC, -1},
{KEY_MEDIA_MUTE, -1}
},
{
{KEY_F13, "MODIFIERKEY_SHIFT"},
{KEY_F14, "MODIFIERKEY_SHIFT"},
{KEY_F15, "MODIFIERKEY_SHIFT"},
{KEY_F16, "MODIFIERKEY_SHIFT"},
{KEY_F17, "MODIFIERKEY_SHIFT"},
{KEY_F18, "MODIFIERKEY_SHIFT"},
{KEY_F19, "MODIFIERKEY_SHIFT"},
{KEY_F20, "MODIFIERKEY_SHIFT"},
{KEY_F21, "MODIFIERKEY_SHIFT"},
{KEY_F22, "MODIFIERKEY_SHIFT"},
{KEY_F23, "MODIFIERKEY_SHIFT"},
{-1, ""}, //menu
{KEY_MEDIA_VOLUME_DEC, ""},
{KEY_MEDIA_VOLUME_INC, ""},
{KEY_MEDIA_MUTE, ""}
},
{KEY_F13, -1},
{KEY_F14, -1},
{KEY_F15, -1},
{KEY_F16, -1},
{KEY_F17, -1},
{KEY_F18, -1},
{KEY_F19, -1},
{KEY_F20, -1},
{KEY_F21, -1},
{KEY_F22, -1},
{KEY_F23, -1},
{-1, -1}, //menu
{KEYPAD_MINUS, -1},
{KEYPAD_PLUS, -1},
{KEYPAD_ENTER, -1}
},
{
{KEY_MEDIA_PREV_TRACK, ""},
{KEY_MEDIA_PLAY_PAUSE, ""},
{KEY_MEDIA_NEXT_TRACK, ""},
{KEY_F16, "MODIFIERKEY_CTRL"},
{KEY_F17, "MODIFIERKEY_CTRL"},
{KEY_F18, "MODIFIERKEY_CTRL"},
{KEY_F19, "MODIFIERKEY_CTRL"},
{KEY_F20, "MODIFIERKEY_CTRL"},
{KEY_F21, "MODIFIERKEY_CTRL"},
{KEY_F22, "MODIFIERKEY_CTRL"},
{KEY_F23, "MODIFIERKEY_CTRL"},
{-1, ""}, //menu
{KEY_MEDIA_VOLUME_DEC, ""},
{KEY_MEDIA_VOLUME_INC, ""},
{KEY_MEDIA_MUTE, ""}
{KEY_F13, MODIFIERKEY_CTRL},
{KEY_F14, MODIFIERKEY_CTRL},
{KEY_F15, MODIFIERKEY_CTRL},
{KEY_F16, MODIFIERKEY_CTRL},
{KEY_F17, MODIFIERKEY_CTRL},
{KEY_F18, MODIFIERKEY_CTRL},
{KEY_F19, MODIFIERKEY_CTRL},
{KEY_F20, MODIFIERKEY_CTRL},
{KEY_F21, MODIFIERKEY_CTRL},
{KEY_F22, MODIFIERKEY_CTRL},
{KEY_F23, MODIFIERKEY_CTRL},
{-1, -1}, //menu
{KEYPAD_MINUS, MODIFIERKEY_CTRL},
{KEYPAD_PLUS, MODIFIERKEY_CTRL},
{KEYPAD_ENTER, MODIFIERKEY_CTRL}
}
};