Skip to content

Commit 171e729

Browse files
committed
Merge branch 'develop'
2 parents 50a9295 + d42ff59 commit 171e729

115 files changed

Lines changed: 33920 additions & 30 deletions

File tree

Some content is hidden

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

.github/workflows/clang-format-check.yml

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ on:
1111
branches:
1212
- '*'
1313
paths:
14-
- '*'
1514
- '**.ino'
1615
- '**.cpp'
1716
- '**.hpp'
@@ -32,20 +31,27 @@ on:
3231
- '**.clang-format'
3332
workflow_dispatch:
3433

34+
defaults:
35+
run:
36+
shell: bash
37+
38+
concurrency:
39+
group: ${{ github.workflow }}-${{ github.ref }}
40+
cancel-in-progress: true
41+
3542
jobs:
3643
formatting-check:
3744
name: Formatting Check
38-
runs-on: [self-hosted, Linux, X64]
45+
runs-on: ubuntu-latest
3946
strategy:
4047
matrix:
4148
path:
42-
- check: './' # path to include
43-
exclude: '' # path to exclude
44-
#- check: 'src'
45-
# exclude: '(Fonts)' # Exclude file paths containing "Fonts"
46-
#- check: 'examples'
47-
# exclude: ''
48-
49+
- check: 'src'
50+
exclude: ''
51+
- check: 'test'
52+
exclude: ''
53+
- check: 'examples'
54+
exclude: ''
4955
steps:
5056
- name: Checkout
5157
uses: actions/checkout@v4

README.md

Lines changed: 97 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,124 @@
1-
# Product Name
1+
# M5Unit-NFC
22

33
## Overview
44

5+
Library for Unit-NFC series using [M5UnitUnified](https://github.com/m5stack/M5UnitUnified).
6+
M5UnitUnfied has a unified API and can control multiple units via PaHub, etc.
7+
58
### SKU:xxx
69

710
Description of the product
811

9-
## Related Link
1012

11-
- [Document & Datasheet](https://docs.m5stack.com/en/unit/product_Link)
13+
## PICC Support
1214

13-
## Required Libraries:
15+
Raw R/W includes FileSystem via ISO-DEP when applicable.
16+
Support may be expanded in future updates to cover PICCs not listed here.
1417

15-
- [Adafruit_BMP280_Library](https://github.com/adafruit/Required_Libraries_Link)
18+
### NFC-A
1619

17-
## License
20+
| PICC Type | NFC Forum Tag (NDEF) | Detect | Identify | Raw R/W | Notes |
21+
|---|---|---|---|---|---|
22+
| MIFARE Classic Mini | None | Yes | Yes | Yes | Auth required |
23+
| MIFARE Classic 1K | None | Yes | Yes | Yes | Auth required |
24+
| MIFARE Classic 2K | None | Yes | Yes | Yes | Auth required |
25+
| MIFARE Classic 4K | None | Yes | Yes | Yes | Auth required |
26+
| MIFARE Ultralight | Type2 | Yes | Yes | Yes | |
27+
| MIFARE Ultralight EV1 MF0UL11 | Type2 | Yes | Yes | Yes | |
28+
| MIFARE Ultralight EV1 MF0UL21 | Type2 | Yes | Yes | Yes | |
29+
| MIFARE Ultralight Nano | Type2 | Yes | Yes | Yes | |
30+
| MIFARE Ultralight C | Type2 | Yes | Yes | Yes | |
31+
| NTAG 203 | Type2 | Yes | Yes | Yes | |
32+
| NTAG 210u | Type2 | Yes | Yes | Yes | |
33+
| NTAG 210 | Type2 | Yes | Yes | Yes | |
34+
| NTAG 212 | Type2 | Yes | Yes | Yes | |
35+
| NTAG 213 | Type2 | Yes | Yes | Yes | |
36+
| NTAG 215 | Type2 | Yes | Yes | Yes | |
37+
| NTAG 216 | Type2 | Yes | Yes | Yes | |
38+
| ST25TA512B | Type4 | Yes | Yes | Yes | ISO-DEP |
39+
| ST25TA02K | Type4 | Yes | Yes | Yes | ISO-DEP |
40+
| ST25TA16K | Type4 | Yes | Yes | Yes | ISO-DEP |
41+
| ST25TA64K | Type4 | Yes | Yes | Yes | ISO-DEP |
42+
| MIFARE Plus 2K (S/X/EV1/EV2) | None | Yes | Yes | Yes | SL0/SL1/SL3(\*1)|
43+
| MIFARE Plus 4K (S/X/EV1/EV2) | None | Yes | Yes | Yes | SL0/SL1/SL3(\*1)|
44+
| MIFARE Plus SE 1K | None | Yes | Yes | Yes | SL0/SL1/SL3(\*1)|
45+
| MIFARE DESFire 2K (EV1/EV2/EV3) | Type4 | Yes | Yes | Yes | ISO-DEP |
46+
| MIFARE DESFire 4K (EV1/EV2/EV3) | Type4 | Yes | Yes | Yes | ISO-DEP |
47+
| MIFARE DESFire 8K (EV1/EV2/EV3) | Type4 | Yes | Yes | Yes | ISO-DEP |
48+
| MIFARE DESFire Light | Type4 | Yes | Yes | Yes | NDEF is not supported yet |
1849

19-
- [Product Name- MIT](LICENSE)
50+
- \*1 I2C version: MIFARE Plus SL3 operation has issues, SL2 can not R/W.
2051

21-
## Remaining steps(Editorial Staff Look,After following the steps, remember to delete all the content below)
52+
### NFC-B
2253

23-
1. Change [clang format check path](./.github/workflows/clang-format-check.yml#L42-L47).
24-
2. Add License content to [LICENSE](/LICENSE).
25-
3. Change link on line 78 of [bug-report.yml](./.github/ISSUE_TEMPLATE/bug-report.yml#L79).
54+
| PICC Type | NFC Forum Tag (NDEF) | Detect | Identify | Raw R/W | Notes |
55+
|---|---|---|---|---|---|
56+
| Unclassified | None | Yes | Partial | Yes | ISO-DEP transport only |
2657

27-
```cpp
28-
Example
29-
# M5Unit-ENV
58+
### NFC-F
3059

31-
## Overview
60+
| PICC Type | NFC Forum Tag (NDEF) | Detect | Identify | Raw R/W | Notes |
61+
|---|---|---|---|---|---|
62+
| FeliCa Standard | Type3 | Yes | Yes | Yes | |
63+
| FeliCa Lite | Type3 | Yes | Yes | Yes | |
64+
| FeliCa Lite-S | Type3 | Yes | Yes | Yes | |
65+
66+
67+
### NFC-V
68+
69+
| PICC Type | NFC Forum Tag (NDEF) | Detect | Identify | Raw R/W | Notes |
70+
|---|---|---|---|---|---|
71+
| ICODE SLI | Type5 | Yes | Yes | Yes | |
72+
| ICODE SLIX | Type5 | Yes | Yes | Yes | |
73+
| ICODE SLIX2 | Type5 | Yes | Yes | Yes | |
74+
| Tag-it 2048 | Type5 | Yes | Yes | Yes | |
75+
| Tag-it HF-I Standard | Type5 | Yes | Yes | Yes | |
76+
| Tag-it HF-I Plus | Type5 | Yes | Yes | Yes | |
77+
| Tag-it HF-I Pro | Type5 | Yes | Yes | Yes | |
78+
| ST25DV | Type5 | Yes | Yes | Yes | |
79+
80+
## Emulation
3281

33-
### SKU:U001 & U001-B & U001-C
82+
Emulation is supported for NFC-A and NFC-F only.
83+
See examples: [NFCA Emulation](examples/UnitUnified/NFCA/Emulation) and [NFCF Emulation](examples/UnitUnified/NFCF/Emulation)
84+
85+
## Known Issues
86+
87+
- I2C version: MIFARE Plus SL3 operation has issues.
3488

35-
Contains M5Stack-**UNIT ENV** series related case programs.ENV is an environmental sensor with integrated SHT30 and QMP6988 internally to detect temperature, humidity, and atmospheric pressure data.
3689

3790
## Related Link
3891

39-
- [Document & Datasheet](https://docs.m5stack.com/en/unit/envIII)
92+
- [Unit NFC & Datasheet](https://docs.m5stack.com/en/----------)
93+
- [CapHacker & Datasheet](https://docs.m5stack.com/en/---------)
4094

4195
## Required Libraries:
4296

43-
- [Adafruit_BMP280_Library](https://github.com/adafruit/Adafruit_BMP280_Library)
97+
- [M5UnitUnified](https://github.com/m5stack/M5UnitUnified)
98+
- [M5Utility](https://github.com/m5stack/M5Utility)
99+
- [M5HAL](https://github.com/m5stack/M5HAL)
44100

45101
## License
46102

47-
- [M5Unit-ENV - MIT](LICENSE)
48-
```
103+
- [M5Unit-NFC -MIT](LICENSE)
104+
105+
106+
## Examples
107+
See also [examples/UnitUnified](examples/UnitUnified)
108+
109+
## Doxygen document
110+
[GitHub Pages](https://m5stack.github.io/M5Unit-NFC/)
111+
112+
If you want to generate documents on your local machine, execute the following command
113+
114+
```
115+
bash docs/doxy.sh
116+
```
117+
118+
It will output it under docs/html
119+
If you want to output Git commit hashes to html, do it for the git cloned folder.
120+
121+
### Required
122+
- [Doxygen](https://www.doxygen.nl/)
123+
- [pcregrep](https://formulae.brew.sh/formula/pcre2)
124+
- [Git](https://git-scm.com/) (Output commit hash to html)

boards/m5stack-atoms3r.json

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"build": {
3+
"arduino": {
4+
"memory_type": "qio_opi",
5+
"ldscript": "esp32s3_out.ld",
6+
"partitions": "default_8MB.csv"
7+
},
8+
"core": "esp32",
9+
"extra_flags": [
10+
"-DARDUINO_M5STACK_ATOMS3R",
11+
"-DBOARD_HAS_PSRAM",
12+
"-DARDUINO_USB_MODE=1",
13+
"-DARDUINO_USB_CDC_ON_BOOT=1",
14+
"-DARDUINO_RUNNING_CORE=1",
15+
"-DARDUINO_EVENT_RUNNING_CORE=1"
16+
],
17+
"f_cpu": "240000000L",
18+
"f_flash": "80000000L",
19+
"flash_mode": "dio",
20+
"mcu": "esp32s3",
21+
"variant": "m5stack_atoms3"
22+
},
23+
"connectivity": [
24+
"bluetooth",
25+
"wifi"
26+
],
27+
"frameworks": [
28+
"arduino",
29+
"espidf"
30+
],
31+
"name": "M5Stack AtomS3R",
32+
"upload": {
33+
"flash_size": "8MB",
34+
"maximum_ram_size": 327680,
35+
"maximum_size": 8388608,
36+
"require_upload_port": true,
37+
"speed": 460800
38+
},
39+
"url": "https://docs.m5stack.com/en/core/AtomS3R",
40+
"vendor": "M5Stack"
41+
}

boards/m5stack-nanoc6.json

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"build": {
3+
"core": "esp32",
4+
"extra_flags": [
5+
"-DARDUINO_M5STACK_NANOC6"
6+
],
7+
"f_cpu": "160000000L",
8+
"f_flash": "80000000L",
9+
"flash_mode": "qio",
10+
"mcu": "esp32c6",
11+
"variant": "esp32c6"
12+
},
13+
"connectivity": [
14+
"wifi"
15+
],
16+
"debug": {
17+
"openocd_target": "esp32c6.cfg"
18+
},
19+
"frameworks": [
20+
"arduino",
21+
"espidf"
22+
],
23+
"name": "M5Stack NanoC6",
24+
"upload": {
25+
"flash_size": "4MB",
26+
"maximum_ram_size": 327680,
27+
"maximum_size": 4194384,
28+
"require_upload_port": true,
29+
"speed": 460800
30+
},
31+
"url": "https://docs.m5stack.com/en/core/M5NanoC6",
32+
"vendor": "M5Stack"
33+
}

boards/m5stick-cplus2.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"build": {
3+
"arduino":{
4+
"ldscript": "esp32_out.ld",
5+
"partitions": "default_8MB.csv"
6+
},
7+
"core": "esp32",
8+
"extra_flags": [
9+
"-DM5STACK_M5STICK_CPLUS2",
10+
"-DBOARD_HAS_PSRAM",
11+
"-mfix-esp32-psram-cache-issue",
12+
"-mfix-esp32-psram-cache-strategy=memw",
13+
"-DARDUINO_RUNNING_CORE=1",
14+
"-DARDUINO_EVENT_RUNNING_CORE=1"
15+
],
16+
"f_cpu": "240000000L",
17+
"f_flash": "80000000L",
18+
"flash_mode": "dio",
19+
"mcu": "esp32",
20+
"variant": "m5stick_c"
21+
},
22+
"connectivity": [
23+
"wifi",
24+
"bluetooth"
25+
],
26+
"frameworks": [
27+
"arduino",
28+
"espidf"
29+
],
30+
"name": "M5Stick-CPlus2",
31+
"upload": {
32+
"flash_size": "8MB",
33+
"maximum_ram_size": 327680,
34+
"maximum_size": 8388608,
35+
"require_upload_port": true,
36+
"speed": 1500000
37+
},
38+
"url": "https://docs.m5stack.com/en/core/M5StickC%20PLUS2",
39+
"vendor": "M5Stack"
40+
}

0 commit comments

Comments
 (0)