Martin Milata
18352acce8
feat(core/rust/ui): replace TT Hoves Medium with DemiBold style
...
[no changelog]
2022-10-22 01:39:53 +02:00
tychovrahe
d0f1095842
fix(core): expose USB_CHECK for all models
...
[no changelog]
2022-10-19 11:31:03 +02:00
Andrew Kozlik
d815a7d6de
chore(core): Use C implementation of Bech32 decode.
2022-10-17 15:20:46 +02:00
tychovrahe
f7b9bb4ef8
feat(core/rust): use dma2d to improve rendering performance, implement text over image and icon over icon functions
2022-09-29 21:50:10 +02:00
tychovrahe
223d1b20fb
refactor(core): change fonts organization
2022-09-29 21:50:10 +02:00
tychovrahe
b9647d1296
fix(core): fix flashing usb disconnected error
...
[no changelog]
2022-09-26 13:31:04 +02:00
Ondrej Mikle
a0287698d5
feat(core): show blue dot when USB data not connected
2022-08-25 16:42:29 +02:00
Pavol Rusnak
c962d3520b
Merge branch 'release/22.08'
2022-08-22 11:10:45 +02:00
tychovrahe
107e22c814
feat(core/rust): glyph and text rendering in rust
2022-08-12 13:30:24 +02:00
Andrew Kozlik
fa5e7feda6
fix(crypto): Fix nonce bias in CoSi signing.
2022-08-02 20:38:04 +02:00
matejcik
a6410693b3
Revert "feat(core): implement firmware dumping"
...
This reverts commit 37c61c1381
.
2022-08-02 17:12:07 +02:00
Christian Reitter
c5d22b4395
fix(core): correct range in error message
2022-07-01 14:50:19 +02:00
Martin Milata
24a1f2e25e
refactor(core): remove unused parameter from display_qrcode
...
[no changelog]
2022-06-28 18:01:02 +02:00
Andrew Kozlik
892f3e348d
fix(crypto): Remove public key from the ed25519 signing API.
...
[no changelog]
2022-06-27 18:59:08 +02:00
matejcik
57b12c2807
feat(core): expose display pixeldata accessors from C
2022-06-14 15:09:03 +02:00
tychovrahe
61482d0795
feat(core/rust): expose raw pixel access to rust
2022-06-14 15:09:03 +02:00
Jan Pochyla
c3b82fd651
feat(core/rust): add trezorhal bindings
2022-06-08 14:42:04 +02:00
Ondrej Mikle
c563c987e1
feat(core): jump back and stay in bootloader for TT via reverse SVC call trampoline
2022-06-01 14:50:59 +02:00
Dusan Klinec
14e08ca9db
fix(xmr): remove 8192B from firmware image so it can fit to the memory
...
- old BP GI, HI constants are shortened to reduce firmware size
2022-05-16 12:37:24 +02:00
Dusan Klinec
25d32a8144
feat(xmr): implement bp+, refactor, code cleanup
...
- implement BulletProof plus verifier and prover
- use bulletproof exception to signalize proof generation failed and should be tried again. More robust, fixes bug that was not triggered yet (return tuple did not work properly in all situations)
- precomputed 2**i vector is removed as it can be easily computed
- BP code cleanup, minor optimizations, comments
2022-05-16 12:37:24 +02:00
Dusan Klinec
33c174491f
refactor(core/monero): Monero code cleanup
...
* remove support for HF12 and below
* remove MLSAG support
* clean up monero cryptography naming
* get rid of "optional first argument" pattern, in favor of mandatory argument that is allowed to be None
(and fix several bugs related to this feature)
Co-authored-by: grdddj <jiri.musil06@seznam.cz>
Co-authored-by: Martin Milata <martin@martinmilata.cz>
Co-authored-by: matejcik <ja@matejcik.cz>
2022-05-16 12:37:24 +02:00
matejcik
99c817bad4
fix(core/emulator): make sure SDL keyboard and quit events are always processed
...
fixes #973
2022-05-16 10:59:48 +02:00
tychovrahe
8a092bde21
feat(core): add smaller loader for model R
2022-05-10 16:49:23 +02:00
tychovrahe
bd476769cc
feat(core): add reset state on display clear on model R. Added to rest of the models as noop.
2022-05-10 16:49:23 +02:00
tychovrahe
58041036f5
feat(core): set colors for monochromatic displays
2022-05-10 16:49:23 +02:00
tychovrahe
0e778cf16d
fix(core): fix display_icon function - incorrect boundaries checks
2022-05-10 16:49:23 +02:00
tychovrahe
f7a3aad9bd
feat(core): initial Model R display implementation with framebuffer
2022-05-10 16:49:23 +02:00
grdddj
6b5f578d02
feat(core): implement basic R emulator
...
Can be built by `TREZOR_MODEL=R make build_unix`, `make build_unix_frozen` does not work yet.
All the dialogs are not very pretty, they are just meant to work.
2022-05-06 11:44:52 +02:00
matejcik
37c61c1381
feat(core): implement firmware dumping
2022-05-03 19:00:04 +02:00
Andrew Kozlik
485ee6e209
feat(core): Show progress in GetFirmwareHash.
2022-05-03 19:00:04 +02:00
Andrew Kozlik
822b1c344f
feat(core): Return fw_vendor in firmware Features message.
2022-05-03 19:00:04 +02:00
Andrew Kozlik
106ab65e21
feat(core): Implement GetFirmwareHash message.
2022-05-03 19:00:04 +02:00
TychoVrahe
7912a7d0d3
build(core,storage): fix conditional compilation for different Trezor models
...
* build(core,storage) - Fix conditional compilation for different trezor models
* build(core) - Rename MODEL_* macro to TREZOR_MODEL_*, remove the original TREZOR_MODEL macro (replaced by conditional compilation for QSTR generation)
* build(core) - fixed missing TREZOR_MODEL to TREZOR_MODEL_x changes
[no changelog]
2022-04-26 13:47:40 +02:00
Martin Milata
38f4ab0983
feat(core/rust/ui): return Layout results as singleton objects
...
[no changelog]
2022-04-04 13:32:07 +02:00
Pavol Rusnak
9a8e257619
fix(core): fix SDL2 include path
...
[no changelog]
2022-03-29 12:22:11 +02:00
Martin Milata
4eefaffac9
fix(core/rust/ui): recovery/passphrase keyboard fixes
...
[no changelog]
2022-03-23 13:40:45 +01:00
Martin Milata
efe25a6ab4
fix(core/rust/ui): pin keyboard tweaks
...
[no changelog]
2022-03-23 13:40:45 +01:00
Pavol Rusnak
6052e71bbb
fix(core): fix build with FEATURE_FLAGS.SECP256K1_ZKP=False
...
[no changelog]
2022-03-18 12:03:41 +01:00
Pavol Rusnak
c6667fa0c2
feat(core): verify bip340 pubkeys used in p2tr addresses
...
Co-Authored-By: Ondřej Vejpustek <ondrej.vejpustek@satoshilabs.com>
2022-02-16 10:25:15 +01:00
Martin Milata
f2b8822d76
refactor(core): improve build-time option for old/new UI
...
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
b64c69c3ff
feat(core/rust/ui): implement confirm_action
...
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
b46901bc8b
feat(core): add TT Hoves fonts, introduce medium variant
...
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
8fb28e4af5
feat(core/rust): impl Paginate for Paragraphs
...
[no changelog]
2022-02-08 15:40:37 +01:00
Pavol Rusnak
37bd121394
chore(core/embed): check for negative values in trezor_get_uint
...
[no changelog]
2022-01-26 16:22:50 +01:00
Andrew Kozlik
49ae8848db
fix(core): Fix memory leaks in emulator.
...
[no changelog]
2022-01-19 15:22:03 +01:00
Andrew Kozlik
39b64b8569
fix(core): Fix stack-use-after-scope in display.c.
...
[no changelog]
2022-01-19 15:22:03 +01:00
Pavol Rusnak
4a71d15b1d
chore(core/embed): refactor trezor_obj_get_uint64 into trezorobj.h
...
[no changelog]
2022-01-19 11:16:47 +01:00
matejcik
45787307ca
style(core): support AnyStr in all hash function arguments
2022-01-07 21:41:17 +01:00
grdddj
9fc5bb546b
style(core): full pyright-based type-checking
...
Changes many fields to required -- as far as we were able to figure out,
signing would fail if these fields aren't provided anyway, so this
should not pose a compatibility problem.
Co-authored-by: matejcik <ja@matejcik.cz>
2022-01-07 21:41:17 +01:00
Pavol Rusnak
56f0e2c5de
fix(core): add missing include
...
we were using `FILE` and `fprintf` without including the stdio header
2021-12-14 19:57:21 +01:00
Martin Milata
afd7cb3b01
feat(core/rust): add example layout for T1
...
[no changelog]
2021-11-24 15:36:34 +01:00
Martin Milata
d656f88572
style(all): reformat with clang-format 13.0
2021-11-19 10:54:31 +01:00
Ondřej Vejpustek
f918cf9a27
fix(core): fix typos in modtrezorcrypto-bip340.h
2021-11-18 19:05:40 +01:00
Andrew Kozlik
aaceb5bcc6
chore(core): Remove USE_SECP256K1_ZKP_BIP340 build option.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
ae41f7dec8
fix(core): Fix bip340 module build.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
59c0f4383d
feat(core): Add key tweaking functions to trezorcrypto.bip340.
2021-11-13 13:33:46 +01:00
matejcik
f6f52445bd
feat(core/cardano): support Icarus, Icarus-Trezor, and Ledger derivations
2021-11-10 13:57:57 +01:00
matejcik
387466e073
refactor(core): separate Cardano cryptography into its own module
2021-11-10 13:57:57 +01:00
Andrew Kozlik
eb90efd914
chore(crypto,core,legacy): Add return code to hdnode_fill_public_key().
...
[no changelog]
2021-11-01 16:39:53 +01:00
Andrew Kozlik
34621a6b6d
fix(crypto,core,legacy): Check private key validity when deriving public key.
...
[no changelog]
2021-11-01 16:39:53 +01:00
matejcik
1d72085b5c
feat(core): implement conversion from timestamp to datetime
2021-10-29 11:00:30 +02:00
Ondřej Vejpustek
29ce860d46
refactor(core,crypto): rename schnorr to BIP340
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
15bb085509
refactor(core,crypto): make public key derivation functions return
...
status
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
172f399b29
style(core): fix style
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
7ac0bdd215
feat(core): make core use Schnorr signatures
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
26463eb3ce
feat(core): make core use ecdsa from secp256k1_zkp wherever possible
2021-10-25 14:41:28 +02:00
Jan Pochyla
2703d714c2
feat(core): add Rust UI components, layouts, text rendering
...
[no changelog]
2021-10-07 15:01:55 +02:00
Martin Milata
bd005e33df
refactor(core): decouple T1 button handling from touch
...
[no changelog]
2021-09-23 12:30:13 +02:00
matejcik
806beb77d2
feat(core/rust): improve catch_exception, make use of Rust 1.55
2021-09-21 12:43:31 +02:00
matejcik
b666895303
feat(core/rust): catch, handle and propagate uPy exceptions
2021-09-21 12:43:31 +02:00
Jan Pochyla
7c65f0357a
feat(core/rust): Implement exception catching in Rust
...
chore(core): Add test for Rust exc catching
chore(core): Document exception catching in Rust
[no changelog]
2021-09-21 12:43:31 +02:00
Martin Milata
b062b95348
chore(vendor): bump micropython to 1.15
...
Relevant micropython commits:
ad4656b861f94277bed9647ca176e662ce5119e3 all: Rename BYTES_PER_WORD to MP_BYTES_PER_OBJ_WORD.
9fef1c0bde2f9642d383bd56aa112447384a84ba py: Rename remaining object types to be of the form mp_type_xxx.
5fdf351178df9a18df624ae0f5947d8a5a6bce40 py/gc: Don't include mpconfig.h and misc.h in gc.h.
2021-09-17 11:18:14 +02:00
Martin Milata
f37ca13f1a
refactor(core): disable SD, SBU, fatfs for T1 build
2021-08-20 12:22:13 +02:00
Martin Milata
582e1318c4
feat(core/emulator): support protobuf messages in memory dumps
...
[no changelog]
2021-07-22 13:31:11 +02:00
Martin Milata
ceaf4da617
fix(core): explicitly refresh display on T1
...
[no changelog]
2021-07-20 22:00:42 +02:00
matejcik
b41d4c71f0
feat(core/emulator): JSON memory map dump
...
use `trezor.utils.mem_dump("somefile.json")` in a key place, then
`analyze.py src/somefile.json` to look at what is going on
2021-07-14 13:50:24 +02:00
matejcik
fe6c131b14
feat(core/emulator): build emulator with -DSTATIC=
...
This is perhaps a cleaner way to expose all relevant structures for
memory analysis.
2021-07-14 13:50:24 +02:00
Pavol Rusnak
8cfa5da1ce
docs: fix typos in comments
...
[skip_ci]
2021-06-30 15:41:55 +02:00
Pavol Rusnak
69d1465e08
refactor(core): pass invert_colors to send_init_seq_ST7789V as argument
...
to make the call more flexible
2021-06-19 19:57:42 +02:00
Pavol Rusnak
18e103bb94
style(core): refactor style of display-stm32_T
2021-06-19 19:54:19 +02:00
Jan Pochyla
8a21e3fc73
feat(core): Add Rust Protobuf codec
2021-06-08 09:55:19 +02:00
Pavol Rusnak
23aa69caea
fix(core): unify Features.revision reporting with legacy
2021-06-04 12:50:49 +02:00
matejcik
391976bcda
refactor(core/usb): do not require serial number on instantiaton of USB
...
On a cleanly wiped device, storage must be unlocked in order to create
and retrieve the serial number. However, storage unlocking happens in
boot.py, which is imported _after_ usb.py
We must therefore sidestep asking for the serial number.
2021-05-06 13:14:21 +02:00
Jan Pochyla
6257584951
feat(core): Add Rust bindings to MicroPython and trezorhal
...
core: Remove dangling module decls
core: Use new Cargo feature resolver, use external MacOS debug info
core: Rust docs improvements
core: Upgrade bindgen
core: Add test target to Rust
ci: build rust sources
build(core): .ARM.exidx.text.__aeabi_ui2f in t1 firmware size
It's an unwind table for softfloat function inserted by rustc, probably
can be removed to save 8 bytes:
599c58db70/link.x.in (L175-L182)
scons: Remove dead code
core: Move Rust target to build/rust
core: Replace extern with a FFI version
core: Add some explanatory Rust comments
core: Use correct path for the Rust lib
core: Remove Buffer::as_mut()
Mutable buffer access needs MP_BUFFER_WRITE flag. TBD in the Protobuf PR.
core: Improve docs for micropython::Buffer
core: Minor Rust docs changes
core: Rewrite trezor_obj_get_ll_checked
core: Fix incorrect doc comment
core: Remove cc from deps
fixup! core: Rewrite trezor_obj_get_ll_checked
core: update safety comments
2021-05-05 16:00:21 +02:00
Martin Milata
ac711fb8ee
style(core): use more recent type annotation syntax
...
https://www.python.org/dev/peps/pep-0585/ - Type Hinting Generics In Standard Collections
https://www.python.org/dev/peps/pep-0604/ - Allow writing union types as X | Y
2021-04-01 11:12:30 +02:00
Martin Milata
8b3ac659a0
style(core): mypy: disable implicit Optional for function arguments
...
https://www.python.org/dev/peps/pep-0484/#union-types
2021-04-01 11:12:30 +02:00
Andrew Kozlik
2836bfc64c
fix(core): Improve error handling and range checking in modtrezorconfig.
2021-03-26 10:54:56 +01:00
Andrew Kozlik
3084d1196d
feat(core): Support 50 digit PIN and wipe code.
2021-03-25 14:24:41 +01:00
Pavol Rusnak
4649b80b44
feat(core): allow secp256k1-zkp for bitcoin-only build
...
(but keep it disabled)
2021-03-18 15:42:52 +01:00
Pavol Rusnak
d211e3af07
fix(core): switch define to invert display colors into const volatile
...
using define causes compiler to over-optimize the code in display_init_seq
leading to larger differences in the resulting binaries when the flag changes
we want to keep the difference to minimum (1 byte) and using const volatile
instead of define achieves that
2021-03-11 12:29:00 +01:00
Pavol Rusnak
814db111b2
feat(core): add define to invert display colors on ST7789V
2021-03-10 16:06:18 +01:00
Andrew Kozlik
a8c500bffd
feat(core): Ensure that WebAuthn runs on port 21326 by default for both production and debug emulator.
2021-03-09 16:13:21 +01:00
Martin Milata
7c1d72c254
style(core): fix bootloader formatting
2021-03-04 19:21:56 +01:00
Pavol Rusnak
29a3e91f09
feat(core): refactor display_init_seq from display_init
2021-03-04 17:04:35 +01:00
matejcik
ccd241fe55
feat(core/cardano): enable typing for Cardano app
2021-02-10 10:56:52 +01:00
Pavol Rusnak
f3d5de15ef
refactor(core): turn SECP256K1_ZKP into a firmware feature flag
2021-01-22 14:06:29 +01:00
Jan Pochyla
f3a64435f1
fix(core): root ui callback for trezorconfig mod ( #1412 )
...
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
2021-01-19 14:17:16 +01:00
Martin Milata
db5b65a420
perf(core): enable rendering of substrings to avoid slicing
2021-01-11 16:47:59 +01:00
Rafael Korbas
edf9b4ee85
Refactor mnemonic_to_entropy to not (misleadingly) return checksum
2020-12-19 20:17:16 +01:00
Andrew Kozlik
aeb021b159
chore(core): Improve naming of SLIP39's T9 mask lookup.
2020-12-15 13:41:42 +01:00
Andrew Kozlik
7fc1851279
fix(crypto): Improve naming and robustness of SLIP39's T9 mask lookup.
2020-12-15 13:41:42 +01:00
Andrew Kozlik
c67ecb984b
chore(crypto): Move XPUB_MAXLEN and ADDRESS_MAXLEN from modtrezorcrypto to bip32.h.
2020-10-13 13:13:49 +02:00
Andrew Kozlik
c21ca81a1e
fix(core): Prevent sensitive data from being left on the call stack in modtrezorcrypto.
2020-10-13 13:13:49 +02:00
Pavol Rusnak
d8534b5ee6
perf(core/extmod): replace HMAC Python implementation with C
...
We keep Python implementation of HMAC for Monero in
core/src/apps/monero/xmr/crypto/__init__.py
2020-10-12 16:33:13 +02:00
matejcik
7e5d9e295b
fix(core): help mypy understand micropython's module management
2020-09-23 16:00:10 +02:00
Martin Milata
f3fd98a7ba
core: remove 1px of space on the left of each glyph
...
For PixelOperator (T1) fonts only.
2020-09-01 19:57:46 +02:00
Martin Milata
b8bb63fbef
core: drop unused FONT_SIZE constant
2020-09-01 19:57:46 +02:00
Martin Milata
1b982659c4
core: fix boot loop after uploading invalid homescreen ( #1205 )
2020-08-21 12:00:42 +02:00
Pavol Rusnak
4e11735d22
core/modtrezorui: remove prefill from text functions
...
use display.bar where needed to prefill the areas
2020-08-07 15:08:14 +02:00
matejcik
5385617eda
core: increase address length limit to accomodate CRW ( fixes #1139 )
2020-08-07 12:45:43 +02:00
Ondřej Vejpustek
59002118c0
core/extmod: explicitly initialize automatic variables
2020-08-04 14:50:07 +02:00
Martin Milata
e5bdca655a
core: don't scale emulator background image
...
Makes the emulator look nicer in tiling window managers.
2020-07-31 12:27:43 +02:00
Pavol Rusnak
a6451dad46
core/fonts: update headers
2020-07-28 10:56:41 +02:00
Pavol Rusnak
47e7550423
core/extmod: add font_pixeloperator{,mono}, use this font for T1
2020-07-28 09:40:30 +02:00
Pavol Rusnak
cec87bba50
core: remove mono bold font variant (not used anywhere)
2020-07-27 23:22:34 +02:00
Pavol Rusnak
8bc32d035b
core/extmod: enable display_text* methods for other models than T
2020-07-27 17:24:13 +02:00
Pavol Rusnak
df03534955
core: print inverted question mark for nonprintable characters
2020-07-27 16:29:11 +02:00
matejcik
fa757f4b7f
core: improve type annotation for bip32.derive_path
2020-07-24 16:37:58 +02:00
matejcik
0c3bc53aee
core: clean up types for field caching, fix count_message
2020-07-24 14:09:31 +02:00
matejcik
85d74ece76
core: implement synchronous v1 codec
2020-07-24 14:09:31 +02:00
Tomas Susanka
56fe5adcfc
Merge branch 'release/2020-06'
2020-06-10 06:51:18 +00:00
Pavol Rusnak
179645e3ad
core: unify usage of TREZOR_MODEL
2020-06-06 21:06:15 +02:00
Ondrej Mikle
c877dc8dd6
core: port storage to T1
2020-06-06 21:06:15 +02:00
matejcik
872e0fb0e0
core: lower scheduler resolution to milliseconds
...
This avoids problems with large timeouts causing the scheduler queue to
think the time counter has overflown, and ordering the autolock task before
immediate tasks.
The maximum reasonable time difference is 0x20000000, which in
microseconds is ~8 minutes, but in milliseconds a more reasonable ~6
days.
2020-06-04 16:18:46 +02:00
matejcik
2cedc687e6
core: disable trezor-crypto BIP32 cache
2020-06-04 16:18:46 +02:00
matejcik
837c4df61f
core: expose storage_is_unlocked() as config.is_unlocked()
2020-06-04 16:18:46 +02:00
matejcik
87433995b0
core: add BITCOIN_ONLY to mock file
2020-06-04 16:18:46 +02:00
Ondřej Vejpustek
24ceb0ab6b
crypto/bignum: change limb size to 29, add tests
2020-05-24 14:36:38 +00:00
matejcik
aa52fc3903
core/extmod: drop unused rfc6979 module
2020-05-18 14:31:00 +02:00
matejcik
050936d0d7
core: enable finalizers on extmod classes
2020-05-18 14:31:00 +02:00
matejcik
7f2e7b0003
core: add Ethereum constants to mocks
2020-05-15 14:08:29 +02:00
Pavol Rusnak
25cc836660
core/extmod: fix build of modtrezorui when TREZOR_MODEL is set to '1'
2020-04-30 15:07:26 +00:00
matejcik
d0f709b8cc
core: fix and use MAKEMODULEDEFS instead of explicit registration
2020-04-14 10:17:37 +02:00
Pavol Rusnak
a7806d08d7
core/crypto: remove unused bip32.deserialize function
2020-04-06 18:04:24 +02:00
Pavol Rusnak
1695228d80
core/crypto: remove unused serialize_private function
2020-04-06 15:49:36 +00:00
Pavol Rusnak
f07ff17fad
core/crypto: add missing field to Blake2b constructor
2020-04-06 12:28:36 +00:00
matejcik
3789a3372b
core/sdcard: modify exception handling in fatfs
...
expose ff.c constants, raise them as arguments to FatFSError
introduce NotMounted and NoFilesystem as subclasses of FatFSError with
the appropriate error code set
2020-03-20 14:03:28 +01:00
Andrew Kozlik
bfd834d1de
storage: Add storage_ensure_not_wipe_code().
2020-03-19 15:04:33 +01:00
Dusan Klinec
2658e253fa
xmr/bp: memory optimizations and improvements
...
- different approach to vector manipulation - more on the fly operations. Prepared for fully offloaded operations, BP on Trezor with constant memory.
- memory requirements reduced from (4MN + const) to (2MN + const)
- more raw methods to avoid unnecessary encoding/decoding
- chunking improved, chunk size set as a constant, changed from 64 to 32, missing pieces implemented to cover also BP 16
- proof_v8 support discontinued, old hardfork, not needed anymore
- get_exponent register clash fixed (for large vectors)
- reduced heap fragmentation by removing some temporary allocations
- hashing with len and offset to reduce heap fragmentation by creating a sliced arrays
- use to() wherever possible to avoid allocations and return of mutable private object
- global functions start with _ prefix, reduce import footprint
- use __slots__ in classes to minimize footprint
2020-03-02 12:17:03 +01:00
matejcik
9ab84d2455
core/tests: thoroughly test modified APIs
2020-02-27 10:56:23 +01:00
matejcik
b24411b900
core/sdcard: unmount instance when powering off sdcard
2020-02-27 10:56:23 +01:00
matejcik
c81be584fb
core/fatfs: ensure functions can only be called on a mounted filesystem
...
ff.c has a lazy-mounting feature, where any filesystem call will mount
the volume if it can. This messes with predictability of the mounted
state, so all (except mount/unmount/mkfs) Python functions will first
check if the fs is mounted.
2020-02-27 10:56:23 +01:00
matejcik
fa746e2990
core/fatfs: rework low-level FatFS API
...
Instead of having possibly multiple FatFS objects, each with its own
`fs` struct, there is one global static fs_instance. This is to match
the mode of operation of ff.c, which assumes a global list of mounts,
and all functions operate on the global based on path.
Methods of FatFS were converted to functions on the fatfs module.
fatfs.unmount() does not call ff.c's unmount, but simply invalidates
fs_instance. This is basically what ff.c would do, except without
messing with ff.c's global list of mounts.
2020-02-26 14:18:41 +01:00
Pavol Rusnak
39ce100608
Merge pull request #864 from trezor/prusnak/bootloader-text-break
...
core/bootloader: split long vendor string
2020-02-21 18:39:20 +01:00
matejcik
b2084a19be
core/trezorio: move sdcard functions to a submodule
2020-02-20 12:51:48 +01:00
matejcik
30529d218d
core/sdcard: change SDCard methods to plain functions
2020-02-20 12:51:48 +01:00
matejcik
06b89c57c5
core/sdcard: return proper disk status flags to fatfs
2020-02-20 12:51:48 +01:00
Pavol Rusnak
74802a107e
core/modtrezorui: add display_text_split
2020-02-19 21:40:28 +00:00
Pavol Rusnak
32f8f1cb61
core/embed: update fatfs to 0.14; use upstream version
2020-02-07 15:21:16 +00:00
Pavol Rusnak
3de1b3aa54
core/embed: switch to unprivileged in main.c
2020-01-24 12:29:46 +00:00