-
So my bangle 1 watch seems to be acting wear when i program it. I see the booting part fine. So i know the screen is ok. Just when it loads after that the screen just produces garbage. I cab load a program on it fine just the screen doesn't seem to want to display data correctly.
So I've reset the flash
- require("Storage").eraseAll();
- installed "installed default apps"
- require("Storage").eraseAll();
-
@dandelany
Did you ever post the code for this. I'm hooking up the exact display. -
I'm able to flash the bangle1 and get bangle one there. I just commands @Gordon runs before sending a watch out. What the setup to make a watch function as if its getting send to a customer. The way I'm doing is doesn't include all the launchers and apps. So i can go to esperuino IDE and upload stuff. I just don't see any of the apps.
To flash i run this
echo "load bin/espruino_2v21.84_banglejs.hex" >> gdbinit echo "load bin/espruino_2v21.84_banglejs.elf" >> gdbinit echo "load bin/bootloader_espruino_2v21.84_banglejs.hex" >> gdbinit echo "load bin/bootloader_espruino_2v21.84_banglejs.elf" >> gdbinit echo "load bin/espruino_2v21.84_banglejs.app_hex" >> gdbinit
I remember from this post you do a make .... flash then do a gdb file load. But the flash command only works with segger tools because it uses "nrfjprog"
-
-
-
Sorry i must be doing something really dumb but this is what i'm doing.
source scripts/provision.sh BANGLEJS
- Expected 13.2.1
- Got 10.3.1
make -j BOARDNAME=BANGLEJS BOARD=BANGLEJS RELEASE=1
LD bin/espruino_2v21.84_banglejs.elf
BANGLEJS bin/espruino_2v21.84_banglejs.elf
python scripts/check_elf_size.py BANGLEJS bin/espruino_2v21.84_banglejs.elf
Testing bin/espruino_2v21.84_banglejs.elf for BANGLEJS
STORAGE: 0x60000000 -> 0x60400000
FS DATA: 0x76db8 -> 0x76dc8 (16 bytes)
FLASH_AVAILABLE: 0x76000
CODE: 0x1f000 -> 0x76dc8 (359676 bytes)==========================
CODE AND STORAGE OVERLAP
by 3528 bytes
==========================So what i'm tying to do seems very simple, i just want to flash bangle.js on a bangle 1 watch. Other then having a wrong gcc version, it should build?
- Expected 13.2.1
-
-
That work great!
Steps to reset NR52 Device
- grab software here
- The apps built in Rust so you'll need that plus Rust package manager cargo
- also need "sudo apt-get install libusb-1.0-0-dev librust-pkg-config-dev"
- Then run nrf-recover
Error i saw
Error No supported probe was found - unplugged programmer device or not configured correctly
Error Didn't receive any answer during batch processing: - most likely you have your i2c lines mixed up
- grab software here
-
So i wasn't even able to program it without the battery using my raspberry pi pico board. Don't know why? pico should be able to produce up to 300mA?
But it doesn't really matter anyway because when reattached the battery and try and program it i get "Device has AP lock engaged". So i'll have to use a real segger programmer anyway and completely erase the chip.
Will i be able to recharge the battery if i attach VDD?
-
-
Not really after anything. Just saw this chip from TI(2605) that does some fancy haptic effects and just wondering if they were at all useful for a watch.
I've only had one example with this kind of thing on my Samsung s3. I had this meditation app that would have this cool ramp up vibration. The kind of ramp that would be a pain to make in software. But i dont know other cases where I know there was some fancy vibration on my watch.
-
So I actually think I misunderstood that chip for this chip. https://www.ti.com/product/DRV2605
Which has a library of different haptic effects
-
So from what I understand neither the bangle 1 or 2 or any supported bangle device has a haptic driver. But devices like the pebble watch had a haptic driver. https://www.ti.com/lit/ds/symlink/drv2603.pdf?ts=1711575201075
Is there anything that would be useful to have this piece of hardware or is a properly configured pulsed pin perfect for most use cases.
-
-
This is just a theoretical question, but what would be everybody's option on using cmake instead of just make files for the main espruino project.
I asked partly ask this because i would love to see Zephyr support on this project and Zephyr uses CMAKE in its builds. So having a a build system use cmake would make that easier to integrate.
-
-
-
One thing i wanted but couldn't figure out was a way to have just a Bangle_driver_impl.h without a Bangle_driver_impl.C
I wanted this because the file mainly includes empty weak functions file because the whole point is to give the project a place to inject hardware specific code. But because the each bangle_device_driver_impl.c includes the headers of the Bangle_driver_impl.h you can't have the weak pointer definition because then you'll get double declarations error.
-
Look forward to what you have to say.
So i added the display driver layout as well.
https://github.com/brendena/Espruino/tree/MOD_DISPLAY -
@Gordon
So i don't seem to be able to find a used Bangle 1 watch any where. So the next best thing would be to get the same watch model.So i'm wondering if you could send me the full part name for it. I tried to search for f18 but that didn't seemed to turn up anything useful.
-
-
CHANGES
- build EMSCPRTION
- moved state to a separate file called bangle_state.h
- removed most of the EMULATED defines
So to remove most of the EMULATED define i needed all the functions in the XX_impl.h header to be defined just not doing anything. So i just wrap each function definition in a macro that will generate a empty function. Example header how how it used. Then with the EMSCRIPT builds i just don't include the XXX_impl.c files.
Status
So I'm able to build the emscription repo. I just don't see it when run the repo? Currently i won't be able to test with real hardware till next month.
So other then testing i can start working on the display module. Or try to address other concerns that you have.
- build EMSCPRTION
-
This is directly from github