Comments (5)
You are using the end stops wrong. You have added them as motor end stop here:
STEPPER_SIMPLE(XMotor, IOX1Step, IOX1Dir, IOX1Enable, endstopXMin, endstopNone)
which should be
STEPPER_SIMPLE(XMotor, IOX1Step, IOX1Dir, IOX1Enable, endstopNone, endstopNone)
You already defined them as axis end stop here:
ENDSTOP_SWITCH_HW(endstopXMin, IOEndstopXMin, X_AXIS, -1)
The motor end stops defined in drivers are for mirrored motors with multiple end stops.
Motor endstops only work if there is no
#define NO_MOTOR_ENDSTOPS
but with the pushing nature of the hardware end stops I wonder if that caused some different logic.
from repetier-firmware.
Probably forgot to remove it because I was trying to figure out why it's not working.
The X doesn't trigger if the carriage comes from a distant from the endstop. if the X is sitting on the endstop and does a home it is ok. I really wanted to use the interrupt driven endstop but it's not working.
I even tried to recreate the template code for endstop to check if I can attach an interrupt using the lambda method and it does work I can toggle a LED when I manually trigger the endstops.
template<int pin>
class Endstop {
void_fn_t callbackFunc;
fast8_t state;
public:
Endstop(void_fn_t cb);
void update();
inline void attach();
};
template<int pin>
Endstop<pin>::Endstop(void_fn_t cb):state(false),callbackFunc(cb){}
template<int pin>
void Endstop<pin>::Endstop::attach(){
attachInterrupt(pin, callbackFunc, CHANGE);
}
template<int pin>
void Endstop<pin>::Endstop::update() {
HAL::digitalWrite(78, !HAL::digitalRead(78));
}
Endstop<68> yendstop([]() { yendstop.update(); });
Endstop<92> zendstop([]() { zendstop.update(); });
Endstop<11> xendstop([]() { xendstop.update(); });
void setup() {
Printer::setup();
xendstop.attach();
yendstop.attach();
zendstop.attach();
}
// EndstopSwitchHardwareDriver<pin, axis, dir> name([]() { name.updateReal(); });
//name([]() { name.updateReal(); })
void loop() {
Commands::commandLoop();
}
It seems when the motor are in motion for a period of time that it doesn't recognize the endstops anymore.
I'll probably just use the software endstops since I am not running my printer for speed.
I have this on my configuration.h #define NO_MOTOR_ENDSTOPS so the motor endstops are ignored.
from repetier-firmware.
I tested it on my printer and the hardware end stops worked. But during normal moves they are only checked if ALWAYS_CHECK_ENDSTOPS is enabled. Otherwise they will be ignored. Were you testing only with homing or also regular moves?
Distance should not matter for homing - it is only one move with 150% of size.
from repetier-firmware.
When the X is at home, it retest and works but the y and z doesn't. What I mean by distance is if the X is far from home and home axes is issued it fails 100%. I'll investigate it some more why it fails next week. It seems the interrupt somehow don't get attached or detached when moving or noisy wires not sure yet but the software endstop is working 100% so the lines are probably clean.
from repetier-firmware.
Software end stops are only tested every x stepper steps while hardware end stops are tested continuously. So if you suffer cross talk the hardware end stop will much more likely trigger than the software end stop.
Debug value 64 can be used to debug end stops. So send M111 S70 and you will see in log when and if end stop triggers. In case of cross talk it will do the back move not at the end but then it will do it. With SAFE_HOMING 1 it should then fail since it will not trigger again fast enough. With SAFE_HOMING 0 it will just stop at wrong position.
from repetier-firmware.
Related Issues (20)
- ZHOME_PRE_RAISE value HOT 1
- Display controller hangs after USB is disconnected. HOT 19
- Beeper doesn't stop beeping in dev2 HOT 13
- Software endstop don't trigger on retest HOT 6
- dev2: Homing causes motion on E axis (extruder) HOT 3
- dev2, delta printer: Running auto-level before print fails if auto-leveled before HOT 1
- Caught a bug: incorrect processing G2 and G3: arc processing error with commands G2 and G3 HOT 1
- Printer reset detected when connecting with Octoprint HOT 13
- Typo maybe..... HOT 2
- homing regression between 1.0.4 and current development branch HOT 4
- Better long filenames support HOT 3
- Crush while connecting my FlsunQ5 printer in a Surface PRO 7 HOT 3
- Issue Compiling for Melzi V2 (Wanhao Duplicator i3) Repetier V1.0.4 HOT 2
- x, y, z axis only move in one direction HOT 4
- 1.0.5 dev incorrect processed PID calibration g-code M303 HOT 2
- Under extrusion and Stringing HOT 1
- Issue on Spiderking 407 motherboard, couldn't get any axis to move HOT 2
- Evenly spread multisteps
- Issue with missed steps, incorrect positioning after collision HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from repetier-firmware.