This commit is contained in:
sanjayk03-dev
2024-07-22 21:08:07 +05:30
6 changed files with 62 additions and 4 deletions

View File

@@ -240,9 +240,10 @@ module.exports = {
if (!homed && this.ask_home) {
this.ask_home = false;
SvelteComponents.showDialog("HomeMachine", {
home: () => this.home()
});
this.home()
// SvelteComponents.showDialog("HomeMachine", {
// home: () => this.home()
// });
}
return {

View File

@@ -725,7 +725,9 @@ module.exports = {
return;
}
const macrosList = this.state.macros_list.map(item => item.file_name);
var files_to_delete = selected_folder.files.map(item => item.file_name).filter(item => !macrosList.includes(item));
var files_to_delete = selected_folder.files
.map(item => item.file_name)
.filter(item => !macrosList.includes(item));
if (selected_folder.name != "default") {
this.config.gcode_list = this.config.gcode_list.filter(item => item.name != this.state.folder);
} else {

View File

@@ -79,6 +79,31 @@ class Config(object):
def get(self, name, default = None):
return self.values.get(name, default)
def set(self, name, default = None):
path = self.ctrl.get_path('config.json')
try:
if os.path.exists(path):
with open(path, 'r') as f: config_data = json.load(f)
else: config_data = {'version': self.version}
if name in config_data:
existing_value = config_data[name]
if isinstance(existing_value, dict) and isinstance(default, dict):
config_data[name] = {**existing_value, **default}
# existing_value.update(default)
elif isinstance(existing_value, list) and isinstance(default, list):
config_data[name].extend(default)
elif isinstance(existing_value, list):
config_data[name].append(default)
else:
config_data[name] = default
else:
config_data[name] = default
self.save(config_data)
self.log.info('105: name:{} default:{}'.format(name, default))
except Exception: self.log.exception('Internal error: Failed to upgrade config')
def save(self, config):
self._upgrade(config)

View File

@@ -275,6 +275,7 @@ class Mach(Comm):
def home(self, axis, position = None):
state = self.ctrl.state
config = self.ctrl.config
if axis is None: axes = 'zxyabc' # TODO This should be configurable
else: axes = '%c' % axis
@@ -312,6 +313,12 @@ class Mach(Comm):
self.planner.mdi(gcode, False)
super().resume()
if 'offset_' + axis and axis + 'p' in config.values:
state.set('offset_' + axis, config.values['offset_' + axis])
state.set(axis + 'p', 0)
self.log.info('Set the state value from config: {} = {}'.format('offset_' + axis , config.values['offset_' + axis]))
else:
self.log.info('Values is not present in config:{}'.format('offset_' + axis))
def unhome(self, axis): self.mdi('G28.2 %c0' % axis)

View File

@@ -230,6 +230,14 @@ class State(object):
def set(self, name, value):
name = self.resolve(name)
keys = ['offset_x', 'offset_y', 'offset_z']
if name in keys and 'cycle' in self.vars:
self.log.info('236 cycle:{} name:{} value:{}'.format(self.vars['cycle'], name, value))
if self.vars['cycle'] == 'mdi':
self.log.info('238 changing data %s : %d , %d' % (name, value, self.vars[name]))
self.ctrl.config.set('axes', {name: value})
if not name in self.vars or self.vars[name] != value:
self.vars[name] = value

View File

@@ -653,6 +653,21 @@
}
},
"axes": {
"offset_x": {
"type": "float",
"default": 0
},
"offset_y": {
"type": "float",
"default": 0
},
"offset_z": {
"type": "float",
"default": 0
}
},
"admin": {
"auto-check-upgrade": {
"type": "bool",