Skip to content

Commit

Permalink
Added in delete button to Web GUI to delete current active alarm. Wit…
Browse files Browse the repository at this point in the history
…h associated updates to code to allow this.

Also removed 2 second check on getting alarm as now only needs to be retrieved on set, delete or page refresh.
  • Loading branch information
chunkysteveo committed May 16, 2019
1 parent b125176 commit 17421c4
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 14 deletions.
25 changes: 23 additions & 2 deletions AlarmClock/AlarmClock.ino
Expand Up @@ -170,7 +170,12 @@ bool buttonPressed = false;

void handleGetAlarm() {
char alarmString[5];
sprintf(alarmString, "%02d:%02d", alarmHour, alarmMinute);
if(alarmActive==true){
sprintf(alarmString, "%02d:%02d", alarmHour, alarmMinute);
}
else{
sprintf(alarmString, "--:--");
}
server.send(200, "text/plain", alarmString);
}

Expand Down Expand Up @@ -236,6 +241,7 @@ void setup() {
server.on("/", handleRoot);
server.on("/setAlarm", handleSetAlarm);
server.on("/getAlarm", handleGetAlarm);
server.on("/deleteAlarm", handleDeleteAlarm);
server.on("/setLED", handleLED);
server.on("/getWiFi", handleWiFi);
server.on("/readADC", handleADC);
Expand Down Expand Up @@ -322,7 +328,22 @@ void handleSetAlarm() {
Serial.println(alarmMinute);
}
}
server.send(200, "text/html", "Set Alarm");
char alarmString[5];
sprintf(alarmString, "%02d:%02d", alarmHour, alarmMinute);
server.send(200, "text/html",alarmString );
}

void handleDeleteAlarm() {

Serial.println("Deleting Alarm");

alarmHour = '--';
alarmMinute = '--';
alarmActive = false;
saveConfig();
Serial.print("Alarm deleted");

server.send(200, "text/html", "--:--");
}

// notes in the melody:
Expand Down
49 changes: 37 additions & 12 deletions AlarmClock/alarmWeb.h
Expand Up @@ -23,8 +23,8 @@ const char webpage[] PROGMEM = R"=====(
<div class="form-row pt-3">
<div class="col-auto">
<h1>Set your alarm</h1>
<div class="form-group">
<label for="exampleInputEmail1">Alarm:</label>
<div class="form-group pt-2">
<label for="exampleInputEmail1" class="sr-only">Alarm:</label>
<div class="input-group mb-3 input-group-lg">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-bell"></i></span>
Expand All @@ -35,14 +35,19 @@ const char webpage[] PROGMEM = R"=====(
</div>
</div>
</div>
<div class="form-inline">
<div class="form-group">
<label for="currentAlarm">Current Alarm:</label>
<input type="text" readonly id="currentAlarm" class="form-control-plaintext" value="--:--" >
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col-auto">
<h5 for="currentAlarm" class="h5">Current Alarm:</h5>
</div>
</div>
<div class="form-row">
<div class="col">
<p id="currentAlarm" class="clearfix mr-3 h5 w-auto d-inline float-left">--:--</p>
<p id="deleteAlarm" class="w-auto invisible m-0"><a href="#" class="text-danger font-weight-bold text-decoration-none" onclick='deleteAlarm()'><i class="fas fa-times"></i> Delete</a></p>
</div>
</div>
<div class="form-row">
<div class="col-auto">
<hr>
Expand Down Expand Up @@ -81,25 +86,45 @@ const char webpage[] PROGMEM = R"=====(
sendData(2);
getWiFi();
getData();
getAlarm();
});
function saveAlarm()
{
var alarmTime = $( "#time" ).val();
if(alarmTime) {
makeAjaxCall("setAlarm?alarm=" + alarmTime);
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("currentAlarm").innerHTML =
this.responseText;
$("#deleteAlarm").show();
}
};
xhttp.open("GET", "setAlarm?alarm=" + alarmTime, true);
xhttp.send();
}
}

window.setInterval(getAlarm, 2000);
// window.setInterval(getAlarm, 2000);

function displayAlarm(data){
var text = "Alarm currently set to: " + data;
$("#currentAlarm").val(data);
$("#currentAlarm").html(data);
$("#deleteAlarm").removeClass('invisible');
if(data!="--:--"){
$("#deleteAlarm").show();
}
else{
$("#deleteAlarm").hide();
}
}
function getAlarm(){
$.ajax({"url": "getAlarm",
"success": displayAlarm});
}
function deleteAlarm(){
$.ajax({"url": "deleteAlarm",
"success": displayAlarm});
}

function sendData(led) {
var xhttp = new XMLHttpRequest();
Expand Down

0 comments on commit 17421c4

Please sign in to comment.