1 #!/usr/bin/python3 -i 2 3 # This is a base script for interactive kms++ python environment 4 5 import pykms 6 from time import sleep 7 from math import sin 8 from math import cos 9 10 card = pykms.Card() 11 res = pykms.ResourceManager(card) 12 conn = res.reserve_connector() 13 crtc = res.reserve_crtc(conn) 14 15 mode = conn.get_default_mode() 16 17 fb = pykms.DumbFramebuffer(card, 200, 200, "XR24"); 18 pykms.draw_test_pattern(fb); 19 20 #crtc.set_mode(conn, fb, mode) 21 22 i = 0 23 for p in card.planes: 24 globals()["plane"+str(i)] = p 25 i=i+1 26 27 i = 0 28 for c in card.crtcs: 29 globals()["crtc"+str(i)] = c 30 i=i+1 31 32 for p in crtc.possible_planes: 33 if p.plane_type == pykms.PlaneType.Overlay: 34 plane = p 35 break 36 37 def set_plane(x, y): 38 crtc.set_plane(plane, fb, x, y, fb.width, fb.height, 0, 0, fb.width, fb.height) 39 40 set_plane(0, 0) 41 42 # for x in range(0, crtc.width() - fb.width()): set_plane(x, int((sin(x/50) + 1) * 100)); sleep(0.01) 43