From bc35f06d89e0290acf4ff37997f5ecca5b8f0565 Mon Sep 17 00:00:00 2001 From: adrian w kirk Date: Sat, 6 Mar 2021 20:45:10 +0000 Subject: [PATCH] Renamed --- apps.json | 10 +- apps/numeralclock/ChangeLog | 1 - apps/numeralclock/README.md | 18 -- apps/numeralclock/app.png | Bin 22651 -> 0 bytes apps/numeralclock/numeralclock-icon.js | 1 - apps/numeralclock/numeralclock.js | 297 ------------------------- apps/numeralclock/numeralclock.png | Bin 2944 -> 0 bytes 7 files changed, 5 insertions(+), 322 deletions(-) delete mode 100644 apps/numeralclock/ChangeLog delete mode 100644 apps/numeralclock/README.md delete mode 100644 apps/numeralclock/app.png delete mode 100644 apps/numeralclock/numeralclock-icon.js delete mode 100644 apps/numeralclock/numeralclock.js delete mode 100644 apps/numeralclock/numeralclock.png diff --git a/apps.json b/apps.json index 46bda1a10..c1dd9afd9 100644 --- a/apps.json +++ b/apps.json @@ -226,17 +226,17 @@ {"name":"slidingtext.img","url":"slidingtext-icon.js","evaluate":true} ] }, - { "id": "numeralclock", - "name": "Numeral Clock", - "icon": "numeralclock.png", + { "id": "sweepclock", + "name": "Sweep Clock", + "icon": "sweepclock.png", "version":"0.01", "description": "Smooth sweep secondhand with single hour numeral", "tags": "clock", "type":"clock", "allow_emulator":true, "storage": [ - {"name":"numeralclock.app.js","url":"numeralclock.js"}, - {"name":"numeralclock.img","url":"numeralclock-icon.js","evaluate":true} + {"name":"sweepclock.app.js","url":"sweepclock.js"}, + {"name":"sweepclock.img","url":"sweepclock-icon.js","evaluate":true} ] }, { "id": "imgclock", diff --git a/apps/numeralclock/ChangeLog b/apps/numeralclock/ChangeLog deleted file mode 100644 index d53df991b..000000000 --- a/apps/numeralclock/ChangeLog +++ /dev/null @@ -1 +0,0 @@ -0.01: Initial Release diff --git a/apps/numeralclock/README.md b/apps/numeralclock/README.md deleted file mode 100644 index 00f716e4a..000000000 --- a/apps/numeralclock/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Sliding Text Clock - See the time in different languages - -Inspired by the Pebble sliding clock, old times are scrolled off the screen and new times on. You are also able to change language on the fly so you can see the time written in other languages using button 1. Currently only English, French and Japanese are supported - -![](app.png) - -## Usage - -Use Button 1 (the top right button) to change the language - - -## Requests - -[Reach out to Adrian](https://www.github.com/awkirk71) if you have feature requests or notice bugs. - -## Creator - -Made by [Adrian Kirk](https://www.github.com/awkirk71). diff --git a/apps/numeralclock/app.png b/apps/numeralclock/app.png deleted file mode 100644 index 3680c3ce6043399affba29faae9712cc283c7a9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22651 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 Z>57pLf7UNFR9qo-wKeqAD<9at{vRnE{6+u( diff --git a/apps/numeralclock/numeralclock-icon.js b/apps/numeralclock/numeralclock-icon.js deleted file mode 100644 index 2fc42f023..000000000 --- a/apps/numeralclock/numeralclock-icon.js +++ /dev/null @@ -1 +0,0 @@ -require("heatshrink").decompress(atob("lEowkE/4A/AH//+czCSKbBgXziYhKEQXxgMQgERgASIkf/CgM/+UBiISBCZAUBn4DBmcybAUTHZIUEmEQkcgl5gLJ4XygQCBj50MAYUQCZ3/HgXwkcyiZqBJxQoC+UD+cPXBIIBBQcwHIMBNwpNFDocQBoMwM4IUEn4kBMIZ3DAAMgQYoZCCYg6CVhKJFEQJyIn4VBkZrFDAgIJBxCqHO5DmJT4v/mQSIKxA+DDIIADCRJEDZgRCKIgjUHHJAPCPhprFExwSDJRgPDN5oUHCJ4A/AH4AIA==")) diff --git a/apps/numeralclock/numeralclock.js b/apps/numeralclock/numeralclock.js deleted file mode 100644 index bad86adeb..000000000 --- a/apps/numeralclock/numeralclock.js +++ /dev/null @@ -1,297 +0,0 @@ -const screen_center_x = g.getWidth()/2; -const screen_center_y = g.getHeight()/2; - -require("FontCopasetic40x58Numeric").add(Graphics); - -class Hand { - constructor(centerX, - centerY, - length, - tolerance, - draw_test, - red, - green, - blue){ - this.centerX = centerX; - this.centerY = centerY; - this.length = length; - this.red = red; - this.green = green; - this.blue = blue; - this.last_x = centerX; - this.last_y = centerY; - this.tolerance = tolerance; - this.draw_test = draw_test; - this.angle = -1; - this.last_draw_time = null; - } - // method to move the hand to a new angle - moveTo(angle){ - if(Math.abs(angle - this.angle) > this.tolerance || this.draw_test(this.angle,this.last_draw_time) ){ - g.setColor(0,0,0); - g.drawLine(this.centerX, this.centerY, this.last_x, this.last_y); - g.setColor(this.red,this.green,this.blue); - x2 = this.centerX + this.length*Math.cos(angle); - y2 = this.centerY + this.length*Math.sin(angle); - g.setColor(this.red,this.green,this.blue); - g.drawLine(this.centerX, this.centerY, x2, y2); - this.last_x = x2; - this.last_y = y2; - this.angle = angle; - this.last_draw_time = new Date(); - return true; - } else { - return false; - } - } -} - -class ThickHand { - constructor(centerX, - centerY, - length, - tolerance, - draw_test, - red, - green, - blue, - start_height, - thickness){ - this.centerX = centerX; - this.centerY = centerY; - this.length = length; - this.red = red; - this.green = green; - this.blue = blue; - this.thickness = thickness; - this.start_height = start_height; - this.delta_top = Math.atan(thickness/(2*length)); - this.delta_base = Math.atan(thickness/(2*start_height)); - this.last_x1 = centerX; - this.last_y1 = centerY; - this.last_x2 = centerX; - this.last_y2 = centerY; - this.last_x3 = centerX; - this.last_y3 = centerY; - this.last_x4 = centerX; - this.last_y4 = centerY; - this.tolerance = tolerance; - this.draw_test = draw_test; - this.angle = -1; - this.last_draw_time = null; - } - // method to move the hand to a new angle - moveTo(angle){ - if(Math.abs(angle - this.angle) > this.tolerance || this.draw_test(this.angle - this.delta_base,this.angle + this.delta_base ,this.last_draw_time) ){ - g.setColor(0,0,0); - g.fillPoly([this.last_x1, - this.last_y1, - this.last_x2, - this.last_y2, - this.last_x3, - this.last_y3, - this.last_x4, - this.last_y4 - ]); - g.setColor(this.red,this.green,this.blue); - // bottom left - x1 = this.centerX + - this.start_height*Math.cos(angle - this.delta_base); - y1 = this.centerY + this.start_height*Math.sin(angle - this.delta_base); - // bottom right - x2 = this.centerX + - this.start_height*Math.cos(angle + this.delta_base); - y2 = this.centerY + this.start_height*Math.sin(angle + this.delta_base); - // top right - x3 = this.centerX + this.length*Math.cos(angle + this.delta_top); - y3 = this.centerY + this.length*Math.sin(angle + this.delta_top); - // top left - x4 = this.centerX + this.length*Math.cos(angle - this.delta_top); - y4 = this.centerY + this.length*Math.sin(angle - this.delta_top); - g.setColor(this.red,this.green,this.blue); - g.fillPoly([x1,y1, - x2,y2, - x3,y3, - x4,y4 - ]); - this.last_x1 = x1; - this.last_y1 = y1; - this.last_x2 = x2; - this.last_y2 = y2; - this.last_x3 = x3; - this.last_y3 = y3; - this.last_x4 = x4; - this.last_y4 = y4; - this.angle = angle; - this.last_draw_time = new Date(); - return true; - } else { - return false; - } - } -} - -let seconds_hand = new Hand(screen_center_x, - screen_center_y, - 100, - 0, - (angle, last_draw_time) => false, - 0.5,0.5,0.5); - -let minutes_hand_redraw = function(angle, last_draw_time){ - return seconds_hand.angle > angle && - Math.abs(seconds_hand.angle - angle) <2*Math.PI/25 && - new Date().getTime() - last_draw_time.getTime() > 500; -}; - -let minutes_hand = new Hand(screen_center_x, - screen_center_y, - 80, - 2*Math.PI/250, - minutes_hand_redraw, - 1.0,1.0,1.0); - -let hour_hand_redraw = function(angle_from, angle_to, last_draw_time){ - return seconds_hand.angle >= angle_from && - seconds_hand.angle <= angle_to && - new Date().getTime() - last_draw_time.getTime() > 500; -}; -let hours_hand = new ThickHand(screen_center_x, - screen_center_y, - 40, - 2*Math.PI/600, - hour_hand_redraw, - 1.0,1.0,1.0, - 5, - 4); - -function draw_clock(){ - date = new Date(); - draw_hour_digit(date); - draw_seconds(date); - draw_mins(date); - draw_hours(date); -} - -function draw_seconds(date){ - seconds = date.getSeconds() + date.getMilliseconds()/1000; - seconds_frac = seconds / 60; - seconds_angle = 2*Math.PI*seconds_frac - (Math.PI/2.0); - seconds_hand.moveTo(seconds_angle); -} - - -function draw_mins(date,seconds_angle){ - mins = date.getMinutes() + date.getSeconds()/60 + date.getMilliseconds()/(60*1000); - mins_frac = mins / 60; - mins_angle = 2*Math.PI*mins_frac - (Math.PI/2.0); - redraw = minutes_hand.moveTo(mins_angle); - if(redraw){ - //console.log(date.getSeconds() + " redraw mins"); - } -} - -function draw_hours(date){ - hours = (date.getHours() % 12) + date.getMinutes()/60 + date.getSeconds()/3600; - hours_frac = hours / 12; - hours_angle = 2*Math.PI*hours_frac - (Math.PI/2.0); - redraw = hours_hand.moveTo(hours_angle); - if(redraw){ - //console.log(date.getSeconds() + " redraw hours"); - } -} - -let curr_hour_x = -1; -let curr_hour_y = -1; -let curr_hour_str = null; -const font_width = 40; -const font_height = 58; -function draw_hour_digit(date){ - hours = date.getHours() % 12; - mins = date.getMinutes(); - if(mins > 30){ - hours = (hours +1) % 12; - } - if(hours == 0){ - hours = 12; - } - hours_frac = hours / 12; - angle = 2*Math.PI*hours_frac - (Math.PI/2.0); - x = screen_center_x + 70*Math.cos(angle) - font_width/2; - y = screen_center_y + 70*Math.sin(angle) - font_height/2; - g.setFontCopasetic40x58Numeric(); - txt = hours.toString(); - if(curr_hour_str != null && curr_hour_str != txt){ - g.setColor(0,0,0); - g.drawString(curr_hour_str,curr_hour_x,curr_hour_y); - console.log("erasing old hour"); - } - g.setColor(1,1,1); - g.drawString(txt,x,y); - curr_hour_x = x; - curr_hour_y = y; - curr_hour_str = txt; -} - -// The interval reference for updating the clock -let intervalRef = null; - -function clearTimers(){ - if(intervalRef) { - clearInterval(intervalRef); - intervalRef = null; - } -} - -function startTimers(){ - setTimeout(scheduleDrawClock,1000); - draw_clock(); -} - -function scheduleDrawClock(){ - if(intervalRef) clearTimers(); - intervalRef = setInterval(draw_clock, 100); - draw_clock(); -} - -function reset_clock(){ - g.clear(); -} - -Bangle.on('lcdPower', (on) => { - if (on) { - console.log("lcdPower: on"); - Bangle.drawWidgets(); - reset_clock(); - startTimers(); - } else { - console.log("lcdPower: off"); - reset_clock(); - clearTimers(); - } -}); - -Bangle.on('faceUp',function(up){ - console.log("faceUp: " + up + " LCD: " + Bangle.isLCDOn()); - if (up && !Bangle.isLCDOn()) { - //console.log("faceUp and LCD off"); - clearTimers(); - Bangle.setLCDPower(true); - } -}); - -g.clear(); -Bangle.loadWidgets(); -Bangle.drawWidgets(); -startTimers(); - -// Show launcher when middle button pressed -setWatch(Bangle.showLauncher, BTN2,{repeat:false,edge:"falling"}); - -function button1pressed(){ - console.log("button 1 pressed"); -} - -// Handle button 1 being pressed -setWatch(button1pressed, BTN1,{repeat:true,edge:"falling"}); - diff --git a/apps/numeralclock/numeralclock.png b/apps/numeralclock/numeralclock.png deleted file mode 100644 index 9ebf691b3b3ca6cfef8dfbb1d6fc18e1e61d7899..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2944 zcmZ`*c{r478-K@=OgNT`kj5Z{nK2B}*k#F)C7dBkmKlvK!we>lH6`I>3t37BIb@$K zGl=@Kv`|{x$ocaUatH3<4LeSZORW82Lk}WZ*FF6 z%aRK0y>}1mpY)~Ck0rRg4J-`+pyv9%Pww2TGsM%())D~1jsie*8~|*wOwscI5R3qT z#d83loecn@gglxJn&lv4G3Gc+OW+tw-wSYqgaJ;L24Z~xNE~2CV`;!Cki>W07NqbE z!vO&Cc!290#)&1_%Z#_=d;05n;frTSq>?hvw{uRl?ntONau&}QjuGaL%} z3L#z4fnqGJAw~f~ScnD;0YgA_!4L=p9pr`6wly~SMrWOLpyx>>f;Jo;8X5`&-Pb&yLekHF~B#N4Y&8llXQ{aD1S5mz+>w#JjOzK+ItKde8Ioe8OqK*Rsh z^N&o-zcPRD{GDkO;2RKhhT!grWjFRU*$<{~Xf&KXiyvmQJNU0w*5q};X!!SAqzkUC z%Vu3;o-gLc26hF^d#@*8ZqBLL_FIJ>dX-P*9?8deJ)YdZ=^M-8!Q-| z98EJxb)wo1#H$;o+A6|roJvzUE4K8v^+!#?hQ@JR1inV)J1JsWaz?o7^=ny$@echek2Uic7cT32d(TP)XL`{0|Fu&&T54%?51JB99^ zKucXmyn5)$40s%z}I zREk+$-0Rya4gQ;5$r2#mcvD$DJ-1U97BewC*ZBAQ78ZJ@rB7w8uanCf@lo__S&WRl zygU|{NY6ShG4w`I_qLmWZh{JAf`jX7aZknT&NYxiLQY-$7>fPKL~mlNEZjdr#g2~?TWeHN3inkWSHVU%&PON&zWp`qQwZagZKR}sq0#e1z8 zqHbd_#)EC1;J_}Du)yWZi8IU@f%Mca^6hn;x3>iU4alpmd5>(ttC03mu!+1?T@yJ)dvwfDYLVB_=!D9GH+*}rcX|K-+&t!PS5{UgBp1-Ue&XZez35n_wA$Jm zPFVM4#<0#yb`AJz=y#hO?1^j_ltT9Z-lcuN$jI1BEE^qBAHc%T?J1>zV;YO;w0Uo|BSFiD^U4Z4O6WP}lT#rWif^=`iyR9{+I=hnA}O zPdKFQ{eBnc=flG#!@tzy9P6JW7Nr;tmCkrkbaxt>z|*}x5x;Z)US-XC;79|55k~p* zc2Kg=St?aa9O-!wX_0l%(tPhUg2`mgyr}VXFzR{YAUNgP1gBoXh#ojly2c&S>0nn* z6>&>=x0m4MxG0;bxAQ4hk-WX);^Y9nJE*OZayYpo}p z^pVrT<((Vu;{un29x#1yz zQ~B3&mvIv0j`a9VOc0rD%=ox-o_Fba?U|C~PUtgkmyTR6qi9OqW(LQGBRzfr-&E;L z^)cVrc&0blsG=SX7%IdEs$_uE-b-E~7g_OLj?IbV6c_J#TCqHJavFiu*cUw&XKydD z@#v=u=}rWmHndK}qvHK8TxI#mnGRnz77q4cL=|9<%kFP?O*j=AJ)zT|`9@ezMHIe* zlCMt0dgk}X3R<6SadnN zoVSkS1U=T|IVt>~)B9t2q4c6{)=-WgI1s^d%6?Mqj>6{*56z`J^Jb`_w8ne<=1bm%(Z8q~}{(VJj4& zH(V&WSh309Dl02%8*?rYBz>Ls)us}pKj;i`GO4@>4#@^4)!aaiFYVIdajGO9^gCAy zU+e9htPfH9qA&i`N6vdGlX}_Y1OF%UB@YsHq@(2bsZTpc^jBS>GOZvxbEp~zX+c;Y x=O*s_fJz?Uv_y&;&e?V}0F383?_0Qccs_-Xr)kc)nX})R<|j`ZR~nv+{Vz=r_@V#+