-
I don't get how yours is protecting the contacts, @johan_m_o.
I used some transparent varnish, but it's easy to remove if I wish to use the contacts in the future, or to apply something else if it doesn't work.
-
-
-
-
-
Hi, on a follow up, here's the script for the bangle.js2 with adjustments to the dimensions:
function screenshot(draw) { var _g = g; Bluetooth.print("data:image/bmp;base64,"); var l = 26/*header length*/ + 176*3; var data = E.toString([66,77,l&255,l>>8, // 0 0,0,0,0,0,0, // 4 26,0,0,0, // 10 12,0,0,0,176,0,176,0,1,0,24,0]); // 14 var b = Graphics.createArrayBuffer(176,1,24); g = Graphics.createCallback(176,176,16,{ setPixel:function(x,y,c) { b.setPixel(x,y-yo,((c&0xF800)<<8) | ((c&0x7E0)<<5) | ((c&0x1F)<<3)); }, fillRect:function(x1,y1,x2,y2,c) { b.setColor(((c&0xF800)<<8) | ((c&0x7E0)<<5) | ((c&0x1F)<<3)).fillRect(x1,y1-yo,x2,y2-yo); } }); g.flip = function(){}; var t = getTime(), t2=t; for (var yo=175;yo>=0;yo--) { g.setClipRect(0,yo,175,yo); b.clear(); t2 += getTime()-t;setTime(t); draw(); var n = 0; while (data.length%3) data += String.fromCharCode(b.buffer[n++]); Bluetooth.print(btoa(data)); data = E.toString(b.buffer).substr(n); } setTime(t2); Bluetooth.println(btoa(data)); g = _g; }
-
-
Hi @HughB
Whatd the font and size? Looks like Leco?
Yeah, LECO, size 14.
Noticed the calendar exits automatically if you don't do anything.
Yup, it's on purpose, it returns to the clock on lock
Also noticed the app will exit if you touch the middle. You can accidentally exit when moved between months.
Maybe restrict the touch area to below h/2 for app exit.Well, that could be changed, currently it checks on 40px, that is about the start of the first row of days. I'll change to h/3, ~60px, which is around the start of the second row.
It's built that way to make it easy and fast to close, as the more common and "happy path" of the app is to quickly check the next few days and then leave it. But I guess the close on touch could be a setting (along with the close on lock).
-
Hi, I'm currently doing a new clock, but in the process I ended up making a calendar with the same visual style of the clock, to be shown after touching the date.
I decided to split the clock and calendar in two apps (mainly to see the "Loading" after the touch), and uploaded the code to my instance here:
https://diesphink.github.io/BangleApps/It's pretty simple, with the following features:
- Localization via Languages app
- Can go forward or back on months by clicking on the lines at the side of the month name
- Click on
calendar to close - On lock, returns to clock
Screenshot:
- Localization via Languages app
-
-
Yes, I did, after every node change via nvm just to be sure. I also tried with sudo just in case.
I also think that the example code from @abandonware/noble worked ok with node 8.6.0 to detect the device, but even in this I could not get it to work on espruino, and got into a rabbit hole with gyp, but I'm not 100% sure because there was a lot of tries in different scenarios.
I always got the
Error: No Ports Found
at the end, after a few seconds.On a side note, I also thought it would be easier on linux, that's why I'm assuming it's some odd thing on my installation, I'll wait to see if the code from @pelrun works out, if not I'll explore more on this (like trying on a vanilla ubuntu vm).
-
I don't think it's essential, even on a scratch you can polish to fix, just like a regular watch.
The exception are something like bezel dents, as @akira_jp highlighted on his last image. I had a samsung galaxy fit that after a while got a few marks on the side, but wasn't worth covering with a case.
But as I intend to use the bangle on a day-to-day basis, not just for sports, I'm trying to take as many precautions as I can without raising issues.
-
-
-
Yeah, I've experimented with making a staging step via espruino cli, but was too much trouble for a quick hack, my intention is to send it via upload on ide after I'm done with the code.
On the web ide, the load just won't work, either on https://www.espruino.com/ide/ or https://espruino.github.io/EspruinoWebIDE/
After clicking open with any of the four options, there's no file selection, and the console returns:
Uncaught (in promise) DOMException: The user aborted a request. Promise.then (async) loadFile @ file.js:154 click @ file.js:61
I'm using
Google Chrome 96.0.4664.110 (Official Build) (64-bit)
onLinux zem 5.13.0-19-generic #19-Ubuntu SMP Thu Oct 7 21:58:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
, and the "Upload a file" option on "Device storage" works with no issue.I think that the file watching on the IDE (with the project option) would have worked perfectly for my needs (and I would surely recommend that over this watcher), but I gave up on trying to figure out the error by looking at the code, maybe it's something on my chrome installation, I don't know.
As I was doing the script to send data jsons to my watch, I just glued some stuff together and called it a day, sometimes you wanna hack, sometimes you just want things to work so you can get to the fun part, :P
-
I bought the cheapest screen protector that I could find, for the smartwatch B57 and Amazfit Bip. It doesn't go over the bevel, so maybe won't go off easily.
Bought on brazil/latam market place mercado livre: https://produto.mercadolivre.com.br/MLB-1386737616-pelicula-para-smartwatch-b57-e-amazfit-bip-kit-2-unidades-_JM
Took me two tries to apply well because it's hard to peel the protective plastic (maybe that's why they send two: one is for practicing).
-
I use vs code, but without any espruino code completion for the moment. I tried the new (beta?) WebIDE on chrome with the file api, but sadly it also does not open my local files, a lot of misfortunes that forced me to bake my own, :p
One thing that I do like on this flow is that I can split the code in various modules, then the upload is super fast and I can see the changes instantly, and navigate between multiple files is super easy on an external IDE (I can't judge the webIDE with the project config, as I couldn't make it work).
-
Hi.
As I prefer the workflow where I save the file and see the changes immediately, I wanted to do the same with my bangle.js2 dev.
But I couldn't get the espruino cli to work at all (tried noble, @abandonware-noble, multiple versions of node, etc) even though the connection was alright (on web ide, python or bluetoothctl).
So my solution was to home brew a file watcher in python (using watchgod) that would send the monitored files to my clock on change (using bleak).
It works quite well, so I'm sharing in case anyone want to take a look, but I don't know how well it would work on other espruino.
The code is on github: https://github.com/diesphink/banglejs2-files-watcher/, and down below is the usage:
usage: watcher.py [-h] [--buffer_size BUFFER_SIZE] [--exec EXEC] [-v] address file [file ...] Bangle Watcher positional arguments: address bluetooth address to connect file files to watch optional arguments: -h, --help show this help message and exit --buffer_size BUFFER_SIZE buffer size (default 20) --exec EXEC script to run (load) after each upload -v, --verbose verbosity: -v show response from bangle, -vv show all DEBUG logs
Ok, call me stupid if I'm missing something, but ain't the contacts still exposed?