Skip to content

Instantly share code, notes, and snippets.

@stopshinal
Last active May 24, 2016 00:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stopshinal/74bc6ff51332b00619cd7d20eeb9eb0c to your computer and use it in GitHub Desktop.
Save stopshinal/74bc6ff51332b00619cd7d20eeb9eb0c to your computer and use it in GitHub Desktop.
SlackAlert.ino
#include "ScreenlessLed.h"
#include "ScreenlessButton.h"
#include "ScreenlessBuzzer.h"
ScreenlessLed screenlessLed;
ScreenlessButton screenlessButton;
ScreenlessBuzzer screenlessBuzzer;
SYSTEM_MODE(AUTOMATIC);
void setup() {
screenlessLed.initialize();
screenlessButton.initialize();
bootUp();
}
void loop() {
determineState();
displayState();
}
void determineState() {
screenlessButton.updateState();
screenlessLed.updateState();
screenlessBuzzer.updateState();
if (screenlessButton.wasReleased(0) || screenlessButton.wasReleased(1) || screenlessButton.wasReleased(2) || screenlessButton.wasReleased(3)) {
//Serial.println("A button was released");
getHelp();
}
if (screenlessButton.wasHeld(0) || screenlessButton.wasHeld(1) || screenlessButton.wasHeld(2) || screenlessButton.wasHeld(3)) {
//Serial.println("A button was held");
//Do something fun
screenlessLed.createBreath(2000,8000,VORANGE,VBLUE);
}
}
void displayState() {
screenlessLed.show();
screenlessBuzzer.show();
}
void bootUp() {
Particle.function("slackRespond", slackRespond);
screenlessLed.createBreath(500,4000,VORANGE,VBLUE);
Serial.begin(9600);
Serial.println("Boot up");
}
int slackRespond(String command) {
Serial.println("Help is on the way");
screenlessLed.createRunner(GREEN,800,1000*60*2,CLOCKWISE); //alert stands for 2 minutes
screenlessBuzzer.createSong("G6,8,D6,8,C6,8,E6,4,G5,4,E5,4");
return 1;
}
void getHelp(){
Serial.println("Get Help");
Particle.publish("button_press", "SLACKALERT");
screenlessLed.createRunner(VORANGE,1000,1000*60*4,COUNTERCLOCK); //alert stands for 4 minutes
screenlessBuzzer.createSong("E5,8,G5,8,E6,8,C6,4,D6,4,G6,4");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment