🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Canvas don't work on M5Stack Core 2

    Micropython
    2
    3
    2.8k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • pavelprostoP
      pavelprosto
      last edited by

      I'm try run simple code:

      import lvgl as lv
      
      def LV_IMG_BUF_SIZE_ALPHA_1BIT(w, h):
          return int(((w / 8) + 1) * h)
      
      def LV_IMG_BUF_SIZE_INDEXED_1BIT(w, h):
          return LV_IMG_BUF_SIZE_ALPHA_1BIT(w, h) + 4 * 2
      
      def LV_CANVAS_BUF_SIZE_INDEXED_1BIT(w, h):
          return LV_IMG_BUF_SIZE_INDEXED_1BIT(w, h)
      
      CANVAS_WIDTH  = 50
      CANVAS_HEIGHT = 50
      
      # Create a buffer for the canvas
      cbuf= bytearray(LV_CANVAS_BUF_SIZE_INDEXED_1BIT(CANVAS_WIDTH, CANVAS_HEIGHT))
      
      # Create a canvas and initialize its the palette
      canvas = lv.canvas(lv.scr_act(), None)
      canvas.set_buffer(cbuf, CANVAS_WIDTH, CANVAS_HEIGHT, lv.img.CF.INDEXED_1BIT)
      canvas.set_palette(0, lv.color_hex(0x00ff00))
      canvas.set_palette(1, lv.color_hex(0xff0000))
      
      # Create colors with the indices of the palette
      c0 = lv.color_t()
      c1 = lv.color_t()
      
      c0.full = 0
      c1.full = 1
      
      # Transparent background
      canvas.fill_bg(c1, lv.OPA.TRANSP)
      
      # Create hole on the canvas
      for y in range(10,30):
          for x in range(5,20):
              canvas.set_px(x, y, c0)
      

      An error occurs when running the code.

      Traceback (most recent call last):
        File "<stdin>", line 19, in <module>
      AttributeError: 'NoneType' object has no attribute '__dereference__'
      

      But everything works in the lvgl simulator.

      ajb2k3A 1 Reply Last reply Reply Quote 0
      • ajb2k3A
        ajb2k3 @pavelprosto
        last edited by

        @pavelprosto Its very hard to diagnose issue in MP as sometimes the error message does not actually point to the issue!
        The error could be
        canvas.fill_bg(c1, lv.OPA.TRANSP)

        or
        canvas.set_palette(1, lv.color_hex(0xff0000))

        UIFlow, so easy an adult can learn it!
        If I don't know it, be patient!
        I've ether not learned it or am too drunk to remember it!
        Author of the WIP UIFlow Handbook!
        M5Black, Go, Stick, Core2, and so much more it cant be fit in here!

        1 Reply Last reply Reply Quote 0
        • pavelprostoP
          pavelprosto
          last edited by pavelprosto

          code:

          import lvgl as lv
          canvas = lv.canvas(lv.scr_act(), None)
          

          error:

          Traceback (most recent call last):
            File "<stdin>", line 2, in <module>
          AttributeError: 'NoneType' object has no attribute '__dereference__'
          
          1 Reply Last reply Reply Quote 0
          • First post
            Last post