From f63ce92e6009801e545d3f2d3c4c9e90acd1b491 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Mon, 28 Aug 2017 17:59:39 +0200 Subject: Initial import of script for dumping wav data --- looper.py | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100755 looper.py diff --git a/looper.py b/looper.py new file mode 100755 index 0000000..f2f2749 --- /dev/null +++ b/looper.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python3 + +import random +import struct +import sys +import usb.core +import usb.util + +LOOPER_VID = 0x0483 +LOOPER_PID = 0x572a + +ENDPOINT_IN = 0x81 +ENDPOINT_OUT = 0x01 + +COMMAND_SIZE = 0xfe +COMMAND_DATA = 0xff + +def mass_storage_header(data_len, cdb_len): + header = bytes([ord('U'), ord('S'), ord('B'), ord('C')]) + tag = random.randint(0, 1<<32 - 1) + flags = 0x80 + target = 0x00 + header += struct.pack(' 0: + bufsize = (size >= 65536) and 65536 or size + # data needs to be transferred in multiples of 1k blocks + padding = (1024 - (bufsize % 1024)) % 1024 + + buf = get_data(dev, bufsize + padding) + outfile.write(buf[:bufsize]) + size -= bufsize + print(" Done.") -- cgit v1.2.3