Started working on command set and removing tests
This commit is contained in:
parent
162261e54f
commit
fa8e3f17cc
@ -10,13 +10,26 @@ Adafruit_PCD8544 display = Adafruit_PCD8544(14, 15, 16, 17, 18);
|
|||||||
Button button(4);
|
Button button(4);
|
||||||
Encoder encoder(3, 2);
|
Encoder encoder(3, 2);
|
||||||
|
|
||||||
|
// General vars
|
||||||
unsigned long time;
|
unsigned long time;
|
||||||
int connected = 0;
|
int connected = 0;
|
||||||
int editing = 0;
|
int editing = 0;
|
||||||
int blink = 0;
|
int blink = 0;
|
||||||
|
|
||||||
|
// Encoder related vars
|
||||||
long position = 0;
|
long position = 0;
|
||||||
|
|
||||||
|
// Serial related vars
|
||||||
|
const byte numChars = 32;
|
||||||
|
char receivedChars[numChars];
|
||||||
|
char tempChars[numChars];
|
||||||
|
|
||||||
|
char command[numChars] = {0};
|
||||||
|
char data[numChars] = {0};
|
||||||
|
int intData = 0;
|
||||||
|
|
||||||
|
boolean newData = false;
|
||||||
|
|
||||||
|
|
||||||
// Set backlight
|
// Set backlight
|
||||||
int light = 0;
|
int light = 0;
|
||||||
@ -35,11 +48,12 @@ void toggleBacklight(int value = 128) {
|
|||||||
// Set variables for menu
|
// Set variables for menu
|
||||||
int programLenght;
|
int programLenght;
|
||||||
int currentProgram = 0;
|
int currentProgram = 0;
|
||||||
|
char programName[numChars] = {0};
|
||||||
int menuUpdate = 1;
|
int menuUpdate = 1;
|
||||||
int volume;
|
float volume;
|
||||||
|
|
||||||
// Draw screen
|
// Draw screen
|
||||||
void drawMenu(String name, float percentage) {
|
void drawMenu(char name, float percentage) {
|
||||||
display.clearDisplay();
|
display.clearDisplay();
|
||||||
display.setFont(&Picopixel);
|
display.setFont(&Picopixel);
|
||||||
|
|
||||||
@ -139,7 +153,8 @@ void drawBar(float percentage) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Draw program name in the middle of the display or scroll it
|
// Draw program name in the middle of the display or scroll it
|
||||||
void drawName(String name) {
|
// TODO: Fix char lenght
|
||||||
|
void drawName(char name) {
|
||||||
int width = name.length() * 6;
|
int width = name.length() * 6;
|
||||||
if (width > 84)
|
if (width > 84)
|
||||||
{
|
{
|
||||||
@ -152,6 +167,7 @@ void drawName(String name) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check for button input
|
// Check for button input
|
||||||
|
// TODO: Improve encoder input
|
||||||
void checkInput(unsigned long time) {
|
void checkInput(unsigned long time) {
|
||||||
long newPosition = encoder.read();
|
long newPosition = encoder.read();
|
||||||
if (newPosition != position) {
|
if (newPosition != position) {
|
||||||
@ -194,16 +210,6 @@ void checkInput(unsigned long time) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const byte numChars = 32;
|
|
||||||
char receivedChars[numChars];
|
|
||||||
char tempChars[numChars];
|
|
||||||
|
|
||||||
char command[numChars] = {0};
|
|
||||||
char data[numChars] = {0};
|
|
||||||
int intData = 0;
|
|
||||||
|
|
||||||
boolean newData = false;
|
|
||||||
|
|
||||||
void processData() {
|
void processData() {
|
||||||
if (newData == true) {
|
if (newData == true) {
|
||||||
Serial.print("Raw data recieved: ");
|
Serial.print("Raw data recieved: ");
|
||||||
@ -222,8 +228,29 @@ void processData() {
|
|||||||
if (atoi(strtokIndx) > 0) // Integer data
|
if (atoi(strtokIndx) > 0) // Integer data
|
||||||
{
|
{
|
||||||
intData = atoi(strtokIndx);
|
intData = atoi(strtokIndx);
|
||||||
|
Serial.print("Int data: ");
|
||||||
|
Serial.println(intData);
|
||||||
} else { // String data
|
} else { // String data
|
||||||
strcpy(data, strtokIndx);
|
strcpy(data, strtokIndx);
|
||||||
|
Serial.print("String data: ");
|
||||||
|
Serial.println(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strcmp("HELLO", command) == 0)
|
||||||
|
{
|
||||||
|
Serial.println("<OK>");
|
||||||
|
}
|
||||||
|
else if (strcmp("COUNT", command) == 0)
|
||||||
|
{
|
||||||
|
programLenght = intData;
|
||||||
|
}
|
||||||
|
else if (strcmp("NAME", command) == 0)
|
||||||
|
{
|
||||||
|
// Set program name
|
||||||
|
}
|
||||||
|
else if (strcmp("GETVOL", command) == 0)
|
||||||
|
{
|
||||||
|
// Set volume
|
||||||
}
|
}
|
||||||
|
|
||||||
newData = false;
|
newData = false;
|
||||||
@ -300,19 +327,7 @@ void loop() {
|
|||||||
// Draw menu every second or every 0.1 second when editing
|
// Draw menu every second or every 0.1 second when editing
|
||||||
if (menuUpdate == 1 || (editing == 1 && time % 100 == 0)) {
|
if (menuUpdate == 1 || (editing == 1 && time % 100 == 0)) {
|
||||||
menuUpdate = 0;
|
menuUpdate = 0;
|
||||||
// TODO: Get serial data for program
|
drawMenu(programName, volume);
|
||||||
switch (currentProgram)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
drawMenu("Firefox", volume);
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
drawMenu("Discord", volume);
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
drawMenu("Steam", volume);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check input
|
// Check input
|
||||||
|
Loading…
Reference in New Issue
Block a user