Skip to content

Fix: 40w laser crosshair offset when Run from Luban #2586

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
16
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ export declare type MachineModuleOptions = {
identifier: string;

workRangeOffset?: number[];
moduleOriginOffset?: number[];
};


Expand Down
1 change: 1 addition & 0 deletions src/app/constants/copy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -436,6 +436,7 @@ i18n._('key-App/Settings/MachineSettings-10W Laser');
i18n._('key-App/Settings/MachineSettings-High CNC');
i18n._('key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit');
i18n._('key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit');
i18n._('key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair');

i18n._('key-settings_message-update_not_ava'); // Snapmaker Luban is up to date.
i18n._('key-settings_message-updateAva'); // Updates are available.
Expand Down
5 changes: 3 additions & 2 deletions src/app/constants/machines.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
SnapmakerOriginalMachine,
SnapmakerRayMachine
} from '../machines';
import { quickSwapKitModule, bracingKitModule } from '../machines/snapmaker-2-modules';
import { quickSwapKitModule, bracingKitModule, moduleCrosshair } from '../machines/snapmaker-2-modules';
import {
L20WLaserToolModule,
L2WLaserToolModule,
Expand Down Expand Up @@ -410,7 +410,8 @@ export function getMachineToolOptions(machineIdentifier: string, toolIdentifier:
export function findMachineModule(identifier: string): MachineModule | null {
const availableModules = [
quickSwapKitModule,
bracingKitModule
bracingKitModule,
moduleCrosshair
];

for (const module of availableModules) {
Expand Down
15 changes: 15 additions & 0 deletions src/app/machines/snapmaker-2-modules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ export type BracingKit = MachineModule & {
workRangeOffset?: number[];
};
}
export type ModuleCrosshair = MachineModule & {
metadata: {
moduleOriginOffset?: number[];
};
}

export const quickSwapKitModule: QuickSwapKitModule = {
identifier: 'snapmaker-2.0-quick-swap-module',
Expand All @@ -30,3 +35,13 @@ export const bracingKitModule: BracingKit = {

}
};

export const moduleCrosshair: ModuleCrosshair = {
identifier: 'snapmaker-2.0-module-crosshair',

name: 'key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair',

metadata: {

}
};
6 changes: 5 additions & 1 deletion src/app/machines/snapmaker-a350.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Machine, MachineType } from '@snapmaker/luban-platform';

import { quickSwapKitModule, bracingKitModule } from './snapmaker-2-modules';
import { quickSwapKitModule, bracingKitModule, moduleCrosshair } from './snapmaker-2-modules';
import {
L20WLaserToolModule,
L2WLaserToolModule,
Expand Down Expand Up @@ -138,6 +138,10 @@ export const machine: Machine = {
{
identifier: bracingKitModule.identifier,
workRangeOffset: [0, -12, -6],
},
{
identifier: moduleCrosshair.identifier,
moduleOriginOffset: [-21.6, 0.4, 0],
}
],

Expand Down
1 change: 1 addition & 0 deletions src/app/resources/i18n/cs/resource.json
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@
"key-App/Settings/MachineSettings-Modules": "",
"key-App/Settings/MachineSettings-Single Extruder Toolhead": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit": "",
"key-App/Settings/MachineSettings-Standard CNC": "",
"key-App/Settings/Model Examination": "",
Expand Down
1 change: 1 addition & 0 deletions src/app/resources/i18n/de/resource.json
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@
"key-App/Settings/MachineSettings-Modules": "Modules",
"key-App/Settings/MachineSettings-Single Extruder Toolhead": "Einzelner Extruder",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit": "",
"key-App/Settings/MachineSettings-Standard CNC": "Norm",
"key-App/Settings/Model Examination": "Modellprüfung",
Expand Down
1 change: 1 addition & 0 deletions src/app/resources/i18n/en/resource.json
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@
"key-App/Settings/MachineSettings-Modules": "Modules",
"key-App/Settings/MachineSettings-Single Extruder Toolhead": "Single Extrusion",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit": "Snapmaker 2.0 Bracing Kit",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair": "Snapmaker 2.0 Module Crosshair",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit": "Snapmaker 2.0 Quick Swap Kit",
"key-App/Settings/MachineSettings-Standard CNC": "Standard",
"key-App/Settings/Model Examination": "Model Examination",
Expand Down
1 change: 1 addition & 0 deletions src/app/resources/i18n/es/resource.json
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@
"key-App/Settings/MachineSettings-Modules": "",
"key-App/Settings/MachineSettings-Single Extruder Toolhead": "Extrusor simple",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit": "",
"key-App/Settings/MachineSettings-Standard CNC": "Estándar",
"key-App/Settings/Model Examination": "",
Expand Down
1 change: 1 addition & 0 deletions src/app/resources/i18n/fr/resource.json
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@
"key-App/Settings/MachineSettings-Modules": "",
"key-App/Settings/MachineSettings-Single Extruder Toolhead": "Extrudeuse unique",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit": "",
"key-App/Settings/MachineSettings-Standard CNC": "Standard",
"key-App/Settings/Model Examination": "",
Expand Down
1 change: 1 addition & 0 deletions src/app/resources/i18n/hu/resource.json
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@
"key-App/Settings/MachineSettings-Modules": "",
"key-App/Settings/MachineSettings-Single Extruder Toolhead": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit": "",
"key-App/Settings/MachineSettings-Standard CNC": "",
"key-App/Settings/Model Examination": "",
Expand Down
1 change: 1 addition & 0 deletions src/app/resources/i18n/it/resource.json
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@
"key-App/Settings/MachineSettings-Modules": "Modules",
"key-App/Settings/MachineSettings-Single Extruder Toolhead": "Estrusore singolo",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit": "",
"key-App/Settings/MachineSettings-Standard CNC": "Standard",
"key-App/Settings/Model Examination": "Model Examination",
Expand Down
1 change: 1 addition & 0 deletions src/app/resources/i18n/ja/resource.json
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@
"key-App/Settings/MachineSettings-Modules": "モジュール",
"key-App/Settings/MachineSettings-Single Extruder Toolhead": "シングル押出機",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit": "",
"key-App/Settings/MachineSettings-Standard CNC": "標準",
"key-App/Settings/Model Examination": "モデル検査",
Expand Down
1 change: 1 addition & 0 deletions src/app/resources/i18n/ko/resource.json
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@
"key-App/Settings/MachineSettings-Modules": "",
"key-App/Settings/MachineSettings-Single Extruder Toolhead": "단일 압출기",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit": "",
"key-App/Settings/MachineSettings-Standard CNC": "표준",
"key-App/Settings/Model Examination": "",
Expand Down
1 change: 1 addition & 0 deletions src/app/resources/i18n/pt-br/resource.json
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@
"key-App/Settings/MachineSettings-Modules": "",
"key-App/Settings/MachineSettings-Single Extruder Toolhead": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit": "",
"key-App/Settings/MachineSettings-Standard CNC": "",
"key-App/Settings/Model Examination": "",
Expand Down
1 change: 1 addition & 0 deletions src/app/resources/i18n/ru/resource.json
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@
"key-App/Settings/MachineSettings-Modules": "",
"key-App/Settings/MachineSettings-Single Extruder Toolhead": "Single Extruder",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit": "",
"key-App/Settings/MachineSettings-Standard CNC": "Standard",
"key-App/Settings/Model Examination": "",
Expand Down
1 change: 1 addition & 0 deletions src/app/resources/i18n/uk/resource.json
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@
"key-App/Settings/MachineSettings-Modules": "Модулі",
"key-App/Settings/MachineSettings-Single Extruder Toolhead": "Одинарний екструдер",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit": "",
"key-App/Settings/MachineSettings-Standard CNC": "Стандартний",
"key-App/Settings/Model Examination": "Перевірка моделі",
Expand Down
1 change: 1 addition & 0 deletions src/app/resources/i18n/zh-CN/resource.json
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@
"key-App/Settings/MachineSettings-Modules": "模组",
"key-App/Settings/MachineSettings-Single Extruder Toolhead": "单喷头",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit": "直线模组加固套件",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit": "快拆套件",
"key-App/Settings/MachineSettings-Standard CNC": "标准",
"key-App/Settings/Model Examination": "模型检测",
Expand Down
1 change: 1 addition & 0 deletions src/app/resources/i18n/zh-tw/resource.json
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@
"key-App/Settings/MachineSettings-Modules": "",
"key-App/Settings/MachineSettings-Single Extruder Toolhead": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Bracing Kit": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Module Crosshair": "",
"key-App/Settings/MachineSettings-Snapmaker 2.0 Quick Swap Kit": "",
"key-App/Settings/MachineSettings-Standard CNC": "",
"key-App/Settings/Model Examination": "",
Expand Down
14 changes: 14 additions & 0 deletions src/app/ui/widgets/ConnectionControl/Control.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,18 @@ const Control: React.FC<ConnectionControlProps> = ({ widgetId, isNotInWorkspace,

const { isConnected } = useSelector((state: RootState) => state.workspace);
const { headType } = useSelector((state: RootState) => state.workspace);
const moduleOriginOffset = useSelector((state: RootState) => {
const rtnModuleOriginOffset = { x: 0, y: 0, z: 0 };
const modules = state.machine.activeMachine?.metadata?.modules || [];
for (const module of modules) {
if (module.moduleOriginOffset) {
rtnModuleOriginOffset.x += module.moduleOriginOffset[0];
rtnModuleOriginOffset.y += module.moduleOriginOffset[1];
rtnModuleOriginOffset.z += module.moduleOriginOffset[2];
}
}
return rtnModuleOriginOffset;
});

const server: MachineAgent = useSelector((state: RootState) => state.workspace.server);
const {
Expand Down Expand Up @@ -439,6 +451,7 @@ const Control: React.FC<ConnectionControlProps> = ({ widgetId, isNotInWorkspace,
<DisplayPanel
workPosition={workPosition}
originOffset={state.originOffset}
moduleOriginOffset={moduleOriginOffset}
headType={headType}
executeGcode={actions.executeGcode}
state={state}
Expand Down Expand Up @@ -466,6 +479,7 @@ const Control: React.FC<ConnectionControlProps> = ({ widgetId, isNotInWorkspace,
state={state}
workPosition={workPosition}
originOffset={state.originOffset}
moduleOriginOffset={moduleOriginOffset}
actions={actions}
executeGcode={actions.executeGcode}
isNotInWorkspace={isNotInWorkspace}
Expand Down
Loading