-
-
-
Pairing or otherwise connecting Bangle.js 2 to an iOS phone through Bluetooth seems a challenge. Apple says contact your device manufacturer to see if it supports iOS.
(Bringing in GPS time may still be the way, but I can't get it to work on Bangle.js 2 the way it seems to have worked on Bangle.js 1.)
-
-
-
I'm noticing about 5 seconds' advance per day on Bangle.js 2. You helped me to get GPS time into Bangle.js 1 and read often enough. Is the same possible for Bangle.js 2? Any specifics?
Alternatively, is it possible for Bangle.js 2 to access an iPhone's time via a script for the watch?
Or is there some other way to avoid the large gain per day that others have also noticed?
-
I've read that there are a few significant differences in the GPS operation. I myself do not know.
Today I did a complete reset and uploaded only one clock (Anton). In 8 hours it gained a little less than 2 seconds. Does anyone else have such an observation? Does your Bangle.js 2 gain throughout the day?
(Then I uploaded my clock. It reset Anton (and set itself) to the correct time.)
-
-
Does your script work indoors? I've been asking here how to access the GPS, including after an outdoor fix, and whether it continues to work indoors, but no one has answered. Bangle.js 2 is clearly different from Bangle.js 1 in this, but again no one has said how that affects getting an accurate time.
-
@diego
No problem; I'm the odd one here with no programming knowledge. I don't know how to run scripts like yours on my computer but may be able to find out…but what I really want is something to put on the watch that will get the time from my phone, preferably automatically at a specified interval (e.g. once or twice a day). Or if that's not possible, from my computer.Even better would be something like what worked for Bangle.js 1: set the GPS time once, and it controls the watch indefinitely. I still don't know if that's possible with Bangle.js 2. People say the GPS setup on the new watch is different, but what does that mean for this question?
-
@diego
Unfortunately I don't know what the recent responses mean. I'm not a programmer. (Someone else built my clock.) Is it possible to insert one of the scripts above (yours?) and get good time? What do they do? Where do they get the time from? (Where's the BLE source?) How often? Is the connection "automatic"?Thanks.
-
-
-
@myownself
It's possible that on Bangle.js 2, the time gains too much. There are variables still to test, and it's still possible that the code I'm using for a very specialized clock (that no one else uses) is the problem. However, overnight the well-known Anton Clock seems to have gained a lot also. Temperature is not the factor here.I'm interested to know whether others have the gaining problem that @malaire and I have noticed.
Gaining 2 seconds a day is okay with me only if I have a way to automatically correct that daily. At present the only way I know is to reload my watch script manually, although just now even that didn't work.
If I could sync to an iPhone, I'd be all set. I'm not aware that's possible.
I'm not a coder and know very little of javascript or about Bangle.js. I still don't know whether on Bangle.js 2 the GPS time, once set outside, still works inside, and whether I can access it continually. That seemed to solve my time problem on Bangle.js 1.
-
-
-
Thanks. Setting the watch down to be stationary outdoors fixes the fix problem, so to speak! The watch still gains, possibly not at a continuous rate. After setting GPS Time last night, this morning it may have gained 2+ seconds, and after a total of about 24 hours, it has gained 4+ seconds. Does that suggest anything?
Rebooting the next day put the watch 15 seconds behind. Reloading the watch script fixed that.
Why this is happening, I don't know, because it isn't happening now with Bangle.js 1.
-
The code below takes out the checks mentioned above. The watch (Dozenal Time 2 on Bangle.js 2) still gains 4+ seconds a day. (Bangle.js 1 does not.)
Can it be determined from this whether it is reading GPS time, continually? Must the GPS be acquired and set before the watch face is uploaded? The reverse? Does it matter?
I apologize once again for not being a scripter. Most of the rest of the watch code was written by a person who left the project. A little of the most obvious javascript I understand, but that's all.
// Time fix with GPS function fixTime() { Bangle.on("GPS",function cb(g) { Bangle.setGPSPower(0,"time"); Bangle.removeListener("GPS",cb); // We have a GPS time. Set time setTime(g.time.getTime()/1000); } ); Bangle.setGPSPower(1,"time"); setTimeout(fixTime, 10*60*1000); // every 10 minutes } // Start time fixing with GPS on next 10 minute interval setTimeout(fixTime, ((60-(new Date()).getMinutes()) % 10) * 60 * 1000);
-
-
-
Problem with GPS: I have a clock face that's almost identical on Bangle.js 1 and 2. Version 1 keeps good time. Version 2 gets ahead by 4 or 5 seconds a day. Both attempt to use GPS time. On rebooting Version 1, I get a notice that GPS time is being used. On Version 2, no notice of that.
I'm using the app GPS Time with the following custom boot code:
setInterval(function() { Bangle.on("GPS",function cb(g) { Bangle.setGPSPower(0,"time"); Bangle.removeListener("GPS",cb); if (!g.time || (g.time.getFullYear()<2000) || (g.time.getFullYear()>2200)) { // GPS receiver's time not set } else { // We have a GPS time. Set time setTime(g.time.getTime()/1000); } }); Bangle.setGPSPower(1,"time"); }, (60-(new Date()).getMinutes())*60*1000);
Should a reboot message appear on Version 2 that GPS time is being used? (Javascript is mostly foreign to me; the custom boot code is mostly Gordon's but for the whole watch the code was created by someone else.)
The watch face code and/or the custom boot code won't run in the emulator for Bangle.js 2, giving the follow error:
Uncaught ReferenceError: "BTN3" is not defined
at line 5 col 13 in .boot1
global.BTN1=BTN3; global.BTN3=_;There is of course no BTN3 in the code itself.
-
-
In the country where I am, Best Buy has a protector whose name I don't know that has worked well on my Pebble watch (RIP) and Bangle.js 1. Because the 2 is about the size of some Apple watches, the store has pre-cut sizes of its protector, now on my 2. No problems, and it's very hard to see it. It should last some years and be replaced for free if it starts to come off. The person who did the attachment works for the store's "Geek Squad."
-
With the excellent help of @Gordon and others, the watch face has been ported to Bangle.js 2. The time illustrated here is midnight at the beginning of the year—the solstice: December 21, 2021 to most people. The backlight is on, temporarily. The watch face is readable with it off in all kinds of lighting situations.
As before, the days of the week are colour coded in a rainbow fashion. To get orange, I dithered my way to full red and half yellow. The rest weren't hard. Because full blue is too dark, the new blue is half green with the full blue. The illustration date is full red.
To my knowledge, this is the only watch (Bangle.js 1 and 2) that has this kind of face. It takes advantage of the twelve-division already in standard time reckoning and does away with the mishmash of bases of two, ten, twelve, and sixty in it by using twelve only. It's simpler and easier.
Although my watch hasn't changed, for Bluetooth purposes something has changed its name in the IDE and app loader to "Bangle.j" --- which is then not recognized. What's the fix? (Non-developer here, sorry.)
(Occasionally I get a message "You have pre-1v96 firmware," which is incorrect.)