From 3019a9172b36b9e2033d92dccdb8ff8e2282da7c Mon Sep 17 00:00:00 2001 From: Talustus Date: Sat, 6 Apr 2013 11:50:07 +0200 Subject: FB2PNG: Add fb2png source to TWRP * Add Source of fb2png to TWRP tree * Android.mk by PhilZ-cwm6 * Makefile for CrossCompiling via external toolchan by me (Talustus) Change-Id: If9680688df6e4c9c567f74f46dfc303566b868ba --- fb2png/ascreenshooter.py | 106 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 fb2png/ascreenshooter.py (limited to 'fb2png/ascreenshooter.py') diff --git a/fb2png/ascreenshooter.py b/fb2png/ascreenshooter.py new file mode 100644 index 000000000..1e994840e --- /dev/null +++ b/fb2png/ascreenshooter.py @@ -0,0 +1,106 @@ +#!/usr/bin/python + +import socket +import sys +import struct +import time + +# debug +VERBOSE = True + +def D(msg): + if VERBOSE: print(msg) + +# "struct fbinfo" is defined in $T/system/core/adb/framebuffer_service.c +def fbinfo_unpack(data): + keys = ("version", + "bpp", + "size", + "width", + "height", + "red_offset", + "red_length", + "blue_offset", + "blue_length", + "green_offset", + "green_length", + "alpha_offset", + "alpha_length" + ) + # the data is little-endian + values = struct.unpack("> [%s]" % len(data)) + D(data) + + if data[0:4] == 'FAIL': + return False + else: + return True + + +target = '' +# use getopt module in future +for arg in sys.argv: + if arg == '-q': + VERBOSE = False + if target != 'any': + # compatiable with "adb -d", redirect commands to usb + if arg == '-d': + target = 'usb' + # compatiable with "adb -e", redirect commands to emulator + elif arg == '-e': + target = 'local' + +if target == '': target ='any' + +s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + +D("connecting") +try: + s.connect(("localhost", 5037)) +except socket.error: + print 'Cannot connect to localhost:5037' + print socket.error + sys.exit(0) + +D("connected") + +if not communicate("host:transport-%s" % target): + sys.exit(1) +#communicate("host:transport-usb:shell:ls /data") +communicate("framebuffer:") + +data = s.recv(52) +fbinfo_unpack(data) + +t0 = float(time.time()) +save() +t1 = float(time.time()) +print t1 - t0 + -- cgit v1.2.3