From ddb77d4209926d53e08366e2c61922827b6093cb Mon Sep 17 00:00:00 2001 From: jaseg Date: Sun, 9 Mar 2014 02:00:32 +0100 Subject: Test about using numpy to alloccate buffer --- host/server.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'host') diff --git a/host/server.py b/host/server.py index cdf2b1d..3d27dc1 100755 --- a/host/server.py +++ b/host/server.py @@ -41,12 +41,13 @@ def compute_text_bounds(text): return textw.value, texth.value def render_text(text, offset): - cbuf = create_string_buffer(FRAME_SIZE*sizeof(COLOR)) + frame = np.ndarray(shape=(DISPLAY_WIDTH, DISPLAY_HEIGHT, 4), dtype=np.uint8) + cbuf = frame.ctypes.data_as(POINTER(c_uint8)) textbytes = bytes(str(text), 'UTF-8') res = bdf.framebuffer_render_text(textbytes, unifont, cbuf, DISPLAY_WIDTH, DISPLAY_HEIGHT, offset) if res: raise ValueError('Invalid text') - return np.ctypeslib.as_array(cast(cbuf, POINTER(c_uint8)), shape=(DISPLAY_WIDTH, DISPLAY_HEIGHT, 4)) + return frame printlock = threading.Lock() @@ -160,6 +161,7 @@ if __name__ == '__main__': renderer = userver else: sendframe(next(defaulttexts)) + #printframe(next(defaulttexts)) continue for frame in renderer: sendframe(frame) -- cgit