-
-
Hi Gordon,
Just received my new Pixl and immediately I tried the same experiment with the attached Javascript file:
(1) Upload the file without 'require("Storage").write(".splash"' => Works fine.
(2) Upload the file WITH 'require("Storage")..."Same problem.
It does not reboot, with the message:
DFU 2v16 BOOTING ...
When trying to boot with BTN1 and BTN4 pressed, it displays:
DFU 2V16 RELEASE BTN1 FOR DFU BTN1 TO BOOT <==========================================> BOOTING...
What do you suggest, please ?
-
A wish, on top of the ideas here, would be a metal case for a DeLuxe Bangle2, and here is why:
I had a Casio bought in 1993 but it died last year and anyway could give the day of the week only between 1980 and 2020.
So I chose another model, and found in the "vintage" serie of Casio the "W-800H-1AVES", with a steel case that I like :
https://www.watch.co.uk/casio-vintage-edgy-black-digital-sports-watch-w-800h-1aves.htmAlso, I loved the aesthetics of Nixon Regulus silver : https://uk.nixon.com/products/regulus-stainless-steel-black?gclid=CjwKCAiAlp2fBhBPEiwA2Q10D1wAO4czbvxt15Gse9mIXjw_imRU1_q4yu4KgjDOs6VsNXAt8xpW0BoC0E0QAvD_BwE
For both of them, the software does not do much beyond giving time, and has useless features (No need of two timers)
This is when I discovered Bangle 2, immediately loved the concept, and happily chose it (and offered one to my son).
So, ideally, I would love another Bangle 2 but with a steel case.
-
-
-
As kindly suggested, I tried a DFU reset with "Cutting Edge build: espruino_2v16.93_pixljs.zip"
I attached the Android displays, after the sequence:DFU 2V16 RELEASE BTN1 FOR DFU BTN1 TO BOOT <============= >
... then pressing BTN1 gives:
DFU START
Please that it does NOT display this, the end after "START" is missing:
DFU STARTED READY TO UPDATE -
-
-
After having uploaded a big splash image with
require("Storage").write(".splash",E.toArrayBuffer(atob("
my Pixl is frozen.So I do a hard-reset, power off/on with BTN1 pressed. It starts, then displays:
DFV 2V16 RELEASE BTN1 FOR DEV BTN1 TO BOOT <==================================> BOOTING...
Then the led flashes once, and the screen is frozen with the same message.
Possible reason: a JSA connector I soldered two weeks ago, but it was working OK after that.
I am happy to try to flash the memory myself.
-
Thanks for your answer.
The problem happens when setting a watch on BTN1 to call a function opening the menu. Then, changing the watches to the proper buttons used by the menu.
At this moment, BTN1 and BTN4 work in the opposite way (BTN1 is down amd BTN4 is up), and it is not possible anymore to edit the value of a number.However, if I use BTN2, and do not clearWatch BTN1,3,4 , it works fine.
Therefore, I "overwrote the Pixl's default showMenu implementation", and it worked perfectly.
So, I suspect some sort of conflict when changing a watch once the menu is created. Like:
m.setWatch() , returned_copy_of_m.clearWatch(), returned_copy_of_m.setWatch() after menu creation.
Maybe, setting the second watch with a copy of the variable m ?Anyway, it works fine now, so thanks again.
-
I have created a menu on a Pixl, and this is normally controlled with the small buttons on the card.
I would like, instead, to control this menu with external buttons connected to D1 ... D4.
To understand what the internal events handlers of the menu really do, I tried to replace the setWatch calls by the suggestions of the link Graphical Menu:
setWatch(function() { m.move(-1); // up }, BTN1, {repeat:true,debounce:50,edge:"rising"}); setWatch(function() { m.move(1); // down }, BTN4, {repeat:true,debounce:50,edge:"rising"}); setWatch(function() { m.select(); // select }, BTN3, {repeat:true,debounce:50,edge:"rising"});
It works for a simple menu, but not for editing the value of a number, for example.
So the questions are:
- Is it possible to reuse the event handlers of the menu (up/down etc...) and call them from another type of event ? (D1 ...)
- Or is there another way to use a menu with different events ?
Many thanks in advance.
- Is it possible to reuse the event handlers of the menu (up/down etc...) and call them from another type of event ? (D1 ...)
-
-
This Pixl program advertises a service, treats "onWrite" queries, and write the received character in a loop, every second:
var eventData = "NOTHING"; NRF.setServices({ 0xEDCB : { 0xBA98 : { description: "MyCharact", writable : true, onWrite : function(evt) { eventData = evt.data; } } } }, { advertise: [ 'EDCB' ]}); var counter = 0; function intervalHandler() { console.log("counter: " + counter + " Data=" + eventData); counter++; } setInterval(intervalHandler, 1000); g.clear(); g.flip(); LED.set(); NRF.on('connect', function(addr) { console.log("Connection. addr=", addr); }); NRF.on('disconnect', function(reason) { console.log("reason=" + reason); });
Apparently, it can receive only one character. When sending byte arrays of more than one byte with nRF Connect or BLEScanner, nothing happens. However, when sending one byte only, it is received and correctly displayed.
What do you think, please ?
-
Yes, many thanks, well done:
This program displays a red square when Bluetooth connects, and a blue square on disconnection. This works as expected, good.
NRF.on('connect', function(addr) { // Red square. g.setColor(255,0,0); g.fillRect(0,0,20,20); }); NRF.on('disconnect', function(reason) { // Blue square. g.setColor(0,0,255); g.fillRect(20,0,40,20); });
-
The following program logs "connect" and "disconnect" BLE events, while writing a dummy message in a loop.
This is tested with a Bangle2 and an Android phone ("BLE Scanner" and also "nRF Connect").The "disconnect" event is properly detected, but not the "connect" one. However, the connection seems to be effective because "BLE Scanner" is able to read strings from the Bangle2.
Also, when connected, the writing loop is not called. Why, please ?
var counter = 0; // No display when connected. Pending lines are logged after disconnection. setInterval( function() { console.log("counter=", counter); counter++; }, 1000); // Just logs "-> Bluetooth". The custom message is not visible. NRF.on('connect', function(addr) { // Not called. console.log("Connection. addr=", addr); // Not displayed/ }); // Also logs "<- Bluetooth", as expected. NRF.on('disconnect', function(reason) { // This displays: "reason=19" which looks fine. console.log("reason=", reason); });
-
I would like to have saturated colors on my Bangle2, without dithering. According to List of monochrome and RGB color formats: 3 bits, there should be eight possibilities:
(255,0,0) => 100 (pure red, no dithering)
(0,255,0) => 010 (pure green, no dithering)
... and other RGB combinations with components different of 0 and 255, being dithered.
Thanks, it arrived yesterday and the second Pixl was reflashed as explained : Perfect.
And indeed the warning is: "Uncaught Error: Can't have palette on >8 bit images"
But I created it with "Output As: Image String" and "Coloours : 1 bit black/white" options. Not a problem.
Many thanks again.