mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-22 22:38:08 +00:00
apps.debug: add debug app (that consumes debuglink messages)
This commit is contained in:
parent
5253bdef1d
commit
09c6309ebf
50
src/apps/debug/__init__.py
Normal file
50
src/apps/debug/__init__.py
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
from trezor.wire import register_type, protobuf_handler
|
||||||
|
from trezor.messages.wire_types import \
|
||||||
|
DebugLinkDecision, DebugLinkGetState, DebugLinkStop, \
|
||||||
|
DebugLinkMemoryRead, DebugLinkMemoryWrite, DebugLinkFlashErase
|
||||||
|
from trezor.debug import memaccess
|
||||||
|
|
||||||
|
async def dispatch_DebugLinkDecision(msg, session_id):
|
||||||
|
# TODO: apply button decision from msg.yes_no
|
||||||
|
pass
|
||||||
|
|
||||||
|
async def dispatch_DebugLinkGetState(msg, session_id):
|
||||||
|
from trezor.messages.DebugLinkState import DebugLinkState
|
||||||
|
f = DebugLinkState()
|
||||||
|
# TODO:
|
||||||
|
# f.pin = storage.get_pin()
|
||||||
|
# f.matrix = pinmatrix_get()
|
||||||
|
# f.reset_entropy = reset_get_internal_entropy()
|
||||||
|
# f.reset_word = reset_get_word()
|
||||||
|
# f.recovery_fake_word = recovery_get_fake_word()
|
||||||
|
# f.recovery_word_pos = recovery_get_word_pos()
|
||||||
|
# f.mnemonic = storage.get_mnemonic()
|
||||||
|
# f.node = storage.get_node()
|
||||||
|
# f.passphrase_protection = storage.get_passphrase_protection()
|
||||||
|
await write_message(session_id, f)
|
||||||
|
|
||||||
|
async def dispatch_DebugLinkStop(msg, session_id):
|
||||||
|
pass
|
||||||
|
|
||||||
|
async def dispatch_DebugLinkMemoryRead(msg, session_id):
|
||||||
|
from trezor.messages.DebugLinkMemory import DebugLinkMemory
|
||||||
|
length = max(msg.length, 1024)
|
||||||
|
f = DebugLinkMemory()
|
||||||
|
f.memory = memaccess(msg.address, length)
|
||||||
|
await write_message(session_id, f)
|
||||||
|
|
||||||
|
async def dispatch_DebugLinkMemoryWrite(msg, session_id):
|
||||||
|
# TODO memcpy((void *)msg.address, msg.memory, len(msg.memory))
|
||||||
|
pass
|
||||||
|
|
||||||
|
async def dispatch_DebugLinkFlashErase(msg, session_id):
|
||||||
|
# TODO: erase(msg.sector)
|
||||||
|
pass
|
||||||
|
|
||||||
|
def boot():
|
||||||
|
register_type(DebugLinkDecision, protobuf_handler, dispatch_DebugLinkDecision)
|
||||||
|
register_type(DebugLinkGetState, protobuf_handler, dispatch_DebugLinkGetState)
|
||||||
|
register_type(DebugLinkStop, protobuf_handler, dispatch_DebugLinkStop)
|
||||||
|
register_type(DebugLinkMemoryRead, protobuf_handler, dispatch_DebugLinkMemoryRead)
|
||||||
|
register_type(DebugLinkMemoryWrite, protobuf_handler, dispatch_DebugLinkMemoryWrite)
|
||||||
|
register_type(DebugLinkFlashErase, protobuf_handler, dispatch_DebugLinkFlashErase)
|
@ -7,11 +7,13 @@ from trezor import wire
|
|||||||
from apps import homescreen
|
from apps import homescreen
|
||||||
from apps import management
|
from apps import management
|
||||||
from apps import wallet
|
from apps import wallet
|
||||||
|
from apps import debug
|
||||||
|
|
||||||
# Initialize all applications
|
# Initialize all applications
|
||||||
homescreen.boot()
|
homescreen.boot()
|
||||||
management.boot()
|
management.boot()
|
||||||
wallet.boot()
|
wallet.boot()
|
||||||
|
debug.boot()
|
||||||
|
|
||||||
# Change backlight to white for better visibility
|
# Change backlight to white for better visibility
|
||||||
ui.display.backlight(ui.BACKLIGHT_NORMAL)
|
ui.display.backlight(ui.BACKLIGHT_NORMAL)
|
||||||
|
Loading…
Reference in New Issue
Block a user