Skip to content

Commit

Permalink
Merge branch 'main' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
odudex committed Sep 26, 2024
2 parents ff5fa4b + fba1281 commit 4c58883
Show file tree
Hide file tree
Showing 16 changed files with 112 additions and 45 deletions.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ assignees: ''
- [ ] Dock
- [ ] Bit
- [ ] Yahboom
- [ ] WonderMV

**Version affected**
- [ ] Official release (selfcustody/krux): vXX.YY.Z <!-- Specify the version! -->
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ jobs:
uses: docker/build-push-action@v6
with:
context: .
build-args: DEVICE=maixpy_cube
build-args: DEVICE=maixpy_wonder_mv
push: true
tags: localhost:5000/selfcustody/krux-builder-wonder-mv:latest
cache-from: type=local,src=/tmp/.buildx-cache
Expand All @@ -206,7 +206,7 @@ jobs:
if: matrix.device == 'maixpy_wonder_mv'
uses: actions/upload-artifact@v4
with:
path: ${{ steps.extract-cube.outputs.destination }}
path: ${{ steps.extract-wonder-mv.outputs.destination }}
name: build-wonder-mv

- name: Move cache
Expand Down
6 changes: 3 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Changelog 24.09.0 - September 16, 2024
# Changelog 24.09.0 - September 25, 2024

### New Device Support: WonderMV
Manufactured by HiWonder, the WonderMV is similar to Yahboom K210 Module, with a few differences, including a metal enclosure, USB-C port, and screen backlight control.
Expand Down Expand Up @@ -42,8 +42,8 @@ Krux now accepts urtype.Account type QR code descriptors.
### Enhanced File Exploring
File explorer now better differentiate files from folders.

### Camera Adjustments for Yahboom and WondeMV
Sensitivity and exposure adjustments were made to the GC2145 sensor, enhancing the scanning success rate for Yahboom and WondeMV devices.
### Camera Adjustments for Yahboom and WonderMV
Sensitivity and exposure adjustments were made to the GC2145 sensor, enhancing the scanning success rate for Yahboom and WonderMV devices.

### About Shows Board Type
Ensure you flashed the correct firmware for your device consulting the "About" menu item.
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/features/tinyseed.en.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Background
The examples below have been crated so that you can test the workflow for scanning both 12 and 24 word mnemonics. (Scanning the left plate for a 12 word mnemonic and both plates for 24) The resulting fingerprint from an successful scan is also incldued in the image.
The examples below have been created so that you can test the workflow for scanning both 12 and 24 word mnemonics. (Scanning the left plate for a 12 word mnemonic and both plates for 24) The resulting fingerprint from an successful scan is also incldued in the image.

### TinySeed
![](../../img/tinyseed_binarygrid/tinyseed.jpg)
Expand Down
29 changes: 28 additions & 1 deletion docs/getting-started/installing/from-gui/windows.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,34 @@ verify-the-integrity-explain.en.txt
----8<----

```pwsh
(Get-FileHash '.\{{latest_installer_win}}').Hash -eq (Get-Content '.\{{latest_installer_win}}')
(Get-FileHash '.\{{latest_installer_win}}').Hash.ToLower() -eq (Get-Content '.\{{latest_installer_win}}.sha256.txt').split(" ")[0]
```

The result in prompt should be `True`.

Alternatively, you can check more closely in two steps:

* Compute the binary sha256sum hash:

```pwsh
# Option 1: Compute in default way
Get-FileHash '.\{{latest_installer_win}}'
# Option 2: Compute and filter the necessary information
(Get-FileHash '.\{{latest_installer_win}}').Hash
# Option 3: Compute, filter and process the Hash for lowercase letters
(Get-FileHash '.\{{latest_installer_win}}').Hash.ToLower()
```

* Compare with provided hash:

```pwsh
# Option 1: Get content
Get-Content '.\{{latest_installer_win}}.sha256.txt'
# Option 2: Get content and filter the necessary information
(Get-Content '.\{{latest_installer_win}}.sha256.txt').split(" ")[0]
```

## Verify the authenticity
Expand Down
23 changes: 11 additions & 12 deletions docs/parts.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,17 @@

### Comparative Table

| Device | M5StickV | Maix Amigo | Maix Dock | Maix Bit | Yahboom k210 module | Maix Cube
| ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
| Price range | US$ 50-55 | US$ 50-85 | US$ 27-35 | US$ 32-42 | US$ 45-61 | US$ 34-49 |
| Screen size / resolution | 1.14" / 135*240 | 3.5" / 320*480 | 2.4" / 240*320 | 2.4" / 240*320 | 2" / 240*320 | 1.3" / 240*240 |
| Brightness control | :white_check_mark: | :x: | :x: | :x: | :x: | :white_check_mark: |
| Device size | 48\*24\*22mm | 104\*63\*17mm | 98\*59\*18mm | 69\*84\*41mm | 57\*41\*17mm | 40\*40\*16mm |
| Touchscreen | :x: | Capacitive | :x: | :x: | Capacitive | :x: |
| Camera [:material-information:{ title="Anti-glare mode" }](#camera-info) | `OV7740` | `OV7740` rear<br>`GC0328` front | `GC0328` | `OV2640` or<br>`OV5642` | `OV2640` <i style="font-size: 85%">(VER:1.0)</i> or<br>`GC2145` <i style="font-size: 85%">(VER:1.1)</i> | `OV7740` |
| Battery | 200mAh | 520mAh | :x: | :x: | :x: | 200mAh |
| Requirements | None | None | [Rotary encoder](https://duckduckgo.com/?q=ky-040)<br> [3D printed case](https://github.com/selfcustody/DockEncoderCase)<br> Soldering<br>Assembly | Buttons<br> [3D printed case](https://github.com/selfcustody/MaixBitCase)<br> Soldering<br>Assembly | None | None |
| Warnings | [:material-numeric-1-circle:{ title="M5StickV and USB-C" }](#m5stickv-info) | [:material-numeric-2-circle:{ title="Maix Amigo screens" }](#amigo-info) | [:material-numeric-3-circle:{ title="Maix Dock and soldered pin" }](#dock-info) | Camera has<br> lens distortion | Micro USB | 3-Way button |

| Device | M5StickV | Maix Amigo | Maix Dock | Maix Bit | Yahboom k210 module | Maix Cube | WonderMV
| ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
| Price range | US$ 50-55 | US$ 50-85 | US$ 27-35 | US$ 32-42 | US$ 45-61 | US$ 34-49 | US$ 58-86 |
| Screen size / resolution | 1.14" / 135*240 | 3.5" / 320*480 | 2.4" / 240*320 | 2.4" / 240*320 | 2" / 240*320 | 1.3" / 240*240 | 2" / 240*320 |
| Brightness control | :white_check_mark: | :x: | :x: | :x: | :x: | :white_check_mark: | :white_check_mark: |
| Device size | 48\*24\*22mm | 104\*63\*17mm | 98\*59\*18mm | 69\*84\*41mm | 57\*41\*17mm | 40\*40\*16mm | 59\*41\*17mm |
| Touchscreen | :x: | Capacitive | :x: | :x: | Capacitive | :x: | Capacitive |
| Camera [:material-information:{ title="Anti-glare mode" }](#camera-info) | `OV7740` | `OV7740` rear<br>`GC0328` front | `GC0328` | `OV2640` or<br>`OV5642` | `OV2640` <i style="font-size: 85%">(VER:1.0)</i> or<br>`GC2145` <i style="font-size: 85%">(VER:1.1)</i> | `OV7740` | `GC2145` |
| Battery | 200mAh | 520mAh | :x: | :x: | :x: | 200mAh | :x: |
| Requirements | None | None | [Rotary encoder](https://duckduckgo.com/?q=ky-040)<br> [3D printed case](https://github.com/selfcustody/DockEncoderCase)<br> Soldering<br>Assembly | Buttons<br> [3D printed case](https://github.com/selfcustody/MaixBitCase)<br> Soldering<br>Assembly | None | None | None |
| Warnings | [:material-numeric-1-circle:{ title="M5StickV and USB-C" }](#m5stickv-info) | [:material-numeric-2-circle:{ title="Maix Amigo screens" }](#amigo-info) | [:material-numeric-3-circle:{ title="Maix Dock and soldered pin" }](#dock-info) | Camera has<br> lens distortion | Micro USB | 3-Way button | None |

<i style="font-size: 85%">:material-information:{id="camera-info"}:
Only `OV7740`, `OV2640` and `GC2145` have an anti-glare mode to better capture images from high brightness screens or with incident light.
Expand Down
2 changes: 1 addition & 1 deletion docs/snippets/sd-card-info-faq.en.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
We cannot guarantee that a microSD card is compatible and will work in your device; you'll need to test it on the device to be sure, read the [FAQ](/krux/faq/#why-isnt-krux-detecting-my-microsd-card-or-presenting-an-error) for more info.
We cannot guarantee that a microSD card is compatible and will work in your device; you'll need to test it on the device to be sure, read the [Troubleshooting](troubleshooting.md/#why-isnt-krux-detecting-my-microsd-card-or-presenting-an-error) for more info.
6 changes: 5 additions & 1 deletion docs/troubleshooting.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,4 +144,8 @@ For now, a workaround you can do is to take a picture or video of the QR code wi

### Why Does Krux Say the Entropy of My Fifty Dice Rolls Does Not Contain 128 Bits of Entropy?

Please check how [entropy measurement](getting-started/features/entropy.md) works.
Please check how [entropy measurement](getting-started/features/entropy.md) works.

### Why isn't Krux detecting my microSD card or presenting an error?
Starting from version 23.09.0, Krux supports SD card hot plugging. If you are using older versions, it may only detect the SD card at boot, so make sure Krux is turned off when inserting the microSD into it. To test the card compatibility use Krux [Tools>Check SD Card](getting-started/features/tools.md/#check-sd-card).
Make sure the SD card is using MBR/DOS partition table and FAT32 format.
2 changes: 1 addition & 1 deletion firmware/MaixPy
Submodule MaixPy updated 0 files
14 changes: 7 additions & 7 deletions i18n/translations/fr-FR.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
"Checked %d addresses with no matches.": "%d adresses vérifiées sans correspondance.",
"Checking for SD card..": "Vérification de la carte SD..",
"Child Index": "Indice enfant",
"Create QR Code": "Créer du code QR",
"Create QR Code": "Créer un code QR",
"Create QR code from text?": "Créer du code QR à partir du texte ?",
"Created:": "Créé :",
"Custom QR Code": "Code QR personnalisé",
Expand Down Expand Up @@ -101,7 +101,7 @@
"Generate Mnemonic": "Générer une mnémonique",
"Generate a BIP85 child mnemonic?": "Générer un mnémonique dérivé BIP-85 ?",
"Give this mnemonic a custom ID? Otherwise current fingerprint will be used": "Donnez à ce mnémonique un identifiant personnalisé ? Sinon l'empreinte actuelle sera utilisée",
"Go": "Go",
"Go": "OK",
"Good entropy": "Bonne entropie",
"Hardware": "Matériel",
"Hex Public Key": "Clé public hexadécimal",
Expand Down Expand Up @@ -173,7 +173,7 @@
"Path mismatch": "Inadéquation du chemin",
"Pattern detected!": "Structure détecté !",
"Permanently remove all stored encrypted mnemonics and settings from flash?": "Supprimer définitivement tous les mnémoniques et paramètres chiffrés stockés dans le flash ?",
"Persist": "Persister",
"Persist": "Persistance",
"Pixels deviation index:": "Indice de déviation des pixels :",
"Plaintext QR": "QR en Texte Brut",
"Please load a wallet output descriptor": "Veuillez charger un descripteur de sortie de portefeuille",
Expand All @@ -191,7 +191,7 @@
"Proceed anyway?": "Procéder quand même ?",
"Proceed?": "Procéder ?",
"Processing..": "Traitement..",
"QR Code": "QR Code",
"QR Code": "Code QR",
"RX Pin": "RX Fiche",
"Receive": "Recevoir",
"Receive Addresses": "Adresses de Réception",
Expand Down Expand Up @@ -258,11 +258,11 @@
"To ensure data is unrecoverable use Wipe Device feature": "Pour assurer que les données soient irrécupérables, utilisez la fonctionnalité 'Effacer l'appareil'",
"Toggle Brightness": "Ajuster la luminosité",
"Tools": "Outils",
"Touch Threshold": "Seuil Tactile",
"Touch Threshold": "Sensibilité",
"Touchscreen": "Écran Tactile",
"Try more?": "Réessayer ?",
"Type BIP39 Passphrase": "Entrez la phrase secrète BIP-39",
"Type Key": "Clé de type",
"Type Key": "Taper clé",
"Unit": "Unité",
"Upgrade complete.": "Mise à niveau complète.",
"Use a black background surface.": "Utilisez une surface de fond noire.",
Expand Down Expand Up @@ -292,4 +292,4 @@
"Yes": "Oui",
"is a valid address!": "Adresse non valide !",
"was NOT FOUND in the first %d addresses": "n'A PAS ÉTÉ TROUVÉ dans les %d premières adresses"
}
}
12 changes: 6 additions & 6 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,12 @@ docs_dir: docs
site_dir: public
extra:
latest_krux: krux-v24.09.0
latest_installer: v0.0.2-alpha
latest_installer_rpm: krux-installer-0.0.2_alpha-1.x86_64.rpm
latest_installer_deb: krux-installer_0.0.2-alpha_amd64.deb
latest_installer_win: krux-installer_v0.0.2-alpha.Setup.exe
latest_installer_mac_arm: krux-installer_0.0.2-alpha_arm64.dmg
latest_installer_mac_intel: krux-installer_0.0.2-alpha_x86_64.dmg
latest_installer: v0.0.20-alpha-2
latest_installer_rpm: krux-installer-0.0.20_alpha-2-1.x86_64.rpm
latest_installer_deb: krux-installer_0.0.20-alpha-2_amd64.deb
latest_installer_win: krux-installer_v0.0.20-alpha-2.Setup.exe
latest_installer_mac_arm: krux-installer_0.0.20-alpha-2_arm64.dmg
latest_installer_mac_intel: krux-installer_0.0.20-alpha-2_x86_64.dmg
social:
- icon: fontawesome/solid/bullhorn
link: https://bitcointalk.org/index.php?topic=5489022.0
Expand Down
38 changes: 36 additions & 2 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ pyzbar = { version = "^0.1.9", optional = true }

# Flash dependencies. Optional extras
pyserial = { version = "^3.5", optional = true }
qrcode = "^7.4.2"

[tool.poetry.group.dev.dependencies]
black = "^24.4.2"
Expand Down
2 changes: 1 addition & 1 deletion reproducibility.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def calculate_sha256(file_path):
def find_bin_files(root_dir, extension=".bin"):
"""Find .bin files in root directory and its subdirectories."""
print(f"\nDevice: SHA256 of {extension} file")
for dirpath, _, filenames in os.walk(root_dir):
for dirpath, _, filenames in sorted(os.walk(root_dir)):
for filename in filenames:
if filename.endswith(extension):
file_path = os.path.join(dirpath, filename)
Expand Down
3 changes: 2 additions & 1 deletion sign_release.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
"maixpy_dock",
"maixpy_yahboom",
"maixpy_cube",
"maixpy_wonder_mv",
]


Expand Down Expand Up @@ -155,7 +156,7 @@ def verify(file_to_verify, key_to_verify, signature_to_verify):
print("Hash of", compressed_folder, ":")
print(hash_string + "\n")
std_hash_string = hash_string + " " + compressed_folder
with open(compressed_folder + ".sha256", "w") as f:
with open(compressed_folder + ".sha256.txt", "w") as f:
f.write(std_hash_string)

# Sign the compressed release
Expand Down
12 changes: 6 additions & 6 deletions src/krux/translations/fr.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
"%d adresses vérifiées sans correspondance.",
"Vérification de la carte SD..",
"Indice enfant",
"Créer du code QR",
"Créer un code QR",
"Créer du code QR à partir du texte\u2009?",
"Créé\u2009:",
"Code QR personnalisé",
Expand Down Expand Up @@ -123,7 +123,7 @@
"Générer une mnémonique",
"Générer un mnémonique dérivé BIP-85\u2009?",
"Donnez à ce mnémonique un identifiant personnalisé\u2009? Sinon l'empreinte actuelle sera utilisée",
"Go",
"OK",
"Bonne entropie",
"Matériel",
"Clé public hexadécimal",
Expand Down Expand Up @@ -195,7 +195,7 @@
"Inadéquation du chemin",
"Structure détecté\u2009!",
"Supprimer définitivement tous les mnémoniques et paramètres chiffrés stockés dans le flash\u2009?",
"Persister",
"Persistance",
"Indice de déviation des pixels\u2009:",
"QR en Texte Brut",
"Veuillez charger un descripteur de sortie de portefeuille",
Expand All @@ -213,7 +213,7 @@
"Procéder quand même\u2009?",
"Procéder\u2009?",
"Traitement..",
"QR Code",
"Code QR",
"RX Fiche",
"Recevoir",
"Adresses de Réception",
Expand Down Expand Up @@ -280,11 +280,11 @@
"Pour assurer que les données soient irrécupérables, utilisez la fonctionnalité 'Effacer l'appareil'",
"Ajuster la luminosité",
"Outils",
"Seuil Tactile",
"Sensibilité",
"Écran Tactile",
"Réessayer\u2009?",
"Entrez la phrase secrète BIP-39",
"Clé de type",
"Taper clé",
"Unité",
"Mise à niveau complète.",
"Utilisez une surface de fond noire.",
Expand Down

0 comments on commit 4c58883

Please sign in to comment.