开源改变世界!!

U 作为第 4 轴 #716

推推 grbl 2年前 (2023-02-03) 76次浏览
关闭
rcKeith 打开了这个问题 2021 年 9 月 17 日 · 4条评论
关闭

U 作为第 4 轴#716

rcKeith 打开了这个问题 2021 年 9 月 17 日 · 4条评论

注释

U 作为第 4 轴 #716

是否可以将第 4 个轴之一更改为 U:我使用 GRBL-Mega-5X 固件,我可以更改为使用 A:但想知道是否可以分叉一个版本以使用 U 而不是 A。更喜欢保留固件如果可能的话,一个人。
浏览了代码,但我不确定我会在哪里进行更改,大概是在轴小部件中。
非常感谢
软件看起来非常令人印象深刻。
基思

U 作为第 4 轴 #716
合作者

以下是您需要更改的文件,但我不确定是否涵盖了所有必要的更改。

https://github.com/cncjs/cncjs/blob/master/src/server/controllers/Grbl/GrblLineParserResultStatus.js

        // Machine Position (v0.9, v1.1)
        if (_.has(result, 'MPos')) {
            const axes = ['x', 'y', 'z', 'a', 'b', 'c'];
            const mPos = _.get(result, 'MPos', ['0.000', '0.000', '0.000']); // Defaults to [x, y, z]
            payload.mpos = {};
            for (let i = 0; i < mPos.length; ++i) {
                payload.mpos[axes[i]] = mPos[i];
            }
        }

        // Work Position (v0.9, v1.1)
        if (_.has(result, 'WPos')) {
            const axes = ['x', 'y', 'z', 'a', 'b', 'c'];
            const wPos = _.get(result, 'WPos', ['0.000', '0.000', '0.000']); // Defaults to [x, y, z]
            payload.wpos = {};
            for (let i = 0; i < wPos.length; ++i) {
                payload.wpos[axes[i]] = wPos[i];
            }
        }

        // Work Coordinate Offset (v1.1)
        if (_.has(result, 'WCO')) {
            const axes = ['x', 'y', 'z', 'a', 'b', 'c'];
            const wco = _.get(result, 'WCO', ['0.000', '0.000', '0.000']); // Defaults to [x, y, z]
            payload.wco = {};
            for (let i = 0; i < wco.length; ++i) {
                payload.wco[axes[i]] = wco[i];
            }

https://github.com/cncjs/cncjs/blob/6f2ec1574eace3c99b4a18c3de199b222524d0e1/src/server/controllers/Grbl/GrblLineParserResultParameters.js

        // [Gxx:0.000]
        const re = /^G\d+$/i;
        if (re.test(name)) {
            const axes = ['x', 'y', 'z', 'a', 'b', 'c'];
            const list = value.split(',');
            payload.value = {};
            for (let i = 0; i < list.length; ++i) {
                payload.value[axes[i]] = list[i];
            }
        }

        // [TLO:0.000]
        if (name === 'TLO') {
            payload.value = value;
        }

        // [PRB:0.000,0.000,1.492:1]
        if (name === 'PRB') {
            const axes = ['x', 'y', 'z', 'a', 'b', 'c'];
            const [str, result] = value.split(':');
            const list = str.split(',');
            payload.value = {};
            payload.value.result = Number(result);
            for (let i = 0; i < list.length; ++i) {
                payload.value[axes[i]] = list[i];
            }
        }

https://github.com/cncjs/cncjs/blob/master/src/app/lib/combokeys.js

const AXIS_A = 'a';

https://github.com/cncjs/cncjs/blob/master/src/app/constants/index.js

export const AXIS_A = 'a';