i guess we're running out of memory
This commit is contained in:
parent
38e3882d6a
commit
ac57e8c9cb
|
@ -18,21 +18,8 @@ struct MemSlot
|
||||||
MemSlot memory[] = //128 bytes for the Teensy LC
|
MemSlot memory[] = //128 bytes for the Teensy LC
|
||||||
{
|
{
|
||||||
{"prst", 1, 0},
|
{"prst", 1, 0},
|
||||||
{"p1_1", 2, 63},
|
{"p2_1", 2, 63},
|
||||||
{"p1_2", 3, 63},
|
{"p2_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}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -52,24 +39,9 @@ MenuItem menuEntries[] =
|
||||||
{
|
{
|
||||||
{"", true, "prst"},
|
{"", true, "prst"},
|
||||||
{"", false, "edit"},
|
{"", false, "edit"},
|
||||||
{"/edit", false, "p1"},
|
|
||||||
{"/edit", false, "p2"},
|
{"/edit", false, "p2"},
|
||||||
{"/edit", false, "p3"},
|
{"/edit/p2", true, "p2_1"},
|
||||||
{"/edit/p1", true, "p1_1"},
|
{"/edit/p2", true, "p2_2"},
|
||||||
{"/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"},*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
String menuCurrentPath = "";
|
String menuCurrentPath = "";
|
||||||
|
@ -88,7 +60,7 @@ SevSeg sevseg;
|
||||||
/*
|
/*
|
||||||
* key button matrix
|
* key button matrix
|
||||||
*/
|
*/
|
||||||
#include <Key.h>
|
//#include <Key.h>
|
||||||
#include <Keypad.h>
|
#include <Keypad.h>
|
||||||
|
|
||||||
const byte rows = 4; //four rows
|
const byte rows = 4; //four rows
|
||||||
|
@ -113,7 +85,6 @@ byte rotaryEncoderState = 0;
|
||||||
|
|
||||||
// Rotary push button
|
// Rotary push button
|
||||||
const int BUTTON_Rotary = 4;
|
const int BUTTON_Rotary = 4;
|
||||||
bool BUTTON_Rotary_lastState = HIGH;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* mode presets and action
|
* mode presets and action
|
||||||
|
@ -123,16 +94,16 @@ bool BUTTON_Rotary_lastState = HIGH;
|
||||||
/*
|
/*
|
||||||
* custom display animations
|
* custom display animations
|
||||||
*/
|
*/
|
||||||
#include "animations.h"
|
//#include "animations.h"
|
||||||
|
|
||||||
int animationFrame = 0;
|
//int animationFrame = 0;
|
||||||
bool animationLooping = true;
|
//bool animationLooping = true;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* time cooldown managment
|
* time cooldown managment
|
||||||
*/
|
*/
|
||||||
unsigned int lastInputMillis = 0;
|
unsigned int lastInputMillis = 0;
|
||||||
unsigned int inputCoolDown = 50;
|
unsigned int inputCoolDown = 10;
|
||||||
unsigned int sevSegCoolDown = 5000;
|
unsigned int sevSegCoolDown = 5000;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -197,20 +168,19 @@ void loop()
|
||||||
{
|
{
|
||||||
char customKey = keypad.getKey();
|
char customKey = keypad.getKey();
|
||||||
|
|
||||||
rotaryEncoderState = rotaryEncoder.rotate();
|
|
||||||
|
|
||||||
//Serial.println(customKey);
|
|
||||||
|
|
||||||
if (customKey)
|
if (customKey)
|
||||||
{
|
{
|
||||||
sendInputOuput(customKey);
|
sendInputOuput(customKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (digitalRead(BUTTON_Rotary) == LOW && BUTTON_Rotary_lastState == HIGH) // = pressed
|
if (rotaryEncoder.push() == 1) // = pressed
|
||||||
{
|
{
|
||||||
sendInputOuput(15);
|
sendInputOuput(15);
|
||||||
}
|
}
|
||||||
else if (rotaryEncoderState == 1 || rotaryEncoderState == 2)
|
|
||||||
|
rotaryEncoderState = rotaryEncoder.rotate();
|
||||||
|
|
||||||
|
if (rotaryEncoderState == 1 || rotaryEncoderState == 2)
|
||||||
{
|
{
|
||||||
if ( rotaryEncoderState == 1 ) //Turned Clockwise
|
if ( rotaryEncoderState == 1 ) //Turned Clockwise
|
||||||
{
|
{
|
||||||
|
@ -223,26 +193,21 @@ void loop()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//clear screen after no input delay
|
||||||
if (millis() > lastInputMillis + sevSegCoolDown)
|
if (millis() > lastInputMillis + sevSegCoolDown)
|
||||||
{
|
{
|
||||||
sevseg.blank();
|
sevseg.blank();
|
||||||
}
|
}
|
||||||
|
|
||||||
sevseg.refreshDisplay();
|
sevseg.refreshDisplay();
|
||||||
|
|
||||||
BUTTON_Rotary_lastState = digitalRead(BUTTON_Rotary);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void clickKey(int key)
|
|
||||||
{
|
|
||||||
Keyboard.press(key);
|
|
||||||
Keyboard.release(key);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void printMenu()
|
void printMenu()
|
||||||
{
|
{
|
||||||
Serial.println("printMenu");
|
Serial.println("printMenu");
|
||||||
Serial.println(menuCurrentPath + "/ ");
|
Serial.print(menuCurrentPath + "/ ");
|
||||||
if (isInMenu)
|
if (isInMenu)
|
||||||
{
|
{
|
||||||
if(menuIsSettingValue)
|
if(menuIsSettingValue)
|
||||||
|
@ -254,7 +219,7 @@ void printMenu()
|
||||||
{
|
{
|
||||||
updateMenu();
|
updateMenu();
|
||||||
sevseg.setChars(menuCurrentItem.displayName.c_str());
|
sevseg.setChars(menuCurrentItem.displayName.c_str());
|
||||||
Serial.println("3e :" + menuCurrentItem.displayName);
|
Serial.println(menuCurrentItem.displayName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -268,9 +233,7 @@ void updateMenu()
|
||||||
{
|
{
|
||||||
if(correspondingPathItemIndex == menuSelectionIndex)
|
if(correspondingPathItemIndex == menuSelectionIndex)
|
||||||
{
|
{
|
||||||
Serial.println("1e :" + menuEntries[i].displayName);
|
|
||||||
menuCurrentItem = menuEntries[i];
|
menuCurrentItem = menuEntries[i];
|
||||||
Serial.println("2e :" + menuCurrentItem.displayName);
|
|
||||||
}
|
}
|
||||||
correspondingPathItemIndex++;
|
correspondingPathItemIndex++;
|
||||||
}
|
}
|
||||||
|
@ -425,7 +388,7 @@ void sendInputOuput(int input)
|
||||||
{
|
{
|
||||||
lastInputMillis = millis();
|
lastInputMillis = millis();
|
||||||
sevseg.setNumber(input, -1);
|
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];
|
Action actionToRun = modes[mode][input-1];
|
||||||
if (actionToRun.keyID == -1) //menu
|
if (actionToRun.keyID == -1) //menu
|
||||||
{
|
{
|
||||||
|
@ -454,6 +417,15 @@ void sendInputOuput(int input)
|
||||||
}
|
}
|
||||||
else
|
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();
|
||||||
|
}
|
||||||
|
|
|
@ -3,60 +3,60 @@
|
||||||
struct Action
|
struct Action
|
||||||
{
|
{
|
||||||
int keyID;
|
int keyID;
|
||||||
String arguments;
|
int keyModifierID;
|
||||||
};
|
};
|
||||||
|
|
||||||
Action modes[][15] =
|
Action modes[][15] =
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{KEY_F13, ""},
|
{KEY_MEDIA_PREV_TRACK, -1},
|
||||||
{KEY_F14, ""},
|
{KEY_MEDIA_PLAY_PAUSE, -1},
|
||||||
{KEY_F15, ""},
|
{KEY_MEDIA_NEXT_TRACK, -1},
|
||||||
{KEY_F16, ""},
|
{KEY_F16, -1},
|
||||||
{KEY_F17, ""},
|
{KEY_F17, -1},
|
||||||
{KEY_F18, ""},
|
{KEY_F18, -1},
|
||||||
{KEY_F19, ""},
|
{KEY_F19, -1},
|
||||||
{KEY_F20, ""},
|
{KEY_F20, -1},
|
||||||
{KEY_F21, ""},
|
{KEY_F21, -1},
|
||||||
{KEY_F22, ""},
|
{KEY_F22, -1},
|
||||||
{KEY_F23, ""},
|
{KEY_F23, -1},
|
||||||
{-1, ""}, //menu
|
{-1, -1}, //menu
|
||||||
{KEY_MEDIA_VOLUME_DEC, ""},
|
{KEY_MEDIA_VOLUME_DEC, -1},
|
||||||
{KEY_MEDIA_VOLUME_INC, ""},
|
{KEY_MEDIA_VOLUME_INC, -1},
|
||||||
{KEY_MEDIA_MUTE, ""}
|
{KEY_MEDIA_MUTE, -1}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{KEY_F13, "MODIFIERKEY_SHIFT"},
|
{KEY_F13, -1},
|
||||||
{KEY_F14, "MODIFIERKEY_SHIFT"},
|
{KEY_F14, -1},
|
||||||
{KEY_F15, "MODIFIERKEY_SHIFT"},
|
{KEY_F15, -1},
|
||||||
{KEY_F16, "MODIFIERKEY_SHIFT"},
|
{KEY_F16, -1},
|
||||||
{KEY_F17, "MODIFIERKEY_SHIFT"},
|
{KEY_F17, -1},
|
||||||
{KEY_F18, "MODIFIERKEY_SHIFT"},
|
{KEY_F18, -1},
|
||||||
{KEY_F19, "MODIFIERKEY_SHIFT"},
|
{KEY_F19, -1},
|
||||||
{KEY_F20, "MODIFIERKEY_SHIFT"},
|
{KEY_F20, -1},
|
||||||
{KEY_F21, "MODIFIERKEY_SHIFT"},
|
{KEY_F21, -1},
|
||||||
{KEY_F22, "MODIFIERKEY_SHIFT"},
|
{KEY_F22, -1},
|
||||||
{KEY_F23, "MODIFIERKEY_SHIFT"},
|
{KEY_F23, -1},
|
||||||
{-1, ""}, //menu
|
{-1, -1}, //menu
|
||||||
{KEY_MEDIA_VOLUME_DEC, ""},
|
{KEYPAD_MINUS, -1},
|
||||||
{KEY_MEDIA_VOLUME_INC, ""},
|
{KEYPAD_PLUS, -1},
|
||||||
{KEY_MEDIA_MUTE, ""}
|
{KEYPAD_ENTER, -1}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{KEY_MEDIA_PREV_TRACK, ""},
|
{KEY_F13, MODIFIERKEY_CTRL},
|
||||||
{KEY_MEDIA_PLAY_PAUSE, ""},
|
{KEY_F14, MODIFIERKEY_CTRL},
|
||||||
{KEY_MEDIA_NEXT_TRACK, ""},
|
{KEY_F15, MODIFIERKEY_CTRL},
|
||||||
{KEY_F16, "MODIFIERKEY_CTRL"},
|
{KEY_F16, MODIFIERKEY_CTRL},
|
||||||
{KEY_F17, "MODIFIERKEY_CTRL"},
|
{KEY_F17, MODIFIERKEY_CTRL},
|
||||||
{KEY_F18, "MODIFIERKEY_CTRL"},
|
{KEY_F18, MODIFIERKEY_CTRL},
|
||||||
{KEY_F19, "MODIFIERKEY_CTRL"},
|
{KEY_F19, MODIFIERKEY_CTRL},
|
||||||
{KEY_F20, "MODIFIERKEY_CTRL"},
|
{KEY_F20, MODIFIERKEY_CTRL},
|
||||||
{KEY_F21, "MODIFIERKEY_CTRL"},
|
{KEY_F21, MODIFIERKEY_CTRL},
|
||||||
{KEY_F22, "MODIFIERKEY_CTRL"},
|
{KEY_F22, MODIFIERKEY_CTRL},
|
||||||
{KEY_F23, "MODIFIERKEY_CTRL"},
|
{KEY_F23, MODIFIERKEY_CTRL},
|
||||||
{-1, ""}, //menu
|
{-1, -1}, //menu
|
||||||
{KEY_MEDIA_VOLUME_DEC, ""},
|
{KEYPAD_MINUS, MODIFIERKEY_CTRL},
|
||||||
{KEY_MEDIA_VOLUME_INC, ""},
|
{KEYPAD_PLUS, MODIFIERKEY_CTRL},
|
||||||
{KEY_MEDIA_MUTE, ""}
|
{KEYPAD_ENTER, MODIFIERKEY_CTRL}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue