Skip to content
Snippets Groups Projects
Select Git revision
  • 85d809d1f4e35a511e0a56b3411126e05a31c01b
  • wip-bootstrap default
  • dualcore
  • ch3/leds
  • ch3/time
  • master
6 results

framebuf16.py

Blame
  • framebuf16.py 1.03 KiB
    try:
        import framebuf
    except ImportError:
        print("SKIP")
        raise SystemExit
    
    def printbuf():
        print("--8<--")
        for y in range(h):
            print(buf[y * w * 2:(y + 1) * w * 2])
        print("-->8--")
    
    w = 4
    h = 5
    buf = bytearray(w * h * 2)
    fbuf = framebuf.FrameBuffer(buf, w, h, framebuf.RGB565)
    
    # fill
    fbuf.fill(0xffff)
    printbuf()
    fbuf.fill(0x0000)
    printbuf()
    
    # put pixel
    fbuf.pixel(0, 0, 0xeeee)
    fbuf.pixel(3, 0, 0xee00)
    fbuf.pixel(0, 4, 0x00ee)
    fbuf.pixel(3, 4, 0x0ee0)
    printbuf()
    
    # get pixel
    print(fbuf.pixel(0, 4), fbuf.pixel(1, 1))
    
    # scroll
    fbuf.fill(0x0000)
    fbuf.pixel(2, 2, 0xffff)
    printbuf()
    fbuf.scroll(0, 1)
    printbuf()
    fbuf.scroll(1, 0)
    printbuf()
    fbuf.scroll(-1, -2)
    printbuf()
    
    w2 = 2
    h2 = 3
    buf2 = bytearray(w2 * h2 * 2)
    fbuf2 = framebuf.FrameBuffer(buf2, w2, h2, framebuf.RGB565)
    
    fbuf2.fill(0x0000)
    fbuf2.pixel(0, 0, 0x0ee0)
    fbuf2.pixel(0, 2, 0xee00)
    fbuf2.pixel(1, 0, 0x00ee)
    fbuf2.pixel(1, 2, 0xe00e)
    fbuf.fill(0xffff)
    fbuf.blit(fbuf2, 3, 3, 0x0000)
    fbuf.blit(fbuf2, -1, -1, 0x0000)
    fbuf.blit(fbuf2, 16, 16, 0x0000)
    printbuf()