Hi there. HughB here. So @Gordon is right I am not using GadgetBridge. In Kitchen Combo I am pushing the limits of memory as far as they will go to squeeze in the functionality that I wanted to put together. My setup runs at about 82% of RAM usage most of the time. I did run into LOW_MEMORY issues a lot when I was using buffered writing to the display. I since rewrote the code and accepted screens that have a small amount of flicker. The thing with multiclock , it is only doing clock type functions which are not very complex, fairly simple logic. In Kicthen combo the GPS face shares an object with the WayPointer face so that there is a seamless switch between the GPS data, ie no waiting for a fix etc. Each face can call gpsObject.getFix() and do what it needs with it. Recent changes in the way the firmware works might make that redundant now. But basically there is no central control of the GPS functionality. You can't poll the GPS using something like Bange.getGPSfix(), you have to setup a listenner for every app etc. One of the ways of reducing the footprint of Kitchen combo would be to delete the watch faces you dont want to use, that will give a small amount of RAM back but most of the memory is taken up by the common code in kitchen.app.js. I have also produced single App versions of the watch faces in Kitchen Combo, look for Apps of the same name that are quoted in the README file.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Hi there. HughB here. So @Gordon is right I am not using GadgetBridge. In Kitchen Combo I am pushing the limits of memory as far as they will go to squeeze in the functionality that I wanted to put together. My setup runs at about 82% of RAM usage most of the time. I did run into LOW_MEMORY issues a lot when I was using buffered writing to the display. I since rewrote the code and accepted screens that have a small amount of flicker. The thing with multiclock , it is only doing clock type functions which are not very complex, fairly simple logic. In Kicthen combo the GPS face shares an object with the WayPointer face so that there is a seamless switch between the GPS data, ie no waiting for a fix etc. Each face can call gpsObject.getFix() and do what it needs with it. Recent changes in the way the firmware works might make that redundant now. But basically there is no central control of the GPS functionality. You can't poll the GPS using something like Bange.getGPSfix(), you have to setup a listenner for every app etc. One of the ways of reducing the footprint of Kitchen combo would be to delete the watch faces you dont want to use, that will give a small amount of RAM back but most of the memory is taken up by the common code in kitchen.app.js. I have also produced single App versions of the watch faces in Kitchen Combo, look for Apps of the same name that are quoted in the README file.