Avatar for fanoush

fanoush

Member since Jul 2018 • Last active Jan 2020
  • 4 conversations
  • 244 comments

Most recent activity

  • in Bangle.js
    Avatar for fanoush

    Well, nrf51 was good choice few years ago, but for that price, and if you get it fast (says ships from UK) and you really get what is described (you often get other random chips inside) then it make some sense and you can learn a lot with that ;-) H band app means it can be nrf51 with 32KB indeed, there are lot of firmware files for that app for nrf51/32KB. I wouldn't bother with nrf51 today but I guess it can be done with lot of pain. Try to figure out firmware version or hw model number, if you can get firmware update you'll know what SDK/Softdevice it is so you can better build DFU package for that. It will be something old so you can't build Espruino for that without doing some changes and backporting (or getting old 1.x espruino version from git) or updating softdevice and bootloader to something recent (which is tricky to do without taking apart). With DS-D6 I started with espruino 1.87 which was still using SDK11 but maybe you need something even older. Or if it can be opened easily without damage, using SWD to reflash it saves a lot of effort. Anyway, I guess "Official Espruino Boards / Bangle.js" is not best topic for discussing all that.

  • in Bangle.js
    Avatar for fanoush

    Is it feasible to assume that with the experiences gathered there could be Bangle.js ports to other models too?

    You think about doing the port yourself for specific watch? Yes, that is possible due to espruino being open source and lot of work done for Bangle. As for same manufacturer the F5 is there in some state done by Gordon (if you can still buy the device ) and then we know the No.1 S10 is SDK11 based and the board design looks very similar to F18 (a bit thinner, missing compass and gps). Then there is DT28 which is even thinner has only two buttons but full touchscreen and we know this one has signed firmware so you need to open it via screws on the back and use SWD. As for other form factors and manufacturers - there is plenty of options, but to reuse stuff done for Bangle so far, you need something with similar display, buttons and also external SPI flash inside for the storage. Fortunately lot of them has such flash (used for storing chinese fonts) but some don't. Anyway it is all doable but needs some time and effort.

  • in Porting to new Devices
    Avatar for fanoush

    As for sunlight readable I have one hot tip - the dk08, it is sdk11 based and I already managed to brick one completely by updating bootloader. But I had espruino already there to backup bootlaoader and then for some stupid reason I restored the app and then after some time I tried to update bootloader and then then app does not start anymore. I think with espruino there the bootloader update would work :-( Unfortunately it looks impossible to open without breaking it (glass glued to metal), so I had to order another one. And it hurts because it is quite expensive. But the sunlight readable always on display is worth it. No touchscreen and only one button though.

    I wonder what would dissolve the glue that is used, not sure if acetone or ethanol or something like wd40. if I put it to some shallow liquid just to cover the glass maybe it would be possible to open without breaking the glass.

  • in Bangle.js
    Avatar for fanoush

    Here is an example that creates a 1000 long file, read-s it, and free memory doesn't decrease by a lot (CPU is bare nRF52832, same as in the Bangle)

    So you didn't use Bangle when trying this? There may be another issue that Bangle uses external SPI flash for storage (?) which is not directly mapped to cpu address space so data needs to be loaded to ram at some point.

  • in Bangle.js
    Avatar for fanoush

    I think .84 is older than .294. It is number of commits after latest release, see https://github.com/espruino/Espruino/blo­b/master/Makefile#L98
    Current changelog is here https://github.com/espruino/Espruino/blo­b/master/ChangeLog

  • in Bangle.js
    Avatar for fanoush

    If the size of each record is fixed I would preallocate the file for specific period/number of records and used just https://www.espruino.com/Reference#l_Sto­rage_write directly and then just fill it later record by record. Once full I'd start with another preallocated file. I'd keep current offset in variable in RAM or find where is last record by scanning the data if the variable got lost (e.g. after reset or dead battery). That way I wouldn't need to know the length. If the record is variable I'd include length into each record.

  • in Porting to new Devices
    Avatar for fanoush

    Well, it is not that cheap or that great. It depends. It is not bad choice but IMO there are better and/or cheaper choices.

  • in Bangle.js
    Avatar for fanoush

    Indeed it looks like there is no api call for getting the size but I followed link provided by Robin in one of yours previous storage based topics and found this reply http://forum.espruino.com/conversations/­329768/#14577636
    So if you really need the size now you can possibly iterate over those numbered file parts and add the length number as a workaround.

  • in Bangle.js
    Avatar for fanoush

    these are simply different types of files - StorageFile based operations are implemented on top of multiple Storage files with numbered suffixes see e.g. this topic http://forum.espruino.com/conversations/­341825/#15028001 so mixing them while expecting them to have same file names does not work

  • in Bangle.js
    Avatar for fanoush

    you are mixing older direct Storage.read approach documented also here https://www.espruino.com/Reference#Stora­ge with newer file=Storage.open, file.read approach which is using hidden numbered suffixes in file names so I guess these are different types of files

    and btw in future don't hesitate to reuse your existing 'Andreas_Rozek vs files' forum topics while still experimenting with Storage files ;-)

Actions