From 03a2bc29b82556af9096bfa388bb099a5d92dd33 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 18 Mar 2022 08:41:02 +0000 Subject: [PATCH] Remove files that weren't meant to be in the PR --- apps/timer/app-icon.js | 1 - apps/timer/app.js | 65 ------- apps/timer/app.png | Bin 1011 -> 0 bytes apps/timer/metadata.json | 13 -- apps/widdaysleft/daysleft.json | 9 - apps/widdaysleft/metadata.json | 14 -- apps/widdaysleft/widget.js | 78 --------- apps/widdaysleft/widget.png | Bin 1043 -> 0 bytes modules/suncalc.js | 298 --------------------------------- 9 files changed, 478 deletions(-) delete mode 100644 apps/timer/app-icon.js delete mode 100644 apps/timer/app.js delete mode 100644 apps/timer/app.png delete mode 100644 apps/timer/metadata.json delete mode 100644 apps/widdaysleft/daysleft.json delete mode 100644 apps/widdaysleft/metadata.json delete mode 100644 apps/widdaysleft/widget.js delete mode 100644 apps/widdaysleft/widget.png delete mode 100644 modules/suncalc.js diff --git a/apps/timer/app-icon.js b/apps/timer/app-icon.js deleted file mode 100644 index d0fb2e0be..000000000 --- a/apps/timer/app-icon.js +++ /dev/null @@ -1 +0,0 @@ -require("heatshrink").decompress(atob("mEwxH+AH4A/AH4ALjAAWF/4v3AAWJACDCdF/4vf/1ms1l///h4FBAA4ugs0eFwNlF5IweEAUP/8eFxQvjLxYvhR4Ivtd4IvqSAjupMAsPF9TBEMBIugMIouqF4ZerGBYukGBIumGA4uoF96+2GEwuJGEooEoVCF84uFlUqGEwuHGE4uIGAwuijguFAAMcGEIgCjouHAAMdF8crF5MrF8SNISIwvfdgzyIeECPNFz2JACAv/F/UYACwv/F+4A/AH4AzA=")) diff --git a/apps/timer/app.js b/apps/timer/app.js deleted file mode 100644 index e903f84b5..000000000 --- a/apps/timer/app.js +++ /dev/null @@ -1,65 +0,0 @@ -var mins = 7; -var counter; -var counterInterval; -var timers = [9, 7, 5, 3, 1]; - -function showMainMenu() { - const menu = { - '': { 'title': 'Timers' }, - }; - timers.forEach((timer,idx)=>{ - menu[timer] = function() { - startTimer(timer); - }; - }); - return E.showMenu(menu); -} - -function outOfTime() { - if (counterInterval) return; - E.showMessage("Out of Time", "My Timer"); - Bangle.buzz(); - // again, 3 secs later - setTimeout(outOfTime, 3000); -} - -function countDown() { - counter--; - // Out of time - if (counter<=0) { - clearInterval(counterInterval); - counterInterval = undefined; - setWatch(()=>{load();}, BTN1); // Bangle1: BTN2 - outOfTime(); - return; - } - - function sec2time(counter) { - let m = Math.floor(counter / 60); - let s = counter - m * 60; - if (s < 10) - return `${m}:0${s}`; - else - return `${m}:${s}`; - } - - g.clear(true); - g.drawImage(require("Storage").read("timer.img"),70,20); - g.setFontAlign(0,0); // center font - g.setFont("Vector",60); // vector font, 80px - // draw the current counter value - g.drawString(sec2time(counter),90,120); - // optional - this keeps the watch LCD lit up - // g.flip(); -} - -function startTimer(timer) { - counter = timer * 60; - // console.log(counter); - countDown(); - if (!counterInterval) - counterInterval = setInterval(countDown, 1000); -} - -showMainMenu(); -//startTimer(); \ No newline at end of file diff --git a/apps/timer/app.png b/apps/timer/app.png deleted file mode 100644 index cfd942ea013fdda73add2a8f06f63628f6f4d8eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1011 zcmV0rD z1-1BOqO}O(lTg8jLJ)2HRIT^}1<@B3tE;kzRZPKx4Rq6xZQYf&R3tTNv)N5%=J>F? z>1LBQGkb19$$nqv-aGf)@Au3-_s*R;&_omK8z!v5=nK!D1oOZx5;L~{?ROsxV-snB z=9Y*D5Euw+(|`kzr0`q47-!tV&62XK{W%u_)k^Kcf`xjV!?yV-@(KK zh{zs|23-hAWNFWi$I93ItdHx5lJJm5f^rSW-Akp)espC%?8YP=8U@-#JX0+c7R%R? z7kX#Cq7k5SK;T5RJX0zQ54$TE_*tVt_zRpmJca$2m^T z6P%p(xocC1A%%1@5&KS~LH{O>_|E}Ffa!T*wiI|4ipKGW)%4l{hI(2v7OOo=Ve>G)@A@8 zeO5NRj{75qdv4HWEWY3jJ=|}u+Tyh806;1)oyPTk0!h@}I_<@rosV~!X`6i3zXwVV z|A1Ur<(BXISor{|g;fWB`BUO;MfVHfkyUQr-|D%?PfSR=O-^eLd@2&1bKTE?!JBj& zD73hrr_xT!*UBPJonLs`h?#4j?n{f(7I zB728=TaK-~5e{kxzRwjC;zfT4HeGKO`X=_%l|KwXzI%kpzR`NRf)Q^=vbSwg!>7d}`nAR6rabR+0O$TyExi|toW z)1Mhx)1*K1Jh#oBTB?g&AEOcI95CDoV8r9T@jXPm`LzlCBKM9zgAuPX1e-Myw0|Wo z19V*ckd4N0pknq*0)p0rMNchQd^6(|93UDaomuc3cD6HSjS&u4f;m z*3Q6YrM4~Px4u}ei1|b#LHT?AF?F^^3}c7COoz(K)Izxi^w}CC;j=Qe_}}LTnn^yJ hSeHq@CYo69_!rhyA?h4K76AYN002ovPDHLkV1g(R?#}=K diff --git a/apps/timer/metadata.json b/apps/timer/metadata.json deleted file mode 100644 index b50b81e86..000000000 --- a/apps/timer/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ "id": "timer", - "name": "Peter´s Timer", - "shortName":"Timer", - "icon": "app.png", - "version":"0.01", - "description": "This is Peter´s awesome timer app", - "tags": "", - "supports" : ["BANGLEJS2"], - "storage": [ - {"name":"timer.app.js","url":"app.js"}, - {"name":"timer.img","url":"app-icon.js","evaluate":true} - ] -} diff --git a/apps/widdaysleft/daysleft.json b/apps/widdaysleft/daysleft.json deleted file mode 100644 index c2349db0b..000000000 --- a/apps/widdaysleft/daysleft.json +++ /dev/null @@ -1,9 +0,0 @@ -[ - { "day": 25, "month": 2, "year": 2022 }, // Urlaub Essen - { "day": 2, "month": 3, "year": 2022 }, // Aschermittwoch - { "day": 27, "month": 3, "year": 2022 }, // Sommerzeit - { "day": 16, "month": 4, "year": 2022 }, // Ostersamstag - { "day": 3, "month": 6, "year": 2022 }, // Kalamata - { "day": 17, "month": 7, "year": 2022 }, // Exerzitien - { "day": 31, "month":12, "year": 2022 } // Sylvester -] \ No newline at end of file diff --git a/apps/widdaysleft/metadata.json b/apps/widdaysleft/metadata.json deleted file mode 100644 index 76b0f967a..000000000 --- a/apps/widdaysleft/metadata.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id": "widdaysleft", - "name": "Days Left", - "version": "0.01", - "description": "Read daysleft.json and show number of days left until first date, which lies in the future", - "icon": "widget.png", - "type": "widget", - "tags": "widget,tools", - "supports": ["BANGLEJS2"], - "storage": [ - {"name":"widdaysleft.wid.js","url":"widget.js"}, - {"name":"daysleft.json", "url":"daysleft.json"} - ] -} diff --git a/apps/widdaysleft/widget.js b/apps/widdaysleft/widget.js deleted file mode 100644 index 1bc891690..000000000 --- a/apps/widdaysleft/widget.js +++ /dev/null @@ -1,78 +0,0 @@ -const storage = require('Storage'); -let settings; -let height = 23; -let width = 34; - -var debug = 0; //1 = show debug info - -settings = storage.readJSON('daysleft.json',1); //read storage -if (!settings) print("no daysleft.json found"); -var i = 0; -const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds -const today = new Date(); //includes current time -const currentYear = today.getFullYear(); -const currentMonth = today.getMonth(); -const currentDay = today.getDate(); -const todayMorning = new Date (currentYear, currentMonth, currentDay, 0, 0, 0); //create date object with today, but 00:00:00 -do { - var target = settings[i]; - if (target) { - var dd = target.day, - mm = target.month-1, //-1 because month is zero-based - yy = target.year; - const targetDate = new Date(yy, mm, dd); //is 00:00 - i += 1; - } -} while (target && todayMorning >= targetDate); - -const diffDays = (target ? (targetDate - todayMorning) / oneDay : 0); //calculate day difference - -function drawWidget() { - if (debug == 1) g.drawRect(this.x,this.y,this.x+width,this.y+height); //draw rectangle around widget area - g.reset(); - - //define font size and string position - //small if number has more than 3 digits (positive number) - if (diffDays >= 1000) { - g.setFont("6x8", 1); - g.drawString(diffDays,this.x+10,this.y+7); - } - //large if number has 3 digits (positive number) - if (diffDays <= 999 && diffDays >= 100) { - g.setFont("6x8", 2); - g.drawString(diffDays,this.x,this.y+4); - } - //large if number has 2 digits (positive number) - if (diffDays <= 99 && diffDays >= 10) { - g.setFont("6x8", 2); - g.drawString(diffDays,this.x+6,this.y+4); - } - //large if number has 1 digit (positive number) - if (diffDays <= 9 && diffDays >= 0) { - g.setFont("6x8", 2); - g.drawString(diffDays,this.x+13,this.y+4); - } - //large if number has 1 digit (negative number) - if (diffDays <= -1 && diffDays >= -9) { - g.setFont("6x8", 2); - g.drawString(diffDays,this.x+5,this.y+4); - } - //large if number has 2 digits (negative number) - if (diffDays <= -10 && diffDays >= -99) { - g.setFont("6x8", 2); - g.drawString(diffDays,this.x,this.y+4); - } - //large if number has 3 digits or more (negative number) - if (diffDays <= -100) { - g.setFont("6x8", 1); - g.drawString(diffDays,this.x,this.y+7); - } -} - -//draw widget -WIDGETS["widdaysl"]={area:"tl",width:width,draw:drawWidget}; - -setTimeout(function() { - Bangle.loadWidgets(); - WIDGETS["widdaysl"].draw(WIDGETS["widdaysl"]); - }, todayMorning + oneDay - today + 1000); // update at next noon diff --git a/apps/widdaysleft/widget.png b/apps/widdaysleft/widget.png deleted file mode 100644 index 70aa664e4951e9ad02b3840004e0edbb42aa0274..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1043 zcmV+u1nm2XP)z#5?V?Eh00b*1C7%MvebBLgk__$G(3?!Vn;(l&?N_;PJ24OUI%z zu!N6+F2E^-7*f$FmyVJFz`5$UTT!DdI$ExVowL#}7wP%foJAdnsNXUFoPpmW$Pn9G1YM;w5l{%@%R3xH5sjf>T3 zHVYQL3TX}pr_UP%bxB|WKD}UIbC}Mys_2+nUTam6NlDB*m!1Ne!@-93E`+7HDyZnp zoUms#=3GW|AuNKrPA7Gp&itLLprg8x-7(zt223a1$kn*w&RSUxZntISd)HT>W?;Rk z8CY+M-pE#nF2)(2nByn6A73~|Q-elZOFjGdY~iVg+p(_kULz&AJz>T#-(te$XXv$k zs%fYh2t<}Rb@~#%@KQP!ipB^YUo&#i%O~fi%aZhJlne+VcyMbA07v(C zv3FbQII1W3(d7f+iYJm`Af8O72DDn}aMUw~?*lhOe>3v)bqraZ_ra1Y@XjlJ7*cZGx5(hI zn`<|9MknX#*xbm|k93wJ$2BQS1*}5Q-P*{({*H8P@=CBA(s?Pm0`WwWm);v^Wrm!3 zv6r1)sh=1jJ(lj5yi=!;O|!7e*^Fy848VtHT@3WK5nW6$HZ`B_*SowoR2roz^zz{z znwHo3P&CHb?`Ao7@dgPawOQ?QHgjZO<>x;rKE&Ovjl6rjpWz7)lYa#9hhx~R0%vO@ zk3G=JKz}=0k-u3~seKc#H@OT%s+vV%+%^lE8<31vG!-S}*Je>u16E<26i}U=s4)DR zVSCf8!PLOO_IkIG)E*M>IS{UBYHJe)`I%;DeNWyeJnNW8jT$v7#XpmfZd3Da;PC(e N002ovPDHLkV1n(i@o@kE diff --git a/modules/suncalc.js b/modules/suncalc.js deleted file mode 100644 index b1af0a0d9..000000000 --- a/modules/suncalc.js +++ /dev/null @@ -1,298 +0,0 @@ -/* Module suncalc.js - (c) 2011-2015, Vladimir Agafonkin - SunCalc is a JavaScript library for calculating sun/moon position and light phases. - https://github.com/mourner/suncalc - -PB: Usage: -E.setTimeZone(2); // 1 = MEZ, 2 = MESZ -SunCalc = require("suncalc.js"); -pos = SunCalc.getPosition(Date.now(), 53.3, 10.1); -times = SunCalc.getTimes(Date.now(), 53.3, 10.1); -rise = times.sunrise; // Date object -rise_str = rise.getHours() + ':' + rise.getMinutes(); //hh:mm -*/ -var exports={}; - -// shortcuts for easier to read formulas - -var PI = Math.PI, - sin = Math.sin, - cos = Math.cos, - tan = Math.tan, - asin = Math.asin, - atan = Math.atan2, - acos = Math.acos, - rad = PI / 180; - -// sun calculations are based on http://aa.quae.nl/en/reken/zonpositie.html formulas - -// date/time constants and conversions - -var dayMs = 1000 * 60 * 60 * 24, - J1970 = 2440588, - J2000 = 2451545; - -function toJulian(date) { return date.valueOf() / dayMs - 0.5 + J1970; } -function fromJulian(j) { return new Date((j + 0.5 - J1970) * dayMs); } // PB: onece removed + 0.5; included it again 4 Jan 2021 -function toDays(date) { return toJulian(date) - J2000; } - - -// general calculations for position - -var e = rad * 23.4397; // obliquity of the Earth - -function rightAscension(l, b) { return atan(sin(l) * cos(e) - tan(b) * sin(e), cos(l)); } -function declination(l, b) { return asin(sin(b) * cos(e) + cos(b) * sin(e) * sin(l)); } - -function azimuth(H, phi, dec) { return atan(sin(H), cos(H) * sin(phi) - tan(dec) * cos(phi)); } -function altitude(H, phi, dec) { return asin(sin(phi) * sin(dec) + cos(phi) * cos(dec) * cos(H)); } - -function siderealTime(d, lw) { return rad * (280.16 + 360.9856235 * d) - lw; } - -function astroRefraction(h) { - if (h < 0) // the following formula works for positive altitudes only. - h = 0; // if h = -0.08901179 a div/0 would occur. - - // formula 16.4 of "Astronomical Algorithms" 2nd edition by Jean Meeus (Willmann-Bell, Richmond) 1998. - // 1.02 / tan(h + 10.26 / (h + 5.10)) h in degrees, result in arc minutes -> converted to rad: - return 0.0002967 / Math.tan(h + 0.00312536 / (h + 0.08901179)); -} - -// general sun calculations - -function solarMeanAnomaly(d) { return rad * (357.5291 + 0.98560028 * d); } - -function eclipticLongitude(M) { - - var C = rad * (1.9148 * sin(M) + 0.02 * sin(2 * M) + 0.0003 * sin(3 * M)), // equation of center - P = rad * 102.9372; // perihelion of the Earth - - return M + C + P + PI; -} - -function sunCoords(d) { - - var M = solarMeanAnomaly(d), - L = eclipticLongitude(M); - - return { - dec: declination(L, 0), - ra: rightAscension(L, 0) - }; -} - -// calculates sun position for a given date and latitude/longitude - -exports.getPosition = function (date, lat, lng) { - - var lw = rad * -lng, - phi = rad * lat, - d = toDays(date), - - c = sunCoords(d), - H = siderealTime(d, lw) - c.ra; - - return { - azimuth: Math.round((azimuth(H, phi, c.dec) / rad + 180) % 360), // PB: converted to deg - altitude: Math.round( altitude(H, phi, c.dec) / rad) // PB: converted to deg - }; -}; - - -// sun times configuration (angle, morning name, evening name) - -var times = [ - [-0.833, 'sunrise', 'sunset' ] -]; - -// calculations for sun times -var J0 = 0.0009; - -function julianCycle(d, lw) { return Math.round(d - J0 - lw / (2 * PI)); } - -function approxTransit(Ht, lw, n) { return J0 + (Ht + lw) / (2 * PI) + n; } -function solarTransitJ(ds, M, L) { return J2000 + ds + 0.0053 * sin(M) - 0.0069 * sin(2 * L); } - -function hourAngle(h, phi, d) { return acos((sin(h) - sin(phi) * sin(d)) / (cos(phi) * cos(d))); } -function observerAngle(height) { return -2.076 * Math.sqrt(height) / 60; } - -// returns set time for the given sun altitude -function getSetJ(h, lw, phi, dec, n, M, L) { - - var w = hourAngle(h, phi, dec), - a = approxTransit(w, lw, n); - return solarTransitJ(a, M, L); -} - - -// calculates sun times for a given date, latitude/longitude, and, optionally, -// the observer height (in meters) relative to the horizon - -exports.getTimes = function (date, lat, lng, height) { - - height = height || 0; - - var lw = rad * -lng, - phi = rad * lat, - - dh = observerAngle(height), - - d = toDays(date), - n = julianCycle(d, lw), - ds = approxTransit(0, lw, n), - - M = solarMeanAnomaly(ds), - L = eclipticLongitude(M), - dec = declination(L, 0), - - Jnoon = solarTransitJ(ds, M, L), - - i, len, time, h0, Jset, Jrise; - - - var result = { - solarNoon: fromJulian(Jnoon), - nadir: fromJulian(Jnoon - 0.5) - }; - - for (i = 0, len = times.length; i < len; i += 1) { - time = times[i]; - h0 = (time[0] + dh) * rad; - - Jset = getSetJ(h0, lw, phi, dec, n, M, L); - Jrise = Jnoon - (Jset - Jnoon); - - result[time[1]] = fromJulian(Jrise); - result[time[2]] = fromJulian(Jset); - } - - return result; -}; - - -// moon calculations, based on http://aa.quae.nl/en/reken/hemelpositie.html formulas - -function moonCoords(d) { // geocentric ecliptic coordinates of the moon - - var L = rad * (218.316 + 13.176396 * d), // ecliptic longitude - M = rad * (134.963 + 13.064993 * d), // mean anomaly - F = rad * (93.272 + 13.229350 * d), // mean distance - - l = L + rad * 6.289 * sin(M), // longitude - b = rad * 5.128 * sin(F), // latitude - dt = 385001 - 20905 * cos(M); // distance to the moon in km - - return { - ra: rightAscension(l, b), - dec: declination(l, b), - dist: dt - }; -} - -getMoonPosition = function (date, lat, lng) { - - var lw = rad * -lng, - phi = rad * lat, - d = toDays(date), - - c = moonCoords(d), - H = siderealTime(d, lw) - c.ra, - h = altitude(H, phi, c.dec), - // formula 14.1 of "Astronomical Algorithms" 2nd edition by Jean Meeus (Willmann-Bell, Richmond) 1998. - pa = atan(sin(H), tan(phi) * cos(c.dec) - sin(c.dec) * cos(H)); - - h = h + astroRefraction(h); // altitude correction for refraction - - return { - azimuth: azimuth(H, phi, c.dec), - altitude: h, - distance: c.dist, - parallacticAngle: pa - }; -}; - - -// calculations for illumination parameters of the moon, -// based on http://idlastro.gsfc.nasa.gov/ftp/pro/astro/mphase.pro formulas and -// Chapter 48 of "Astronomical Algorithms" 2nd edition by Jean Meeus (Willmann-Bell, Richmond) 1998. - -getMoonIllumination = function (date) { - - var d = toDays(date || new Date()), - s = sunCoords(d), - m = moonCoords(d), - - sdist = 149598000, // distance from Earth to Sun in km - - phi = acos(sin(s.dec) * sin(m.dec) + cos(s.dec) * cos(m.dec) * cos(s.ra - m.ra)), - inc = atan(sdist * sin(phi), m.dist - sdist * cos(phi)), - angle = atan(cos(s.dec) * sin(s.ra - m.ra), sin(s.dec) * cos(m.dec) - - cos(s.dec) * sin(m.dec) * cos(s.ra - m.ra)); - - return { - fraction: (1 + cos(inc)) / 2, - phase: 0.5 + 0.5 * inc * (angle < 0 ? -1 : 1) / Math.PI, - angle: angle - }; -}; - - -function hoursLater(date, h) { - return new Date(date.valueOf() + h * dayMs / 24); -} - -// calculations for moon rise/set times are based on http://www.stargazing.net/kepler/moonrise.html article - -getMoonTimes = function (date, lat, lng, inUTC) { - var t = new Date(date); - if (inUTC) t.setUTCHours(0, 0, 0, 0); - else t.setHours(0, 0, 0, 0); - - var hc = 0.133 * rad, - h0 = SunCalc.getMoonPosition(t, lat, lng).altitude - hc, - h1, h2, rise, set, a, b, xe, ye, d, roots, x1, x2, dx; - - // go in 2-hour chunks, each time seeing if a 3-point quadratic curve crosses zero (which means rise or set) - for (var i = 1; i <= 24; i += 2) { - h1 = SunCalc.getMoonPosition(hoursLater(t, i), lat, lng).altitude - hc; - h2 = SunCalc.getMoonPosition(hoursLater(t, i + 1), lat, lng).altitude - hc; - - a = (h0 + h2) / 2 - h1; - b = (h2 - h0) / 2; - xe = -b / (2 * a); - ye = (a * xe + b) * xe + h1; - d = b * b - 4 * a * h1; - roots = 0; - - if (d >= 0) { - dx = Math.sqrt(d) / (Math.abs(a) * 2); - x1 = xe - dx; - x2 = xe + dx; - if (Math.abs(x1) <= 1) roots++; - if (Math.abs(x2) <= 1) roots++; - if (x1 < -1) x1 = x2; - } - - if (roots === 1) { - if (h0 < 0) rise = i + x1; - else set = i + x1; - - } else if (roots === 2) { - rise = i + (ye < 0 ? x2 : x1); - set = i + (ye < 0 ? x1 : x2); - } - - if (rise && set) break; - - h0 = h2; - } - - var result = {}; - - if (rise) result.rise = hoursLater(t, rise); - if (set) result.set = hoursLater(t, set); - - if (!rise && !set) result[ye > 0 ? 'alwaysUp' : 'alwaysDown'] = true; - - return result; -}; \ No newline at end of file