You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Roles: `pinUsageRoles.json` + `npm run sync:pin-roles`
72
+
73
+
Details: [API.md — Pin and port allocation](API.md#pin-and-port-allocation).
74
+
75
+
### Import / snapshot format
76
+
77
+
Logic: `src/configuration/configurationSnapshot.js`. Do not break markers `ESP3D_CONFIG_SNAPSHOT_BEGIN` / `END` without a version bump and migration note in API.md.
78
+
79
+
## Optional: ESP3D reference tree
80
+
81
+
To run `npm run check:esp3d`:
82
+
83
+
```text
84
+
tmp/
85
+
esp3d/ # clone of ESP3D repo
86
+
platformio.ini # optional reference copy
87
+
```
88
+
89
+
## Code style
90
+
91
+
- Match existing patterns in the file you edit (Preact, Spectre CSS, JSON-driven config).
92
+
- Prefer small, focused diffs; avoid unrelated refactors in the same PR.
93
+
- Comments only for non-obvious behaviour (see project conventions in existing modules).
94
+
95
+
## Questions
96
+
97
+
Open a [GitHub issue](https://github.com/luc-github/ESP3D-Configurator/issues) for bugs or feature discussion. For schema questions, cite [API.md](API.md) and the relevant `tabs/*.json` path.
It should be something similar to https://www.repetier.com/firmware/v100/index.php but in one static page so it should work online hosted by github or offline on user PC
- Board **presets** and **import** of a previous `configuration.h` (JSON snapshot at end of file)
14
+
- Pin conflict detection before download
15
+
- Light / dark UI theme
18
16
19
-
> [!WARNING]
20
-
>### Disclaimer
21
-
> The software is provided 'as is,' without any warranty of any kind, expressed or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
22
-
>It is essential that you carefully read and understand this disclaimer before using this software and its components. If you do not agree with any part of this disclaimer, please refrain from using the software.
17
+
## Documentation
18
+
19
+
| Doc | Description |
20
+
|-----|-------------|
21
+
|[API.md](API.md)| Configuration schema, tabs, pins, export/import, presets, planned work |
22
+
|[CONTRIBUTING.md](CONTRIBUTING.md)| Development setup, npm scripts, PR checklist, CI |
23
+
24
+
## Development
25
+
26
+
**Requirements:** Node.js 20+, npm.
27
+
28
+
```bash
29
+
npm ci
30
+
npm run dev # local development
31
+
npm run build # production bundle in build/
32
+
```
33
+
34
+
**Quality checks (run before a PR):**
35
+
36
+
```bash
37
+
npm run validate:config
38
+
npm run build
39
+
```
40
+
41
+
CI runs the same steps on GitHub Actions (see `.github/workflows/ci.yml`).
42
+
43
+
### Stack
23
44
24
-
The configurator is available [here](https://luc-github.github.io/)
The UI reuses patterns from ESP3D-WebUI to keep maintenance aligned across projects.
50
+
51
+
## Using the configurator (makers)
52
+
53
+
1. Walk the wizard tabs and set your board (MCU, flash, WiFi, pins, …).
54
+
2. On **Download**, resolve any **pin conflicts**, then download `configuration.h` and `platformio.ini`.
55
+
3. To restore settings later: **Features** → **Import configuration.h** (file must have been generated by this tool so the JSON snapshot is present).
56
+
57
+
See [API.md — Configuration snapshot](API.md#configuration-snapshot-in-configurationh-only) for technical details.
58
+
59
+
## Project history
60
+
61
+
GitHub issue forms were dropped in favour of a **single static page** (works hosted on GitHub Pages or offline), similar in spirit to [Repetier’s firmware configurator](https://www.repetier.com/firmware/v100/index.php).
62
+
63
+
> [!WARNING]
64
+
> ### Disclaimer
65
+
> The software is provided "as is," without any warranty of any kind, expressed or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
66
+
> It is essential that you carefully read and understand this disclaimer before using this software and its components. If you do not agree with any part of this disclaimer, please refrain from using the software.
25
67
26
68
## Contributors ✨
27
69
@@ -43,4 +85,4 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
43
85
44
86
<!-- ALL-CONTRIBUTORS-LIST:END -->
45
87
46
-
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
88
+
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome — see [CONTRIBUTING.md](CONTRIBUTING.md).
When **Camera type = Custom**, the configurator emits camera GPIO overrides in `configuration.h`:
4
+
5
+
```c
6
+
#defineCAMERA_DEVICE CAMERA_MODEL_CUSTOM
7
+
#define PWDN_GPIO_NUM 32
8
+
#define XCLK_GPIO_NUM 0
9
+
// ...
10
+
```
11
+
12
+
ESP3D loads `configuration.h` before `esp3d_pins.h`. The firmware **CUSTOM** pin block must use `#ifndef` / `#define` / `#endif` so these values take effect (see ESP3D `esp3d/src/include/esp3d_pins.h`).
13
+
14
+
Predefined models use fixed maps in firmware; the configurator shows those pins read-only from `src/configuration/cameraPinMaps.json`.
0 commit comments