diff --git a/src/components/inputs/FirmwareRetractionSettingsInput.vue b/src/components/inputs/FirmwareRetractionSettingsInput.vue
new file mode 100644
index 000000000..4ac91ded1
--- /dev/null
+++ b/src/components/inputs/FirmwareRetractionSettingsInput.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/inputs/MachineLimitsInput.vue b/src/components/inputs/MotionSettingsInput.vue
similarity index 92%
rename from src/components/inputs/MachineLimitsInput.vue
rename to src/components/inputs/MotionSettingsInput.vue
index 8b835b2c6..27b7148dc 100644
--- a/src/components/inputs/MachineLimitsInput.vue
+++ b/src/components/inputs/MotionSettingsInput.vue
@@ -12,7 +12,8 @@
outlined
dense
:append-icon="this.value !== this.defaultValue ? 'mdi-refresh' : ''"
- :error="this.value > this.defaultValue"
+ :error="this.value <= 0"
+ min="1"
@click:append="resetLimit"
hide-details
>
@@ -25,7 +26,7 @@ import {Mixins, Prop, Watch} from 'vue-property-decorator'
import BaseMixin from '@/components/mixins/base'
@Component
-export default class MachineLimitsInput extends Mixins(BaseMixin) {
+export default class MotionSettingsInput extends Mixins(BaseMixin) {
private value: any = 0
@Prop({ type: String, required: true }) readonly label!: string
diff --git a/src/components/mixins/dashboard.ts b/src/components/mixins/dashboard.ts
index 2ce02768b..0f7804422 100644
--- a/src/components/mixins/dashboard.ts
+++ b/src/components/mixins/dashboard.ts
@@ -82,6 +82,13 @@ export default class DashboardMixin extends BaseMixin {
return (group) ? group.name : 'Macrogroup'
}
- return this.$t('Panels.'+capitalize(name)+'Panel.Headline')
+ if (name.includes('-')) {
+ let panelName = ''
+ const subStrings = name.split('-')
+ subStrings.forEach((subStr) => {panelName += capitalize(subStr)})
+ return this.$t('Panels.' + panelName + 'Panel.Headline')
+ }
+
+ return this.$t('Panels.' + capitalize(name) + 'Panel.Headline')
}
}
\ No newline at end of file
diff --git a/src/components/panels/Machine/LimitsPanel.vue b/src/components/panels/Machine/LimitsPanel.vue
deleted file mode 100644
index 2ee1bb41b..000000000
--- a/src/components/panels/Machine/LimitsPanel.vue
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/panels/MachineSettings/FirmwareRetractionSettings.vue b/src/components/panels/MachineSettings/FirmwareRetractionSettings.vue
new file mode 100644
index 000000000..5164f4f0f
--- /dev/null
+++ b/src/components/panels/MachineSettings/FirmwareRetractionSettings.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/panels/MachineSettings/MachineSettingsPanel.vue b/src/components/panels/MachineSettings/MachineSettingsPanel.vue
new file mode 100644
index 000000000..0c7e82380
--- /dev/null
+++ b/src/components/panels/MachineSettings/MachineSettingsPanel.vue
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/panels/MachineSettings/MotionSettings.vue b/src/components/panels/MachineSettings/MotionSettings.vue
new file mode 100644
index 000000000..7b250cdff
--- /dev/null
+++ b/src/components/panels/MachineSettings/MotionSettings.vue
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/ui/SubPanel.vue b/src/components/ui/SubPanel.vue
new file mode 100644
index 000000000..fc5eb8ac2
--- /dev/null
+++ b/src/components/ui/SubPanel.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+ {{ expand ? iconExpanded : iconCollapsed }}
+ {{ title }}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/locales/en.json b/src/locales/en.json
index 02ab18256..a2eee2e88 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -367,6 +367,23 @@
"DeprecatedOption": "Option '{option}' in section '{section}' is deprecated and will be removed in a future release.",
"DeprecatedValue": "Value '{value}' in option '{option}' in section '{section}' is deprecated and will be removed in a future release."
},
+ "MachineSettingsPanel": {
+ "Headline": "Machine Settings",
+ "MotionSettings": {
+ "Motion": "Motion",
+ "Velocity": "Velocity",
+ "Acceleration": "Acceleration",
+ "Deceleration": "Deceleration",
+ "SquareCornerVelocity": "Square Corner Velocity"
+ },
+ "FirmwareRetractionSettings": {
+ "FirmwareRetraction": "Firmware Retraction",
+ "RetractLength": "Retract Length",
+ "RetractSpeed": "Retract Speed",
+ "UnretractExtraLength": "Unretract Extra Length",
+ "UnretractSpeed": "Unretract Speed"
+ }
+ },
"MiniconsolePanel": {
"Headline": "Console",
"SetupConsole": "Setup Console",
@@ -528,13 +545,6 @@
"open": "OPEN",
"EndstopInfo": "Press the sync-button on the right-bottom to load the current endstop status."
},
- "LimitsPanel": {
- "MachineLimits": "Machine Limits",
- "Velocity": "Velocity",
- "Acceleration": "Acceleration",
- "Deceleration": "Deceleration",
- "SquareCornerVelocity": "Square corner velocity"
- },
"LogfilesPanel": {
"Logfiles": "Logfiles"
},
diff --git a/src/pages/Dashboard.vue b/src/pages/Dashboard.vue
index 99d984915..8466afd05 100644
--- a/src/pages/Dashboard.vue
+++ b/src/pages/Dashboard.vue
@@ -59,36 +59,38 @@
import Component from 'vue-class-component'
import {Mixins} from 'vue-property-decorator'
-import MinSettingsPanel from '@/components/panels/MinSettingsPanel.vue'
+import ControlPanel from '@/components/panels/ControlPanel.vue'
+import DashboardMixin from '@/components/mixins/dashboard'
import KlippyStatePanel from '@/components/panels/KlippyStatePanel.vue'
+import MachineSettingsPanel from '@/components/panels/MachineSettings/MachineSettingsPanel.vue'
+import MacrogroupPanel from '@/components/panels/MacrogroupPanel.vue'
+import MacrosPanel from '@/components/panels/MacrosPanel.vue'
+import MiniconsolePanel from '@/components/panels/MiniconsolePanel.vue'
+import MinSettingsPanel from '@/components/panels/MinSettingsPanel.vue'
+import MiscellaneousPanel from '@/components/panels/MiscellaneousPanel.vue'
import MoonrakerStatePanel from '@/components/panels/MoonrakerStatePanel.vue'
+import PrintsettingsPanel from '@/components/panels/PrintsettingsPanel.vue'
import StatusPanel from '@/components/panels/StatusPanel.vue'
import ToolsPanel from '@/components/panels/ToolsPanel.vue'
import WebcamPanel from '@/components/panels/WebcamPanel.vue'
import ZoffsetPanel from '@/components/panels/ZoffsetPanel.vue'
-import ControlPanel from '@/components/panels/ControlPanel.vue'
-import MacrosPanel from '@/components/panels/MacrosPanel.vue'
-import MacrogroupPanel from '@/components/panels/MacrogroupPanel.vue'
-import MiscellaneousPanel from '@/components/panels/MiscellaneousPanel.vue'
-import MiniconsolePanel from '@/components/panels/MiniconsolePanel.vue'
-import PrintsettingsPanel from '@/components/panels/PrintsettingsPanel.vue'
-import DashboardMixin from '@/components/mixins/dashboard'
@Component({
components: {
- PrintsettingsPanel,
- MiniconsolePanel,
- MiscellaneousPanel,
ControlPanel,
- MacrosPanel,
+ KlippyStatePanel,
+ MachineSettingsPanel,
MacrogroupPanel,
- ZoffsetPanel,
- WebcamPanel,
- ToolsPanel,
- StatusPanel,
+ MacrosPanel,
+ MiniconsolePanel,
+ MinSettingsPanel,
+ MiscellaneousPanel,
MoonrakerStatePanel,
- KlippyStatePanel,
- MinSettingsPanel
+ PrintsettingsPanel,
+ StatusPanel,
+ ToolsPanel,
+ WebcamPanel,
+ ZoffsetPanel
}
})
export default class PageDashboard extends Mixins(DashboardMixin) {
diff --git a/src/pages/Machine.vue b/src/pages/Machine.vue
index dde575417..a1b02028a 100644
--- a/src/pages/Machine.vue
+++ b/src/pages/Machine.vue
@@ -6,7 +6,6 @@
-
@@ -26,14 +25,20 @@
import {Component, Mixins} from 'vue-property-decorator'
import BaseMixin from '@/components/mixins/base'
import KlippyStatePanel from '@/components/panels/KlippyStatePanel.vue'
-import LimitsPanel from '@/components/panels/Machine/LimitsPanel.vue'
import UpdatePanel from '@/components/panels/Machine/UpdatePanel.vue'
import LogfilesPanel from '@/components/panels/Machine/LogfilesPanel.vue'
import EndstopPanel from '@/components/panels/Machine/EndstopPanel.vue'
import ConfigFilesPanel from '@/components/panels/Machine/ConfigFilesPanel.vue'
import SystemPanel from '@/components/panels/Machine/SystemPanel.vue'
@Component({
- components: {SystemPanel, ConfigFilesPanel, EndstopPanel, LogfilesPanel, UpdatePanel, LimitsPanel, KlippyStatePanel}
+ components: {
+ SystemPanel,
+ ConfigFilesPanel,
+ EndstopPanel,
+ LogfilesPanel,
+ UpdatePanel,
+ KlippyStatePanel
+ }
})
export default class PageMachine extends Mixins(BaseMixin) {
diff --git a/src/plugins/helpers.ts b/src/plugins/helpers.ts
index e36ab7856..cc64bb33a 100644
--- a/src/plugins/helpers.ts
+++ b/src/plugins/helpers.ts
@@ -46,6 +46,7 @@ export const convertPanelnameToIcon = (name: string): string => {
case 'miscellaneous': return 'mdi-dip-switch'
case 'tools': return 'mdi-thermometer-lines'
case 'miniconsole': return 'mdi-console-line'
+ case 'machine-settings': return 'mdi-engine'
default: return 'mdi-information'
}
diff --git a/src/store/gui/index.ts b/src/store/gui/index.ts
index e85d3fad0..534c06844 100644
--- a/src/store/gui/index.ts
+++ b/src/store/gui/index.ts
@@ -64,6 +64,7 @@ export const getDefaultState = (): GuiState => {
{ 'name': 'control', visable: true },
{ 'name': 'macros', visable: true },
{ 'name': 'printsettings', visable: true },
+ { 'name': 'machine-settings', visable: true },
{ 'name': 'miscellaneous', visable: true },
{ 'name': 'tools', visable: true },
{ 'name': 'miniconsole', visable: false },
@@ -74,6 +75,7 @@ export const getDefaultState = (): GuiState => {
{ 'name': 'control', visable: true },
{ 'name': 'macros', visable: true },
{ 'name': 'printsettings', visable: true },
+ { 'name': 'machine-settings', visable: true },
{ 'name': 'miscellaneous', visable: true },
],
tabletLayout2: [
@@ -86,6 +88,7 @@ export const getDefaultState = (): GuiState => {
{ 'name': 'control', visable: true },
{ 'name': 'macros', visable: true },
{ 'name': 'printsettings', visable: true },
+ { 'name': 'machine-settings', visable: true },
{ 'name': 'miscellaneous', visable: true },
],
desktopLayout2: [
@@ -101,6 +104,7 @@ export const getDefaultState = (): GuiState => {
widescreenLayout2: [
{ 'name': 'tools', visable: true },
{ 'name': 'printsettings', visable: true },
+ { 'name': 'machine-settings', visable: true },
],
widescreenLayout3: [
{ 'name': 'webcam', visable: true },
diff --git a/src/store/variables.ts b/src/store/variables.ts
index 1f59edd44..7a3ac5476 100644
--- a/src/store/variables.ts
+++ b/src/store/variables.ts
@@ -83,6 +83,7 @@ export const maxEventHistory = 500
export const allDashboardPanels = [
'control',
'macros',
+ 'machine-settings',
'miniconsole',
'miscellaneous',
'printsettings',