Exemple #1
0
 def __init__(self):
     self.is_setting = False
     self.is_repeat = False
     self.subtitle = False
     self.mk2 = version.is_mark2()
     self.offer_second = True
     self.reset()
Exemple #2
0
async def start_selftest():
    import version

    try:
        await test_oled()
        await test_microsd()
        await test_numpad()
        await test_sflash()
        await test_ae508a()

        if version.is_mark2():
            await test_sd_active()

        # add more tests here

        settings.set('tested', True)
        await ux_show_story("Selftest complete", 'PASS')

    except (RuntimeError, AssertionError) as e:
        await ux_show_story("Test failed:\n" + str(e), 'FAIL')
Exemple #3
0
    def setup(cls):
        # Watch the SD card-detect signal line... but very noisy
        # - this is called a few seconds after system startup

        from pyb import Pin, ExtInt

        def card_change(_):
            # Careful: these can come fast and furious!
            cls.last_change = utime.ticks_ms()

        cls.last_change = utime.ticks_ms()

        cls.irq = ExtInt(Pin('SD_SW'), ExtInt.IRQ_RISING_FALLING, Pin.PULL_UP,
                         card_change)

        # mark 2 boards have a light for SD activity.
        import version
        from machine import Pin

        if version.is_mark2():
            cls.active_led = Pin('SD_ACTIVE', Pin.OUT)
Exemple #4
0
    MenuItem('Duress PIN', f=pin_changer, arg='duress'),
    MenuItem('Login Now', f=login_now, arg=1),
]


async def which_pin_menu(_1, _2, item):
    from main import pa
    return PinChangesMenu if not pa.is_secondary else SecondaryPinChangesMenu


SettingsMenu = [
    #         xxxxxxxxxxxxxxxx
    MenuItem('Idle Timeout', chooser=idle_timeout_chooser),
    MenuItem('Touch Setting',
             chooser=sensitivity_chooser,
             predicate=lambda: not version.is_mark2()),
    MenuItem('Max Network Fee', chooser=max_fee_chooser),
    MenuItem('PIN Options', menu=which_pin_menu),
    MenuItem('Multisig Wallets', menu=make_multisig_menu),
    MenuItem('Blockchain', chooser=chain_chooser),
]

SDCardMenu = [
    MenuItem("Verify Backup", f=verify_backup),
    MenuItem("Backup System", f=backup_everything),
    MenuItem("Dump Summary", f=dump_summary),
    MenuItem('Upgrade From SD', f=microsd_upgrade),
    MenuItem("Electrum Wallet", f=electrum_skeleton),
    MenuItem("Wasabi Wallet", f=wasabi_skeleton),
    MenuItem('List Files', f=list_files),
    #MenuItem('Reformat Card', f=wipe_microsd),      # removed: not reliable enuf
Exemple #5
0
        pass

import ckcc
import uasyncio.core as asyncio

loop = asyncio.get_event_loop()

print("---\nColdcard Wallet from Coinkite Inc. (c) 2018.\n")

# Setup OLED and get something onto it.
from display import Display, FontFixed, FontSmall, FontLarge

dis = Display()
dis.splash()

if version.is_mark2():
    # Setup membrane numpad (mark 2)
    from mempad import MembraneNumpad
    numpad = MembraneNumpad(loop)
else:
    # Setup touch numpad (mark 1 hardware)
    from touchpad import TouchNumpad
    numpad = TouchNumpad(loop)

# Serial Flash memory
from sflash import SPIFlash

sf = SPIFlash()

# NV settings
from nvstore import SettingsObject