import * as React from "react"; import { BooleanMCUInputGroup } from "../boolean_mcu_input_group"; import { ToolTips, DeviceSetting } from "../../../constants"; import { NumericMCUInputGroup } from "../numeric_mcu_input_group"; import { CalibrationRow } from "./calibration_row"; import { disabledAxisMap } from "../axis_tracking_status"; import { HomingAndCalibrationProps } from "../interfaces"; import { Header } from "./header"; import { Collapse } from "@blueprintjs/core"; import { t } from "../../../i18next_wrapper"; import { calculateScale } from "./motors"; import { hasEncoders } from "../firmware_hardware_support"; import { getDevice } from "../../../device"; import { commandErr } from "../../actions"; import { CONFIG_DEFAULTS } from "farmbot/dist/config"; import { Highlight } from "../maybe_highlight"; import { SpacePanelHeader } from "./space_panel_header"; export function HomingAndCalibration(props: HomingAndCalibrationProps) { const { dispatch, bot, sourceFwConfig, firmwareConfig, botOnline, firmwareHardware } = props; const hardware = firmwareConfig ? firmwareConfig : bot.hardware.mcu_params; const { homing_and_calibration } = props.bot.controlPanelState; /** * Tells us if X/Y/Z have a means of checking their position. * FARMBOT WILL CRASH INTO WALLS IF THIS IS WRONG! BE CAREFUL. */ const disabled = disabledAxisMap(hardware); const scale = calculateScale(sourceFwConfig); return
getDevice() .findHome({ speed: CONFIG_DEFAULTS.speed, axis }) .catch(commandErr("'Find Home' request"))} hardware={hardware} botOnline={botOnline} /> getDevice().calibrate({ axis }) .catch(commandErr("Calibration"))} hardware={hardware} botOnline={botOnline} /> getDevice().setZero(axis) .catch(commandErr("Zeroing"))} hardware={hardware} botOnline={botOnline} /> ; }