i guess we're running out of memory
This commit is contained in:
parent
38e3882d6a
commit
ac57e8c9cb
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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}
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue