openaps / openaps-menu

3 stars 18 forks source link

Handle no-display scenario #16

Open zgohr opened 6 years ago

zgohr commented 6 years ago

When the display is either removed or, as in my case, broken, there are a couple of things that happen. First, the loop errors every time (innocuous) due to being unable to update the display itself.

More importantly, the openaps-menu service cannot start, so the battery/voltage and socket initialization code is never run - and as such the getvoltage.sh command returns nothing, and the rig voltage will never report to Nightscout.

I plan on fixing this when I get time in the coming days. The loop should have a simple warning message that there was an issue updating the display. As far as the service, if this error is caught it should be logged/displayed but make sure to not completely kill the service.

fs.js:658
    return binding.writeBuffer(fd, buffer, offset, length, position);
                   ^

Error: Unknown system error -121: Unknown system error -121, write
    at Error (native)
    at Object.fs.writeSync (fs.js:658:20)
    at Bus.i2cWriteSync (/root/src/openaps-menu/node_modules/i2c-bus/i2c-bus.js:348:13)
    at Oled._transfer (/root/src/openaps-menu/node_modules/oled-i2c-bus/oled.js:136:25)
    at Oled._initialise (/root/src/openaps-menu/node_modules/oled-i2c-bus/oled.js:110:10)
    at new Oled (/root/src/openaps-menu/node_modules/oled-i2c-bus/oled.js:81:8)
    at Object.Display.init (/root/src/openaps-menu/lib/display/ssd1306.js:36:24)
    at module.exports (/root/src/openaps-menu/lib/display/ssd1306.js:68:13)
    at Object.<anonymous> (/root/src/openaps-menu/scripts/status.js:41:68)
    at Module._compile (module.js:409:26)
zgohr commented 6 years ago

I know it's not a huge rush to get this in considering the scenario it supports - but if there's anything I can do to help let me know. Possibly some instructions on testing and what to look for?