Avatar for d3nd3-o0


Member since Jun 2020 • Last active Aug 2020
  • 12 conversations

Most recent activity

  • in Bangle.js
    Avatar for d3nd3-o0

    Ye i will do that. Btw is this related to :


    I put that in my .boot0 file , hm.

  • in Bangle.js
    Avatar for d3nd3-o0

    When uploading via bluetooth code using web ide.

    Uncaught Error: I2C Error: Arbitration (start)

    is spammed in console ide. Using relay, with latest firmware bleeding edge.

    Not sure what the issue is, uploading seems hit and miss on the store too. I decided to reinstall all default apps for now. Until i feel more confident with the firmware.

    It seems the data in the flash was becoming corrupted.

    It struggles to upload 'settings' app under 'install default apps', when it gets to the setting app, it fails often.

  • in Bangle.js
    Avatar for d3nd3-o0

    @Gordon Great find. I'm loving the new power optimisations.

  • started
  • in Bangle.js
    Avatar for d3nd3-o0

    I think the 120x120 and 80x80 modes should be labelled or described as being offscreen buffer modes.

  • in Bangle.js
    Avatar for d3nd3-o0

    Learnt from : lcdst7789_flip() @ lcd_st7789_8bit.c

    doublebuffered = flip using LCD itself (uses the scroll feature halfway)
    80x80 and 120x120 = are using offscreen buffer, so uses RAM. And Blit function. That is why getPixel works, because we can read from memory.
    80x80 has an upscale of 3?
    120x120 has an upscale of 2.
    direct = unbuffered.

    Could you make the documentation a little bit more nooby friendly, explicit on these terms and what the tradeoffs are?

    So the mystery remains, why doesn't 'terminal' work with the doublebuffered mode. Ah i guess that the terminal is using something similar to the Notify module. Perhaps it even uses the scroll feature, most likely.

  • in Bangle.js
    Avatar for d3nd3-o0

    Bangle.setLCDMode() or Bangle.setLCDMode("direct") (the default) - The drawable area is 240x240 16 bit. Unbuffered, so draw calls take effect immediately. Terminal and vertical scrolling work (horizontal scrolling doesn't).
    Bangle.setLCDMode("doublebuffered") - The drawable area is 240x160 16 bit, terminal and scrolling will not work.
    Bangle.setLCDMode("120x120") - The drawable area is 120x120 8 bit, g.getPixel, terminal, and full scrolling work.
    Bangle.setLCDMode("80x80") - The drawable area is 80x80 8 bit, g.getPixel, terminal, and full scrolling work.

    What does this all mean?
    is 120x120 and 80x80 double buffered or not??
    Or only doublebuffered is doublebuffered.. ?
    What has 'terminal' got anything to do with the LCD mode?

    I tested frame rate in the different modes:
    80x80 = 33 fps
    120x120 = 48 fps
    doublebuffered = 67 fps
    direct = 49 fps