-
I think the best way to do it is with a "state machine" so it need to have a memory of the previous state to switch states and it need to be able to turn on some sensors for a bit.
For example if the state is unknown it could turn on the HRM sensor for a bit to get a new value and then compute a new useful state.I am not sure if all this is possible within the module only or if an app is needed.
-
The one in the wear_detect module. But I though about it and I will probably go on a totally different direction.
I think I will make an app with just a boot.js and a lib.js that can be use by other apps to get wear states (resting, light activity, sport, light sleep, deep sleep, notworn, unknown). The app will listen to some events, sensors, etc and based on these event will update the current wear state -
Thanks. For me it does turn off in a black room, it turn on a bit at the very beginning then turn off. I tried it in a dark room in front of a mirror and then it doesn't turn off. It's probably darkness that is measured but then it wait for to get light back from the green light led and if not it assume it's not worn
-
I was playing a little bit with the watch to see if there way to improve isWorn accuracy and I notice that the HRM turn off quite fast when it's lose contact with an object and turn on immediately when it's in contact with an object.
I guess there is some sort of proximity sensor in the HRM module, is there any way to access this information to use it for the isWorn method for example ? -
-
-
Thanks,
I did the changes on my repo (https://github.com/Stiralbios/BangleApps) and it didn't solve the issue. The memory leak is quite high (~450) so it's probably something big that isn't unloaded like a module but I don't see how.
>eval(require("Storage").read("terminalclock.app.js")) =undefined >process.memory().usage =1529 >Bangle.setUI() =undefined >process.memory().usage =1419 >eval(require("Storage").read("terminalclock.app.js")) =undefined >process.memory().usage =1979 >Bangle.setUI() =undefined >process.memory().usage =1867 >eval(require("Storage").read("terminalclock.app.js")) =undefined >process.memory().usage =2425 >Bangle.setUI() =undefined >process.memory().usage =2313
-
I keep going back to it and I have no idea why there is still a memory leak when uncommenting the
remove
method.I welcome any help or tips ;)
The code is here : https://github.com/espruino/BangleApps/blob/c0d301c1e7c59a1d8e1714cdd5b51deeb7a7ae6b/apps/terminalclock/app.js
-
-
I love the BangleJS 2 and for having backed 7 kickstarter projects I can tell you, you handled it very well and delivered a good product. It's my favorite from the 7 I backed.
This thread is great to give ideas. But when you will be looking to make a new BangleJS you should do a proper survey to know which features are most wanted.What I really like about my Banglejs 2 is:
- The always on display
- All the open source software and apps (watch side)
- Most of the hardware features (HRM, GPS, accelerometer)
What I don't like:
- The lack of colors (a 64 color display would be great)
- Not fully waterproof
- Feel kind of slow sometimes ("Loading..." message on a lot of actions)
- The integration with Gadgetbrigde is somehow lacking (works well when connected but don't load any history from the watch)
What I don't need:
- The barometer
- The speaker
What else would I like the most for the next model:
- An oximeter
- Bigger resolution display
- The always on display
-
-
-
I don't have the low memory message issue anymore (I though I would have it when the storage lowered more). If it came from the ram I don't understand it because the ram widget told me it was bellow 15% usage.
I still have the storage issue. Right now I can see with the info app that I have 1512 free storage for a total of 8192.All my apps are up to date.
-
Hello,
I got an issue with flash memory usage on the BangleJS 2.
The usage increase a lot, first slowly then faster and faster after ~2 weeks it show the "Low memory" error and the storage space left get to less than 3000.
I already made a factory reset and reinstall my apps and the issue is still there.
I just rebooted my watch and it got from a free storage of 5169 to 5045 after the reboot.
I looked at the files on the watch with the web IDE to see if it wasn't an app using all available space and none of the files I can see (some I deleted to check still) can explain this storage usage. Any idea ?Firmware: 2.12
Apps:- Lock Widget
- Battery Level Widget
- Bluetooth Widget
- Bluetooth ID Widget
- Health Tracking
- Default Alarm & Timer
- Settings
- Anton Clock
- Launcher
- Fullscreen Notifications
- Info
- Navigation Compass
- Pomodoro
- Spirit Level
- Android Integration
- Sleep Log
- RAM Widget
- Bootloader
- Terminal Clock
- Messages
All to the latest version
- Lock Widget
-
-
I would like to use the Bangle.js 2 as a bluetooth beacon for presence detection in Home Assistant. Everything works fine when the watch is not connected to the phone but when it's connected to the phone HA is not able to see it.
I know the watch can have only one BT connection at a time but HA don't attempt to connect to the watch, it just scan BT devices around. Is it fixable or is it a hardware limitation ?
The goal would be to be used by apps that run in the background too such as activityreminer, sleepphasealarm, sleeplog, ect.
The need for the previous state would be to know if it can go from one state to another. It makes no sens to go directly from "sport" to "deepsleep" for example.
I do understand that isWorn is good as module and I could improve on it to add the HRM stuff but but more complex states I am not sure it's the right approach.