Skip to content
Snippets Groups Projects
Commit 617271ad authored by HoelShare's avatar HoelShare
Browse files

GPN

parent e8175893
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