-
Using the sample E.showscroller code from the documentation, when run on the Bangle.js 1 emulator the top triangle is drawn over the list items.
I presume this would be best reported in a github repo? Which would it be?
Edit: I was sure I was posting to the Bangle.js forum?
-
-
This is more of a plea to Bangle2 developers to take care when selecting colours to use with text. The limited range of colours and limited resolution make it very easy to end up with almost unreadable text.
The example below is from the current Messages app (v0.20):
On the left is the original, on the right is one I've manually un-dithered.
The green one didn't really need un-dithering. The dithered background colours are black-green, both of which are different to the white text colour. I also suspect that on the watch the solid green won't be a bright lime-green like it is on the PC, but more of a dark green. In that case the white text will still be quite readable, even if the green was solid.
The other one is very different. It's trying to be gray, but the black-white dithered background in combination with the white text is making the small text in particular almost impossible to read.
I'm sort of wondering if it was a mistake to have dithering enabled by default, rather than selectively enabled as required? Dithering works quite well on icons, not so much with text.
-
-
I haven't dug into the code - too busy working on my own app this weekend.
After fiddling some more, I've found the alarm widget is actually OK, it appears that when you press 'X' to delete alarms, it forces the current alarm active.
I have found that when timers expire, the timer settings are altered so that the timer is doubled and however long it took you to acknowledge the alarm is added as well. For example, you set a timer for 3 minutes and when it finished you took 4 seconds to acknowledge it. The timer would be changed so it is set to 06:04.
-
After using it for a bit, it appears the Alarm widget is opposite - it shows when no alarms are enabled, and is hidden when an alarm is set.
Also, I'd rather the sub-apps (tclk Alarm, tclk Stopwatch, tclk Timer) didn't show up in the launcher. It loses what is in my opinion one of the benefits of having integrated functionality - less clutter.
-
I've just found the Timer Clock application and I'm quite impressed. It's probably going to replace Rebble (I'm an ex-Pebbler) as my clock.
What I really like about it is that is brings together in one spot the basic watch functionality I expect from a digital watch - all the way back from watches I was wearing 20 years ago. That is: time, alarm, stopwatch, countdown timer.
If it was up to me, I'd make this the default clock for the Bangle! :-)
I do have some comments (of course), and these relate to how I was trying to use it on my Bangle 2.
I started by swiping right and got to the timers. So far so good. I immediately tried to swipe left to go back to the clock, but that didn't work. Swiping right got me more timers, but the only way to go back to the clock was to press the button.
Swiping left from the clock to go to the stop watches was fine, but continuing to swipe left didn't get me more stopwatches. I had to swipe right for those.
In short, I'd prefer the left/right swiping actions were like swiping a viewport right/left. The clock is in the middle, the timers extend off to the left of the clock (so you swipe right to get to them), and the stopwatches extend off to the right of the clock (so you swipe left to get to them). That would allow you to 'undo' your swiping to get back to the clock. The button press would remain as an 'instant back to clock'.
The only comment I have for the alarm is the same comment I have for the "Default Alarm & Timer" app. I'd like to set my alarm for work days only!
This next is probably only workable on a Bangle2, but I wonder if it would be easier to set times by tapping on a digit to select it first (and de-select it when done), then swiping up/down to change it? That way, when I want a half-hour alarm (e.g. "XX:30") I only need 3 swipes instead of 30!
Anyway, this is looking really nice so far. Good work!
-
I've experienced with my FLIR that such a small temperature difference can be caused by different reflectivities of the surface or even the thermal reflection of the own body or the angle of it to the object.
I'm aware of that. I was looking at the two watches side-by-side and the temperature difference was always apparent from different angles.
Regarding my 16hr Bangle, it doesn't charge up to the same voltage reported by my KS Bangle (readAnalog(D3) is 0.293 vs 0.341). The original Swawatch Q3 firmware never reported above 56%.
Can you share full hex file you flashed after unlocking that has this issue?
I flashed the following using the drag-and-drop functionality of the nRF52DK:
Edit: The watch has now fully discharged several times (easy when it only lasts 16hrs), so I don't think it's the SWD.
-
Just a slightly related note, after I drowned my Kickstarter Bangle JS2, I found an Alibaba link to a ~$50 sample Q3 from SMAWatch. I think I got lucky because the price at the link promptly went up to $200 after I placed my order!
Anyway, the sample I got is lucky to run for 16 hours before it dies. My drowned KS was still operational, except for its button, so I was able to compare the two. The new sample one was running about 3degC hotter according to the internal temperature sensor, and had a case temperature about 1degC hotter according to my FLIR camera.
That 1degC difference remained even when I turned them both off. Although that test was a mistake because now I can't turn my KS Bangle back on because the button doesn't work :-(
The shorter run time is clearly due to excessive power consumption by something. It's possible (probable?) that production variations are behind this issue.
-
-
I've been going over the pinouts of the nRF52840 used in the Bangle 2. I've found the definition file in the firmware defines the pin usages. I've noted a couple of issues:
The Hackaday article lists the pins, and include a pin (39) for the accelerometer interrupt. However, the relevant part in BANGLEJS2.py does not list the pin.
After going through all the pins available from the nRF52840 datasheet, there are several pins not listed in BANGLEJS2.py that I presume are unused (9, 10, 11, 12, 18(nRESET), 20, 40, 41, 42, 43, 46). My experience with MSP430s tells me that floating pins can consume a surprising amount of current, and should be either set as outputs or as inputs with pull-up/downs as appropriate.
Pins 4 and 28 are analog inputs. I presume they are configured as such? They're only listed among all the analog input pins at the bottom of BANGLEJS2.py, but in there are also pins clearly used for digital I/O.
If these apparently unused pins are being configured somewhere else, I can't find it. Perhaps someone who knows more about the firmware can advise?
-
-
You can make a global change to getBattery() by following the instructions at http://www.espruino.com/Bangle.js+Modification
For me, it appears my high and low D3 readings are about 0.293 and 0.230 respectively, although I'm getting a sharp dropoff at about 0.255.
I'm currently running some charge/discharge tests. The results can be seen at: https://docs.google.com/spreadsheets/d/1y57CRYdBSTXJgn4zsKDiUv6glE0sOzib2GQscZfg7Qo/edit?usp=sharing
-
Actually, I think I can answer my own question. I had been following the instructions on the page:
https://github.com/espruino/Espruino/blob/master/NRF_Bootloader.md
They are now outdated, but I ended up doing:
make clean;BOARD=BANGLEJS2 RELEASE=1 BOOTLOADER=1 make
and
make clean;BOARD=BANGLEJS2 RELEASE=1 make
Then loaded the bootloader.hex file first, followed by the application.hex. Then power-down overnight and here I am...
-
Last night I had been able to use my nRF52DK to load the bootloader and application hex files that I'd built, but couldn't get past a boot loop. It appeared to keep on timing out with a "WATCHDOG" message. I could get it into a DFU state (hold BTN1 then release as the ='s appear), but that wouldn't create a DfuTarg for updating.
At that point I gave up and went to bed. As expected this morning, the watch had fully discharged and was blank. I plugged it in to charge and it all booted up like a new Bangle2! It said the storage was corrupt (no surprise there), then formatted it and proceeded to the Welcome app. Now I'm just letting it charge for a couple of hours before doing anything more.
What is the importance of the
DFU_UPDATE_BUILD=1
? Should I rebuild the firmware without that option and re-program them using the nRF52DK? -
-
After drowning my KS BangleJS2 in my local swimming pool, I purchased an SMA Q3 from Alibaba (I was keen to get back into my Bangling without bothering Gordon).
I've bought an nRF52, made a USB adapter cable and started following the instructions at https://github.com/espruino/Espruino/blob/master/README_Building.md
Building a native Espruino seemed to work, as did cross-compiling a PUCKJS version (the 'make' instruction is wrong in an obvious way). Then I tried making a BANGLEJS2 version, but I got the following message:
make: *** No rule to make target '/home/andrew/source/repos/github/espruino/Espruino/targetlibs/nrf5x_15/modules/nrfx/mdk/gcc_startup_nrf52840.S', needed by 'espruino_2v11_banglejs2.elf'. Stop.
It looks like I'm missing an assembler?
-
-
@Gordon Thank you for the offer of another watch, however, mine does indeed have the white membrane in place :-(
I had left the Bangle 'baking' on top of my VDSL modem all day today - probably about 55degC. I let it cool for about ten minutes, then turned it on. It's now stuck in a reboot loop and doesn't respond to button presses. I'd say it's a lost cause :-(
While typing the above I flicked the side of the watch with my finger and it stopped rebooting. It seems the button may have been stuck on. Now I am unable to establish a Bluetooth connection. It's still probably a lost cause.
Thanks again for your offer of a watch. Save the ones you have for people who won't do stupid things with them :-)
-
My eyes are also not as young as they used to be, and I've also found the notification text a bit small. I also think the dithering on the dark green title block hinders readability too - I have been meaning to tinker with the Messages app code to change it to a solid green to see if it looked better, but I have not been able to try that yet.
-
All too late, I have now done some research and found that what watch manufacturers say about water resistance, and what you actually get are two entirely different things.
As @myownself mentioned, it seems that the general guideline for 'swimmable' watches is to look for 50m or 5atm ratings. The Bangle's 1m rating is a long way from that.
Hopefully the couple of very hot days I'm having here will sort it out, otherwise I'll be adding my name to the post-Kickstarter hopefuls.
-
At least that's now my opinion.
tl;dr: The touchscreen is registering false touches and drags, making it unusable. The Bluetooth connection is flaky, coming and going at random - it had been stable. Battery is discharging much more quickly than I remember, possibly due to the unstable BLE connection continually triggering the backlight.
Long story:
I took my Bangle 2 for it's first swim last night, just a few laps at my local swimming pool. I had it monitoring my pulse rate. I had done that for a 2hr walk on the weekend and lost about 10% battery. Last night before I started swimming the battery was 65%.
All seemed fine until I finished my 8th lap. I've only just recently started swimming after many years so was nearly done. On looking at my watch - it was done - a blank screen :-( There was no sign of water behind the display or in the pulse sensor. No fogging of the screen.
When I got home there was no response to the button, so I connected the charger and the watch sprang back into life! The battery showed about half full, so I left it charging for a while.
When the battery showed about 3/4 full I started trying to use it, but the touchscreen was registering false touches, so it was quite difficult to get it set up. Then it suddenly decided to reboot, and then got stuck in a reboot loop.
I eventually stopped that and decided to erase storage and reload all the apps from scratch. That took several goes, but I got there in the end. It didn't help, though.
It's difficult to tell, but it might be that the touchscreen is becoming a little less touchy. At this stage, I hope so.
-
Another comment I have to make relates to the ChangeLog file. It's a free-form text file, so it's up to the dev to format it. Currently, the examples/tutorials all show the ChangeLog sorted most recent at the bottom. A much better order would have been most recent at the top.
Most people only care about the recent changes, and once enough changes are made, they're going to have to scroll down all the time to see them.
What about something like this?: