Skip to content
Snippets Groups Projects
Commit e76b5d6e authored by OleL's avatar OleL
Browse files
parents 3d3ac83e 617271ad
No related branches found
No related tags found
No related merge requests found
......@@ -40,6 +40,9 @@ Menu *role_menu = new Menu(2); // 2 Items per page
Player *player;
GameServer *server;
GameClient *client;
char pixIndex = 0;
bool changePixels = true;
unsigned long lastChange = 0;
unsigned long lastNotificationPull = 0;
void setup() {
......@@ -78,7 +81,7 @@ void hostGame() {
#endif
}
String recv_ir(){
String recv_ir() {
badge.setGPIO(IR_EN, HIGH);
Serial.println("Entering receive mode");
String received = "";
......@@ -91,14 +94,14 @@ String recv_ir(){
while (!dataCompleted && !done) {
int on_time = 0;
decode_results results; // Somewhere to store the results
decode_results results; // Somewhere to store the results
if (irrecv.decode(&results)) {
if (results.overflow) {
Serial.println("IR code too long. Edit IRremoteInt.h and increase RAWBUF");
return "a12\n7.0\n.0.\n1b";
}
char * buf = reinterpret_cast<char*>(&results.value);
char *buf = reinterpret_cast<char *>(&results.value);
if (millis() - on_time > 500) {
pixels.setPixelColor(1, pixels.Color(0, 0, 0));
......@@ -109,7 +112,7 @@ String recv_ir(){
uint8_t checksum = buf[1];
dataCompleted = true;
if(checksum == checksumRec) {
if (checksum == checksumRec) {
dataVerified = true;
pixels.setPixelColor(1, pixels.Color(0, 100, 0));
} else {
......@@ -117,8 +120,7 @@ String recv_ir(){
}
pixels.show();
on_time = millis();
}
else {
} else {
received += String(buf[0]) + buf[1] + buf[2] + buf[3];
checksumRec += buf[0] + buf[1] + buf[2] + buf[3];
Serial.printf("->:\n\t0: %c\n\t1: %c\n\t2: %c\n\t3: %c\n", buf[0], buf[1], buf[2], buf[3]);
......@@ -166,10 +168,17 @@ void loop() {
if (millis() - lastNotificationPull > BADGE_PULL_INTERVAL) {
if (connectBadge()) {
pixels.setPixelColor(pixIndex, pixels.Color(0, 0, 0));
pixels.setPixelColor(0, pixels.Color(0, 255, 0));
} else {
lastNotificationPull = millis();
changePixels = false;
}
lastNotificationPull = millis();
}
if (changePixels && millis() - lastChange > 1200) {
pixels.setPixelColor(pixIndex, pixels.Color(0, 0, 0));
pixIndex = (pixIndex + 1) % 4;
pixels.setPixelColor(pixIndex, pixels.Color(255, 0, 0));
lastChange = millis();
}
pixels.show();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment