Added hourly buzz on Daisy Face

master
David Volovskiy 2025-03-09 12:11:32 -04:00
parent 6f387e9ecd
commit db27f32882
2 changed files with 24 additions and 2 deletions

View File

@ -11,6 +11,7 @@ let location;
// variable for controlling idle alert // variable for controlling idle alert
let lastStep = getTime(); let lastStep = getTime();
let warned = 0; let warned = 0;
let hourly_buzz_occurred = false;
let idle = false; let idle = false;
let IDLE_MINUTES = 26; let IDLE_MINUTES = 26;
@ -87,6 +88,7 @@ function loadSettings() {
settings.idle_check = (settings.idle_check === undefined ? true : settings.idle_check); settings.idle_check = (settings.idle_check === undefined ? true : settings.idle_check);
settings.batt_hours = (settings.batt_hours === undefined ? false : settings.batt_hours); settings.batt_hours = (settings.batt_hours === undefined ? false : settings.batt_hours);
settings.hr_12 = (settings.hr_12 === undefined ? false : settings.hr_12); settings.hr_12 = (settings.hr_12 === undefined ? false : settings.hr_12);
settings.hourly_buzz = (settings.hourly_buzz === undefined ? false : settings.hourly_buzz);
settings.ring = settings.ring||'Steps'; settings.ring = settings.ring||'Steps';
settings.idxInfo = settings.idxInfo||0; settings.idxInfo = settings.idxInfo||0;
settings.step_target = settings.step_target||10000; settings.step_target = settings.step_target||10000;
@ -264,6 +266,7 @@ function drawClock() {
var date = new Date(); var date = new Date();
var hh = date.getHours(); var hh = date.getHours();
var mm = date.getMinutes(); var mm = date.getMinutes();
let min = mm;
var ring_percent; var ring_percent;
var invertRing = false; var invertRing = false;
switch (settings.ring) { switch (settings.ring) {
@ -321,9 +324,20 @@ function drawClock() {
drawInfo(); drawInfo();
// recalc sunrise / sunset every hour // recalc sunrise / sunset every hour
if (drawCount % 60 == 0) if (drawCount % 60 == 0) {
updateSunRiseSunSet(date, location.lat, location.lon, settings.ring == 'Sun'); let recalcSunLeft = (settings.ring == 'Sun' || settings.hourly_buzz);
updateSunRiseSunSet(date, location.lat, location.lon, recalcSunLeft);
}
drawCount++; drawCount++;
if (settings.hourly_buzz) {
if (min != 0)
hourly_buzz_occurred = false;
else if (!hourly_buzz_occurred && isDaytime) {
Bangle.buzz(150);
hourly_buzz_occurred = true;
}
}
} }
function drawSteps() { function drawSteps() {

View File

@ -8,6 +8,7 @@
'check_idle' : true, 'check_idle' : true,
'batt_hours' : false, 'batt_hours' : false,
'hr_12' : false, 'hr_12' : false,
'hourly_buzz' : false,
'ring' : 'Steps', 'ring' : 'Steps',
'idxInfo' : 0, 'idxInfo' : 0,
'step_target' : 10000}; 'step_target' : 10000};
@ -68,6 +69,13 @@
save(); save();
}, },
}, },
'Hourly Buzz': {
value: !!s.hourly_buzz,
onchange: v => {
s.hourly_buzz = v;
save();
},
},
'Ring Display': { 'Ring Display': {
value: 0 | ring_options.indexOf(s.ring), value: 0 | ring_options.indexOf(s.ring),
min: 0, max: ring_options.length - 1, min: 0, max: ring_options.length - 1,