Skip to content

Commit 36d69ef

Browse files
authored
Merge branch 'solosky:develop' into develop
2 parents 2709c54 + fb9ef27 commit 36d69ef

File tree

12 files changed

+253
-30
lines changed

12 files changed

+253
-30
lines changed

docs/en/01+2-Boards-Thirdparty.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

docs/en/01-Hardware.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,3 @@ A shell for this project, made by Mr. Baicheng can be downloaded [here](https://
3232
The OLED version was contributed by netizen @xiaohail. You can click [here](https://gitlab.com/xiaohai/pixl.js) to download the PCB.
3333

3434
![OLED](https://github.com/solosky/pixl.js/blob/main/assets/pixljs-oled1.png)
35-
36-
37-
# [Alternative Boards](01+2-Boards-Thirdparty)
38-
39-
There are alternative versions of the board, you can checkout on the [Boards-Thirdparty](01+2-Boards-Thirdparty) page.
40-

docs/en/02-Flash-Firmware.md

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -56,30 +56,25 @@ Then press the `SELECT DEVICE` button on the page you should see a device called
5656

5757

5858
# Repair wrong firmware version.
59+
5960
If by mistake you program the wrong version (LCD/OLED) on your device, the device will work but will no show information on screen, the backlight of the LCD version could turn on.
6061

61-
You can use the [Wired Method](Flash-Firmware#Method 1: Wired "Wired Method") to flash the correct firmware version.
62+
You can use following methods to recover or flash the correct firmware version.
63+
64+
## Option 1: Flash the firmware via wired connection
6265

63-
Also you can blindly navigate trought menu and put your device on BLE or DUF mode then use the correspondant metho to upgrade the firmware.
66+
If you have any CMASS-DAP compatible JLink or DAPLink programer on hand, you can use the [Wired Method](Flash-Firmware#Method 1: Wired "Wired Method") to flash the correct firmware version manually.
6467

65-
**To Enter on the DFU mode** and then use the [nRF Connect APP method](Flash-Firmware#nRF Connect APP) or the [Directly to the Firmware Update Page method](Flash-Firmware#Directly to the Firmware Update Page).
6668

67-
*You can remove and put back the batter to be sure you are on the "**Main Menu**".*
69+
## Option 2: Follow special key sequences to enter the DFU mode again to flash correct firmware version.
6870

69-
*If needed press any button to wake up the device*
71+
First make sure your device is in off state, then press key sequences bellow to enter into the `DFU Mode`
7072

71-
From the **Main Menu** you can put the device in DFU mode pressing:
73+
- Any key to wake up the device
7274
- LEFT
7375
- MIDDLE
74-
- LEFT X 3
76+
- LEFT X 4
7577
- MIDDLE
7678

7779
Now you device is on DFU mode, use any of the [nRF Connect APP](#nRF-Connect-APP) or [Directly to the Firmware Update Page](#directly-to-the-firmware-update-page) methods to upgrade the fimware.
7880

79-
------------
80-
81-
From the "**Main Menu**" you also can **Enter the BLE File Transfer** Mode by pressing:
82-
- LEFT x 2
83-
- MIDDLE
84-
85-
As you are BLE File Transfer mode you can use the [File Transfer Web Page.](#file-transfer-web-page) method to upgrade the firmware.

docs/en/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ This fork is divided in two main sections, Hardware and Firmware
1414
- [Demo](01-Hardware.md#Demo)
1515
- [Shell](01-Hardware.md#Shell)
1616
- [OLED version](01-Hardware.md#OLED-version)
17-
- [Alternative Boards](01-Hardware.md#alternative-boards)
1817

1918

2019
# Firmware

docs/zh/01+1-RevC-bom.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
| **Id** | **位号** | **Pa封装ckage** | **数量** | **元件名** | **购买链接** |
2+
|---|---|---|---|---|---|
3+
| 1 | R5,R3 | R_0402_1005Metric | 2 | 10K | |
4+
| 2 | C6,C3,C16,C2,C10,C5,C7 | C_0402_1005Metric | 7 | 0.1uF | |
5+
| 3 | U1 | QFN-48-1EP_6x6mm_P0.4mm_EP4.6x4.6mm | 1 | nRF52832-QFxx | [Purchase option #1 NRF52832-QFAA](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=559637973772&_u=r3umvhn0387)|
6+
| 4 | L3 | L_0402_1005Metric | 1 | 3.9nH | |
7+
| 5 | BT1 | BAT-SMD_CR2032-3V | 1 | Battery_Cell |[Purchase Option: CR2032-3 Select battery shrapnel cell holder](https://detail.tmall.com/item.htm?_u=i3umvhn3c4d&id=623218634490&spm=a1z09.2.0.0.40c52e8dLMoPVe) |
8+
| 6 | C11,C23,C8,C26 | C_0402_1005Metric | 4 | 12pF | |
9+
| 7 | U4 | MSW | 1 | MSW | [Purchase Option #1](https://item.szlcsc.com/157238.html) \| [Purchase Option #2 The button is longer on both sides and need to be shortened slightly](https://item.szlcsc.com/586962.html) |
10+
| 8 | Y2 | Crystal_SMD_2016-4Pin_2.0x1.6mm | 1 | 32MHz | |
11+
| 9 | R6 | R_0402_1005Metric | 1 | 1K | |
12+
| 10 | Y1 | Crystal_SMD_2012-2Pin_2.0x1.2mm | 1 | 32.768K | |
13+
| 11 | J2 | JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_Horizontal | 1 | Conn_01x04 | [Purchase Option #1 buy 4 units](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=44160307488&_u=r3umvhn75b1) |
14+
| 12 | C4 | C_0402_1005Metric | 1 | 4.7uF | |
15+
| 13 | C13 | C_0402_1005Metric | 1 | 1uF/16V | |
16+
| 14 | C20,C15 | C_0402_1005Metric | 2 | 180pF | |
17+
| 15 | R8,R7 | R_0402_1005Metric | 2 | 4.7K | |
18+
| 16 | U3 | USON-8_3x2mm_0.5pich | 1 | GD25Q16C/ZD25WQ16BUIGR| [Purchase Option #1 Low voltage version, recommended](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=649864805980&_u=r3umvhn2e64) \| [Purchase Option #2 Non-low voltage version](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=673834706188&_u=r3umvhn2527) |
19+
| 17 | C9 | C_0402_1005Metric | 1 | 10uF | |
20+
| 18 | AE1 | AN2051 | 1 | Antenna | [Purchase Option #1](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=558699169012&_u=r3umvhndb66) |
21+
| 19 | C18 | C_0402_1005Metric | 1 | 0.8pF | |
22+
| 20 | C1 | C_0402_1005Metric | 1 | 1uF | |
23+
| 21 | C12 | C_0402_1005Metric | 1 | 1uF/25V | |
24+
| 22 | Q1 | SOT-23 | 1 | AO3400A | |
25+
| 23 | D1 | LED_0402_1005Metric | 1 | LED_Small | |
26+
| 24 | J1 | FPC_12 0.8mm | 1 | Conn_01x12 | [Screen purchase option](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=660349996995&_u=r3umvhn775a) |
27+
| 25 | AE2 | 40x22MM_NFC_ANTENA | 1 | Antenna_Loop | |

docs/zh/01-Hardware.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# PCB
2+
3+
hw/RevC 路径为最新的PCB版本,建议使用。您可以使用 [Kicad 6](https://www.kicad.org/download/) 打开和编辑PCB和原理图文件。
4+
5+
![pixl.js PCB](https://github.com/solosky/pixl.js/blob/main/assets/pixljs-pcb-revc.png)
6+
7+
# BOM
8+
* 这里是已完成的BOM表: [RevC Bill of Materials Buying Guide](01+1-RevC-bom)
9+
* 这里提供了交互格式的物料清单,您可以从此处下载: [RevC InteractiveHtmlBom](docs/RevC-ibom.html)
10+
11+
12+
# 图片
13+
以下为设备目前的一些图片:
14+
15+
![pixl.js 1](https://github.com/solosky/pixl.js/blob/main/assets/pixljs-3.jpg)
16+
![pixl.js 2](https://github.com/solosky/pixl.js/blob/main/assets/pixljs-4.jpg)
17+
![pixl.js 3](https://github.com/solosky/pixl.js/blob/main/assets/pixljs-5.jpg)
18+
19+
# Demo
20+
21+
[以下视频介绍了Amiibo模拟器应用的最新版本,该功能可以生成随机UUID,允许在游戏中无限读取amiibo!](https://www.bilibili.com/video/BV1TD4y1t76A/)
22+
23+
# 外壳
24+
25+
你可以从 [这里](https://www.thingiverse.com/thing:5877482) 下载由@白橙 为此项目制作的外壳
26+
![shell](https://github.com/solosky/pixl.js/blob/main/assets/pixjs-case1.png)
27+
28+
# OLED version
29+
30+
OLED版本由网友@xiaohail贡献。您可以点击 [这里](https://gitlab.com/xiaohai/pixl.js) 下载 PCB.
31+
32+
![OLED](https://github.com/solosky/pixl.js/blob/main/assets/pixljs-oled1.png)
33+
34+
35+

docs/zh/02-Flash-Firmware.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
制造硬件后,您需要通过有线的方法第一次刷写固件(如daplink、jlink等),之后无需再次进行有线刷写。
2+
3+
固件可以使用以下方法之一刷写或更新:
4+
5+
## 方法 1: 线刷
6+
此方法需要一个兼容CMASS-DAP的JLink或DAPLink刷写器。我们推荐使用PWLINK2 Lite,您可以在 [淘宝](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.4b942e8deXyaQO&id=675067753017&_u=d2p75qfn774a "Taobao")购买一个约9.9元。
7+
8+
下载最新版本的固件压缩包。它应该包含以下文件:
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+
你需要确保连接好 3.3V、GND、SWDIO、SWDCLK这四根线。 使用文件中的 `fw_update.bat` 下载 `pixjs_all.hex` 文件.
17+
18+
您也可以使用OpenOCD来刷写设备,以下是执行命令的示例:
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+
23+
完成首次刷写后,后续的固件更新可以通过OTA进行。
24+
25+
## 方法 2: OTA 升级
26+
这种方法仅适用于已成功通过有线方法烧录完成的Pixl.js设备。
27+
28+
### nRF Connect APP
29+
安装nRF Connect应用程序(您可以在iOS和Android应用商店中找到)。
30+
31+
在设备列表中,选择pixl.js(或pixl dfu),然后点击 `CONNECT` 按钮
32+
33+
将您的pixl.js设备调整到“固件更新”模式,然后设备将进入DFU模式。要这样做,请在设备上选择 `设置` 然后选择 `固件更新`即可.
34+
35+
打开手机上的“nRF Connect”应用,并连接到名为 `pixl dfu` 的设备以更新固件。
36+
37+
在iOS上,压缩包中的固件为 `pixjs_ota_vxxx.zip` ,需要通过微信或QQ与nrfconnect应用共享。
38+
39+
在Android上,您可以使用屏幕右上角的DFU图标,选择 `Distribution packet (ZIP)` ,然后浏览存储中的 `pixjs_ota_vxxx.zip` 文件。
40+
41+
### Web方法
42+
下载与您设备版本相对应的最新固件zip包,并将其解压到一个目录中。
43+
44+
该项目提供两种实现DFU更新的方法:
45+
46+
#### 文件传输网页
47+
首先,您可以连接设备到 [official web page](https://pixl.amiibo.xyz/ "official web page") ,然后在网页上,设备连接后,按下DFU灰色按钮,设备将进入DFU模式,并且页面会询问您“您是否要打开DFU升级页面?”如果您接受,固件更新页面将被打开。
48+
49+
#### 直接进入固件更新页面
50+
你也可以直接进入固件更新页面。
51+
52+
首先,您需要将您的pixl.js设备放置在“固件更新”模式下。为此,请选择`设置`,然后选择`固件更新`
53+
54+
打开 [固件更新页面](https://thegecko.github.io/web-bluetooth-dfu). 从您提取固件包的文件夹中拖放或选择`pixljs_ota_xxx.zip`文件。
55+
然后在页面上点击 `SELECT DEVICE` 按钮,您应该看到一个名为`pixl dfu` 的设备,连接以开始固件升级过程。
56+
57+
# 修复错误的固件版本
58+
59+
60+
如果操作不当在设备上烧录了错误的固件版本(LCD/OLED),设备将工作但屏幕上不会显示信息,LCD版本的背光可能会打开。
61+
62+
您可以使用以下方法恢复或刷写正确的固件版本。
63+
64+
## 方法1:通过有线连接刷写固件
65+
66+
如果您手头有任何兼容CMASS-DAP的JLink或DAPLink编程器,您可以使用有线方法手动刷写正确的固件版本。
67+
68+
69+
## 方法2:按照特殊的按键序列再次进入DFU模式,以刷写正确的固件版本。
70+
71+
首先确保您的设备处于关闭状态,然后按照下面的按键序列进入 `DFU 模式`
72+
73+
任意键唤醒设备
74+
75+
76+
左 x 4
77+
78+
79+
现在您的设备已经进入了DFU模式,请使用任何 [nRF Connect APP](#nRF-Connect-APP)[直接进入固件页面更新](#directly-to-the-firmware-update-page) 的方法来升级固件。
80+
81+
82+
83+
84+

docs/zh/03-Build-Firmware.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# 构建
2+
3+
## 使用Github Actions进行构建
4+
5+
您可以从Github Actions下载最新的构建开发版本。
6+
7+
https://github.com/impeeza/pixl.js/actions/workflows/pixl.js-fw.yml
8+
9+
10+
## 使用定制的Docker镜像进行构建
11+
12+
您可以使用定制的Docker镜像构建固件。
13+
14+
```
15+
docker run -it --rm solosky/nrf52-sdk:latest
16+
root@b10d54636088:/builds# git clone https://github.com/solosky/pixl.js
17+
root@b10d54636088:/builds# cd pixl.js
18+
root@b10d54636088:/builds/pixl.js# git submodule update --init --recursive
19+
root@b10d54636088:/builds/pixl.js# cd fw && make all
20+
root@b10d54636088:/builds/pixl.js/fw# cd application && make full ota
21+
```
22+
23+
构建好的固件在 fw/_build/pixjs_all.hex,ota package is fw/_build/pixjs_ota_vXXXX.zip

docs/zh/05+5-translation.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# 翻译
2+
3+
## 如何更新现有的翻译
4+
5+
使用您喜欢的文本编辑器编辑 `fw/data/i18n.csv`。对于VSCode,推荐使用扩展程序 "Edit csv"。
6+
运行 `fw/scripts/i18n_gen.py` 以生成新的语言文件。
7+
可选步骤:如果您在 i18n.csv 中添加了新字符,则运行 `fw/scripts/font_data_gen.sh` 生成新的字体数据。
8+
运行 `make full` 重新构建固件。
9+
10+
注意: <br />
11+
`font_data_gen.sh` 脚本只能在Windows的Git Bash中运行。
12+
13+
## 如何添加新的语言翻译
14+
15+
1.`fw/data/i18n.csv` 中添加新的列,例如 "ja_JP"。
16+
2. 运行 `fw/scripts/i18n_gen.py` 生成新的语言文件。
17+
3. (可选)如果在 i18n.csv 中添加了新字符,则运行 `fw/scripts/font_data_gen.sh` 生成新的字体数据。
18+
4. 编辑 `fw/application/src/i18n/language.h``fw/application/src/i18n/language.c` 以适应新语言。
19+
5. 编辑Makefile以将 `$(PROJ_DIR)/i18n/ja_JP.c` 包含为C源文件。
20+
6. 运行 `make full` 重新构建固件。
21+
22+
## 字体说明
23+
24+
对于发布版本(RELEASE=1),固件使用 wenquanyi_9pt_u8g2.bdf 来显示Unicode字符。<br />
25+
请检查新语言字符的代码点是否包含在 wenquanyi_9pt_u8g2.bdf 中。<br />
26+
如果没有,由于MCU内部闪存的限制,我不建议添加新语言支持。

docs/zh/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
- [演示](01-Hardware.md#Demo)
1111
- [外壳](01-Hardware.md#Shell)
1212
- [OLED版本](01-Hardware.md#OLED-version)
13-
- [其他版本](01-Hardware.md#alternative-boards)
1413

1514

1615
# 固件

0 commit comments

Comments
 (0)