-
Argh, sorry to hear that - it can be a real pain to get the LCDs off without damage - but as @Ganblejs says we do stock new displays and they're not too expensive.
It's quite likely that the issues you were having were just due to corrosion on the LCD connector - so I imagine it'll work fine with a new LCD.
While you have the screen off I'd give it a quick clean with isopropyl alcohol and a clean brush just in case there was some kind of corrosion causing an issue though
-
What are you using to read?
E.getTemperature
or:Bangle.getPressure().then(d=>{ console.log(d); // {temperature, pressure, altitude} });
The first uses the sensor in the Bangle's CPU, but the latter uses the altimeter chip which should be a lot more accurate.
... but even so the Bangle will take maybe an hour to cool down after you've worn it for a bit
-
There isn't anything I'm aware of. Ideally we'd need a new function that allows Espruino's interpreting of those
{data,count}
blocks to work on existing buffers, but that doesn't exist yet.Best bet on official boards is to use JIT:
var countNP = 100; var neopixelStrip = new Uint24Array(countNP); var fiveLEDs = new Uint24Array(5); fiveLEDs[2] = 30; function repeatPattern(strip, pattern, count) { "jit" for (var i=0;i<count;i+=5) strip.set(pattern,i); } repeatPattern(neopixelStrip, fiveLEDs, countNP);
-
-
-
Ok, that's great - thanks!
So I think the iPhone is sending the right UTF8 text - it's formatted as
\u00XX
because the code I sent output it as JSON, but if I put it intoE.asUTF8
which is what the iOS app should do, it looks ok:"\xEC\x95\x88\xEB\x85\x95\xED\x95\x98\xEC\x84\xB8\xEC\x9A\x94 \xEC\x84\xB8\xEC\x83\x81" >E.asUTF8("\xEC\x95\x88\xEB\x85\x95\xED\x95\x98\xEC\x84\xB8\xEC\x9A\x94 \xEC\x84\xB8\xEC\x83\x81") ="\uC548\uB155\uD558\uC138\uC694 \uC138\uC0C1"
I just realised I made a stupid mistake - originally I'd named the font library
fonts
but I renamed it tofont
, but the iOS app still checks to see if a library calledfonts
is enabled before passing UTF8 through!If you update with the dev app loader to iOS 0.18 now it should work! And you might as well remove 'custom boot code' to stop all your messages needing to get stored as well :)
-
As @Ganblejs says - any standard 20mm strap will work - there are hundreds on Amazon/eBay/etc
-
I've just updated the docs in the Android Integration app - it was possible but just nobody wrote about it:
* `Bangle.http = function(url,options)` - make an HTTPS request to a URL and return a promise with the data. Requires the [internet enabled `Bangle.js Gadgetbridge` app](http://www.espruino.com/Gadgetbridge#http-requests). `options` can contain: * `id` - a custom (string) ID * `timeout` - a timeout for the request in milliseconds (default 30000ms) * `xpath` an xPath query to run on the request (but right now the URL requested must be XML - HTML is rarely XML compliant) * `return` for xpath, if not specified, one result is returned. If `return:"array"` an array of results is returned. * `method` HTTP method (default is `get`) - `get/post/head/put/patch/delete` * `body` the body of the HTTP request * `headers` an object of headers, eg `{HeaderOne : "headercontents"}`
If there's an Android app that'll do OSC then you might be able to use Android Intents to communicate with it too
-
Ok, thanks for the info!
That would make sense then - I wasn't able to test out the iOS stuff properly because I only have an old iPad and no other apple devices, and I couldn't find a way of getting notifications on it (Hangouts which I had used previously has been deprecated!).
Please could you use the
Custom Boot Code
app and enter:E.on('notify',msg=>{ require("Storage").open("messages.log","a").write(JSON.stringify(msg)+"\n"); });
then receive some messages with iOS. Then if you disconnect and reconnect with the Web IDE, click the 'Storage' icon (4 disc icon in the middle bar of the screen), scroll right down, and click to download 'messages.log', and upload it here I can try to take a look and see what's up
-
Please can you try connecting with the Web IDE and pasting in:
require("messages").pushMessage({"t":"add","id":1575479849,"src":"Skype","title":"\uc548\ub155\ud558\uc138\uc694\u0020\uc138\uc0c1","body":"\uc548\ub155\ud558\uc138\uc694\u0020\uc138\uc0c1",positive:1,negative:1})
and see what happens? And you definitely installed the
all languages
font and not the150 languages
one? -
Ahh - this one: https://espruino.github.io/BangleApps/
You need the apps at those versions or later, and make sure you hold the button to reload after installing
-
-
Have you followed the steps at https://www.espruino.com/Gadgetbridge#extra-setup ?
It's good to have
Reconnect automatically
set in Gadgetbridge, and also to follow the steps on https://dontkillmyapp.com/ to ensure your phone isn't trying to kill Gadgetbridge in the background -
-
-
Hi - the beep itself is super quiet (and I don't think is used normally anyway).
The buzz strength/pattern is configured per app - for an incoming message go to
Settings -> Apps -> Messages
and you'll seeVibrate
- tap on that and you get to choose different patterns.Probably
===
is the most noticeable (3 long, strong buzzes) -
Well there were some changes to how writeJSON works, but it wasn't meant to have that effect. Sorry about that.
Either way I guess it wouldn't have worked exactly as you might expect from the code (you wouldn't get a
Date
back when reading). Maybe you could change the code that writes to ensure you do(new Date()).toISOString()
which should be backwards compatible?And I'll see if I can get a fix in for writeJSON
-
-
Hi - so you're asking specifically about the BTHome being able to send a 'release' event to Home Assistant with https://www.espruino.com/BTHome ?
Because to detect a button release, you just use
setWatch
withedge:"falling"
instead ofedge:"rising"
For BTHome, what's supported is just what's shown on: https://bthome.io/format/
We implement most of that, and there is no 'release' event. I think you have two options really:
- don't use events - for example you can just tell BTHome to advertise
{type:"locked", v:true}
- and then I think you can just detect when that value changes in Home Assistant, and fire something off based on that? - Have two events - a 'door locked' event and a 'door opened' event
... or you could ask the BTHome devs if they want to add a new event type, but that could take a while!
Just a note but Puck.js (Lite or Normal) has a bunch of spare GPIOs pins on it that are easily accessible - so there's no need to replace the button, you just wire things up to the other pins that are already there
- don't use events - for example you can just tell BTHome to advertise
-
-
@Hank I'm afraid Bangle.js's fonts are unlikely to be supported by Fontforge but I've got some solutions that do allow you to strip things down now.
I've just committed a bunch of code in https://github.com/espruino/BangleApps/commit/591c1f8cc5e538f935c82d6dd1c31a48e3e4d822 which should be in the development app loader now.
As a result, @JeonLab if you go to https://espruino.github.io/BangleApps/ and update everything on your Bangle, then install https://espruino.github.io/BangleApps/?id=fontall you should be able to get Korean messages from iOS onto your watch. Same applies for Chinese/Japanese/others too.
As-is all the fonts will be small, but if you update the Bangle.js firmware to cutting edge then you should be able to get the font double-sized where it's possible to fit it in.
It should be possible to (very easily) clone
fontall
intofontkorean
and use the utility to make a new font with just korean symbols in, but until we're sure everything works I'd rather not have too much duplication -
-
Thanks! You should be able to try it in the development app loader now if you want: https://espruino.github.io/BangleApps/
-
Ok, found and fixed it! If you upload again now it should work.
We were using
String.charCodeAt
in a String, and expecting it would report back 0 if the string didn't include the character. A recent PR for Espruino changed it to report backNaN
as per the spec, and that broke this MQTT lib.