Purpose of Reversal parameters in v2.x?

7 views
Skip to first unread message

Andrew Plumb

unread,
May 19, 2010, 2:36:33 PM5/19/10
to gen3-firmwar...@googlegroups.com
Hey Adam,

Got another question for you. I walked through the "Update onboard machine options" last night and noticed a bunch of "Reversal parameters".

Have they always been in the firmware (but not user-accessible and called something different) or are they new to v2.x?

What do they do?

I'm wondering if some of the larger-build problems people are seeing with v2.x might be traceable to a clash between these settings and skeinforge-generated oozebane code. With oozebane, the extruder motor is explicitly reversed for very short durations to counteract the oozing when moving between deposition points over holes and edges. I could see that clashing with firmware-implemented "oozebane" in busy layers with lots of on/off deposition of small details.

Thanks!

Andrew.

--

"The future is already here. It's just not very evenly distributed" -- William Gibson

Me: http://clothbot.com/wiki/



Adam Mayer

unread,
May 19, 2010, 2:54:10 PM5/19/10
to gen3-firmwar...@googlegroups.com
The reversal stuff was in all the pre-2.0 firmware. It was not
configurable. I re-added it to the v2.2 firmware to match earlier
firmware, and made it configurable so folks could mess around.

Essentially when the plastruder receives a motor stop command, it
briefly reverses direction and then goes forward again, the idea being
to reduce pressure on the filament quickly. It could certainly
interact with oozebane in certain ways.

This behavior was originally introduced by Zach, so he'll be able to
tell you more about it than I.

-a

Andrew Plumb

unread,
May 19, 2010, 3:30:17 PM5/19/10
to gen3-firmwar...@googlegroups.com
Ah, I think I see it in the ArduinoSlaveExtruder/Extruder.cpp code now. It's that reverse_motor_1() function parameter values:

#define DELAY_FOR_STOP 5
#define MOTOR_REVERSE_DURATION 300
#define MOTOR_FORWARD_DURATION 300

Those appear to correspond to the following in v2/src/Extruder/MotorController.cc:

#define DEFAULT_HALT_MS 5L
#define DEFAULT_REVERSE_MS 500L
#define DEFAULT_FORWARD_MS 300L

...and I'm not seeing an equivalent for the following:

#define DEFAULT_TRIGGER_MS 300L

It's used in setOn, which itself only appears to be called when SLAVE_CMD_TOGGLE_MOTOR_1 is received in Host.cc.

Should it be zero'd to deactivate or made a Really Large Number?

Aside: In Extruder/host.cc, is SLAVE_CMD_TOGGLE_VALVE missing "to_host.append8(RC_OK);" and "return true;" lines?

Andrew.
Reply all
Reply to author
Forward
0 new messages