diff --git a/.clang-format b/.clang-format index 4591ee852..6b7733cc2 100644 --- a/.clang-format +++ b/.clang-format @@ -9,4 +9,4 @@ IndentWidth: 4, TabWidth: 4, UseTab: Never, -} \ No newline at end of file +} diff --git a/.github/workflows/pixl.js-fw.yml b/.github/workflows/pixl.js-fw.yml index a8516ef9c..4f609a17c 100644 --- a/.github/workflows/pixl.js-fw.yml +++ b/.github/workflows/pixl.js-fw.yml @@ -2,8 +2,8 @@ name: pixl.js-fw on: push: - branches: [ "develop", "neo_v2"] - tags: ["*"] + branches: ["develop", "neo_v2"] + tags: ["*"] pull_request: types: ["opened"] branches: ["develop"] @@ -17,24 +17,24 @@ jobs: runs-on: ubuntu-latest container: solosky/nrf52-sdk:latest steps: - - uses: actions/checkout@v4 - with: - submodules: 'true' + - uses: actions/checkout@v4 + with: + submodules: "true" - - name: Change Owner of Container Working Directory - run: chown root:root . - - name: build firmware - run: cd fw && make all RELEASE=1 APP_VERSION=$GITHUB_RUN_NUMBER BOARD=${{matrix.board}} - - name: copy artifact - run: mv fw/_build/bootloader.hex . && mv fw/_build/pixljs.hex . && mv fw/_build/pixljs_all.hex . && mv fw/_build/pixjs_ota_v${{github.run_number}}.zip . && mv fw/docs/fw_readme.txt . && mv fw/scripts/fw_update.bat . - - name: upload artifact - uses: actions/upload-artifact@v4 - with: - name: pixljs_fw_${{matrix.board}} - path: | - bootloader.hex - pixljs.hex - pixljs_all.hex - pixjs_ota_v${{github.run_number}}.zip - fw_readme.txt - fw_update.bat \ No newline at end of file + - name: Change Owner of Container Working Directory + run: chown root:root . + - name: build firmware + run: cd fw && make all RELEASE=1 APP_VERSION=$GITHUB_RUN_NUMBER BOARD=${{matrix.board}} + - name: copy artifact + run: mv fw/_build/bootloader.hex . && mv fw/_build/pixljs.hex . && mv fw/_build/pixljs_all.hex . && mv fw/_build/pixjs_ota_v${{github.run_number}}.zip . && mv fw/docs/fw_readme.txt . && mv fw/scripts/fw_update.bat . + - name: upload artifact + uses: actions/upload-artifact@v4 + with: + name: pixljs_fw_${{matrix.board}} + path: | + bootloader.hex + pixljs.hex + pixljs_all.hex + pixjs_ota_v${{github.run_number}}.zip + fw_readme.txt + fw_update.bat diff --git a/.vscode/.cortex-debug.registers.state.json b/.vscode/.cortex-debug.registers.state.json index 0637a088a..fe51488c7 100644 --- a/.vscode/.cortex-debug.registers.state.json +++ b/.vscode/.cortex-debug.registers.state.json @@ -1 +1 @@ -[] \ No newline at end of file +[] diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 04f08af77..dc8e6c7f1 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -1,34 +1,34 @@ { - "configurations": [ - { - "name": "Pixl.js Debug", - "includePath": [ - "${workspaceFolder}/fw/application/src/**", - "${workspaceFolder}/fw/components/**", - "${NRF52_SDK_ROOT}/**" - ], - "forcedInclude": [ - "${workspaceFolder}/fw/application/config/sdk_config.h" - ], - "defines": [ - "BOARD_CUSTOM", - "FLOAT_ABI_HARD", - "NRF52", - "NRF52832_XXAA", - "NRF52_PAN_74", - "NRF_SD_BLE_API_VERSION=6", - "S132", - "SOFTDEVICE_PRESENT", - "SWI_DISABLE0", - "DEBUG", - "DEBUG_NRF", - "M_USE_THREAD_BACKEND=0" - ], - "compilerPath": "/usr/local/bin/arm-none-eabi-gcc", - "cStandard": "c11", - "cppStandard": "c++17", - "intelliSenseMode": "windows-gcc-arm" - } - ], - "version": 4 -} \ No newline at end of file + "configurations": [ + { + "name": "Pixl.js Debug", + "includePath": [ + "${workspaceFolder}/fw/application/src/**", + "${workspaceFolder}/fw/components/**", + "${NRF52_SDK_ROOT}/**" + ], + "forcedInclude": [ + "${workspaceFolder}/fw/application/config/sdk_config.h" + ], + "defines": [ + "BOARD_CUSTOM", + "FLOAT_ABI_HARD", + "NRF52", + "NRF52832_XXAA", + "NRF52_PAN_74", + "NRF_SD_BLE_API_VERSION=6", + "S132", + "SOFTDEVICE_PRESENT", + "SWI_DISABLE0", + "DEBUG", + "DEBUG_NRF", + "M_USE_THREAD_BACKEND=0" + ], + "compilerPath": "/usr/local/bin/arm-none-eabi-gcc", + "cStandard": "c11", + "cppStandard": "c++17", + "intelliSenseMode": "windows-gcc-arm" + } + ], + "version": 4 +} diff --git a/.vscode/launch.json b/.vscode/launch.json index 714615995..9007d7fa3 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,7 +4,6 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ - { "name": "Pixl.js JLink Debug", "cwd": "${workspaceRoot}", @@ -16,7 +15,7 @@ "device": "nrf52", "interface": "swd", "ipAddress": null, - "serialNumber": null, + "serialNumber": null }, { "name": "Pixl.js Pyocd Debug", @@ -29,7 +28,7 @@ "device": "nrf52", "interface": "swd", "ipAddress": null, - "serialNumber": null, + "serialNumber": null }, { "name": "Pixl.js Openocd Debug", @@ -43,9 +42,7 @@ "interface": "swd", "ipAddress": null, "serialNumber": null, - "configFiles": [ - "${workspaceRoot}/fw/application/openocd/debug.cfg" - ] + "configFiles": ["${workspaceRoot}/fw/application/openocd/debug.cfg"] }, { "name": "Pixl.js BMP Debug", @@ -59,7 +56,7 @@ "interface": "swd", "ipAddress": null, "serialNumber": null, - "BMPGDBSerialPort": "/dev/cu.usbmodem20240517021", + "BMPGDBSerialPort": "/dev/cu.usbmodem20240517021" } ] -} \ No newline at end of file +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 13b6ec27f..467efe468 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,42 +1,42 @@ { - "files.associations": { - "vfs.h": "c", - "ntag_def.h": "c", - "vfs_driver_fs.h": "c", - "vfs_meta.h": "c", - "u8x8.h": "c", - "mui_u8g2.h": "c", - "mui_defines.h": "c", - "u8g2.h": "c", - "rgb_marquee.h": "c", - "utils.h": "c", - "array": "c", - "deque": "c", - "forward_list": "c", - "list": "c", - "string": "c", - "unordered_map": "c", - "unordered_set": "c", - "vector": "c", - "string_view": "c", - "initializer_list": "c", - "ranges": "c", - "optional": "c", - "istream": "c", - "ostream": "c", - "ratio": "c", - "system_error": "c", - "functional": "c", - "tuple": "c", - "type_traits": "c", - "utility": "c", - "mui_list_view.h": "c", - "nrf_log.h": "c", - "string.h": "c", - "math.h": "c", - "mlib_common.h": "c", - "ios": "c", - "limits": "c", - "algorithm": "c" - } -} \ No newline at end of file + "files.associations": { + "vfs.h": "c", + "ntag_def.h": "c", + "vfs_driver_fs.h": "c", + "vfs_meta.h": "c", + "u8x8.h": "c", + "mui_u8g2.h": "c", + "mui_defines.h": "c", + "u8g2.h": "c", + "rgb_marquee.h": "c", + "utils.h": "c", + "array": "c", + "deque": "c", + "forward_list": "c", + "list": "c", + "string": "c", + "unordered_map": "c", + "unordered_set": "c", + "vector": "c", + "string_view": "c", + "initializer_list": "c", + "ranges": "c", + "optional": "c", + "istream": "c", + "ostream": "c", + "ratio": "c", + "system_error": "c", + "functional": "c", + "tuple": "c", + "type_traits": "c", + "utility": "c", + "mui_list_view.h": "c", + "nrf_log.h": "c", + "string.h": "c", + "math.h": "c", + "mlib_common.h": "c", + "ios": "c", + "limits": "c", + "algorithm": "c" + } +} diff --git a/README.md b/README.md index 37a1fa210..7f70d01c4 100644 --- a/README.md +++ b/README.md @@ -11,25 +11,25 @@ ## 文档 -* [中文文档](docs/zh/README.md) -* [English Documentation](docs/en/README.md) -* [Italian Documentation](docs/it/README.md) +- [中文文档](docs/zh/README.md) +- [English Documentation](docs/en/README.md) +- [Italian Documentation](docs/it/README.md) ## Credits -* [FlipperZero Firmware](https://github.com/flipperdevices/flipperzero-firmware) -* [mlib](https://github.com/P-p-H-d/mlib) -* [TLSF](https://github.com/mattconte/tlsf) -* [cwalk](https://github.com/likle/cwalk) -* [SPIFFS](https://github.com/pellepl/spiffs) -* [ChameleonUltra](https://github.com/RfidResearchGroup/ChameleonUltra) -* [CH32V003-GameConsole](https://github.com/wagiminator/CH32V003-GameConsole) +- [FlipperZero Firmware](https://github.com/flipperdevices/flipperzero-firmware) +- [mlib](https://github.com/P-p-H-d/mlib) +- [TLSF](https://github.com/mattconte/tlsf) +- [cwalk](https://github.com/likle/cwalk) +- [SPIFFS](https://github.com/pellepl/spiffs) +- [ChameleonUltra](https://github.com/RfidResearchGroup/ChameleonUltra) +- [CH32V003-GameConsole](https://github.com/wagiminator/CH32V003-GameConsole) -## Contribution +## Contribution -* 特别感谢 @Caleeeeeeeeeeeee 完善的Bootloader。 -* 特别感谢 @白橙 制作的外壳。 -* 特别感谢 @impeeza 提供的文档翻译 。 +- 特别感谢 @Caleeeeeeeeeeeee 完善的Bootloader。 +- 特别感谢 @白橙 制作的外壳。 +- 特别感谢 @impeeza 提供的文档翻译 。 ## 讨论群 @@ -38,7 +38,8 @@ ## Office Channel Where do you find the community? -* [Pixl.js community discord server](https://discord.gg/4mqeQwcAB2) + +- [Pixl.js community discord server](https://discord.gg/4mqeQwcAB2) ## 声明 @@ -47,8 +48,8 @@ Amiibo是任天堂的注册商标,NTAG21X为NXP的注册商标。 内置的Amiibo数据库来源分别如下: -* [amiiloop](https://download.amiloop.app/) -* [AmiiboAPI](https://www.amiiboapi.com/) +- [amiiloop](https://download.amiloop.app/) +- [AmiiboAPI](https://www.amiiboapi.com/) 源代码没有包含任何有任天堂版权的资源(比如相关密钥,Amiibo原始数据等)。 @@ -56,10 +57,9 @@ Amiibo是任天堂的注册商标,NTAG21X为NXP的注册商标。 本项目基于GPL 2.0 License发布,使用请遵循License的约定。 -* 如果对项目做了修改,需要把改后的源码发布出来 -* 发布出来的源码必须要使用相同的License发布 - +- 如果对项目做了修改,需要把改后的源码发布出来 +- 发布出来的源码必须要使用相同的License发布 -## 提示 +## 提示 Amiibo无限刷需要网上搜索key_retail.bin文件然后上传到到磁盘根目录后才能使用。 diff --git a/docs/RevB-bom.md b/docs/RevB-bom.md index 21a970e64..be821d7e5 100644 --- a/docs/RevB-bom.md +++ b/docs/RevB-bom.md @@ -1,33 +1,32 @@ - -|Index|References|Value|Footprint|Quantity| Buy Link| -|-|-|-|-|-|-| -|1|C2, C3, C5, C6, C7, C10, C14, C16|0.1uF|C_0402_1005Metric|8| -|2|C8, C11, C23, C26|12pF|C_0402_1005Metric|4| -|3|C15, C20|180pF|C_0402_1005Metric|2| -|4|C17, C18|TBD|C_0402_1005Metric|2| 可不焊接 | -|5|C1|1uF|C_0402_1005Metric|1| -|6|C4|4.7uF|C_0402_1005Metric|1| -|7|C9|10uF|C_0402_1005Metric|1| -|8|C12|1uF/25V|C_0402_1005Metric|1| -|9|C13|1uF/16V|C_0402_1005Metric|1| -|10|R1, R2|100K|R_0402_1005Metric|2| -|11|R3, R5|10K|R_0402_1005Metric|2| -|12|R7, R8|4.7K|R_0402_1005Metric|2| -|13|R4|0|R_0402_1005Metric|1| -|14|R6|10|R_0402_1005Metric|1| -|15|L1|15nH|L_0402_1005Metric|1| -|16|L2|10uH|L_0603_1608Metric|1| -|17|L3|TBD|L_0402_1005Metric|1| 用0欧电阻代替 | -|18|D1|LED_Small|LED_0402_1005Metric|1| -|19|U1|nRF52832-QFxx|QFN-48-1EP_6x6mm_P0.4mm_EP4.6x4.6mm|1|[购买地址1 选NRF52832-QFAA](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=559637973772&_u=r3umvhn0387) | -|20|U2|SHT20|DFN-6-1EP_3x3mm_P1mm_EP1.5x2.4mm|1| 可选 | -|21|U3|GD25Q16C|USON-8_3x2mm_0.5pich|1|[购买地址1 低压版](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=649864805980&_u=r3umvhn2e64) \| [购买地址2 非低压版](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=673834706188&_u=r3umvhn2527)| -|22|U4|MSW|MSW|1| [购买地址1](https://item.szlcsc.com/157238.html) \| [购买地址2 需剪下](https://item.szlcsc.com/586962.html) | -|23|Y1|32.768K|Crystal_SMD_2012-2Pin_2.0x1.2mm|1| -|24|Y2|32MHz|Crystal_SMD_2016-4Pin_2.0x1.6mm|1| -|25|AE1|Antenna|AN2051|1| [购买地址1](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=558699169012&_u=r3umvhndb66) | -|26|AE2|Antenna_Loop|40x22MM_NFC_ANTENA|1| -|27|BT1|Battery_Cell|BAT-SMD_CR2032-3V|1| -|28|Q1|AO3400A|SOT-23|1| -|29|J1|Conn_01x12|FPC_12 0.8mm|1| [屏幕购买地址](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=660349996995&_u=r3umvhn775a) | -|30|J2|Conn_01x04|JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_Horizontal|1| [购买地址1 选4p](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=44160307488&_u=r3umvhn75b1) | +| Index | References | Value | Footprint | Quantity | Buy Link | +| ----- | --------------------------------- | ------------- | ----------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| 1 | C2, C3, C5, C6, C7, C10, C14, C16 | 0.1uF | C_0402_1005Metric | 8 | +| 2 | C8, C11, C23, C26 | 12pF | C_0402_1005Metric | 4 | +| 3 | C15, C20 | 180pF | C_0402_1005Metric | 2 | +| 4 | C17, C18 | TBD | C_0402_1005Metric | 2 | 可不焊接 | +| 5 | C1 | 1uF | C_0402_1005Metric | 1 | +| 6 | C4 | 4.7uF | C_0402_1005Metric | 1 | +| 7 | C9 | 10uF | C_0402_1005Metric | 1 | +| 8 | C12 | 1uF/25V | C_0402_1005Metric | 1 | +| 9 | C13 | 1uF/16V | C_0402_1005Metric | 1 | +| 10 | R1, R2 | 100K | R_0402_1005Metric | 2 | +| 11 | R3, R5 | 10K | R_0402_1005Metric | 2 | +| 12 | R7, R8 | 4.7K | R_0402_1005Metric | 2 | +| 13 | R4 | 0 | R_0402_1005Metric | 1 | +| 14 | R6 | 10 | R_0402_1005Metric | 1 | +| 15 | L1 | 15nH | L_0402_1005Metric | 1 | +| 16 | L2 | 10uH | L_0603_1608Metric | 1 | +| 17 | L3 | TBD | L_0402_1005Metric | 1 | 用0欧电阻代替 | +| 18 | D1 | LED_Small | LED_0402_1005Metric | 1 | +| 19 | U1 | nRF52832-QFxx | QFN-48-1EP_6x6mm_P0.4mm_EP4.6x4.6mm | 1 | [购买地址1 选NRF52832-QFAA](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=559637973772&_u=r3umvhn0387) | +| 20 | U2 | SHT20 | DFN-6-1EP_3x3mm_P1mm_EP1.5x2.4mm | 1 | 可选 | +| 21 | U3 | GD25Q16C | USON-8_3x2mm_0.5pich | 1 | [购买地址1 低压版](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=649864805980&_u=r3umvhn2e64) \| [购买地址2 非低压版](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=673834706188&_u=r3umvhn2527) | +| 22 | U4 | MSW | MSW | 1 | [购买地址1](https://item.szlcsc.com/157238.html) \| [购买地址2 需剪下](https://item.szlcsc.com/586962.html) | +| 23 | Y1 | 32.768K | Crystal_SMD_2012-2Pin_2.0x1.2mm | 1 | +| 24 | Y2 | 32MHz | Crystal_SMD_2016-4Pin_2.0x1.6mm | 1 | +| 25 | AE1 | Antenna | AN2051 | 1 | [购买地址1](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=558699169012&_u=r3umvhndb66) | +| 26 | AE2 | Antenna_Loop | 40x22MM_NFC_ANTENA | 1 | +| 27 | BT1 | Battery_Cell | BAT-SMD_CR2032-3V | 1 | +| 28 | Q1 | AO3400A | SOT-23 | 1 | +| 29 | J1 | Conn_01x12 | FPC_12 0.8mm | 1 | [屏幕购买地址](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=660349996995&_u=r3umvhn775a) | +| 30 | J2 | Conn_01x04 | JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_Horizontal | 1 | [购买地址1 选4p](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2c202e8dYacXja&id=44160307488&_u=r3umvhn75b1) | diff --git a/docs/RevB-ibom.html b/docs/RevB-ibom.html index c14175eff..ce60c4dd6 100644 --- a/docs/RevB-ibom.html +++ b/docs/RevB-ibom.html @@ -1,4414 +1,6390 @@ - + +
+ + +