(02-04-2020, 01:43 PM)danielt Wrote: Since I received my PineTime a couple of weeks ago I have been working whenever I have a spare moment to make my PineTime wearable. At this point I have, more or less, reached this goal! Admitedly It's not any smarter than the dumbest of my dumb watches but I've been wearing my PineTime for the last two days and I haven't been late to any meetings. That means I think its time to talk a bit more about what I have been doing.
Firstly, if you just want the code please visit: https://github.com/daniel-thompson/wasp-os
If you're still interested in a bit more of the story... there are a great many different possible approaches to developing a firmware for a wearable like the PineTime and I wanted to experiment a bit with MicroPython to see whether I could "go fast" during development by using tools that allow for easy interactive hacking on the device itself and that also naturally shares a stack trace when I mess something up.
I've not got far enough to draw conclusions on whether MicroPython helps me get more done in my limited free time but I can certainly attest that having a REPL to send interactive commands to the ST7789 display was really good for helping me get to grips with how it actually worked (something I hope can be repeated for some of the other drivers).
As mentioned in the intro, wasp-os currently provides nothing more than a simple digital clock application for PineTime together with access to the MicroPython REPL for interactive testing and tweaking. However it keeps time well and has enough power saving functions implemented that it can survive for well over 24 hours between charges so even at this early stage it is functional as a wearable timepiece.
It also includes a bootloader based on the Adafruit nRF52 Bootloader which has been extended to make it robust for development on form-factor devices without a reset button, power switch, SWD debugger or UART. This is working well and allows me to update the main application over-the-air but there remain a few extra features that I want to get right before glueing the back on my own device (currently I am relying on double sided tape).
wasp-os digital clock app running on PineTime
I have the bootloader.hex working on my PineTime, but no matter what I do nordic Connect give a DFU error 6, and I have set packets down to 1. Maybe my phone is too slow, it's a Moto G6. Soooo close. Really nice work, the only thing I had to adjust was replace all with lto=0 on the make file at the end, otherwise it just wouldn't compile, don't know why.
Didn't work on my tablet either, same error. Is this something that is signed?