diff --git a/src/app/src/config/eeprom/altmill/index.ts b/src/app/src/config/eeprom/altmill/index.ts index 1eeb2f482..f9fcc4bed 100644 --- a/src/app/src/config/eeprom/altmill/index.ts +++ b/src/app/src/config/eeprom/altmill/index.ts @@ -1,4 +1,4 @@ -import { EEPROMSettings } from "definitions/firmware"; +import { EEPROMSettings } from 'app/definitions/firmware'; export const ALTMILL_DEFAULT: EEPROMSettings = { $0: '5.0', diff --git a/src/app/src/hooks/useTypedSelector.ts b/src/app/src/hooks/useTypedSelector.ts index 1198cfa59..9d1655517 100644 --- a/src/app/src/hooks/useTypedSelector.ts +++ b/src/app/src/hooks/useTypedSelector.ts @@ -1,4 +1,5 @@ import { TypedUseSelectorHook, useSelector } from 'react-redux'; -import { RootState } from 'store/redux'; + +import { RootState } from 'app/store/redux'; export const useTypedSelector: TypedUseSelectorHook = useSelector; diff --git a/src/app/src/store/definitions.ts b/src/app/src/store/definitions.ts index fade917f5..1b137c922 100644 --- a/src/app/src/store/definitions.ts +++ b/src/app/src/store/definitions.ts @@ -1,203 +1,213 @@ -import { FILE_TYPE, WORKFLOW_STATES, RENDER_STATE, TOGGLE_STATUS } from "../constants"; -import { EEPROMSettings, EEPROMDescriptions } from "definitions/firmware"; -import { BasicObject, BasicPosition, BBox } from "definitions/general"; -import { Axes } from "features/Axes/definitions"; -import { Connection } from "features/Connection/definitions"; -import { Console } from "features/Console/definitions"; -import { JobStatus } from "features/FileControl/definitions"; -import { Location } from "features/Location/definitions"; -import { Macro } from "features/Macro/definitions"; -import { Probe } from "features/Probe/definitions"; -import { Rotary } from "features/Rotary/definitions"; -import { Spindle, SpindleState } from "features/Spindle/definitions"; -import { Surfacing } from "features/Surfacing/definitions"; -import { VISUALIZER_TYPES_T, Visualizer } from "features/Visualizer/definitions"; -import { Modal, PDData, FeedrateChanges, ModalChanges } from "lib/definitions/gcode_virtualization"; -import { Feeder, Sender } from "lib/definitions/sender_feeder"; -import { CommandKeys } from "lib/definitions/shortcuts"; -import { Workspace } from "workspace/definitions"; - +import { + FILE_TYPE, + WORKFLOW_STATES, + RENDER_STATE, + TOGGLE_STATUS, +} from '../constants'; +import { EEPROMSettings, EEPROMDescriptions } from 'app/definitions/firmware'; +import { BasicObject, BasicPosition, BBox } from 'app/definitions/general'; +import { Axes } from 'app/features/Axes/definitions'; +import { Connection } from 'app/features/Connection/definitions'; +import { Console } from 'app/features/Console/definitions'; +import { JobStatus } from 'app/features/FileControl/definitions'; +import { Location } from 'app/features/Location/definitions'; +import { Macro } from 'app/features/Macro/definitions'; +import { Probe } from 'app/features/Probe/definitions'; +import { Rotary } from 'app/features/Rotary/definitions'; +import { Spindle, SpindleState } from 'app/features/Spindle/definitions'; +import { Surfacing } from 'app/features/Surfacing/definitions'; +import { + VISUALIZER_TYPES_T, + Visualizer, +} from 'app/features/Visualizer/definitions'; +import { + Modal, + PDData, + FeedrateChanges, + ModalChanges, +} from 'app/lib/definitions/gcode_virtualization'; +import { Feeder, Sender } from 'app/lib/definitions/sender_feeder'; +import { CommandKeys } from 'app/lib/definitions/shortcuts'; +import { Workspace } from 'app/workspace/definitions'; // Types export type FILE_TYPE_T = (typeof FILE_TYPE)[keyof typeof FILE_TYPE]; export type WORKFLOW_STATES_T = -(typeof WORKFLOW_STATES)[keyof typeof WORKFLOW_STATES]; + (typeof WORKFLOW_STATES)[keyof typeof WORKFLOW_STATES]; export type RENDER_STATE_T = (typeof RENDER_STATE)[keyof typeof RENDER_STATE]; export type TOGGLE_STATUS_T = -(typeof TOGGLE_STATUS)[keyof typeof TOGGLE_STATUS]; - + (typeof TOGGLE_STATUS)[keyof typeof TOGGLE_STATUS]; // Interfaces // Redux States export interface FirmwareOptions { - OPT: string, - NEWOPT: string, - FIRMWARE: string, - NVS_STORAGE: string, - FREE_MEMORY: string, - DRIVER: string, - DRIVER_VERSION: string, - BOARD: string, - AUX_IO: string, - WIZCHIP: string, - IP: string, - PLUGIN: string, - SPINDLE: string, -}; - -export interface ControllerSettings { //TODO - parameters: BasicObject, - settings: EEPROMSettings, - info?: FirmwareOptions, - descriptions?: EEPROMDescriptions - groups: BasicObject, - alarms: BasicObject, -}; + OPT: string; + NEWOPT: string; + FIRMWARE: string; + NVS_STORAGE: string; + FREE_MEMORY: string; + DRIVER: string; + DRIVER_VERSION: string; + BOARD: string; + AUX_IO: string; + WIZCHIP: string; + IP: string; + PLUGIN: string; + SPINDLE: string; +} + +export interface ControllerSettings { + //TODO + parameters: BasicObject; + settings: EEPROMSettings; + info?: FirmwareOptions; + descriptions?: EEPROMDescriptions; + groups: BasicObject; + alarms: BasicObject; +} export interface ControllerState { - type: string, - settings: ControllerSettings, - state: any, - modal: Modal, - mpos: BasicPosition, - wpos: BasicPosition, - homingFlag: boolean, - homingRun: boolean, - feeder: Feeder, - sender: Sender, + type: string; + settings: ControllerSettings; + state: any; + modal: Modal; + mpos: BasicPosition; + wpos: BasicPosition; + homingFlag: boolean; + homingRun: boolean; + feeder: Feeder; + sender: Sender; workflow: { - state: WORKFLOW_STATES_T - }, + state: WORKFLOW_STATES_T; + }; tool: { - context: BasicObject - }, - terminalHistory: Array, - spindles: Array -}; + context: BasicObject; + }; + terminalHistory: Array; + spindles: Array; +} export interface PortInfo { - port: string, - manufacturer?: string, - inuse: boolean -}; + port: string; + manufacturer?: string; + inuse: boolean; +} export interface ConnectionState { - isConnected: boolean, - isScanning: boolean, - port: string, - baudrate: string, - ports: Array, - unrecognizedPorts: Array, - networkPorts: Array, - err: string, -}; + isConnected: boolean; + isScanning: boolean; + port: string; + baudrate: string; + ports: Array; + unrecognizedPorts: Array; + networkPorts: Array; + err: string; +} export interface FileInfoState { - fileLoaded: boolean, - fileProcessing: boolean, - renderState: RENDER_STATE_T, - name: string, - path: string, - size: number, - total: number, - toolSet: Array, - spindleSet: Array, - movementSet: Array, - invalidGcode: Array, - estimatedTime: number, - fileModal: string, - bbox: BBox, - content: string, - fileType: FILE_TYPE_T, -}; + fileLoaded: boolean; + fileProcessing: boolean; + renderState: RENDER_STATE_T; + name: string; + path: string; + size: number; + total: number; + toolSet: Array; + spindleSet: Array; + movementSet: Array; + invalidGcode: Array; + estimatedTime: number; + fileModal: string; + bbox: BBox; + content: string; + fileType: FILE_TYPE_T; +} export interface PreferencesState { shortcuts: { - list: CommandKeys, - shouldHold: boolean, - }, - ipList: Array, -}; + list: CommandKeys; + shouldHold: boolean; + }; + ipList: Array; +} export interface VisualizerState { - activeVisualizer: VISUALIZER_TYPES_T, + activeVisualizer: VISUALIZER_TYPES_T; jobOverrides: { - isChecked: boolean, - toggleStatus: TOGGLE_STATUS_T - } -}; + isChecked: boolean; + toggleStatus: TOGGLE_STATUS_T; + }; +} export interface ReduxState { - controller: ControllerState, - connection: ConnectionState, - file: FileInfoState, - visualizer: VisualizerState, - preferences: PreferencesState, -}; - + controller: ControllerState; + connection: ConnectionState; + file: FileInfoState; + visualizer: VisualizerState; + preferences: PreferencesState; +} // Indexed DB export interface ParsedData { - id: string, - data: Array, - estimates: Array - feedrateChanges: Array, - modalChanges: Array, - info: FileInfoState -}; + id: string; + data: Array; + estimates: Array; + feedrateChanges: Array; + modalChanges: Array; + info: FileInfoState; +} export interface EstimateData { - estimates: Array, - estimatedTime: number -}; - + estimates: Array; + estimatedTime: number; +} // Front-end State export interface GRBL { - minimized: boolean, + minimized: boolean; panel: { queueReports: { - expanded: boolean, - }, + expanded: boolean; + }; statusReports: { - expanded: boolean, - }, + expanded: boolean; + }; modalGroups: { - expanded: boolean, - }, - } -}; + expanded: boolean; + }; + }; +} export interface Session { - name: string, - token: string, -}; + name: string; + token: string; +} export interface DefaultState { - session: Session, - workspace: Workspace, + session: Session; + workspace: Workspace; widgets: { - axes: Axes, - connection: Connection, - console: Console, - job_status: JobStatus, - grbl: GRBL, - location: Location, - macro: Macro, - probe: Probe, - rotary: Rotary, - spindle: SpindleState, - surfacing: Surfacing, - visualizer: Visualizer + axes: Axes; + connection: Connection; + console: Console; + job_status: JobStatus; + grbl: GRBL; + location: Location; + macro: Macro; + probe: Probe; + rotary: Rotary; + spindle: SpindleState; + surfacing: Surfacing; + visualizer: Visualizer; }; commandKeys: CommandKeys; } export interface SerialPortOptions { - port: string, - inuse: boolean, -}; \ No newline at end of file + port: string; + inuse: boolean; +} diff --git a/src/app/src/store/redux/slices/controller.slice.ts b/src/app/src/store/redux/slices/controller.slice.ts index 5805d5720..f75ecd311 100644 --- a/src/app/src/store/redux/slices/controller.slice.ts +++ b/src/app/src/store/redux/slices/controller.slice.ts @@ -5,13 +5,14 @@ import { MAX_TERMINAL_INPUT_ARRAY_SIZE } from 'app/lib/constants'; import { WORKFLOW_STATE_IDLE } from 'app/constants'; import { in2mm, mm2in } from 'app/lib/units'; import store from 'app/store'; -import { ControllerSettings, ControllerState } from '../../definitions'; import { EEPROMDescriptions, EEPROMSettings } from 'app/definitions/firmware'; import { Modal } from 'app/lib/definitions/gcode_virtualization'; import { Feeder, Sender } from 'app/lib/definitions/sender_feeder'; import { Spindle } from 'app/features/Spindle/definitions'; import { BasicPosition, BasicObject } from 'app/definitions/general'; +import { ControllerSettings, ControllerState } from '../../definitions'; + const initialState: ControllerState = { type: '', settings: {