You are reading a single comment by @Gordon and its replies. Click here to read the full conversation.
  • Yep, that'd do it. Although it still brings up the question of what is allocating memory in an IRQ - which is something that probably needs looking at. Is Pastel clock using any sensors apart from accelerometer?

    In the cutting edge releases you can now do process.memory(false) to avoid GC (and if you add it in your code it'll work on older firmwares, but will just do GC anyway)

  • Is Pastel clock using any sensors apart from accelerometer?

    Not to my knowledge. It does not use the accelerometer either.
    Do you think any of below might be suspect ?

    const infoData = {
      ID_BLANK: { calc: () => '' },
      ID_DATE:  { calc: () => {var d = (new Date).toString().split(" "); return d[2] + ' ' + d[1] + ' ' + d[3];} },
      ID_DAY:   { calc: () => {var d = require("locale").dow(new Date).toLowerCase(); return d[0].toUpperCase() + d.substring(1);} },
      ID_SR:    { calc: () => 'Sunrise: ' + sunRise },
      ID_SS:    { calc: () => 'Sunset: ' + sunSet },
      ID_STEP:  { calc: () => 'Steps: ' + getSteps() },
      ID_BATT:  { calc: () => 'Battery: ' + E.getBattery() + '%' },
      ID_MEM:   { calc: () => {var val = process.memory(); return 'Ram: ' + Math.round(val.usage*100/val.total) + '%';} },
      ID_ID:    { calc: () => {var val = NRF.getAddress().split(':'); return 'Id: ' + val[4] + val[5];} },
      ID_FW:    { calc: () => 'Fw: ' + process.env.VERSION }
    };
    

    It gets steps from
    Bangle.getHealthStatus("day").steps. I will be adding in the Idle timer functionality I did in lazybones at some point but that just watches Bangle.on('step',)

    In the cutting edge releases you can now do process.memory(false)

    Great. Will do an update to Pastel Clock to get rid of the GC possibility.

About

Avatar for Gordon @Gordon started