-
-
@user151014 thanks for that photo - from what I can see it looks very clean under there though. The difference in what you see in the windows is expected - it definitely doesn't look like there are signs of corrosion or water...
And yes, I just got a scalpel blade under the window from the back (where you took the picture). Having it warm may help to loosen the glue - however if there are no obvious signs of it being corroded I wonder how worthwhile that might be?
@user159227 sorry to hear that - I haven't heard of anything like this happening before (the only 2 times - this and one other - I heard of this happening it was in older watches).
Is the rear of your Bangle getting hot? Do the LEDs on the HRM still flash when it's on? They should turn off when away from your skin but if you put your finger nearby they should turn on.
And have you updated the firmware to 2v24? Because I know some newer watches were shipped with an older firmware that had an issue with increased power draw caused by the GPS (and I guess it's possibly it could affect HRM accuracy), but 2v24 and later should fix that.
And yes, the Bangle does have some water resistance and should be fine for everyday wear and tear. It's more showers, baths, swimming etc where there's prolonged contact with water, especially if there's detergent and/or hot water involved.
-
What clock face are you using out of interest? I'm kind of surprised the flashing taxes the battery so much.
Although looking at it, it's loading the icons, settings, and code off the external flash memory once a second, so it could just be that the flash memory is spending most of its time awake and so it causing a higher battery draw than normal.
If it becomes an issue, probably the best bet is to make a minimal messages widget that just flashes a single icon once a second, and the whole thing could run from RAM and would probably be an awful lot better for power consumption.
-
The important stuff we need is the UART RX and TX lines - you can delete all the rest (but it might be handy if you can keep the original file just in case I need to look into something further)
... but obviously you'll want to sanitise the UART TX lines which will include message contents/phone numbers/etc. It's probably enough that I can just see the
GB({"t":"messagetype
part and the time, and not what's after.Someone posted up just yesterday that they'd been having poor battery life and they tracked it down to the messages widget (which by default flashes once a second when a message is unread). So you could try uninstalling that (you don't need it) and see if it helps at all?
-
Is there a procedure to upload an app to the espruino repository?
Not particularly, no - just fork https://github.com/espruino/EspruinoApps and make your changes, and make sure there's a green tick next to your commit (which shows that the checks succeeded - if it's a cross just click on it to find out what failed). After that it should be easy to submit a PR
-
-
Hi! I haven't tried anything, but yes, I believe it's reasonably standard glass without any coating so if you can find any suggestions for removing scratches they might be worth trying.
I'd have thought sanding would be a long, painful process to ensure everything gets nice and smooth and clear, but you might be able to find something that actually filled the scratches?.
-
I managed to use a Puck as HID for macOS (was: did anybody manage to use a Puck as a HID for macOS?)
Thanks for the update, and the code! Having something to trigger the dictation mode seems like a neat ideal.
In that code I don't see anything to work around the keyboard detection dialog - was that not needed in the end?
Having the Bluetooth connection dialog crash and have buttons not appear sounds pretty worrying. Personally, I think regardless of what a Bluetooth device does the OS shouldn't have stuff like that happen, so I'm inclined to blame Apple for the connection issues especially as other OSes seem fine with it. Lets hope they get a fix out soon.
If it helps for the future, it is possible to attach a USB-TTL dongle to the Puck (https://www.espruino.com/Puck.js#serial-console) so you can fiddle around and send commands even when you're using the Bluetooth for other things. Not ideal obviously, but better than nothing!
-
That's a shame. I'm afraid it looks like a hardware issue. I haven't seen any watches with it here, but someone else on the forum did report an issue a few months ago with theirs after it got some water inside it.
I think what's happened is somehow moisture gets into where the HRM sensor is, and then you end up with corrosion around the LED contacts - it still works but the LED then requires more power to make it light, and that means the HRM gets hot and wastes battery. I imagine with the HRM off you'll probably get reasonable battery life though?
I'd be interested in whether you can see any corrosion/water signs through the HRM window on the back of your watch?
It might be possible to remove the HRM window (it seems to be held on with some kind of silicone), clean up the back of the PCB with some isopropyl alcohol and then re-attach the window, although I did try here just now on a dead Bangle and it would likely to be a bit tricky to do without chipping the edge of the plastic window slightly.
-
That's a pain - I can't think of anything super obvious I'm afraid.
You could detect if
src=="Android System Intelligence"
and alsotitle
contains quotes? It's a shame it's translated as we'd have to include translations forby
for each language I guess.To handle it, having some boot code that just does:
Bangle.prependListener("message", (type, msg) => { // ... });
should work for you I think?
-
Hi, sorry to hear you're having troubles with the battery life. We don't offer battery repairs (by the time it's been sent to the UK and we send it back the postage alone is half the cost of a new watch).
However I'd be surprised if the battery was at fault - I've got a ton of original KickStarter devices here and they still work pretty well.
How long are you charging the watch? Because of the way the battery level is reported (by voltage) if you're disconnecting the watch as soon as the battery widget says 100% you won't be charging the battery anywhere near full - I'd just try and leave it on charge over night, and see if that helps at all?
-
That's great - thanks for tracking this down, and for the update!
Do you think the issue is you leave unread messages on the watch, so the widget is constantly flashing?
I guess in most cases we expect that if the widget is flashing as soon as someone notices they'll view the message and so it won't use much power... But maybe it should stop flashing after a few minutes to save power?
-
-
That sounds great! It might be an interesting thing to add to https://www.espruino.com/apps ?
-
I managed to use a Puck as HID for macOS (was: did anybody manage to use a Puck as a HID for macOS?)
This seems related to the other post you made yesterday as well? Let's discuss on there: https://forum.espruino.com/conversations/400568/#comment17571727
-
-
That's an interesting idea - yes, it'd be reasonably easy to add a plugin to the Web IDE that added the upload date.
I tend to use git here and I just have a folder of random bits of code that I keep in Git and so synced between PCs. If there's a project where I want to know if things are up to date I just add
const VERSION = 0.2;
or similar to the head of the program. -
Hi,
Espruino works off a fixed size memory area, and the default build just uses what's in the bare chip.
You'd have to make your own build that enabled PSRAM/ext flash/etc, and then yes, you could relocate vars into that (assuming it was memory mapped?).
Writing to external flash might be more of an issue, I think you may have to implement that yourself in jshardware.c if the standard STM32 flash write functions won't do it.
... but it's definitely possible to do, just not with a plain build
-
-
Hi! Thanks for letting us know!
I just fixed it (in the development app loader) but the issue was actually the settings page. If you go into settings, and tap on
Rotation
then chooseoff
then it'll fix it (even though it showed off before)!The issue was that the settings page displayed
off
for the default setting when actually it should have displayed90
. -
Thanks - that is an interesting thought! It does make some sense, but I think it would break other things - for example don't you have a handler in boot code that changes your touchscreen coordinates? That'd no longer be possible if everything else put the handler in front of it by default...
I think the current solution is probably safe/sensible enough for now.
-
-
That sounds like a really neat project - it'd be great if you could turn it into a library.
All we have built-in for maths at the moment is https://www.espruino.com/Vec3, but that won't help you with matrix maths I'm afraid. If it's easier you could use C and the Inline C compiler (but that won't have matrix math built in either)...
IMO, at least from my experience with Bangle.js the holy grail isn't so much trying to make that ellipse into a sphere, but to add some kind of continuous calibration - because while you can calibrate when you're at your desk, if you stand up and move away from the desk, the effect of the metal in the desk changes and the calibration moves off again.
I did try some algorithms with bangle.js but without much success, but the best I got was just keeping a min/max and then estimating what the magnetic field strength was, and if eg max got further from min than 2*strength, I move min
-
Using setAddress is a good idea - that should work fine. As @fanoush says the Puck.js/etc device doesn't have any say in the matter, it's the phone/PC/etc that initiates the connection, but my changing the address you can make the Puck seem like it's a physically different device
Ohh! You could also use setAdress on a banglejs right?
Yes, you can do that too.
I think I covered this in my first message?
If you can memory map external RAM then great, Espruino should work with it (if you build your own firmware that inits PSRAM first).
Espruino can work with external Flash as storage too, it's just slower - and either you need to have memory mapping and to have ensured the flash write command works, or to copy a bunch of code from the nRF52 port to make this work.