From 43c2d9b042030c267ccd4f0d371fd716cbeaf5f3 Mon Sep 17 00:00:00 2001 From: slush Date: Mon, 18 Feb 2013 18:45:33 +0100 Subject: [PATCH] load_device moved to debuglink --- bitkeylib/client.py | 9 +++++++-- bitkeylib/debuglink.py | 7 ++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/bitkeylib/client.py b/bitkeylib/client.py index eec7f833f..3142f414d 100644 --- a/bitkeylib/client.py +++ b/bitkeylib/client.py @@ -235,11 +235,16 @@ class BitkeyClient(object): ''' def reset_device(self): + # Begin with device reset workflow resp = self.call(proto.ResetDevice(random=self._get_local_entropy())) self.init_device() return isinstance(resp, proto.Success) def load_device(self, seed, otp, pin, spv): - resp = self.call(proto.LoadDevice(seed=seed, otp=otp, pin=pin, spv=spv)) + if not self.debuglink: + raise Exception("DebugLink not available") + + if not self.debuglink.load_device(seed, otp, pin, spv): + return False self.init_device() - return isinstance(resp, proto.Success) \ No newline at end of file + return True \ No newline at end of file diff --git a/bitkeylib/debuglink.py b/bitkeylib/debuglink.py index 93e5825d4..427e9464e 100644 --- a/bitkeylib/debuglink.py +++ b/bitkeylib/debuglink.py @@ -21,7 +21,12 @@ class DebugLink(object): def get_state(self, otp=False, pin=False): self.transport.write(proto.DebugLinkGetState(otp=otp, pin=pin)) return self.transport.read_blocking() - + + def load_device(self, seed, otp, pin, spv): + self.transport.write(proto.LoadDevice(seed=seed, otp=otp, pin=pin, spv=spv)) + resp = self.transport.read_blocking() + return isinstance(resp, proto.Success) + def read_otp(self): obj = self.get_state(otp=True).otp print "Read OTP:", obj.otp