Port Flex

pull/107/head
Charles-Edouard de la Vergne 4 months ago
parent eb97d0d8a5
commit 123d28bca0
No known key found for this signature in database
GPG Key ID: F12296941B7BB9C6

@ -18,7 +18,7 @@ jobs:
name: Analyse name: Analyse
strategy: strategy:
matrix: matrix:
sdk: [ "$NANOS_SDK", "$NANOX_SDK", "$NANOSP_SDK", "$STAX_SDK" ] sdk: [ "$NANOS_SDK", "$NANOX_SDK", "$NANOSP_SDK", "$STAX_SDK", "$FLEX_SDK" ]
#'cpp' covers C and C++ #'cpp' covers C and C++
language: [ 'cpp' ] language: [ 'cpp' ]
runs-on: ubuntu-latest runs-on: ubuntu-latest

@ -50,6 +50,7 @@ ICON_NANOS = icons/gpg_16px.gif
ICON_NANOX = icons/gpg_14px.gif ICON_NANOX = icons/gpg_14px.gif
ICON_NANOSP = icons/gpg_14px.gif ICON_NANOSP = icons/gpg_14px.gif
ICON_STAX = icons/gpg_32px.gif ICON_STAX = icons/gpg_32px.gif
ICON_FLEX = icons/gpg_40px.gif
# Application allowed derivation curves. # Application allowed derivation curves.
# Possibles curves are: secp256k1, secp256r1, ed25519 and bls12381g1 # Possibles curves are: secp256k1, secp256r1, ed25519 and bls12381g1

@ -163,6 +163,7 @@ You can choose which device to compile and load for by setting the `BOLOS_SDK` e
- `BOLOS_SDK=$NANOX_SDK` - `BOLOS_SDK=$NANOX_SDK`
- `BOLOS_SDK=$NANOSP_SDK` - `BOLOS_SDK=$NANOSP_SDK`
- `BOLOS_SDK=$STAX_SDK` - `BOLOS_SDK=$STAX_SDK`
- `BOLOS_SDK=$FLEX_SDK`
### Loading on a physical device ### Loading on a physical device

@ -5,6 +5,7 @@
<string>0x2C97</string> <string>0x2C97</string>
<string>0x2C97</string> <string>0x2C97</string>
+ <string>0x2C97</string> + <string>0x2C97</string>
+ <string>0x2C97</string>
+ <string>0x2C97</string> + <string>0x2C97</string>
<string>0x17EF</string> <string>0x17EF</string>
<string>0x17EF</string> <string>0x17EF</string>
@ -19,6 +20,7 @@
+ <string>0x4009</string> + <string>0x4009</string>
+ <string>0x5009</string> + <string>0x5009</string>
+ <string>0x6009</string> + <string>0x6009</string>
+ <string>0x7009</string>
<string>0x6007</string> <string>0x6007</string>
<string>0x6055</string> <string>0x6055</string>
<string>0x6111</string> <string>0x6111</string>
@ -28,6 +30,7 @@
<string>Ledger Nano X</string> <string>Ledger Nano X</string>
+ <string>Ledger Nano S Plus</string> + <string>Ledger Nano S Plus</string>
+ <string>Ledger Stax</string> + <string>Ledger Stax</string>
+ <string>Ledger Flex</string>
<string>Lenovo Lenovo USB Smartcard Keyboard</string> <string>Lenovo Lenovo USB Smartcard Keyboard</string>
<string>Lenovo Lenovo USB Smartcard Keyboard</string> <string>Lenovo Lenovo USB Smartcard Keyboard</string>
<string>Lenovo Lenovo Smartcard Wired Keyboard II</string> <string>Lenovo Lenovo Smartcard Wired Keyboard II</string>

@ -125,6 +125,12 @@ Thus, you must ensure (or add):
- ifdProductID: 0x6009 - ifdProductID: 0x6009
- ifdFriendlyName: Ledger Stax - ifdFriendlyName: Ledger Stax
- for Flex:
- ifdVendorID: 0x2C97
- ifdProductID: 0x7009
- ifdFriendlyName: Ledger Flex
Notes: Notes:
- The 3 entry nodes must be added for each device. It can be easier to add new ones at the end of each list. - The 3 entry nodes must be added for each device. It can be easier to add new ones at the end of each list.

Binary file not shown.

After

Width:  |  Height:  |  Size: 523 B

@ -1,7 +1,7 @@
[app] [app]
build_directory = "./" build_directory = "./"
sdk = "C" sdk = "C"
devices = ["nanos", "nanox", "nanos+", "stax"] devices = ["nanos", "nanox", "nanos+", "stax", "flex"]
[tests] [tests]
unit_directory = "./unit-tests/" unit_directory = "./unit-tests/"

@ -17,7 +17,7 @@
*****************************************************************************/ *****************************************************************************/
#include "bolos_target.h" #include "bolos_target.h"
#if defined(HAVE_NBGL) && defined(TARGET_STAX) #if defined(HAVE_NBGL) && (defined(TARGET_STAX) || defined(TARGET_FLEX))
#include "os.h" #include "os.h"
#include "glyphs.h" #include "glyphs.h"
@ -1240,4 +1240,4 @@ void ui_menu_uifconfirm_display(unsigned int value) {
nbgl_useCaseChoice(NULL, "Confirm operation", G_gpg_vstate.menu, "Yes", "No", uif_confirm_cb); nbgl_useCaseChoice(NULL, "Confirm operation", G_gpg_vstate.menu, "Yes", "No", uif_confirm_cb);
} }
#endif // defined(HAVE_NBGL) && defined(TARGET_STAX) #endif // defined(HAVE_NBGL) && (defined(TARGET_STAX) || defined(TARGET_FLEX))

@ -21,7 +21,7 @@ docker pull ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder-lite:latest
cd <your app repository> cd <your app repository>
docker run --user "$(id -u)":"$(id -g)" --rm -ti -v "$(realpath .):/app" --privileged -v "/dev/bus/usb:/dev/bus/usb" ledger-app-builder-lite:latest docker run --user "$(id -u)":"$(id -g)" --rm -ti -v "$(realpath .):/app" --privileged -v "/dev/bus/usb:/dev/bus/usb" ledger-app-builder-lite:latest
make clean && make BOLOS_SDK=$<device>_SDK # replace <device> with one of [NANOS, NANOX, NANOSP, STAX] make clean && make BOLOS_SDK=$<device>_SDK # replace <device> with one of [NANOS, NANOX, NANOSP, STAX, FLEX]
exit exit
``` ```
@ -45,7 +45,7 @@ docker pull ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder-lite:latest
cd app-<appname>/ cd app-<appname>/
docker run --user "$(id -u)":"$(id -g)" --rm -ti -v "$(realpath .):/app" --privileged -v "/dev/bus/usb:/dev/bus/usb" ledger-app-builder-lite:latest docker run --user "$(id -u)":"$(id -g)" --rm -ti -v "$(realpath .):/app" --privileged -v "/dev/bus/usb:/dev/bus/usb" ledger-app-builder-lite:latest
make clean && make BOLOS_SDK=$<device>_SDK load # replace <device> with one of [NANOS, NANOX, NANOSP, STAX] make clean && make BOLOS_SDK=$<device>_SDK load # replace <device> with one of [NANOS, NANOX, NANOSP, STAX, FLEX]
exit exit
``` ```
@ -73,7 +73,7 @@ Custom pytest options
```shell ```shell
--full Run full tests --full Run full tests
--device <device> Run the test on the specified device [nanos,nanox,nanosp,stax,all]. This parameter is mandatory --device <device> Run the test on the specified device [nanos,nanox,nanosp,stax,flex,all]. This parameter is mandatory
--backend <backend> Run the tests against the backend [speculos, ledgercomm, ledgerwallet]. Speculos is the default --backend <backend> Run the tests against the backend [speculos, ledgercomm, ledgerwallet]. Speculos is the default
--display On Speculos, enables the display of the app screen using QT --display On Speculos, enables the display of the app screen using QT
--golden_run Pn Speculos, screen comparison functions will save the current screen instead of comparing --golden_run Pn Speculos, screen comparison functions will save the current screen instead of comparing

Loading…
Cancel
Save