From 80d88200c12efad2dbe14217a6a318306f0cc3fd Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Mon, 11 Nov 2019 15:23:50 +0000 Subject: [PATCH] Add simple gesture test app --- apps.json | 18 ++++++++++++++++-- apps/gesture-icon.js | 1 + apps/gesture-tfmodel.js | 1 + apps/gesture-tfnames.js | 1 + apps/gesture.js | 5 +++++ apps/gesture.json | 5 +++++ apps/gesture.png | Bin 0 -> 2055 bytes 7 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 apps/gesture-icon.js create mode 100644 apps/gesture-tfmodel.js create mode 100644 apps/gesture-tfnames.js create mode 100644 apps/gesture.js create mode 100644 apps/gesture.json create mode 100644 apps/gesture.png diff --git a/apps.json b/apps.json index 96d8a9e9d..c46d5f8a9 100644 --- a/apps.json +++ b/apps.json @@ -312,7 +312,7 @@ ], "sortorder" : -1 }, - { "id": "sclock", + { "id": "sclock", "name": "Simple Clock", "icon": "clock-simple.png", "description": "Simple Digital Clock", @@ -321,7 +321,21 @@ "storage": [ {"name":"+sclock","url":"clock-simple.json"}, {"name":"-sclock","url":"clock-simple.js"}, - {"name":"*sclock","url":"clock-simple.js","evaluate":true} + {"name":"*sclock","url":"clock-simple-icon.js","evaluate":true} + ] + }, + { "id": "gesture", + "name": "Gesture Test", + "icon": "gesture.png", + "description": "BETA! Uploads a basic Tensorflow Gesture model, and then outputs each gesture as a message", + "tags": "gesture,ai", + "type":"app", + "storage": [ + {"name":"+gesture","url":"gesture.json"}, + {"name":"-gesture","url":"gesture.js"}, + {"name":".tfnames","url":"gesture-tfnames.js","evaluate":true}, + {"name":".tfmodel","url":"gesture-tfmodel.js","evaluate":true}, + {"name":"*gesture","url":"gesture-icon.js","evaluate":true} ] } ] diff --git a/apps/gesture-icon.js b/apps/gesture-icon.js new file mode 100644 index 000000000..dd1b622ea --- /dev/null +++ b/apps/gesture-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwxH+AH4A/AH4A/ABVjFNE/F4tjA4oAZ54ABFIowHMTouCGAooCFIk/GDovEMIwpFMLIoDF4owOLTYwLRYwvc5wwSF7gABSRk/GF6NXE5HO5D0SLaYxHGB6LYF5AwLMBBBIAAYpHA4gwNbpjsPFAowTB6phYQAovKXZAIEAwwhIBgwvIFQYwLfQIvHEYguSEYZhLACXOXhpSGGDLsRGDovJGBDsOFy4ABEIopGF0LCHLRY1OF5wwSF7qSFdkZhOF9AwE5wuFGh4uTSQxelsc/GDZaRn4wbRadjAAIwXXiowYFyowIF04wWFzIwUFzYABn4wPFzoxDAwotmAH4A/AH4AjA==")) diff --git a/apps/gesture-tfmodel.js b/apps/gesture-tfmodel.js new file mode 100644 index 000000000..a29901ef5 --- /dev/null +++ b/apps/gesture-tfmodel.js @@ -0,0 +1 @@ +atob("HAAAAFRGTDMAABIAHAAEAAgADAAQABQAAAAYABIAAAADAAAAjA0AABAEAAD4AwAAPAAAAAQAAAABAAAADAAAAAgADAAEAAgACAAAAAgAAAAMAAAAEwAAAG1pbl9ydW50aW1lX3ZlcnNpb24ADQAAALADAACIAwAAWAMAAKQBAABcAQAAVAEAAEwBAABEAQAAEAEAAAgBAAAAAQAAHAAAAAQAAACu/P//BAAAAAUAAAAxLjUuMAAAAML8//8EAAAA0gAAAMJbJV3AgRwc/Nn1I0Qd5WDwPa0nY6nMbPyvfyOWOlqqf+64Juoa5kjpQVjoHTubf/NpJEH1Sqe0/PfJ5/o08zInA5f6fyg/vRaJEX9VQE5BPlRI0EP1Imq8NkNBLz3Q1hW5k9frf1Lfuc/rEwfGJqbG/txEf35Ey0jgICJ/B+vyu1FF8M+HA2ZcLhAX+QGB26MS3iLLDxnLNlvp9jbo8gM/5YEc0RoWA+W+Ih9T3AyBSNRX4Ew+739Y9R3p+cnS/dj283/BrQDWUu/y4Q8JAwj+5QAA4Pz//+T8//+q/f//BAAAACQAAABejWTlyU3qNn6j53/W2AR0lmjJ9d87YN1cNbBDobHjz5gdMFIY/f//HP3//yD9///m/f//BAAAADgAAADB////e////zwAAACt////5P////3///8yAAAAmP///53///9K////SP///2H///+J////c////yr+//8EAAAApAEAAA4mHQIO1TUu59UbG4FFDeDwNN3sEtUHD18IISYb5aXfCQ0g6/wWDMADFirm8M7t9f4H1eMQluL9Btze72b+5wXX08vbHvLxET4L+xHtFeHZ5NfHV/zUByIHzTf/rxUS28LqwaXnhn8izicXm7z7t+Ja6dHaVL8zE6oR6TwY3LUxFktGE/DcDQz71rkc9SrmL+zs6+3/yTse/xvcHcsIgenD5OHuJeT199TsxRCi6bVGzgb579Xj2vTt2g/RqTAbAsroB9oAtgbn7AkS8fEJ0O8x/nML+1Xf/cAqK8Yo9yvVIjztKSQT+NH09AdCIb/6Af/VD9+EI+vvKuvEEk9h5k8PtNrNIucw/xGBFVzOCQ3q/wH+BBtoCOf74smpLzb37xcvFlcQEPAMmP4o9+L5JU8QMgHG5wrINjRx8/UnPBc57cvo79oGAUzs5jTzFWznEvzP6s8Wf+gQHOn2QAYD/hE8Fuw45P8B0y0GCgr4AyrsAgjRH0XpGRM0+gD9YPoB++3wM/TcDn+fDf1lAAoaCtP4M/3kbQvrATrd6g/y7/rv6Kwj3Nr///8EAAAAGAAAAAYBAADiAQAA2P///5f+//+6////Mf///wAABgAIAAQABgAAAAQAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaP///w8AAABUT0NPIENvbnZlcnRlZC4AAQAAAAQAAAD09v//3AEAANABAADEAQAABAAAAAYAAACYAQAAQAEAANgAAACEAAAAOAAAAAQAAACK/v//BAAAABAAAAAEAAAAAQAAAAwAAAABAAAAAAAAAAAADgAYAAgADAAQAAcAFAAOAAAAAAAACAEAAAAcAAAAEAAAAAgAAAAEAAQABAAAAAEAAAAAAAAAAwAAAAoAAAAJAAAAAQAAAAAADgAaAAgADAAQAAcAFAAOAAAAAAAABQIAAAA8AAAAMAAAABQAAAAAAA4AGAAHAAgADAAQABQADgAAAAAAAAEBAAAALgAAAAEAAAAuAAAAAQAAAAoAAAABAAAACAAAAKr///8AAAABPAAAADAAAAAUAAAAEAAYAAAACAAMAAcAEAAUABAAAAAAAAABAQAAAAEAAAACAAAAAgAAAAEAAAAIAAAAAwAAAAUAAAAGAAAABwAAAAAADgAUAAAACAAMAAcAEAAOAAAAAAAAATAAAAAkAAAAEAAAAAwAEAAGAAgADAAHAAwAAAAAAAEBAQAAAAEAAAABAAAABQAAAAMAAAACAAAAAwAAAAQAAAAAAAoAEAAEAAgADAAKAAAAAwAAABAAAAAEAAAAAQAAAAIAAAABAAAACwAAAAEAAAAMAAAAAQAAAAsAAAANAAAAEAcAAJwGAAAcBgAAAAUAAPwDAAB4AwAAvAIAABgCAACMAQAACAEAAHQAAAA8AAAABAAAANj///8YAAAABAAAAAgAAABJZGVudGl0eQAAAAACAAAAAQAAAAYAAAAMAAwABAAAAAAACAAMAAAAHAAAAAQAAAAMAAAAYWNjZWxlcmF0aW9uAAAAAAQAAAABAAAAMgAAAAEAAAADAAAAmvn//wAAAAl0AAAABgAAAEQAAAAEAAAAjPn//zAAAAAkAAAAGAAAAAQAAAABAAAAgP////////8AAAAAAQAAAN6l9z4BAAAAOK72QgEAAAAAAAAAIAAAAHNlcXVlbnRpYWwvbWF4X3Bvb2xpbmcyZC9NYXhQb29sAAAAAAQAAAABAAAAAQAAAAEAAAAGAAAAKvr//wAAAAlsAAAACAAAACwAAAAEAAAAjPr//xgAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAEAAABVoaw7MAAAAHNlcXVlbnRpYWwvZGVuc2UvTWF0TXVsL1JlYWRWYXJpYWJsZU9wL3RyYW5zcG9zZQAAAAACAAAABgAAAAYAAACq+v//AAAACWwAAAAJAAAARAAAAAQAAACc+v//MAAAACQAAAAYAAAABAAAAAEAAACA/////////wAAAAABAAAA3qX3PgEAAAA4rvZCAQAAAAAAAAAYAAAAc2VxdWVudGlhbC9jb252MmRfMS9SZWx1AAAAAAQAAAABAAAALgAAAAEAAAAGAAAAMvv//wAAAAKQAAAAAgAAAGQAAAAEAAAAlPv//zwAAAAEAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAABUbvA6FaemOke74Do4TZA6gTLYOpTt+zofAAAAc2VxdWVudGlhbC9jb252MmRfMS9Db252MkRfYmlhcwABAAAABgAAANL7//8AAAAJnAAAAAMAAABkAAAABAAAADT8//88AAAABAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAQ3uTO3hzTDv12Yk71QcxO86dhDuqiJo7KQAAAHNlcXVlbnRpYWwvY29udjJkXzEvQ29udjJEL1JlYWRWYXJpYWJsZU9wAAAABAAAAAYAAAAFAAAAAQAAAA4AAACK/P//AAAACWQAAAAHAAAAQAAAAAQAAAB8/P//LAAAACAAAAAUAAAABAAAAAEAAACA/////////wEAAADfq9A+AQAAADPbz0IBAAAAAAAAABYAAABzZXF1ZW50aWFsL2NvbnYyZC9SZWx1AAAEAAAAAQAAAC4AAAABAAAADgAAAAr9//8AAAAC8AAAAAQAAADEAAAABAAAAGz9//98AAAABAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAIieCjtEoPM6zIP5OgV3xjosFgQ7+qsTOwl55zpbKvM6YZ8XO+0qyjoJ/CM7Eq0SO2aMIDuFGvM6HQAAAHNlcXVlbnRpYWwvY29udjJkL0NvbnYyRF9iaWFzAAAAAQAAAA4AAAAK/v//AAAACfwAAAALAAAAyAAAAAQAAABs/v//gAAAAAQAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAqzQ2O3QdIDs6/CM7Nm8CO3aeLTvLGkI7syAYO/bPHzs3TEc7Md4EO/GLVzu9y0A7uAdTO43FHzsnAAAAc2VxdWVudGlhbC9jb252MmQvQ29udjJEL1JlYWRWYXJpYWJsZU9wAAQAAAAOAAAABQAAAAEAAAADAAAAIv///wAAAAlgAAAACgAAAEAAAAAEAAAAFP///ywAAAAgAAAAFAAAAAQAAAABAAAABwAAAAAAAAABAAAAw8JCPwEAAAAAALZCAQAAAAAAzsIRAAAAYWNjZWxlcmF0aW9uX2ludDgAAAAEAAAAAQAAADIAAAABAAAAAwAAAJ7///8AAAACUAAAAAEAAAA0AAAAEAAAAAwADAAAAAAABAAIAAwAAAAUAAAABAAAAAEAAAAAAAAAAAAAAAEAAACD/yY7DQAAAElkZW50aXR5X2JpYXMAAAABAAAABgAAAAAADgAYAAgABwAMABAAFAAOAAAAAAAACWgAAAAFAAAATAAAABAAAAAMABQABAAIAAwAEAAMAAAALAAAACAAAAAUAAAABAAAAAEAAAAJAAAAAAAAAAEAAACacSU/AQAAALcXmUIBAAAAmoCwwg0AAABJZGVudGl0eV9pbnQ4AAAAAgAAAAEAAAAGAAAABQAAAGAAAABEAAAAKAAAABwAAAAEAAAA1v///wAAAAYCAAAAAAAGAAgABwAGAAAAAAAAcvL///8AAAARAgAAAAAACgAOAAcAAAAIAAoAAAAAAAAJBAAAAAAACgAMAAcAAAAIAAoAAAAAAAADAwAAAA==") diff --git a/apps/gesture-tfnames.js b/apps/gesture-tfnames.js new file mode 100644 index 000000000..ba0d58546 --- /dev/null +++ b/apps/gesture-tfnames.js @@ -0,0 +1 @@ +"swipeleft,swiperight,upup,waggle,clap2" diff --git a/apps/gesture.js b/apps/gesture.js new file mode 100644 index 000000000..ff0be1297 --- /dev/null +++ b/apps/gesture.js @@ -0,0 +1,5 @@ +Bangle.on('aiGesture',(gesture)=>{ + E.showMessage(gesture?gesture:"Unknown"); + setTimeout(()=>g.clear(), 2000); +}); +E.showMessage("Wave your hands\nto detect\na gesture","Gesture Test"); diff --git a/apps/gesture.json b/apps/gesture.json new file mode 100644 index 000000000..48903e978 --- /dev/null +++ b/apps/gesture.json @@ -0,0 +1,5 @@ +{ + "name":"Gesture Test", "type":"app", + "icon":"*gesture", + "src":"-gesture" +} diff --git a/apps/gesture.png b/apps/gesture.png new file mode 100644 index 0000000000000000000000000000000000000000..e8a4eea4b76027567c26f115f6fa50da9dd31709 GIT binary patch literal 2055 zcmV+i2>ADjP)>-GAJ(vp@!1%#L>OPFg5!Rdq|ENe@P zrO=rfqb!>-ONdjm$b_ZOA;^BjxM}7l#$Qph<=O&WOUsr;NK6brt{B+t{+K9*>&hGj zy0&+{-aXI9KcKbOyDR1BOf{CDwncKy8sJL^EgL&qepS`k>6wjMw=6(U?)iiU ztUqhOifF)kS5NsGCj09;S}Q@HRwYo|)$$!w1)%K2+Z_ns2Eqc5xCymw_4~cIE8v!w zkOr(bfen*Qz~fS3y#lb+@Ar=87(0O-fC(HjBj&b4_4U^P>bhE1sB#1-0gerMhpLWM zZW~Qkz>H=k$-)uYF6B)xjT@>D`{$ctz6QDm z6$T1Ar(Dq=%Tj>axeg?)O`w<=jGJz6AUqN^`MYN#$GY$B* zj~hB`8ZTuI+Yc!68t6RGH)}gvR|B+FH}xpqgb7SLJ#mTq7s_;u77qqLcv*liZ;jF@6VDQ=3s~et6S3t@oq>9jOT>&YmX^BFKwjq#LJSkFw#k=i2%_M`eJ(66?$vZJ=KFJ0o}xY;J&nbazRD<^09 zX#a;7L7f!2`!wKtYEq774%y#A^axNQrrA6jXF)K(wg=LP9>l* z{!wt{WiN|-Fwl=Cs_+!gLt}PvxUX*jC6cs?=pGGNyT%{es~S!LKLK3Wx;i3&75pX4;zG2`lm{St&>l?(Gy5QQY?=8KJt5WReL#Ji}} zi^Pk!M?!>p`!I8|2eK9~$U;eV&uNkhYj+CYbq)dF*Fk@q#MLJiR_SCz!VE}x(?OI+ zfrRej%Ff2j$<7Y<1|z7(t$8y$3r|r2_V93Fs5cl!38&!ai<^n5jfi@ zjT4O#`sW19HJcgZ{xWTny?1&$@8nkKHi z+^lf04~XycW|kLE@jRT-h#9)jXR4FxR&g6pev^tkByQqu!1<{`rZ*Ea%j*gE1_jl) zKA%xA7k7Rh&S(^8Y;0CIPePcC?4$?XI1bjaY*L3`GE`Y4w z`2jKaI)uT=Rm4oSac|?3s}i8hIy}?xqyjc}wLGaRtzvpQYTMhh;D!i?GSE=6oLNE$ z*d{XbDNHKBrRD*kUzGdQh_sEre9KDfADD7CFfuE2;}J#KDl4sbZY3$HfJ4>w=hQH& zfNLVGcQf+pgot~s^BAt#77<0{Az5j4-fCjXJ<##s<}-$)HNcP}^)5y_>)P6KVf?Vm zT+Zx>xK6&j>0mm^({`b@ja&cXI8G(-FOYTWj{d3sjRQphQnBL#xIYD4OsDV-+!lG5 zK^r~1v9TM|Sq;1gRK#rO^!WEpso2>Md>S~KM(x`s54X_oZhUEO2K@ps2I?E~&U@}y zWo1myJfBT;`v%ruMX0Pr{7Mh@#>eIhkONj9p@BqRRAQuP%$5H%L lSnapc=kMSS?%@9%{|4qy_jQ{1s$l>C002ovPDHLkV1mxJ^xXge literal 0 HcmV?d00001