mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-08-01 19:38:33 +00:00
feat(core): init T3T1 UI layouts: meta
This commit is contained in:
parent
96902d78d6
commit
99bc8a58b7
@ -416,12 +416,15 @@ SOURCE_FIRMWARE = [
|
||||
]
|
||||
|
||||
|
||||
if TREZOR_MODEL in ('T', 'T3T1', 'DISC1', 'DISC2'):
|
||||
if TREZOR_MODEL in ('T', 'DISC1', 'DISC2'):
|
||||
UI_LAYOUT = 'UI_LAYOUT_TT'
|
||||
ui_layout_feature = 'model_tt'
|
||||
elif TREZOR_MODEL in ('1', 'R'):
|
||||
UI_LAYOUT = 'UI_LAYOUT_TR'
|
||||
ui_layout_feature = 'model_tr'
|
||||
elif TREZOR_MODEL in ('T3T1',):
|
||||
UI_LAYOUT = 'UI_LAYOUT_MERCURY'
|
||||
ui_layout_feature = 'model_mercury'
|
||||
else:
|
||||
raise ValueError('Unknown Trezor model')
|
||||
|
||||
@ -594,6 +597,12 @@ if FROZEN:
|
||||
SOURCE_PY_DIR + 'trezor/ui/layouts/tr/fido.py',
|
||||
] if not EVERYTHING else []
|
||||
))
|
||||
elif UI_LAYOUT == 'UI_LAYOUT_MERCURY':
|
||||
SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/mercury/*.py',
|
||||
exclude=[
|
||||
SOURCE_PY_DIR + 'trezor/ui/layouts/mercury/fido.py',
|
||||
] if not EVERYTHING else []
|
||||
))
|
||||
else:
|
||||
raise ValueError('Unknown layout')
|
||||
|
||||
|
@ -454,13 +454,15 @@ else:
|
||||
env = Environment(ENV=os.environ, CFLAGS='%s -DPYOPT=%s -DBITCOIN_ONLY=%s %s' % (ARGUMENTS.get('CFLAGS', ''), PYOPT, BITCOIN_ONLY, STATIC))
|
||||
|
||||
|
||||
if TREZOR_MODEL in ('T', 'T3T1'):
|
||||
if TREZOR_MODEL in ('T',):
|
||||
UI_LAYOUT = 'UI_LAYOUT_TT'
|
||||
ui_layout_feature = 'model_tt'
|
||||
# XXX TODO
|
||||
elif TREZOR_MODEL in ('1', 'R'):
|
||||
UI_LAYOUT = 'UI_LAYOUT_TR'
|
||||
ui_layout_feature = 'model_tr'
|
||||
elif TREZOR_MODEL in ('T3T1',):
|
||||
UI_LAYOUT = 'UI_LAYOUT_MERCURY'
|
||||
ui_layout_feature = 'model_mercury'
|
||||
else:
|
||||
raise ValueError('Unknown Trezor model')
|
||||
|
||||
@ -680,6 +682,12 @@ if FROZEN:
|
||||
SOURCE_PY_DIR + 'trezor/ui/layouts/tr/fido.py',
|
||||
] if not EVERYTHING else []
|
||||
))
|
||||
elif UI_LAYOUT == 'UI_LAYOUT_MERCURY':
|
||||
SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/mercury/*.py',
|
||||
exclude=[
|
||||
SOURCE_PY_DIR + 'trezor/ui/layouts/mercury/fido.py',
|
||||
] if not EVERYTHING else []
|
||||
))
|
||||
else:
|
||||
raise ValueError('Unknown layout')
|
||||
|
||||
|
@ -466,6 +466,8 @@ STATIC const mp_rom_map_elem_t mp_module_trezorutils_globals_table[] = {
|
||||
{MP_ROM_QSTR(MP_QSTR_UI_LAYOUT), MP_ROM_QSTR(MP_QSTR_TT)},
|
||||
#elif UI_LAYOUT_TR
|
||||
{MP_ROM_QSTR(MP_QSTR_UI_LAYOUT), MP_ROM_QSTR(MP_QSTR_TR)},
|
||||
#elif UI_LAYOUT_MERCURY
|
||||
{MP_ROM_QSTR(MP_QSTR_UI_LAYOUT), MP_ROM_QSTR(MP_QSTR_MERCURY)},
|
||||
#else
|
||||
#error Unknown layout
|
||||
#endif
|
||||
|
@ -10,6 +10,7 @@ default = ["model_tt"]
|
||||
crypto = ["zeroize"]
|
||||
model_tt = ["jpeg"]
|
||||
model_tr = []
|
||||
model_mercury = ["jpeg"]
|
||||
micropython = []
|
||||
protobuf = ["micropython"]
|
||||
ui = []
|
||||
|
@ -1,7 +1,13 @@
|
||||
//! Reexporting the `constant` module according to the
|
||||
//! current feature (Trezor model)
|
||||
|
||||
#[cfg(all(feature = "model_tr", not(feature = "model_tt")))]
|
||||
#[cfg(feature = "model_mercury")]
|
||||
pub use super::model_mercury::constant::*;
|
||||
#[cfg(all(
|
||||
feature = "model_tr",
|
||||
not(feature = "model_tt"),
|
||||
not(feature = "model_mercury")
|
||||
))]
|
||||
pub use super::model_tr::constant::*;
|
||||
#[cfg(feature = "model_tt")]
|
||||
#[cfg(all(feature = "model_tt", not(feature = "model_mercury")))]
|
||||
pub use super::model_tt::constant::*;
|
||||
|
@ -5,16 +5,16 @@ mod starry;
|
||||
|
||||
use crate::ui::display::{Color, Icon};
|
||||
|
||||
#[cfg(feature = "model_tt")]
|
||||
#[cfg(any(feature = "model_tt", feature = "model_mercury"))]
|
||||
use crate::ui::display::loader::circular::{
|
||||
loader_circular as determinate, loader_circular_indeterminate as indeterminate,
|
||||
};
|
||||
#[cfg(feature = "model_tt")]
|
||||
#[cfg(any(feature = "model_tt", feature = "model_mercury"))]
|
||||
pub use crate::ui::display::loader::circular::{loader_circular_uncompress, LoaderDimensions};
|
||||
|
||||
#[cfg(not(feature = "model_tt"))]
|
||||
#[cfg(all(not(feature = "model_tt"), not(feature = "model_mercury")))]
|
||||
use crate::ui::display::loader::rectangular::loader_rectangular as determinate;
|
||||
#[cfg(not(feature = "model_tt"))]
|
||||
#[cfg(all(not(feature = "model_tt"), not(feature = "model_mercury")))]
|
||||
use crate::ui::display::loader::starry::loader_starry_indeterminate as indeterminate;
|
||||
|
||||
pub use small::loader_small_indeterminate;
|
||||
|
@ -17,6 +17,8 @@ pub mod util;
|
||||
#[cfg(feature = "micropython")]
|
||||
pub mod layout;
|
||||
|
||||
#[cfg(feature = "model_mercury")]
|
||||
pub mod model_mercury;
|
||||
#[cfg(feature = "model_tr")]
|
||||
pub mod model_tr;
|
||||
#[cfg(feature = "model_tt")]
|
||||
|
@ -1,6 +1,8 @@
|
||||
//! Reexporting the `screens` module according to the
|
||||
//! current feature (Trezor model)
|
||||
|
||||
#[cfg(feature = "model_mercury")]
|
||||
pub use super::model_mercury::screens::*;
|
||||
#[cfg(all(feature = "model_tr", not(feature = "model_tt")))]
|
||||
pub use super::model_tr::screens::*;
|
||||
#[cfg(feature = "model_tt")]
|
||||
|
@ -7,3 +7,8 @@ pub use model_tr::render_on_display;
|
||||
pub mod model_tt;
|
||||
#[cfg(feature = "model_tt")]
|
||||
pub use model_tt::render_on_display;
|
||||
|
||||
#[cfg(feature = "model_mercury")]
|
||||
pub mod model_mercury;
|
||||
#[cfg(feature = "model_mercury")]
|
||||
pub use model_mercury::render_on_display;
|
||||
|
@ -47,6 +47,7 @@ def generate(env):
|
||||
optiga = env["optiga"]
|
||||
layout_tt = env["ui_layout"] == "UI_LAYOUT_TT"
|
||||
layout_tr = env["ui_layout"] == "UI_LAYOUT_TR"
|
||||
layout_mercury = env["ui_layout"] == "UI_LAYOUT_MERCURY"
|
||||
interim = f"{target[:-4]}.i" # replace .mpy with .i
|
||||
sed_scripts = " ".join(
|
||||
[
|
||||
@ -56,6 +57,7 @@ def generate(env):
|
||||
rf"-e 's/utils\.USE_OPTIGA/{optiga}/g'",
|
||||
rf"-e 's/utils\.UI_LAYOUT == \"TT\"/{layout_tt}/g'",
|
||||
rf"-e 's/utils\.UI_LAYOUT == \"TR\"/{layout_tr}/g'",
|
||||
rf"-e 's/utils\.UI_LAYOUT == \"MERCURY\"/{layout_mercury}/g'",
|
||||
r"-e 's/if TYPE_CHECKING/if False/'",
|
||||
r"-e 's/import typing/# \0/'",
|
||||
r"-e '/from typing import (/,/^\s*)/ {s/^/# /; }'",
|
||||
|
@ -157,6 +157,18 @@ trezor.ui.layouts.fido
|
||||
import trezor.ui.layouts.fido
|
||||
trezor.ui.layouts.homescreen
|
||||
import trezor.ui.layouts.homescreen
|
||||
trezor.ui.layouts.mercury
|
||||
import trezor.ui.layouts.mercury
|
||||
trezor.ui.layouts.mercury.fido
|
||||
import trezor.ui.layouts.mercury.fido
|
||||
trezor.ui.layouts.mercury.homescreen
|
||||
import trezor.ui.layouts.mercury.homescreen
|
||||
trezor.ui.layouts.mercury.progress
|
||||
import trezor.ui.layouts.mercury.progress
|
||||
trezor.ui.layouts.mercury.recovery
|
||||
import trezor.ui.layouts.mercury.recovery
|
||||
trezor.ui.layouts.mercury.reset
|
||||
import trezor.ui.layouts.mercury.reset
|
||||
trezor.ui.layouts.progress
|
||||
import trezor.ui.layouts.progress
|
||||
trezor.ui.layouts.recovery
|
||||
|
@ -8,5 +8,7 @@ if utils.UI_LAYOUT == "TR":
|
||||
from .tr import * # noqa: F401,F403
|
||||
elif utils.UI_LAYOUT == "TT":
|
||||
from .tt import * # noqa: F401,F403
|
||||
elif utils.UI_LAYOUT == "MERCURY":
|
||||
from .mercury import * # noqa: F401,F403
|
||||
else:
|
||||
raise ValueError("Unknown layout")
|
||||
|
@ -4,3 +4,5 @@ if utils.UI_LAYOUT == "TT":
|
||||
from .tt.fido import * # noqa: F401,F403
|
||||
elif utils.UI_LAYOUT == "TR":
|
||||
from .tr.fido import * # noqa: F401,F403
|
||||
elif utils.UI_LAYOUT == "MERCURY":
|
||||
from .mercury.fido import * # noqa: F401,F403
|
||||
|
@ -4,3 +4,5 @@ if utils.UI_LAYOUT == "TT":
|
||||
from .tt.homescreen import * # noqa: F401,F403
|
||||
elif utils.UI_LAYOUT == "TR":
|
||||
from .tr.homescreen import * # noqa: F401,F403
|
||||
elif utils.UI_LAYOUT == "MERCURY":
|
||||
from .mercury.homescreen import * # noqa: F401,F403
|
||||
|
@ -4,3 +4,5 @@ if utils.UI_LAYOUT == "TT":
|
||||
from .tt.progress import * # noqa: F401,F403
|
||||
elif utils.UI_LAYOUT == "TR":
|
||||
from .tr.progress import * # noqa: F401,F403
|
||||
elif utils.UI_LAYOUT == "MERCURY":
|
||||
from .mercury.progress import * # noqa: F401,F403
|
||||
|
@ -4,3 +4,5 @@ if utils.UI_LAYOUT == "TT":
|
||||
from .tt.recovery import * # noqa: F401,F403
|
||||
elif utils.UI_LAYOUT == "TR":
|
||||
from .tr.recovery import * # noqa: F401,F403
|
||||
elif utils.UI_LAYOUT == "MERCURY":
|
||||
from .mercury.recovery import * # noqa: F401,F403
|
||||
|
@ -4,3 +4,5 @@ if utils.UI_LAYOUT == "TT":
|
||||
from .tt.reset import * # noqa: F401,F403
|
||||
elif utils.UI_LAYOUT == "TR":
|
||||
from .tr.reset import * # noqa: F401,F403
|
||||
elif utils.UI_LAYOUT == "MERCURY":
|
||||
from .mercury.reset import * # noqa: F401,F403
|
||||
|
Loading…
Reference in New Issue
Block a user