├── .gitignore
├── .vscode
└── extensions.json
├── README.md
├── env.d.ts
├── index.html
├── package-lock.json
├── package.json
├── public
├── favicon.ico
├── templates.json
└── templates
│ ├── bed.ejs
│ ├── config
│ ├── accelerometers.ejs
│ ├── accessories.ejs
│ ├── axes.ejs
│ ├── compensation
│ │ ├── index.ejs
│ │ ├── mesh.ejs
│ │ └── orthogonal.ejs
│ ├── drivers
│ │ ├── closedLoop.ejs
│ │ ├── currentReduction.ejs
│ │ ├── external.ejs
│ │ ├── index.ejs
│ │ └── smart.ejs
│ ├── endstops.ejs
│ ├── extruders.ejs
│ ├── fans.ejs
│ ├── general.ejs
│ ├── heaters.ejs
│ ├── index.ejs
│ ├── kinematics.ejs
│ ├── lasers.ejs
│ ├── ledStrips.ejs
│ ├── miscellaneous.ejs
│ ├── network.ejs
│ ├── probes.ejs
│ ├── sensors.ejs
│ ├── spindles.ejs
│ └── tools.ejs
│ ├── deployprobe.ejs
│ ├── homeall
│ ├── cartesian.ejs
│ ├── corexy.ejs
│ ├── corexz.ejs
│ ├── hangprinter.ejs
│ ├── index.ejs
│ ├── polar.ejs
│ └── scara.ejs
│ ├── homeaxis.ejs
│ ├── homedelta.ejs
│ ├── pause.ejs
│ ├── resume.ejs
│ ├── retractprobe.ejs
│ ├── runonce.ejs
│ ├── tfree.ejs
│ ├── tpost.ejs
│ └── tpre.ejs
├── scss
└── style.scss
├── src
├── App.vue
├── assets
│ └── logo.svg
├── components
│ ├── Card.vue
│ ├── ConfigSection.vue
│ ├── ProgressIcon.vue
│ ├── Sidebar.vue
│ ├── calculators
│ │ ├── BaseCalculator.vue
│ │ ├── StealthChopCalculator.vue
│ │ ├── StepsPerMmCalculator.vue
│ │ └── ThermistorCalculator.vue
│ ├── dialogs
│ │ ├── BaseDialog.vue
│ │ ├── CoreKinematicsDialog.vue
│ │ ├── DeltaKinematicsDialog.vue
│ │ ├── HangprinterKinematicsDialog.vue
│ │ ├── HeaterModelDialog.vue
│ │ ├── HeaterMonitorsDialog.vue
│ │ ├── PolarKinematicsDialog.vue
│ │ ├── ScaraKinematicsDialog.vue
│ │ └── ToolDialog.vue
│ ├── inputs
│ │ ├── CheckInput.vue
│ │ ├── DriverList.vue
│ │ ├── DriverSelection.vue
│ │ ├── ExtruderList.vue
│ │ ├── FanList.vue
│ │ ├── HeaterList.vue
│ │ ├── HomingSpeedsInput.vue
│ │ ├── IpInput.vue
│ │ ├── NumberInput.vue
│ │ ├── OptionalNumberInput.vue
│ │ ├── PortInput.vue
│ │ ├── ProbeTypeInput.vue
│ │ ├── RatioInput.vue
│ │ ├── SelectInput.vue
│ │ ├── SensorList.vue
│ │ ├── TextInput.vue
│ │ └── TwoNumberInput.vue
│ ├── monaco
│ │ ├── GCodeInput.vue
│ │ ├── GCodeOutput.vue
│ │ ├── monaco-gcode.ts
│ │ └── monaco-worker.ts
│ └── sections
│ │ ├── Accelerometers.vue
│ │ ├── Accessories.vue
│ │ ├── Axes.vue
│ │ ├── Compensation.vue
│ │ ├── Drivers.vue
│ │ ├── Endstops.vue
│ │ ├── Expansion.vue
│ │ ├── Extruders.vue
│ │ ├── Fans.vue
│ │ ├── General.vue
│ │ ├── Heaters.vue
│ │ ├── Kinematics.vue
│ │ ├── Lasers.vue
│ │ ├── LedStrips.vue
│ │ ├── Miscellaneous.vue
│ │ ├── Network.vue
│ │ ├── Probes.vue
│ │ ├── Sensors.vue
│ │ ├── Spindles.vue
│ │ └── Tools.vue
├── directives
│ ├── VPreset.ts
│ └── VTitle.ts
├── main.ts
├── router
│ └── index.ts
├── shims-vue.d.ts
├── store
│ ├── BaseBoard.ts
│ ├── Boards.ts
│ ├── ExpansionBoards.ts
│ ├── compatibility
│ │ ├── LegacyBoards.ts
│ │ ├── LegacyExpansionBoards.ts
│ │ ├── LegacyPreset.ts
│ │ └── index.ts
│ ├── defaults.ts
│ ├── index.ts
│ ├── model
│ │ ├── ConfigDriver.ts
│ │ ├── ConfigPort.ts
│ │ ├── ConfigTempSensor.ts
│ │ ├── ConfigToolModel.ts
│ │ └── index.ts
│ ├── render.ts
│ └── sections.ts
├── utils.ts
└── views
│ ├── ConfigurationView.vue
│ ├── PresetsView.vue
│ ├── StartView.vue
│ └── SummaryView.vue
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | .DS_Store
12 | dist
13 | dist-ssr
14 | coverage
15 | *.local
16 |
17 | /cypress/videos/
18 | /cypress/screenshots/
19 |
20 | # Editor directories and files
21 | .vscode/*
22 | !.vscode/extensions.json
23 | .idea
24 | *.suo
25 | *.ntvs*
26 | *.njsproj
27 | *.sln
28 | *.sw?
29 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar"]
3 | }
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ConfigTool
2 |
3 | This is the new version of the RepRapFirmware Configuration Tool. It is written in TypeScript using the Vue 3 and Bootstrap-Vue libraries.
4 |
5 | ## Recommended IDE Setup
6 |
7 | Vue recommends [VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar).
8 |
9 | ## Type Support for `.vue` Imports in TS
10 |
11 | TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types.
12 |
13 | If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:
14 |
15 | 1. Disable the built-in TypeScript Extension
16 | 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette
17 | 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
18 | 2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
19 |
20 | ## Customize configuration
21 |
22 | See [Vite Configuration Reference](https://vitejs.dev/config/).
23 |
24 | ## Project Setup
25 |
26 | ```sh
27 | npm install
28 | ```
29 |
30 | ### Compile and Hot-Reload for Development
31 |
32 | ```sh
33 | npm run dev
34 | ```
35 |
36 | ### Type-Check, Compile and Minify for Production
37 |
38 | ```sh
39 | npm run build
40 | ```
41 |
--------------------------------------------------------------------------------
/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
11 | |
13 |
9 | Tower 10 | | 11 |12 | Diagonal Rod Length 13 | | 14 |15 | Endstop Adjustment 16 | | 17 |
---|---|---|
22 | {{ getTowerCaption(index) }} 23 | | 24 |
25 | |
28 |
29 | |
33 |
27 | Number 28 | | 29 |30 | Type 31 | | 32 |33 | Control Port 34 | | 35 |36 | 37 | | 38 |
---|---|---|---|
43 | {{ index }} 44 | | 45 |
46 | |
49 |
50 | |
53 | 54 | 57 | | 58 |
24 | Spindle 25 | | 26 |27 | PWM Port 28 | | 29 |30 | Forwards Port 31 | | 32 |33 | Reverse Port 34 | | 35 |36 | Minimum RPM 37 | | 38 |39 | Maximum RPM 40 | | 41 | 52 |53 | 54 | | 55 |
---|---|---|---|---|---|---|
61 | |
65 |
66 | |
68 |
69 | |
71 |
72 | |
74 |
75 | |
78 |
79 | |
82 |
96 | 97 | 101 | | 102 |