import { RequestStatus } from './types'; /** * The homing procedure status is determined by the values of bits 10, 12, and 13 in Statusword 0x6041: * - Bit 10: Target reached * - Bit 12: Homing attained * - Bit 13: Homing error * * For more details, refer to the homing modes documentation: * {@link https://doc.synapticon.com/circulo_safe_motion/sw5.1/motion_control/operation_modes/homing_modes.html} */ export declare const homingProcedureStatusMessages: string[]; /** * Configuration options for the {@link MotionMasterClient.runHomingProcedure} method. * This interface defines the parameters that can be customized for the homing procedure. */ export interface HomingProcedureConfig { /** * The homing method to be used (0x6098:00). * This value specifies the technique employed for homing. */ method?: number | null; /** * The speed during the search for the switch (0x6099:01). * This value defines how quickly the system will search for the limit switch during the homing process. */ speedDuringSearchForSwitch?: number | null; /** * The speed during the search for the zero position (0x6099:02). * This value indicates the speed at which the system searches for the zero reference point. */ speedDuringSearchForZero?: number | null; /** * The acceleration used during the homing procedure (0x609A:00). * This value specifies the rate of acceleration applied during the homing process. */ acceleration?: number | null; } /** * Represents the status of the homing procedure emitted during its execution. * This interface captures the current state of the homing process, including the request status, * the status code, and a corresponding message that describes the status. */ export interface HomingProcedureStatus { /** * The current request status of the homing procedure (e.g., 'running', 'succeeded', 'failed'). */ request: RequestStatus; /** * The status code representing the current state of the homing procedure. */ status: number; /** * A descriptive message that provides additional context about the current status. */ statusMessage: string; /** * The statusword value used to derive the homing status. */ statusword: number; } /** * Generates a homing procedure status object based on the provided operation status value. * The status is evaluated to determine the request status, which can be 'running', 'succeeded', or 'failed'. * * During a meeting with Saša R., we concluded the following regarding the status codes: * - 000: running (Homing is in progress) - The Halt bit is 0, the Homing operation start bit is 1, * and the device is in the Operation Enabled state and Homing mode. * - 001: failed (Homing interrupted or not started) - Interruption occurs due to Quick Stop, for example. * Not started refers to the Homing mode being set, but the Homing operation start bit remains 0. * - 010: succeeded (Homing confirmed, target not yet reached) - This status occurs when the device restores * the Home Position upon loading the configuration (0x2005:02). * - 011: succeeded (Homing completed). * - 100: failed (Error detected, motor still turning) - The device does not stop automatically; it must be stopped by the master. * - 101: failed (Error during homing, motor at a standstill). * * @param statusword - The statusword used to determine the homing procedure status. * @returns An object that represents the determined status of the homing procedure. */ export declare function createHomingProcedureStatus(statusword: number): HomingProcedureStatus; /** * Converts a statusword value to the corresponding homing status number. * The homing status is derived from specific bits of the statusword. * * @param statusword - The statusword from which to extract the homing status. * @returns The homing status number, calculated from bits 10, 12 and 13 of the statusword. */ export declare function statuswordToHomingStatus(statusword: number): number; /** * Keep up to date with options in ESI file for 0x6098:00 (Homing Method). */ export declare const homingMethodParametersMap: { [key: string]: [number, number][]; };