浏览代码

Read limit switch on Initialize to avoid motor movement if limit switch is already pressed (e.g. due to previous Power Off when switch was pressed)

master
Flo Smilari 3 年前
父节点
当前提交
caa0668907
共有 4 个文件被更改,包括 11 次插入3 次删除
  1. 5
    2
      Fraestisch_SFTools.ino
  2. 4
    0
      RouterElevator.cpp
  3. 1
    0
      RouterElevator.h
  4. 1
    1
      sloeber.ino.cpp

+ 5
- 2
Fraestisch_SFTools.ino 查看文件

} }


if (isPowerOn && Router_Setup.isToolChangOnPowerOn()) { if (isPowerOn && Router_Setup.isToolChangOnPowerOn()) {
Router_Elevator.readLimitSwitch();
SetActualStatus(TOOL_CHANGE); SetActualStatus(TOOL_CHANGE);
isPowerOn = false; isPowerOn = false;
} else { } else {
RotaryControler.loop(); RotaryControler.loop();
originStatus = TOOL_CHANGE; originStatus = TOOL_CHANGE;
if (intermediateState == 0) { if (intermediateState == 0) {
Router_Elevator.moveToUpperLimitSwitch();
SetActualStatus(MOVING_ELEVATOR);
if (!Router_Elevator.isLimitSwitchTriggerd()) {
Router_Elevator.moveToUpperLimitSwitch();
SetActualStatus(MOVING_ELEVATOR);
}
intermediateState = 1; intermediateState = 1;
} else if (intermediateState == 1) { } else if (intermediateState == 1) {
Router_Elevator.setZeroPosition(); Router_Elevator.setZeroPosition();

+ 4
- 0
RouterElevator.cpp 查看文件

} }
} }
void RouterElevator::readLimitSwitch() {
limitSwitchState = digitalRead(LimitSwitch);
}
void RouterElevator::checkDirection() { void RouterElevator::checkDirection() {
previousDirection = Stepper.getDirectionOfMotion(); previousDirection = Stepper.getDirectionOfMotion();
} }

+ 1
- 0
RouterElevator.h 查看文件

bool isWLSTriggerd(void); bool isWLSTriggerd(void);
bool isTargetPositionReached(void); bool isTargetPositionReached(void);
void limitSwitchHandler(void); void limitSwitchHandler(void);
void readLimitSwitch(void);
void checkDirection(void); void checkDirection(void);
ValueMode getMode() const; ValueMode getMode() const;
void setMode(ValueMode mode); void setMode(ValueMode mode);

+ 1
- 1
sloeber.ino.cpp 查看文件

//This is a automatic generated file //This is a automatic generated file
//Please do not modify this file //Please do not modify this file
//If you touch this file your change will be overwritten during the next build //If you touch this file your change will be overwritten during the next build
//This file has been generated on 2022-03-04 21:14:46
//This file has been generated on 2022-04-15 16:36:20


#include "Arduino.h" #include "Arduino.h"
#include <Arduino.h> #include <Arduino.h>

正在加载...
取消
保存