-
To be fair we did replace both free of charge as far as I can tell? and I think you got the original watch around 2 years ago now?
Yes indeed and I am very grateful for you to be so fourthcoming!
What's strange indeed is that the looping will stop eventually, than I can connect to the watch via BT normally. I did the
BTN1.write(0);BTN1.read()
as you suggested and it returnsfalse
.
But as soon as you start working with it it will start the loop again eventually.
When I then do theBTN1.write(0);BTN1.read()
in the brief 3 seconds before it reloads again it will returntrue
.I'll let it sit for while, lets see.
Lets suppose I would try to open it, how or what could I check and/or repair inside?
-
This problem hit me today, my Bangle2 is in a bootloop now as well. I was wearing it in the morning, than it set on my desk. When I returned in the afternoon it was doing the bootloop.
For some reason I could break the cycle when putting it on the charger. I did a reflash of 2v19, but I did not work. I also could do a factory reset quickly, but didn't help either.The button does not feel physically stuck and is still clicking. The watch never saw any water except maybe a raindrop today.
I also could quickly perform a
>(new Pin(BTN1)).read();
which returned true.
Not sure what is going on, but this is now the 3rd watch (original + 2 replacements) that died for me for some reason or another. I'm not being mad at anyone, just a bit frustrated. :-(
I will let it run down the battery and see if this cures itself.
-
However I accidentally ran the GPS until the the device died and now it won't even last 24 hours.
That could be a contributing factor. @Gordon Can we determine at what voltage the circuitry cuts out?
-
-
using the files from https://www.espruino.com/Download as always, e.g. https://www.espruino.com/binaries/espruino_2v19_banglejs2.zip
-
-
Hey guys,
I'm trying to improve the handling of the GraphicsBuffer for my 3-color (white/black/red) ePaper display.
So the display expects all pixels for black and all pixels for red to be send with a separate command. So the way it is now setup is, that I have created 2 separate GraphicBuffers of 1bpp each, e.g.
var g_red=Graphics.createArrayBuffer(264, 176, 1, {msb: true}); var g_black=Graphics.createArrayBuffer(264, 176, 1, {msb: true});
Then I write both buffers to the ePaper using different commands:
//write red writeCommand(CMD.DATA_START_TRANSMISSION_1); for (let i=1;i<g_red.buffer.length;i++) writeData(g_red.buffer[i]); //write black writeCommand(CMD.DATA_START_TRANSMISSION_2); for (let i=1;i<g_black.buffer.length;i++) writeData(g_black.buffer[i]);
While this is working fine it bothers me, that I have 2 separate buffers to draw to. If I want to draw something in red, I have to use
g_red.drawString(...)
and for blackg_black.drawString(...)
What I was hoping for was to use a 2bpp buffer and then be able to use setColor do something like this:
var g_both=Graphics.createArrayBuffer(264, 176, 2, {msb: true}); //draw in red var g_both.setColor(red).drawString(...); //draw in black var g_both.setColor(black).drawString(...);
But now, how do I transfer this to the ePaper. It is not as easy is sending every other byte of the buffer using one of the above commands right?
When I try this, I get weird interlaced results:
writeCommand(CMD.DATA_START_TRANSMISSION_1); for (let i=0;i<g_both.buffer.length;i+=2) writeData(g_both.buffer[i]); writeCommand(CMD.DATA_START_TRANSMISSION_2); for (let i=1;i<g_both.buffer.length;i+=2) writeData(g_both.buffer[i]);
So if I understand this correctly: lets assume I want to only set the first 8 pixels of the display. When I want to set the first 2 pixels and the last 2 pixels to black, I would have to send the bit value 11000011 or 99 in decimal to the black buffer.
Now if I want pixels 3-6 to be red, I would need to send bit value 00111100 or 60 to the red buffer.
I cannot wrap my head around how this would work with a 2bpp graphics buffer though.
Hope the above is not too confusing.
-
-
do you still have the tap over the middle two pads?
Also, have you tried a different USB charger?
I pealed off the sticker for testing purposes but to no avail. I tried several charges, all of which worked just fine with the previous Bangle2. Still no luck. I probed the outer pins with my bench power supply, the watch does not draw any current. :-(
The battery has completely drained now and I can't get the watch running again. I even tried the jump start method mentioned here.
I guess luck is not on my side...
-
-
@Gordon I hate to bother you again. The replacement of my Bangle2 through @Christine worked just fine. But now I got another issue with the new Bangle2.
It does not seem to charge anymore. I only had to charge it about three times until now, which worked fine.
I checked the pins on the cable, it shows 5.09 volts across the outer two pins. But the watch does not vibrate upon connecting the cable. Also Bangle.isCharging() shows false.
I updated to 2v16 before it completely drains. I turned it off so to save some juice. Is there anything else I could be checking?
-
Or is there no feeling there at all?
No feeling at all. The button now is very light to press and does not click at all anymore. It used to work sometimes to press "at an angle" but that doesn't work either anymore.
By new watch body you mean the watch without straps right?
I'll be happy to send back the old one even in advance and I am willing to compensate for shipping costs and other expenses, just name a reasonable price. :-)
Maybe we'll continue via PM?
Many thanks!
-
@Gordon Today was my day. I can no longer press the button. It used to not work sporadically, but now it does not work at all anymore. My Bangle2 was also a Kickstarter one. Can we please find a solution for this together?
Thanks in advance!
-
Just wondering: is there an actual list of things to be done in the Gadgetbridge app? This pages is not very specific with features to be implemented.
-
-
-
-
-
Not sure what clock face you have
I'm using the Numerals. Ah, those plumes originated from the numerals polygon definition then.
var numerals = { 0:[[9,1,82,1,90,9,90,92,82,100,9,100,1,92,1,9],[30,25,61,25,69,33,69,67,61,75,30,75,22,67,22,33]], 1:[[50,1,82,1,90,9,90,92,82,100,73,100,65,92,65,27,50,27,42,19,42,9]], 2:[[9,1,82,1,90,9,90,53,82,61,21,61,21,74,82,74,90,82,90,92,82,100,9,100,1,92,1,48,9,40,70,40,70,27,9,27,1,19,1,9]], 3:[[9,1,82,1,90,9,90,92,82,100,9,100,1,92,1,82,9,74,70,74,70,61,9,61,1,53,1,48,9,40,70,40,70,27,9,27,1,19,1,9]], 4:[[9,1,14,1,22,9,22,36,69,36,69,9,77,1,82,1,90,9,90,92,82,100,78,100,70,92,70,61,9,61,1,53,1,9]], 5:[[9,1,82,1,90,9,90,19,82,27,21,27,21,40,82,40,90,48,90,92,82,100,9,100,1,92,1,82,9,74,71,74,71,61,9,61,1,53,1,9]], 6:[[9,1,82,1,90,9,90,19,82,27,22,27,22,40,82,40,90,48,90,92,82,100,9,100,1,92,1,9],[22,60,69,60,69,74,22,74]], 7:[[9,1,82,1,90,9,90,15,20,98,9,98,1,90,1,86,56,22,9,22,1,14,1,9]], 8:[[9,1,82,1,90,9,90,92,82,100,9,100,1,92,1,9],[22,27,69,27,69,43,22,43],[22,58,69,58,69,74,22,74]], 9:[[9,1,82,1,90,9,90,92,82,100,9,100,1,92,1,82,9,74,69,74,69,61,9,61,1,53,1,9],[22,27,69,27,69,41,22,41]], };
I'll see how I could be rewriting this.
-
-
Well thats why I ask ;-)
Pretty sure I am not actively creating a branch. I fetch and merge from upstream online (on the GH page), then in my GitHub Desktop do a fetch on my checked out fork. Then do the changes, commit and push to my fork and then on the GH page issue the PR.
Maybe GH magic is automatically creating a new branch? Dunno. Dummy. ;-)
-
As I consider myself a git dummy, what would be the best (or easiest way for you to handle) to commit new changes and issue PR for apps?
I usually do the following:
1) before making any changes a do a "fetch and merge from upstream" on my fork of the BangleApps repo
2) commit changes to my fork
3) issue the PRIs this "the clean" way?
-
-
I guess that refers to the file on Github. Take a look at https://github.com/espruino/BangleApps/blob/d9d5926416566762e59b953c745f989d23c9b334/apps/setting/settings.js#L214
For the currently used theme just use g.theme. That will spit out a JSON array.
I just was about to ask. I'll give this a try.