From 58f9e7cd5b59904651fb878a89844ee4ccfb23df Mon Sep 17 00:00:00 2001 From: jeffyactive Date: Mon, 22 Nov 2021 20:03:18 -0500 Subject: [PATCH 1/4] Upgrade to emoji images and supporting text --- apps/emojuino/emojuino.js | 54 +++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/apps/emojuino/emojuino.js b/apps/emojuino/emojuino.js index 3de92fa6c..5b7670652 100644 --- a/apps/emojuino/emojuino.js +++ b/apps/emojuino/emojuino.js @@ -4,29 +4,48 @@ */ -// Emojis are integer pairs with the form [ image, Unicode code point ] +// Emoji images are 96px x 96px, 4bpp (https://www.espruino.com/Image+Converter) +// and adapted from Font Awesome 5 +const GRIN = "sFgwkBiIATDwoaUFi4ynQZ4uuGDzlTF1wwaFyowYFy4wWiAvZgIutGCgubSKRecMCQudMCBeeMCAufMBxegMBwuhMBheiMBgujMBRekMBQvvF0qQIL0xgIF94unSA4vuR1CQGF94upSAovuR1SQEF94urSAY/PCBivQF5z/DEBQ+DEB5ePCJYOEMBgNNF8MBHpogNHwqBNF/4vsEAovOX7TviBhYgFD5Q/EEJoANEAY/OLxgAQPx5edAH4A/AH4A/AH4A/AEUQF1sBF/4v/F/4vviILJBRQANEZYLJHQIMKFpYABQhIiKC4QaMIhBHLF6AAVEhRQIF8ZuCF5B6GACYjMF9ZrOF8jAiKRgvvSEJROBo5gYEBw+IMCwfPB5BgWDxBPHCCBeVJxBgdJqIvJMCQcTCRAwRFxJ8KChQwODKwVJGBouKbZgXLDBQVLPBoZLDYxDMLxocQACLXOMBwARFxxgfLx5gfFyBgdLyIwcFyaRbFygwZFywwXFzAwVFzQwTFzgwRFzwxOFsIyKDSg"; +const MEH = "sFgwkBiIATDwoaUFi4ynQZ4uuGDzlTF1wwaFyowYFy4wWiAvZgIutGCgubSKRecMCQudMCBeeMCAufMBxegMBwuhMBheiMBgujMBRekMBQvvF0qQIL0xgIF94unSA4vuR1CQGF94upSAovuR1SQEF94urSAY/PCBivQF5z/DEBQ+DEB5ePCJYOEMBgNNF8MBHpogNHwqBNF/4vsEAovOX7TviBhYgFD5Q/EEJoANEAY/OLxgAQPx5edAH4A/AH4A/AH4A/AEUQF1sBF/4v/F/4vviIvtiIv/F9qeBACDgNB5ouSECAOLFyaBMKAYvrByQvgSBS/fD4jAfXxwQMADxAQF8iQLADjeGF96QoFwxgnLw4vwSEwuIMEpeJMEouKMEZeLMEYuMMEJeNMEIuOMD5ePMD4uQMDpeRGDguTSLYuUGDIuWGC4uYGCouaGCYucGCIueGJwthGRQaUA"; +const FROWN = "sFgwkBiIATDwoaUFi4ynQZ4uuGDzlTF1wwaFyowYFy4wWiAvZgIutGCgubSKRecMCQudMCBeeMCAufMBxegMBwuhMBheiMBgujMBRekMBQvvF0qQIL0xgIF94unSA4vuR1CQGF94upSAovuR1SQEF94urSAY/PCBivQF5z/DEBQ+DEB5ePCJYOEMBgNNF8MBHpogNHwqBNF/4vsEAovOX7TviBhYgFD5Q/EEJoANEAY/OLxgAQPx5edAH4A/AH4A/AH4A/AEUQF1sBF/4v/F/4vUgMRAAQZWFqwxWCgIuZGCYvSFxIcUFzYdTOZyNKSKQdCCJwuNMB5NDLzZOPIKAviCJguPJxpNEF94RLRyBONIKAvHNRQvRCKAMUJpIvOZxx9WAEbSTADReHF+CQmFxBglLxJglFxRgjLxZgjFxhghLxpghFxxgfLx5gfFyBgdLyIwcFyaRbFygwZFywwXFzAwVFzQwTFzgwRFzwxOFsIyKDSg"; +const THUMBS_UP = "sFgwkBiIAaiAiBDzYAQKYZQcLyAwsF4qSpcoxgoF4xgnRwwvxSEwvvFw4vwYEwv/F/4AOiAv/R1Av/F/6+PgIv/RzwvjLxQvkFxTujLxYvjFxaOiLxgvvR1wviR3gviR3YviFxg6iF7AwVRxowhFzUAgIvuMCSObF6YucSCJedF6IudSARQIHQheeAAIgKGAYufF+CbMF/4v/WYQv/F/6yPF/6OeF9wgNL/4v/F/4vhEQIv/R/4v/F/7ueF/4v/Xx4v/F/4v/F/4v/F/4v/F7ogOF/6OSEAgHCiAvrAwQHHRz4v/F/4v/F58QF8cBE4wPDGLYvHB5aTaKwQvUMS4vYGCx8QF5AwULwgvWYiZJQIAowXDowvYGJyqRFx4bKDRQA=="; +const THUMBS_DOWN = "sFgwkBiIAbiAoGEroAHLZgttMcK9RXEZgmFyZgHDZA/JFyogFDZQwHFqovXLiyQHB5wtaF6gubF/4v/F/4vwgIv/F7wgPF/6QTF/4v/F/4v/F/4v/F/4AdF/4v/YCIv/F/4v9EQIv/R/4v/F/7ueL+gFBiMQF8oiBE4wHHF/6QQF/4v/YigvugInBiAvrM5QvvM4gvqMFgvDMD0BF55gegJPKgIvEMDoeLF4pgdJ5QuGF7gjHABaQbFyRgbFygvZFyqQOEixgYF8RgMgIv/SH5gPYH6QfF8aQvMBgvjMBaQjMBYvkMBQv/SEAv/F/7APF/6QfF/4v/F/0BF8sQF/4vnF0rAJF9yOmSBAunF4xeoSAouqMAYTQA=="; +const HEART = "sFgwkBiIA/AH4A/AH4AogAADC1EQC4gaQCo8BIqYwRCyxdJDJoVLMJYuMGBIVNGBQYNDI5FOO5IXODI4WWI6BgGCywYTDIYVVO6gvXSAoYTDIQVTMAgYTDIJFUMAgYUACyOXAC7XWF7YurSAYvuR1iQCF/4v/F54utAH4A/AH4A/AH4A/AGMQF1sBF/4v/F58RF9sRF/4vgYFi+BMFouCF+CQqRwYvwSFQuEMFJeFMFIuGME5eHME4uIMEpeJMEouKMEZeLMEYuMMEJeNMEIuOMD5ePMD4uQMDpeRMDouSMDZeTMDYuUMDJeVMDIuWMC5eXMC4uYMCpeZMCouaMCZebMCYucMCJedF+CQQFzxgPFz5gPF8JgMXr5gPF0RgLL0ZgLF0hgJL0pgJF0xgHL05gHF1BgFL1JgFF1QwDF1gA/AH4A/AH4AJA="; +const TX = "k8XwkBiIAYEYogLHBAUIiBNKGxooKEggvJCYYHDKxAMFAoRrOCRAsHCYqbNHQibLKAauOLBCJHQw6JMQBIJBRJDWJThK5JJJi5KbpaJKFBaKEE5ybGHRhcOACEQA"; + + +// Emojis are pairs with the form [ Image String, Unicode code point ] // For code points see https://unicode.org/emoji/charts/emoji-list.html const EMOJIS = [ - [ ':)', 0x1f642 ], // Slightly smiling - [ ':|', 0x1f610 ], // Neutral - [ ':(', 0x1f641 ], // Slightly frowning - [ '+1', 0x1f44d ], // Thumbs up - [ '-1', 0x1f44e ], // Thumbs down - [ '<3', 0x02764 ], // Heart + [ GRIN, 0x1f642 ], // Slightly smiling + [ MEH, 0x1f610 ], // Neutral + [ FROWN, 0x1f641 ], // Slightly frowning + [ THUMBS_UP, 0x1f44d ], // Thumbs up + [ THUMBS_DOWN, 0x1f44e ], // Thumbs down + [ HEART, 0x02764 ], // Heart ]; const EMOJI_TRANSMISSION_MILLISECONDS = 5000; const BLINK_PERIOD_MILLISECONDS = 500; const TRANSMIT_BUZZ_MILLISECONDS = 200; const CYCLE_BUZZ_MILLISECONDS = 50; +const WELCOME_MESSAGE = 'Emojuino:\r\n\r\n< Swipe >\r\nto select\r\n\r\nTap\r\nto transmit'; // Non-user-configurable constants const IMAGE_INDEX = 0; const CODE_POINT_INDEX = 1; +const EMOJI_PX = 96; +const EMOJI_X = (g.getWidth() - EMOJI_PX) / 2; +const EMOJI_Y = (g.getHeight() - EMOJI_PX) / 2; +const TX_X = 68; +const TX_Y = 12; +const FONT_SIZE = 24; const BTN_WATCH_OPTIONS = { repeat: true, debounce: 20, edge: "falling" }; const UNICODE_CODE_POINT_ELIDED_UUID = [ 0x49, 0x6f, 0x49, 0x44, 0x55, 0x54, 0x46, 0x2d, 0x33, 0x32 ]; + // Global variables let emojiIndex = 0; let isToggleOn = false; @@ -72,6 +91,7 @@ function transmitEmoji(image, codePoint, duration) { require('ble_eddystone_uid').advertise(UNICODE_CODE_POINT_ELIDED_UUID, instance); isTransmitting = true; + drawImage(EMOJIS[emojiIndex][IMAGE_INDEX], true); let displayIntervalId = setInterval(toggleImage, BLINK_PERIOD_MILLISECONDS, image); @@ -85,14 +105,14 @@ function terminateEmoji(displayIntervalId) { NRF.setAdvertising({ }); isTransmitting = false; clearInterval(displayIntervalId); - drawImage(EMOJIS[emojiIndex][IMAGE_INDEX]); + drawImage(EMOJIS[emojiIndex][IMAGE_INDEX], false); } // Toggle the display between image/off function toggleImage(image) { if(isToggleOn) { - drawImage(EMOJIS[emojiIndex][IMAGE_INDEX]); + drawImage(EMOJIS[emojiIndex][IMAGE_INDEX], true); } else { g.clear(); @@ -102,9 +122,15 @@ function toggleImage(image) { // Draw the given emoji -function drawImage(image) { +function drawImage(image, isTx) { g.clear(); - g.drawString(image, g.getWidth() / 2, g.getHeight() / 2); + g.drawImage(require("heatshrink").decompress(atob(image)), EMOJI_X, EMOJI_Y); + if(isTx) { + g.drawImage(require("heatshrink").decompress(atob(TX)), TX_X, TX_Y); + } + else { + g.drawString("< Swipe >", g.getWidth() / 2, g.getHeight() - FONT_SIZE); + } g.flip(); } @@ -131,15 +157,15 @@ function handleDrag(event) { // Special function to handle display switch on Bangle.on('lcdPower', (on) => { if(on) { - drawImage(EMOJIS[emojiIndex][IMAGE_INDEX]); + drawImage(EMOJIS[emojiIndex][IMAGE_INDEX], false); } }); // On start: display the first emoji and handle drag and touch events g.clear(); -g.setFont('Vector', 80); +g.setFont('Vector', FONT_SIZE); g.setFontAlign(0, 0); -drawImage(EMOJIS[emojiIndex][IMAGE_INDEX]); +g.drawString(WELCOME_MESSAGE, g.getWidth() / 2, g.getHeight() / 2); Bangle.on('touch', handleTouch); Bangle.on('drag', handleDrag); From ae55c2d39fc936cfa1954d44b7f76dc91c21ced3 Mon Sep 17 00:00:00 2001 From: jeffyactive Date: Mon, 22 Nov 2021 20:09:26 -0500 Subject: [PATCH 2/4] Allow emulator, specify type as app --- apps.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps.json b/apps.json index 8d90a1d1a..8636f9ba0 100644 --- a/apps.json +++ b/apps.json @@ -4243,8 +4243,10 @@ "version": "0.01", "description": "Emojis & Espruino: broadcast Unicode emojis via Bluetooth Low Energy.", "icon": "emojuino.png", + "type": "app", "tags": "emoji", "supports" : [ "BANGLEJS2" ], + "allow_emulator": true, "readme": "README.md", "storage": [ { "name": "emojuino.app.js", "url": "emojuino.js" }, From 5a01047cd0b30e4b7b253d784bd0b5755fc0c2e2 Mon Sep 17 00:00:00 2001 From: jeffyactive Date: Mon, 22 Nov 2021 20:21:29 -0500 Subject: [PATCH 3/4] Added screenshots --- apps.json | 5 +++++ apps/emojuino/screenshot-swipe.png | Bin 0 -> 2097 bytes apps/emojuino/screenshot-tx.png | Bin 0 -> 1812 bytes apps/emojuino/screenshot-welcome.png | Bin 0 -> 2697 bytes 4 files changed, 5 insertions(+) create mode 100644 apps/emojuino/screenshot-swipe.png create mode 100644 apps/emojuino/screenshot-tx.png create mode 100644 apps/emojuino/screenshot-welcome.png diff --git a/apps.json b/apps.json index 8636f9ba0..886afeea2 100644 --- a/apps.json +++ b/apps.json @@ -4243,6 +4243,11 @@ "version": "0.01", "description": "Emojis & Espruino: broadcast Unicode emojis via Bluetooth Low Energy.", "icon": "emojuino.png", + "screenshots": [ + { "url": "screenshot-tx.png" }, + { "url": "screenshot-swipe.png" }, + { "url": "screenshot-welcome.png" } + ], "type": "app", "tags": "emoji", "supports" : [ "BANGLEJS2" ], diff --git a/apps/emojuino/screenshot-swipe.png b/apps/emojuino/screenshot-swipe.png new file mode 100644 index 0000000000000000000000000000000000000000..a870724b94ca0317d2ffc6dde92f1d0e0606e168 GIT binary patch literal 2097 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 O=0HpoEm9E9F8&kk4>$4v literal 0 HcmV?d00001 diff --git a/apps/emojuino/screenshot-welcome.png b/apps/emojuino/screenshot-welcome.png new file mode 100644 index 0000000000000000000000000000000000000000..4cf1fecdf5930581842c6d548bb15d2405e92705 GIT binary patch literal 2697 zcmcJR`#;l*AICqRPn%|vA;sJ;k?lC-vXr|vCZdLsl@z&cBKc-+`M4Ewcj%B7W=`a? z%8g&OGLhhU2<%L}yG4|85^a$^emo1QG+f?=O zk|bAm7;q~r&hgr33wzyuXtiMExm|x*Qk-i%(b@eW*?D@R7oFlNH=FfSGHHk!XWt|x`UK2lXX-BJ z-~a1G!l2|6aV)-uouWL%AS1sq>bne% z?m%PwQi4r0*Z`PQDCKbW7z`*A*-k1*R7BZHBe@g^F`|Jz`q!5J<5Y6K;w}xogdkYX z5rkCq_GERJ10W&Yq0k(S5t={n(~&@;xOS$c-N#{|=Q&b)|CUO+QlOIqAc`@v#qyDow-0Z&)~P{?Aiu4K%1-V*KHCFW{FB;tw?u zI#1FFq~hWB(#^;=$nQU5Q$>m&9r>Nv$M#rQ#SK}js~uF-iWp!@@ma^50GZE=u^0PK ziZFD2{;*8VQmPU-^5vs`u?)`}ck8J`a;SrAm95@d7 zPs>fqA46i83YXlbS5vlGVl$4YvBqowXY9>JL0#`A3?IGp8k) ziw}CTaJl1M`4OT;kV#~rSM%&s{Mun$8&c?7X+>!@an#1R)$=#QTK9NO`FPsZ{_O+= zAy*Ex;Bj2UJx8RHRcK+eI%kvm@;y$Rxv@k}D`H%y3U~Kv1N7pkrNFtI#Y|^fMIdNd zDQo;7Xzez3kTb*qHTK)}P`$kC)hE_5LdR;KzM8-i5-vh& zXGmg0N!|%SC3{f;Xu-`~#KS0_yzoP3x8@HbV-X8$Xa3A`8olF~YZDreU>*-diB&2j z#VV&Z7mvWxsH5=o%n{gYw(aB9ERw&}TWP$wEQ$;D3yOUA=yO$tgE;rp1&8#mYvGWH zqcfuiS<0RTKFQsX^*gRLDIqJ&z@%KSMT|H*4Y(ngTHU~ly##H3CGnB87GGXd!q8Ka zd%d9i7D`M^2Y+*BG%E-v4o~$yF)+Dxro(@5DQTo!tnuiDNQ*#yMJgbek&)ueAb*2| zV1^EC_UL?|DFHEZp*o~n#Otts;Ft zJeOzty3JavteXh?_$HIen)T3N@C~6kl0RBSi?X*RZK^yvu%G6CH%oAqt&iQU>NSQD zsy{VwzS9&x`JAy4Ha;`?@&vx-?Rm2@aw1~2q5u)l2(5JM@==-11Vn44vQPG2;fbWM zW1)4;+p*B1kG0`fNB2sNgV^YhFK)~Oigu1 zYg72#-BqlBLzs}=$dPC*M%Bm_C+KCn>B%;jhdV(_6z8lWi_B@D+m|Is>w*sxzlExv7aD2_eIu?qzgdQL@_zxDN_r!jH1O1_1c_X6Hw?9=}IBj|Ti-jMTStm#jai$+8+RSg|bi zKor-W4Ao)i$KAJjDS+?x8Co)jX>E^Y$3m`+ND8FEf1I{~JG>7!c7SNC!FL5F z71l@f*pta|qr_w__g@f9jNh!c>!MY_gwE$bc7kevck)VPJ=n@Di2Nc zY@@xK5O;N*a=!{FgASdo8JB4#e`qx8{~IOQWg672DA{f&*ewC-@(Gd2-m-p>3W7va zM2w)s=LjDavmHYYuC50%M zzll`R-#w3LSPF`P!Y^%IZ}VfrZ*K5`y@d)Rj!a0zW{*mNROf2K2xor_=Cg;OJhqHC z>xhM1)K2YUdLrkn0!J)(Hx^h3(_&+=*qhp+3}qa(VBP76s?2PkuPl=;=oh><;Xv$x z@vfH9xE*TQq}b*?CCvH&rd58mKvLDM{uI3q(aLmtTomCE{KaJ%TK(Kv?5+RL8`m-4 z(y5hYV?vd>(;&+&iW0l4!ne#F7a^(Z(~%dACs)$Kjb5a(?+(>c`n}XQj9gr-dBocNKC?n`%bp1>$W>ugE@Y_NjX=4u|G*YTf9kGt4m%<~BkaS?R0SxNog)gkItF*q=YCO z{$^FsS^6~!&gXDEpIYJ!+rmi&DU7{U3f)q5K{mdQ@oWX}dn;E~)M@L5l}h*COyiI! zF^==Tf7cdwotTX(f)LE2H=>}-EoRn5wH*PW_9G$RO-LYQNunM)#Q{KHj_J>mN&sYO e;cqrjgog9!_phGE_7-gYmVgt Date: Mon, 22 Nov 2021 20:23:17 -0500 Subject: [PATCH 4/4] Version bump --- apps.json | 2 +- apps/emojuino/ChangeLog | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps.json b/apps.json index 886afeea2..b67d42398 100644 --- a/apps.json +++ b/apps.json @@ -4240,7 +4240,7 @@ "id": "emojuino", "name": "Emojuino", "shortName": "Emojuino", - "version": "0.01", + "version": "0.02", "description": "Emojis & Espruino: broadcast Unicode emojis via Bluetooth Low Energy.", "icon": "emojuino.png", "screenshots": [ diff --git a/apps/emojuino/ChangeLog b/apps/emojuino/ChangeLog index 5560f00bc..1c99f1970 100644 --- a/apps/emojuino/ChangeLog +++ b/apps/emojuino/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Upgraded text to images, added welcome screen and subtitles.