From 8939aab7fd7546cfbf435fe47d90cdef2706c789 Mon Sep 17 00:00:00 2001 From: Vingelar Date: Fri, 19 Nov 2021 21:30:22 +0100 Subject: [PATCH] Delete apps/binwatch directory --- apps/binwatch/Background176_center.png | Bin 4463 -> 0 bytes apps/binwatch/Background240_center.png | Bin 6492 -> 0 bytes apps/binwatch/ChangeLog | 2 - apps/binwatch/README.md | 44 --- apps/binwatch/app-icon.js | 1 - apps/binwatch/app.js | 381 ------------------------- apps/binwatch/app.png | Bin 2642 -> 0 bytes apps/binwatch/bt-icon.png | Bin 708 -> 0 bytes apps/binwatch/screenshot.png | Bin 3794 -> 0 bytes 9 files changed, 428 deletions(-) delete mode 100644 apps/binwatch/Background176_center.png delete mode 100644 apps/binwatch/Background240_center.png delete mode 100644 apps/binwatch/ChangeLog delete mode 100644 apps/binwatch/README.md delete mode 100644 apps/binwatch/app-icon.js delete mode 100644 apps/binwatch/app.js delete mode 100644 apps/binwatch/app.png delete mode 100644 apps/binwatch/bt-icon.png delete mode 100644 apps/binwatch/screenshot.png diff --git a/apps/binwatch/Background176_center.png b/apps/binwatch/Background176_center.png deleted file mode 100644 index c8c1c01489841b23c195421c1dc52112f5df424b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4463 zcmcgveOOcV9zSg3=-AnSL3+kOhAk57|u(8y?WqhB1ZdRoqyqj?F5Q<#c^D1%q{2PadlkmQlg>Mpi-Z7J@ zw%l`(oAw5M1?fr@D0=#o+o=`)7@qAOz%-Qf!%}rVuf(}8s{m(^N}@=TDr0TY?RPO| zY0wmKbCqEH*KRf>g+IwstqNVu*EmaxY@1`bI9 z4g%>iON9U`53ZCm@ZM^)f*GK#wdmnq_GVjf08MI1zA(zHNeFaf_?tD`+%(AJXrqNp zFbaryg>wrm@!&>PrFeLUn~7Xrw$mSJl2jfkOt^$LvakHmVfL7~7!d?xJ(TUjaDvQC zAWE+CvTDTUnu=nR)kA%7ji%W7a+cI`qSTfKfJzx;utrzvX$*=gP)cNKwU&6FA8hle zvWOp}J*(ztA zLgwO6WM9&IA(fv7ykm2n74y^{W^*%fiCi^6XJreeB3bZ!ar_A?$lwQ`oG(BJ`19`W z?(#sYT)j{$POUMS7F(MOC}bc$SDVV_hHldIQut;+epGki%y<$j-O?kc(1PN^;l| zLaGvS(zKsB3TTBQ(6PF6`#7F`Kv`OJ@XL%&vBssF&g##)0?dh+`w|w3j<$76RXiw3 z4YGOOUJ|BoTDP#^dox-h*X^Z1xTuBT=dfyEs-Gi8RWm=)U7%1XtX+L(#&Cd;%k$^N zKhkpr5%<>^{^|!FfgXDtZGJn@owqKSv;zYUEOh>dr?6DeJ(v;dvnPPlxA2mK>i}+u z{)X=tvDJL3Xw<95?YE!~yXmv+{a2Tl-LF%>FT}UG8D%wOfUz)i)KK(9raLrh=>EFH zIKV^FZT_=jg|QQSG1QrJP!hMWxp${(HJLkBG^6M1`rg;uyS7CWuCDuKr1JoFO&WXG zilIJx(l}iX+C-w)GkQ=%(a&{4w)flF`;S@zgM&}b?|1+#?3bobzRNB}{shbD`5%}F zJvmi5o?{vh$yCJDXgIC5GQa@RPRs9HItA{<^%kAi*`eP(MzYAXu@dAQtZ&sdw*RtC zpB-kmPlT?C#=`R!`D3DT+7ouJIUpSX4@9~@ z0AcZ*;@F9hrhq7fBjqKN0mivi*D^4tG}3`pV8bPrNYfoA91@qo;Ww+GET?>MZx5a^tG;AzE2@=>E`$k_|_z4v*-6SN2I2 zQqc&!lIIW$97T?$V;Quh^o?;Ey=d}D=!Msmw;W8h@WHg#Wt|Zt2ZHQnIK0=2@1ZJ;k0rthWj;&&9Sc8g2B7-U=iTdfKG}I% zv;O!<0qG9BG;I4<+-rsXq8O)VyEL(`Ess(1GX!LT=hK^}7@*ahDR;hrwD3uvV)^F* z;JG<*yu7Yx{M$ueC{e-k>hB*FWZyUNp@( zHUhe(d@Ef7k4|Th4ccd+W}49)UwkvilT&N<->7^%(w?TEM^#%=_QeP`AZjU{;ABRPmKXXs6i~lABOfLlw3+2A3{grV#zPQ#h zlneBAXJ2$sl^fi*CPo9GZEnP&aPOz=Uh)lho@VgPO#yQqr%<(?jBX@)%pyGZh1xe~ zpc{;Qr+VUZ>TL4|=DQZ2W*DcL$!b)jx0HR*{oWx5@OuD8fDtPs)Mq!?6wCi<>(4!? zaWNsfMom`FHI#upJT1xB)3CupoLf!ZQBL`whshb%In;Jf!-DL-Gbzqnj^`ZK1V-I9 zzv|E|dXBOwuBrM1KSdW7(oP{!gkMl(jsp&MTF_-yd@fV1QQ z2+O>c$b=GAc9M4af|ZAw(P)onYzH8`-FPAi*9O|T@b(ARm9_`2w&ND|?FM}uuKjKU zd7#9;ZL_ZM?OfQXE9R`tu2^n6q+p{2ws(i?@>>$?H9xwH?w0JuwYxNSL868qXbY0< zDq^Fb#_S!}202K+UJ<(kmpIyW{i(QzSHOO|@o3VT=!b~n;28hb_b4k^$0RhQYQ$`^)_`>!nKabZYqF%Eml5@~mzc+;ZJcI(X+6`9k^bNGZM{ j4N5Uyf9ItIvx5*7(tlyRXZXeAh&6v?u}Lv)SQh?Y68f_? diff --git a/apps/binwatch/Background240_center.png b/apps/binwatch/Background240_center.png deleted file mode 100644 index 6fa35f93fc6c5e92b98f781d6d42251f370eb8a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6492 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 Q2>KnnWX0l>+zk1D04_NZ`v3p{ diff --git a/apps/binwatch/ChangeLog b/apps/binwatch/ChangeLog deleted file mode 100644 index f916cd6cf..000000000 --- a/apps/binwatch/ChangeLog +++ /dev/null @@ -1,2 +0,0 @@ -0.01: start of development -0.02: first running version for BangleJs2 diff --git a/apps/binwatch/README.md b/apps/binwatch/README.md deleted file mode 100644 index ba1c97cb0..000000000 --- a/apps/binwatch/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# TheBinWatch - -Binary watch to train Your brain -Inspired by the 80's LCD wrist watch from RALtec - -![](screenshot.png) - -## Usage - -- swipe to left or right to change displayed text (date, time, ...) -- currently only available for BangeJs2 -- Widgets will not be shown -- If bluetooth connection is not established an icon will show up - -## How it works -Binary means that every digit can represent 2 states: 0 or 1, displayed by a black bar. - -The principle is the same like in out well known and daily used decimal system with values from 0 to 9: - -We start from the most right position with the least significant bit (binary digit) which can have the value 0 or 1 -The 2nd bit from the right can have the value 0 or 2 (sum of all bits to the right set to 1 plus 1). -This principle is valid for all the remaining bits. - -Mathematically spoken: the value of a digit is the base number of the system (10 for decimal or 2 for binary) -to the power of the position (from the right, starting with 0). -That means in numbers: 2^5 = 32, 2^4 = 16, 2^3 = 8, 2^2 = 4, 2^1 = 2, 2^0 = 1 - -The upper row represents the hours with 4 bit (2^4 = 16 possible values in total, 12 are used: 1 to 12), - the 2nd row represents the minutes with 6 bit (2^6 = 64 possible values in total, 60 are used: 0 to 59). -Same holds for the thrid row: 0-59 seconds - -To read the values of a row we summ up the vaules of set bits (black bars). -E.g. the picture above, 3rd row (seconds): -101001 -is 1 * 32 + 0 * 16 + 1 * 8 + 0 * 4 + 0 * 2 + 1 * 1 -is (only the '1' bit): 32 + 8 + 1 = 41 - -for the minutes we do the same: 32 + 1 = 33 -and the hours: 8 + 2 = 10 - -So the time is 10:33:41 (that's all) - -## TRAIN YOUR BRAIN - diff --git a/apps/binwatch/app-icon.js b/apps/binwatch/app-icon.js deleted file mode 100644 index 10d7e84e8..000000000 --- a/apps/binwatch/app-icon.js +++ /dev/null @@ -1 +0,0 @@ -require("heatshrink").decompress(atob("mEwwcCgEBkmSpICKCwQRRhMn/4AK+VACIU4A4PAz+27dt20ECI1IgEDCIOT+wRB2EkCIX+BwMCpE/8f+gmSvwRB2Mkz///v/5IRBpwRHwIRC5PzCIMSCIXwMQNP7dshMkyf/p+G/MgiV+CIPxCJFM8gRByf+CIIvBRIP7sCMCv/h8//C4P+g6ABCIdiCIVP/M///kFIPAj6iLCIYAOCPH4ibUC2zABdgW/8ARFUgILB2/8fwf/kB3BPobUD3/kz4pCTwMDCIrCBCIWTCINv/IREfAVJDoYpCv/JkmAv4RCYQYRM+ARCn4vCHYX+bQOQh4RBfAYRJyUBCI3/F4IFB/4RGdP4RHwDmC7/gmzaC//tbQWBR4UbfAWQgzIDfwVsR4QRCfAIRM/0DCIWSgDaDz4RBsDXDCIIdByVAfAb+CCIf/4AREjYRFgZ9D/D4DpEDfAT+Cj4REhoRJ7ARE/8PfAVJgbmDp/YWZHgv6zIkkSBYWB44sB/4CB/AREkESp4EBx4RBx0/CIPACAf5kECCIQAHPQIAB5MAgVJEYs4AwIjECIMACI0ACIv+pARCn5rDvwFDGoQRDhILDABHyoARBgKeCARQQBCKIA==")) \ No newline at end of file diff --git a/apps/binwatch/app.js b/apps/binwatch/app.js deleted file mode 100644 index 56e153dbf..000000000 --- a/apps/binwatch/app.js +++ /dev/null @@ -1,381 +0,0 @@ -/*************************************************** -* BINARY WATCH -* for Bangle 1 / 2 -* inspired by RAL tec binary wrist watch -* -* TODO: -* - vibrate on full hour -* - -****************************************************/ - -/* reuqirements */ -require("Font7x11Numeric7Seg").add(Graphics); -require("Font5x7Numeric7Seg").add(Graphics); - - -/* constants and definitions */ - -/* Bangle 2: 176 x 176 */ - -/* month images */ - -var month = [ - /* JAN */ {width : 53, height : 24, bpp : 1, buffer : require("heatshrink").decompress(atob("AAMf/0D8AFBkM/9EvwMAgcM/3B30YgE4uEOh354EB4eAuFz90Ah0cgeDx9wgFw8Ecjk7wEDw8A8AIBgEcnEHg4IBgFh4EYnEDHYMF/8AwBID/BODgN/4EgAoI0BgODwExGgkDzg0FAII0D88A8PAnAIBAIMOgPBBAPAiBpCgPAQIOAmFwg0P/B5BwcAiE/JYYAHA"))}, - /* FEB */ {width : 51, height : 24, bpp : 1, buffer : require("heatshrink").decompress(atob("v/8n/+g/+if/hP/wM/8c/4Of8Ez/FwgE4gEHgFOAYUA8Ed4ADBgEcge4AYMAgeAu4DCgFwhwQBEIMOgPcAYMAgPAjN/4G/8EX/kf/EP/kB/+F/8C/+Ar/xGQkBGTE7wADBMIMHMotMgEGv+A7/hEYOf/EH/hvBh6FBIIKYFA"))}, - /* MAR */ {width : 52, height : 23, bpp : 1, buffer : require("heatshrink").decompress(atob("v/4j/+gf/hP/gV/6FP/HP8kz/cGv8OgHDwFwuEE8McnEHg8A905BgcO8ecBiM4BgMwuEGoeEi/8gX/wE4gH/4Ef/AMFx0QDIcA8BADnEOgIzCufABgk+Bglx+AMEh+OBgdwvnghk4gcGgfsgFDgEQoEeSgvg"))}, - /* APR */ {width : 52, height : 23, bpp : 1, buffer : require("heatshrink").decompress(atob("v/4j/4gf/hP/oV/4FP/HP9kz/EGv8OgPDwEguEE8EcnEHg8A9wMCuFwhwMTgAMBmFwg1f+EX/kC/+D/8A//AJIIMFxwZCgFwgAmCgEHnBNDgFz4AMEnwMEuPwBgkPxwMDuF88EMBgMGgfsgFDRgNAjyUF8A="))}, - /* MAY */ {width : 52, height : 24, bpp : 1, buffer : require("heatshrink").decompress(atob("v/4j/+AoMJ/8Cv/QAwPP8kz/cEgEugHDwFwsEG8McnEHg8A905BgVwh3jzgMRnAMBmAMBoeEi/8BgNgnEA//Ah/4BgcB/+OiAZCBgPgIARTB90BGYUAhwMahk4gYMBpkAocAiEP+CSDIAOAAwYMB"))}, - /* JUN */ {width : 53, height : 24, bpp : 1, buffer : require("heatshrink").decompress(atob("AAcD8ADBkMAhEvwIJBhkA4O+jEAnFwh0O/PAgPDwFwufugEOjkDwePuEAuHgjkcneAgeHgHgBAMAjk4g8HBAMAsPAjE4gY7BggCBwBPLkACBGgMBweAmI0EgecGgoBBGgfngHh4E4BAIBBh0B4IIB4EQmEEBAPA/0An5qBg0P/ED/xNBiAKBh6PCAAw="))}, - /* JUL */ {width : 53, height : 24, bpp : 1, buffer : require("heatshrink").decompress(atob("AA8hgEImAFBgcMgHB4AGBnFwh0OAoMB4eAuFwAwMOjkDweAAwNw8EcjggCw8A8HgAwMcnEHg40CsPAjE4AwUEAQIgCABMgGgcBGgMBGgo/BGggKBGgYBB8PAnA0BBQMOgJpC4EQmEENIX+gE/wFn/EP/ED/0Cv/gBQMP8EP/5QGA"))}, - /* AUG */ {width : 52, height : 24, bpp : 1, buffer : require("heatshrink").decompress(atob("n/8AocE/+gAgMP/1n+0QgGA//HgHhwEYl/wuEOjkDw8Ag4MB4E4uEABilhBgcv/EcgOCgEB/+AwBBB/AMBAgMCj/ngFgAwNw/wmCgImBBgIzDhwzFBikGhkBgUAs0AkEf4EH+A3Bgf+gBLBAwIMD"))}, - /* SEP */ {width : 51, height : 23, bpp : 1, buffer : require("heatshrink").decompress(atob("h/4j//g/+gf/wn/4M/8ABB5/wmf4mEAjkAg8Ap0AgeAgHgjvAgFwBwMD3EAhwOCu8AgIOCh3ggE4BwMB7gjCBwMYv/Ar/wi/8j/8IYMB/+BIYIODDwIyCLIMHGQYGB8JBDB4IyCAoMDw5BDB4JBDgEEMoZ6Cn/A8A6B8FP/kYgEf/EH/4eCA"))}, - /* OCT */ {width : 50, height : 23, bpp : 1, buffer : require("heatshrink").decompress(atob("h/gg/+j//w/8gf/h//+H+gF/wP//OAkHADAXgjlwAoU4g8cAgMYh0B44pCgeAuIYBgfADAnwnEDDAUcghCDgRMIsACBkAYFGKZKDngYFgJjBwAYCPgX4DAMHPgQYBgB8C8EGgAA="))}, - /* NOV */ {width : 51, height : 24, bpp : 1, buffer : require("heatshrink").decompress(atob("vkAgf4AoMX4GA/+ABIN8mEP8EggP350MgMGgF+vvDwFw8Ef4+4uEOjgiBu8OgIOBv8A8PAnFwEQMcnEHBwP8gOHgFh4EdHYNAgEQgJLFggFEhPAjFwg0cg4jDGQPnGQk8GQkPI4IyB8PDKwYOB+BWBMoMHnkOgHAn+A98BwEIh/4jnAHgX+gaGBAAcggAA=="))}, - /* DEC */ {width : 49, height : 23, bpp : 1, buffer : require("heatshrink").decompress(atob("v/gj//gP/5/4iYFC2f4hn/CAOcgMHgEBwEOgPDwEB4AJB8PAgHggeAuHggFwBoM4uEAnANBjgDBjgNBgwDBh0AiEAgowBAAQ6BwEAggFBv/BwAwBsIwWhwwDnEHAYIiBjhhDgEN/0Dn/Aj/hO4M/+Ef/JABv/8g/+A=="))}, - /* MAI */ {width : 44, height : 23, bpp : 1, buffer : require("heatshrink").decompress(atob("v/4j/+gEJ/8Cv/QgnP8kz/cA50A4eAuEc8McnEHgPOnIKD8ecBR04BQMwhlDwkX/kAoE4gH/4EABQlOiAVD8A2EgIrDBS0MnEDgHMGQMAiEEPwo="))}, - /* OKT */ {width : 51, height : 24, bpp : 1, buffer : require("heatshrink").decompress(atob("g/wAQMP//B/8DgPh//8j/AuF8n//jECh0fDAUA8PH4AGB8EcnIhBsEcgeHvkAj0DwFw98AgYjBh0dDAN4h0A4eAEgQDBl/4gFAE4MD/5OE3/ggIyBhk4gcAuAyCBIIyDIIIyDAgOAGQMBGQNwh8B4E4BwMB8BlCBIM8gF/AgMYg+Aj/wmA3B+EB/hBChiYGA"))}, - /* DEZ */ {width : 51, height : 23, bpp : 1, buffer : require("heatshrink").decompress(atob("n/wh//w//xP/gV/8F//Of4Fn/EH/04gUODAUHgHh4AFBnHgjk4BYUcgeHAoMB8eAuHgAwN4uEOjgFBh4jB4eAgED4ADBl/4gFwB4MD/4DBgQCB3/gC4PghgyBgPAGQl4gYyDjwgBGQQrBh0BGQVwDQM4F4MMLIJlEg3/gOfPAPgn/gk/+j/+h/8IoPh//gA="))} -]; - -var imgSquid = {width : 88, height : 26, bpp : 1, buffer : require("heatshrink").decompress(atob("gE/AYUYgEH////0B//gBQM8BQgDB/AKHh/A/gKBvwKBAgMOj8AnwKHBAIMBgH/BQgmCAoPnBQl4AoOAgPnwAKDuEAgYKB4YKIgfD4AKDMAMB4EDwIKIg+B8AKIgAKIh8A+AKHh0AuAKHj0AvBMG4EcgE4K458Bnh4HnEAjiOHBwMeBQpKBEgMOXQ/wBwIKDaAZQBg4KDcwT0BAAOHfgoKHgE/wDaBAAL8DA="))}; - -var imgNoBT = {width : 20, height : 20, bpp : 3, transparent : 0, buffer : require("heatshrink").decompress(atob("///8mSpM/AoP/yUT/8yuYGB5AMB/1MyYUBkmT/P85MP+USBwOT8mQ/8JBwXyoVnyGSv8//Mhk14pMn//8BYNMwmSp/+pFJkgyBDoMkkgODpOSuQOE5M/KgIOCsmfz/JknPhMyof5n+Ss/wzMhn4OBk1+smQLoWTn/mHAM/+VJz4KBwhZBEYJ/CkM8yZVBAAQxBCgP/A="))}; - -const V2_X_STEP = 26; -const V2_Y_STEP = 34; - -const V2_TIME_Y_OFFSET = 8; -const V2_HX = 36; -const V2_HY = 0 + V2_TIME_Y_OFFSET; -const V2_MX = 10; -const V2_MY = 51 + V2_TIME_Y_OFFSET; -const V2_SX = 10; -const V2_SY = 95 + V2_TIME_Y_OFFSET; -const V2_BT_X = 137; /* 145, 35 */ -const V2_BT_Y = 20; -const V2_DX = 100; -const V2_DY = 141; - -const V2_BAT_POS_X = 21; -const V2_BAT_POS_Y = 40; -const V2_BAT_SIZE_X = 13; -const V2_BAT_SIZE_Y = 2; - -const V2_SCREEN_SIZE_X = 176; -const V2_SCREEN_SIZE_Y = 176; -const V2_BACKGROUND_IMAGE = "Background176_center.png"; -const V2_BG_COLOR = 0; -const V2_FG_COLOR = 1; - -/* Bangle 1: 240 x 240 */ - -const V1_X_STEP = 35; -const V1_Y_STEP = 46; - -const V1_TIME_Y_OFFSET = 41; -const V1_HX = 48; -const V1_HY = 0 + V1_TIME_Y_OFFSET; -const V1_MX = 14; -const V1_MY = 55 + V1_TIME_Y_OFFSET; -const V1_SX = 14; -const V1_SY = 110 + V1_TIME_Y_OFFSET; -const V1_BT_X = 41; -const V1_BT_Y = 14; -//var BT_X = 20, BT_Y = 14; -const V1_DX = 160; -const V1_DY = 205; - -const V1_BAT_POS_X = 175; -const V1_BAT_POS_Y = 21; -const V1_BAT_SIZE_X = 3; -const V1_BAT_SIZE_Y = 5; -const V1_SCREEN_SIZE_X = 240; -const V1_SCREEN_SIZE_Y = 240; -const V1_BACKGROUND_IMAGE = "Background240_center.png"; -const V1_BG_COLOR = 1; -const V1_FG_COLOR = 0; - -/* runtime settings */ - -var x_step = 0; -var y_step = 0; - -var time_y_offset = 0; -var hx = 0, hy = 0; -var mx = 0, my = 0; -var sx = 0, sy = 0; -var bt_x = 0, bt_y = 0; -var dx = 0, dy = 0; - -var bat_pos_x, bat_pos_y, bat_size_x, bat_size_y; -var backgroundImage = ""; -var screen_size_x = 0; -var screen_size_y = 0; -var bg_color = 0; -var fg_color = 1; - -/* global variables */ - -var showDateTime = 2; /* show noting, time or date */ -var cg; -var cgimg; - -/* local functions */ - -/** - * function drawSquare(...) - * - * go through all bits and draw a square if a bit - * is set. So we get the binary representation - * of the value - * used to draw block for hours, mintutes, seconds, date - * - * @param gfx: graphic object to use - * @param x: x-coordinate of 1st the square - * @param y: y-coordinate of 1st the square - * @param data: data conatining the bit information - * @param numOfBits: number of bits to draw -*/ -function drawSquare(gfx, x, y, data, numOfBits) { - - for(i = numOfBits; i > 0 ; i--) { - if( (data & 1) != 0) { - gfx.fillRect(x + (i - 1) * x_step, y, - x + i * x_step , y + y_step); - } - data >>= 1; /* shift one bit right */ - } -} - -/** - * function drawBinary(...) - * draw the time in binary format - * default display for geeks and real men - - * @param h: hours - * @param m: minutes - * @param s: seconds -*/ -function drawBinary(gfx, hour, minute, second) { - gfx.clear(0); - - if(hour > 12) { - hour -= 12; /* we use for bit for hours so we only display 12 hours*/ - } - drawSquare(gfx, hx, hy, hour, 4); /* set hour */ - drawSquare(gfx, mx, my, minute, 6); /* set minute */ - drawSquare(gfx, sx, sy, second, 6); /* set second */ -} - -/** - * function drawTime(...) - * show time under the graphic - * for wimps and commies - * - * @param h: hours - * @param m: minutes - * @param s: seconds -*/ - -function drawTime(gfx, h, m, s) { - var time = (" "+h).substr(-2) + ":" + ("0"+m).substr(-2)+ ":" + ("0"+s).substr(-2); - - gfx.setFontAlign(0,-1); // align right bottom - gfx.setFont("7x11Numeric7Seg", 2); - gfx.drawString(time, gfx.getWidth() / 2, dy + 1, false /*clear background*/); -} - -/** - * function drawDate(...) - * show date under the graphic - * (optionally) - * - * @param gfx: graphic object to use - * @param d: date object -*/ -var vMonth = 0; -function drawDate(gfx, d) { - var dateString = "" - + ("0" + d.getDate()).substr(-2) -// + " " -// + ("0" + d.getMonth()).substr(-2) -// + " " -// + ("0" + d.getFullYear()).substr(-2) - ; - - gfx.setFontAlign(-1,-1); // align right bottom - gfx.setFont("7x11Numeric7Seg",2); /* draw the current time font */ - gfx.drawString(dateString, dx, dy + 1, false /* don't clear background*/); - gfx.drawImage(month[d.getMonth()], 40, dy); -} - -function toggleDateTime() { - showDateTime++; - if(showDateTime > 2){ - showDateTime = 0; - } -} - -function updateVTime() { - vMonth++; - if(vMonth >= 12 + 3) { - vMonth = 0; - } - second++; - if(second > 59) { - second = 0; - minute++; - if(minute > 59) { - minute = 0; - hour++; - if(hour > 12) { - hour = 0; - } - } - } -} - -/** - * function drawBattery(...) - * fill the battery symbol with blocks - * according to the battery level - * - * @param gfx: graphic object - * @param level: current battery level -*/ -function drawBattery(gfx, level) { - var pos_y = bat_pos_y - 1; - var stepLevel = Math.round((level + 10) / 20); - - for(i = 0; i < stepLevel; i++) { - pos_y -= bat_size_y + 2; - gfx.fillRect(bat_pos_x, pos_y, - bat_pos_x + bat_size_x, pos_y + bat_size_y); - } -} - -/** - * function drawBattery(...) - * fill the battery symbol with blocks - * according to the battery level - * - * @param gfx: graphic object - * @param level: current battery level -*/ -function drawBT(gfx, status) { - if(!status) { - gfx.drawImage(imgNoBT, bt_x, bt_y); - } -} -function setRuntimeValues(resolution) { - if(240 == resolution) { - x_step = V1_X_STEP; - y_step = V1_Y_STEP; - - time_y_offset = V1_TIME_Y_OFFSET; - hx = V1_HX; - hy = V1_HY; - mx = V1_MX; - my = V1_MY; - sx = V1_SX; - sy = V1_SY; - bt_x = V1_BT_X; - bt_y = V1_BT_Y; - dx = V1_DX; - dy = V1_DY; - - screen_size_x = V1_SCREEN_SIZE_X; - screen_size_y = V1_SCREEN_SIZE_Y; - backgroundImage = V1_BACKGROUND_IMAGE; - - bat_pos_x = V1_BAT_POS_X; - bat_pos_y = V1_BAT_POS_Y; - bat_size_x = V1_BAT_SIZE_X; - bat_size_y = V1_BAT_SIZE_Y; - - setWatch(toggleDateTime, BTN1, { repeat : true, edge: "falling"}); - - } else { - x_step = V2_X_STEP; - y_step = V2_Y_STEP; - - time_y_offset = V2_TIME_Y_OFFSET; - - hx = V2_HX; - hy = V2_HY; - mx = V2_MX; - my = V2_MY; - sx = V2_SX; - sy = V2_SY; - - bt_x = V2_BT_X; - bt_y = V2_BT_Y; - - dx = V2_DX; - dy = V2_DY; - - screen_size_x = V2_SCREEN_SIZE_X; - screen_size_y = V2_SCREEN_SIZE_Y; - backgroundImage = V2_BACKGROUND_IMAGE; - - bat_pos_x = V2_BAT_POS_X; - bat_pos_y = V2_BAT_POS_Y; - bat_size_x = V2_BAT_SIZE_X; - bat_size_y = V2_BAT_SIZE_Y; - - Bangle.on('swipe', function(direction) { toggleDateTime(direction);}); -} - cg = Graphics.createArrayBuffer( - screen_size_x,screen_size_y, 1, {msb:true}); - - cgimg = {width:screen_size_x, height:screen_size_y, bpp:1, - transparent:0, buffer:cg.buffer}; - -} -var hour = 0, minute = 1, second = 50; -var batVLevel = 20; - - -function draw() { - var d = new Date(); - var h = d.getHours(), m = d.getMinutes(), s = d.getSeconds(); - g.reset(); - - drawBinary(cg, h, m, s); - - switch(showDateTime) { - case 1: - drawTime(cg, h, m, s); - break; - case 2: - drawDate(cg, d); - break; - default: - cg.drawImage(imgSquid, cg.getWidth() / 2 - 44, dy); - } - drawBattery(cg, /*batVLevel*/ E.getBattery()); - - batVLevel += 2; - if(batVLevel > 100) { - batVLevel = 0; - } - updateVTime(); - g.clear(); - g.drawImages([{image:cgimg}, - {image:require("Storage").read(backgroundImage)}, -// { x:bt_x, y:bt_y, rotate: 0, image:require("Storage").read("bt-icon.png")}, - ]); - drawBT(g, NRF.getSecurityStatus().connected); -// Bangle.drawWidgets(); - const millis = d.getMilliseconds(); - setTimeout(draw, 1000-millis); - // Bangle.loadWidgets(); -} - -// Show launcher when button pressed -Bangle.setUI("clock"); -setRuntimeValues(g.getWidth()); -g.reset().clear(); -Bangle.loadWidgets(); -Bangle.drawWidgets(); -draw(); diff --git a/apps/binwatch/app.png b/apps/binwatch/app.png deleted file mode 100644 index e1a0c88ff7b0d65cb671e5fe0856e754fdaf717b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2642 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 ODsaKd={(DlkoX_cgzO3c