#include "FilamentDetector.h"
#include "utils.h"
#include "Gcode.h"
+#include "ExtruderPublicAccess.h"
#include "InterruptIn.h" // mbed
#include "us_ticker_api.h" // mbed
// register event-handlers
if (this->encoder_pin != nullptr) {
//This event is only valid if we are using the encodeer.
- register_for_event(ON_SECOND_TICK);
+ register_for_event(ON_SECOND_TICK);
}
-
+
register_for_event(ON_MAIN_LOOP);
register_for_event(ON_CONSOLE_LINE_RECEIVED);
this->register_for_event(ON_GCODE_RECEIVED);
SerialMessage new_message = *static_cast<SerialMessage *>(argument);
string possible_command = new_message.message;
string cmd = shift_parameter(possible_command);
- if(cmd == "resume") {
+ if(cmd == "resume" || cmd == "M601") {
this->pulses= 0;
e_last_moved= NAN;
suspended= false;
float FilamentDetector::get_emove()
{
- float *rd;
- if(PublicData::get_value( extruder_checksum, (void **)&rd )) {
- return *(rd+5); // current position for extruder in mm
- }
+ pad_extruder_t rd;
+ if(PublicData::get_value( extruder_checksum, (void *)&rd )) return rd.current_position;
return NAN;
}