Skip to content

Commit 2409634

Browse files
authored
Merge pull request solosky#248 from solosky/develop
2.10.2
2 parents 223609b + dec79b4 commit 2409634

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+8125
-5966
lines changed

.github/workflows/pixl.js-fw.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ on:
44
push:
55
branches: [ "develop"]
66
tags: ["*"]
7+
pull_request:
8+
types: ["opened"]
9+
branches: ["develop"]
710
workflow_dispatch:
811

912
jobs:

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
* [中文文档](docs/zh/README.md)
1515
* [English Documentation](docs/en/README.md)
16+
* [Italian Documentation](docs/it/README.md)
1617

1718
## Credits
1819

docs/en/01-Hardware.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ You can use [Kicad 6](https://www.kicad.org/download/) to open and edit the PCB
77
![pixl.js PCB](https://github.com/solosky/pixl.js/blob/main/assets/pixljs-pcb-revc.png)
88

99
# BOM
10-
* The BoM is summaried on the doc: [RevC Bill of Materials Buying Guide](01+1-RevC-bom)
11-
* The Bill of Materials in interactive format are also available, you can download it from: [RevC InteractiveHtmlBom](docs/RevC-ibom.html)
10+
* The BoM is summaried on the doc: [RevC Bill of Materials Buying Guide](01+1-RevC-bom.md)
11+
* The Bill of Materials in interactive format are also available, you can download it from: [RevC InteractiveHtmlBom](https://github.com/solosky/pixl.js/blob/main/docs/RevC-ibom.html)
1212

1313

1414
# Pictures

docs/en/04-Using-Firmware.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,6 @@ The device use a "special" amiibo slot where only an amiibo can be used, the ami
238238

239239
Changing the mode preserve the current selected amiibo, with exception of «Read-write mode».
240240

241-
## Auto Random. []
242-
When this option is turn ON a new random UUID for the current amiibo is generated after each time a game read it. Allowing to use the same amiibo multiple times on games with restrictions. You cannot change the active amiibo on this mode. Cannot be turned OFF for «Randomize (Auto)» mode, cannot be turned ON for «Randomize (Manual)»mode;
243241
## Compati. Mode []
244242
Shows the emulation firmware mode, the supported values are V1, V2 and AmiLoop, there are several APPs each one designed for a AmiiboLink firmware version or to the AmiLoop protocol. Using this setting you can match the emulation with the protocol needed by the APP you use on your phone.
245243
## Tag Details

docs/en/05+5-translation.md

Lines changed: 81 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,92 @@
1-
# Transalation
1+
# Translation
22

3-
## How to update exists translation
3+
## Firmware
44

5-
1. Edit fw/data/i18n.csv with your favorite text editor. For vscode, extension "Edit csv" is recommended.
6-
2. Run `fw/scripts/i18n_gen.py` to generate new language files.
7-
3. Optional: Run `fw/scripts/font_data_gen.sh` to generate new font data if you add new charaters in i18n.csv
8-
4. Run `make full` rebuild firmware
5+
## How to update existing translation
6+
7+
When editing CSV files with VSCode, the extension [Edit CSV](https://marketplace.visualstudio.com/items?itemName=janisdd.vscode-edit-csv) is recommended.
8+
9+
**Windows** requires you to have [Python](https://www.python.org/downloads/) and [Git](https://git-scm.com/download/windows) installed and within your `$PATH`
10+
For **Linux**, most distributions come with `python` and `git` by default and **macOS** comes bundled with `python`, but to use `git` you either need to install the Command Line tools via `xcode-select –-install`, or download [Git](https://git-scm.com/download/mac) separately.
11+
12+
### Windows
913

10-
note: <br />
11-
The script `font_data_gen.sh` only can be run in Git Bash windows in Windows.
14+
1. Clone this repository
15+
`git clone https://github.com/solosky/pixl.js.git; cd pixl.js`
16+
2. Edit `fw/data/i18n.csv`
17+
3. Run `py.exe fw/scripts/i18n_gen.py` to generate new language files.
18+
4. _Optional:_ Run `py.exe fw/scripts/font_data_gen.py` to generate new font data if you add new characters in `i18n.csv`
19+
5. [Build the Firmware](03-Build-Firmware.md)
20+
21+
### Linux and macOS
22+
23+
1. Clone this repository
24+
`git clone https://github.com/solosky/pixl.js.git; cd pixl.js`
25+
2. Edit `fw/data/i18n.csv`
26+
3. Run `python3 fw/scripts/i18n_gen.py` to generate new language files.
27+
4. Optional: Run `python fw/scripts/font_data_gen.py` to generate new font data if you add new characters in `i18n.csv`
28+
5. [Build the Firmware](03-Build-Firmware.md)
1229

1330
## How to add new language translation
1431

15-
1. Add new column in fw/data/i18n.csv, for example "ja_JP"
32+
The process is similar to updating an existing translation, and has the same requirements depending on your Operating System.
33+
34+
1. Add new column in `fw/data/i18n.csv`, for example "ja_JP"
1635
2. Run `fw/scripts/i18n_gen.py` to generate new language files.
17-
3. Optional: Run `fw/scripts/font_data_gen.sh` to generate new font data if you add new charaters in i18n.csv
36+
3. Optional: Run `fw/scripts/font_data_gen.py` to generate new font data if you add new characters in `i18n.csv`
1837
4. Edit `fw/application/src/i18n/language.h` and `fw/application/src/i18n/language.c` to adopt new language
1938
5. Edit Makefile to include `$(PROJ_DIR)/i18n/ja_JP.c` as C source files
20-
6. Run `make full` rebuild firmware
39+
6. [Build the Firmware](03-Build-Firmware.md)
40+
41+
## Font notes
42+
43+
For release builds (RELEASE=1), the firmware uses wenquanyi_9pt_u8g2.bdf to display unicode characters.
44+
Please check if the new language character codepoint is included in wenquanyi_9pt_u8g2.bdf or not.
45+
If not, it's not recommended supporting the new language due to the MCU internal flash restrictions.
46+
47+
## Web App
48+
49+
### How to update existing translation
50+
51+
The language file can be found under `web/src/i18n'
52+
53+
## How to add new language translation
54+
55+
In this example, we will add a Japanese (ja_JP) translation:
56+
57+
1. Copy the `en_US.js` file and name it `ja_JP.js`
58+
2. Translate the string within `ja_JP.js` including the `changeok` message.
59+
60+
Don't translate the other language names.
61+
62+
Add your language at the bottom of the `lang {` section:
63+
64+
`ja: '日本語',`
65+
66+
3. Edit `web/src/i18n/index.js` while keeping its current structure, adding:
67+
68+
```js
69+
import elementJaLocale from 'element-ui/lib/locale/lang/ja' // element-ui
70+
lang import jaLocale from './ja_JP' elementJpLocale
71+
```
72+
73+
And extending `messages`:
74+
75+
```js
76+
ja_JP: {
77+
...jaLocale,
78+
...elementJaLocale,
79+
},
80+
```
81+
82+
4. Add your language to the other `.js` files (within the `lang: {` section):
83+
84+
`vueja: '日本語',`
2185

22-
## Font notes
86+
5. Add your language to the `web/src/App.vue` file:
2387

24-
For release build (RELEASE=1), the firmware use wenquanyi_9pt_u8g2.bdf to display unicode characters. <br />
25-
Please check new language charater codepoint is included in wenquanyi_9pt_u8g2.bdf or not.<br />
26-
If not, I am not recommended to support the new language due to the MCU internal flash restrction.
88+
```js
89+
<el-dropdown-item Enabled="language==='ja'" command="ja" divided>
90+
{{ $t('lang.ja') }}
91+
</el-dropdown-item>
92+
```

docs/it/01-Hardware.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# PCB
2+
L'hardware di pixl.js è sviluppato e mantenuto nel repository, puoi accedere alla versione più recente dell'hardware nella [sezione Hardware del repository GitHub.](https://github.com/solosky/pixl.js/tree/main/hw "Sezione Hardware del repository GitHub.")
3+
4+
hw/RevC è la versione più recente del PCB, si consiglia di utilizzarla.
5+
Puoi usare [Kicad 6](https://www.kicad.org/download/) per aprire e modificare i file del PCB e dello schema.
6+
7+
![PCB pixl.js](https://github.com/solosky/pixl.js/blob/main/assets/pixljs-pcb-revc.png)
8+
9+
# BOM
10+
* Il BOM è riassunto nel documento: [Guida all'acquisto dei materiali di RevC](01+1-RevC-bom)
11+
* La lista dei materiali in formato interattivo sono disponibili, puoi scaricarli da: [RevC InteractiveHtmlBom](docs/RevC-ibom.html)
12+
13+
# Immagini
14+
Alcune immagini dei dispositivi attuali sono:
15+
16+
![pixl.js 1](https://github.com/solosky/pixl.js/blob/main/assets/pixljs-3.jpg)
17+
![pixl.js 2](https://github.com/solosky/pixl.js/blob/main/assets/pixljs-4.jpg)
18+
![pixl.js 3](https://github.com/solosky/pixl.js/blob/main/assets/pixljs-5.jpg)
19+
20+
# Demo
21+
22+
[L'ultima versione dell'applicazione Emulatore Amiibo può generare UUID casuali permettendo letture illimitate di amiibo sul gioco! Questo video è un esempio](https://www.bilibili.com/video/BV1TD4y1t76A/)
23+
24+
# Custodia
25+
26+
Una custodia per questo progetto, realizzata dal signor Baicheng, può essere scaricata [qui](https://www.thingiverse.com/thing:5877482)
27+
![CUSTODIA](https://github.com/solosky/pixl.js/blob/main/assets/pixjs-case1.png)
28+
29+
# Versione OLED
30+
31+
La versione OLED è stata contribuita dall'utente @xiaohail. Puoi cliccare [qui](https://gitlab.com/xiaohai/pixl.js) per scaricare il PCB.
32+
33+
![OLED](https://github.com/solosky/pixl.js/blob/main/assets/pixljs-oled1.png)

docs/it/02-Flash-Firmware.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
Dopo aver costruito o acquistato l'hardware, devi flashare il firmware per la prima volta, che può essere ottenuto solo tramite il metodo cablato.
2+
3+
Il firmware può essere flashato o aggiornato utilizzando uno dei seguenti metodi:
4+
5+
## Metodo 1: Cablato
6+
Questo metodo richiede un flasher compatibile con CMASS-DAP JLink o DAPLink. Raccomandiamo il programmatore STM32 PWLINK2 Lite Emulator, puoi comprarne uno per circa 9.9 yuan su [Taobao](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.4b942e8deXyaQO&id=675067753017&_u=d2p75qfn774a "Taobao")
7+
8+
Scarica l'ultima versione del pacchetto zip del firmware. Dovrebbe contenere i seguenti file:
9+
- fw_update.bat
10+
- bootloader.hex
11+
- pixljs.hex
12+
- pixljs_all.hex
13+
- fw_readme.txt
14+
- pixjs_ota_v237.zip
15+
16+
Devi collegare i cavi da 3.3 Volt, GND, SWDIO e SWDCLK. Puoi utilizzare il file `fw_update.bat` per flashare il firmware `pixjs_all.hex`.
17+
18+
Puoi anche utilizzare OpenOCD per flashare il dispositivo, questo è un esempio del comando da eseguire:
19+
```
20+
openocd -f interface/cmsis-dap.cfg -c "transport select swd" -f target/nrf52.cfg -d2 -c init -c "reset init" -c halt -c "nrf5 mass_erase" -c "program pixjs_all.hex verify" -c "program nrf52832_xxaa.hex verify" -c exit
21+
```
22+
Dopo che il primo flash è completato, gli aggiornamenti del firmware successivi possono essere effettuati tramite OTA.
23+
24+
## Metodo 2: Aggiornamento OTA
25+
Questo metodo è applicabile solo ai dispositivi Pixl.js che sono stati programmati con successo tramite il metodo cablato.
26+
27+
### App nRF Connect
28+
Installa l'applicazione nRF Connect (la puoi trovare sia su iOS che su Android app stores).
29+
30+
Nella lista dei dispositivi, seleziona pixl.js (o pixl dfu) e tocca il pulsante `CONNECT`
31+
32+
Metti il tuo dispositivo pixl.js in modalità "Aggiornamento Firmware", poi il dispositivo entrerà in modalità DFU. Per farlo, seleziona l'app `Settings` e seleziona la voce `Firmware Update`.
33+
34+
Apri l'app "nRF Connect" sul tuo telefono e connettiti al dispositivo chiamato `pixl dfu` per aggiornare il firmware.
35+
36+
Su iOS, il firmware è `pixjs_ota_vxxx.zip`
37+
38+
### Metodo della pagina web
39+
Scarica l'ultima versione del pacchetto zip del firmware corrispondente alla versione del tuo dispositivo ed estrailo in una directory.
40+
41+
Il progetto fornisce due modi per ottenere un aggiornamento DFU:
42+
43+
#### Pagina web di trasferimento file.
44+
Innanzitutto, puoi collegare il dispositivo alla [pagina web ufficiale](https://pixl.amiibo.xyz/ "pagina web ufficiale"), poi sulla pagina web, dopo che il dispositivo è connesso, premi il pulsante grigio `DFU`, il dispositivo entrerà in modalità DFU e la pagina ti chiederà "Vuoi aprire la pagina di aggiornamento DFU?" se accetti, la Pagina di Aggiornamento Firmware sarà aperta.
45+
46+
#### Direttamente alla Pagina di Aggiornamento Firmware.
47+
Puoi anche andare direttamente alla Pagina di Aggiornamento Firmware.
48+
49+
Prima di tutto, devi mettere il tuo dispositivo pixl.js in modalità "Aggiornamento Firmware". Per farlo, seleziona l'app `Impostazioni` e seleziona la voce `Aggiornamento Firmware`.
50+
51+
Apri la [pagina di aggiornamento firmware](https://thegecko.github.io/web-bluetooth-dfu). Trascina e rilascia o seleziona il file `pixljs_ota_xxx.zip` dalla cartella dove hai estratto il pacchetto firmware.
52+
53+
Poi premi il pulsante `SELEZIONA DISPOSITIVO` sulla pagina dovresti vedere un dispositivo chiamato `pixl dfu` connetti per iniziare il processo di aggiornamento del firmware.
54+
55+
56+
# Riparazione versione firmware errata.
57+
58+
Se per errore programmi la versione sbagliata (LCD/OLED) sul tuo dispositivo, il dispositivo funzionerà ma non mostrerà informazioni sullo schermo, la retroilluminazione della versione LCD potrebbe accendersi.
59+
60+
Puoi utilizzare i seguenti metodi per recuperare o flashare la versione firmware corretta.
61+
62+
## Opzione 1: Flasha il firmware tramite connessione cablata
63+
64+
Se hai a disposizione un programmatore JLink o DAPLink compatibile con CMASS-DAP, puoi utilizzare il [Metodo Cablato](Flash-Firmware#Method 1: Wired "Metodo Cablato") per flashare manualmente la versione firmware corretta.
65+
Se per errore programmi la versione sbagliata (LCD/OLED) sul tuo dispositivo, il dispositivo funzionerà ma non mostrerà informazioni sullo schermo, la retroilluminazione della versione LCD potrebbe accendersi.
66+
67+
## Opzione 2: Segui le sequenze di tasti speciali per entrare nuovamente nella modalità DFU e installare la versione corretta del firmware.
68+
69+
Prima assicurati che il tuo dispositivo sia spento, poi premi le seguenti sequenze di tasti per entrare nella `Modalità DFU`
70+
71+
- Un qualsiasi tasto per risvegliare il dispositivo
72+
- SINISTRA
73+
- CENTRO
74+
- SINISTRA X 4
75+
- CENTRO
76+
77+
Ora il tuo dispositivo è in modalità DFU, usa l'app [nRF Connect APP](#nRF-Connect-APP) o [Direttamente dalla pagina di aggiornamento del firmware](#directly-to-the-firmware-update-page) per aggiornare il firmware.

docs/it/03-Build-Firmware.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
2+
# Compilazione del firmware
3+
4+
## Compilazione con Github Actions
5+
6+
Puoi scaricare l'ultima build di sviluppo da Github Actions
7+
8+
https://github.com/solosky/pixl.js/actions
9+
10+
## Compilazione con immagine Docker personalizzata
11+
12+
Puoi compilare il firmware utilizzando un'immagine Docker personalizzata.
13+
14+
```bash
15+
# creare i contenitori
16+
docker run -it --rm solosky/nrf52-sdk:latest
17+
18+
# inizializzare il repository
19+
root@b10d54636088:/builds# git clone https://github.com/solosky/pixl.js
20+
root@b10d54636088:/builds# cd pixl.js
21+
root@b10d54636088:/builds/pixl.js# git submodule update --init --recursive
22+
23+
# compilare la versione LCD
24+
root@b10d54636088:/builds/pixl.js# cd fw && make all BOARD=LCD RELEASE=1
25+
26+
# compilare la versione OLED
27+
root@b10d54636088:/builds/pixl.js# cd fw && make all BOARD=OLED RELEASE=1
28+
```
29+
30+
Il firmware si trova in fw/_build/pixjs_all.hex, il pacchetto ota si trova in fw/_build/pixjs_ota_vXXXX.zip

0 commit comments

Comments
 (0)