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