mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-27 00:28:10 +00:00
47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
|
import datetime
|
||
|
import os
|
||
|
import time
|
||
|
|
||
|
import serial
|
||
|
|
||
|
|
||
|
class Device:
|
||
|
def __init__(self, uhub_location, uhub_port, arduino_serial):
|
||
|
self.uhub_location = uhub_location
|
||
|
self.uhub_port = uhub_port
|
||
|
self.arduino_serial = arduino_serial
|
||
|
self.serial = serial.Serial(arduino_serial, 9600)
|
||
|
|
||
|
def power_on(self):
|
||
|
self.now()
|
||
|
print("[hardware/usb] Turning power on...")
|
||
|
os.system(
|
||
|
"uhubctl -l {} -p {} -a on > /dev/null".format(
|
||
|
self.uhub_location, self.uhub_port
|
||
|
)
|
||
|
)
|
||
|
self.wait(3)
|
||
|
|
||
|
def power_off(self):
|
||
|
self.now()
|
||
|
print("[hardware/usb] Turning power off...")
|
||
|
os.system(
|
||
|
"uhubctl -l {} -p {} -r 100 -a off > /dev/null".format(
|
||
|
self.uhub_location, self.uhub_port
|
||
|
)
|
||
|
)
|
||
|
self.wait(3)
|
||
|
|
||
|
def touch(self, location, action):
|
||
|
raise NotImplementedError
|
||
|
|
||
|
@staticmethod
|
||
|
def wait(seconds):
|
||
|
Device.now()
|
||
|
print("[software] Waiting for {} seconds...".format(seconds))
|
||
|
time.sleep(seconds)
|
||
|
|
||
|
@staticmethod
|
||
|
def now():
|
||
|
print("\n[timestamp] {}".format(datetime.datetime.now()))
|