Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MARLIN_SIMULATION_BUILD #4364

Closed

Conversation

thinkyhead
Copy link
Member

@thinkyhead thinkyhead commented Jul 20, 2016

This PR is the start of the concept for a MARLIN_SIMULATION_BUILD option to substitute all hardware functions involving steppers, heaters, and sensors with simulated versions that don't move steppers, set heaters, or read real thermistors.

The LCD and other I/O functions continue to work normally with this type of build.

The stepper ISR continues to run, giving a real-time approximation of movement timing.

TODO:

  • Simulated heaters and thermistors that change gradually (but quickly)
  • Simulated endstops that trigger in G28 with no delay (but don't otherwise trip).
  • Simulate a probe pin (in G29) that triggers at an idealized Z position.
  • A monitor to periodically log all the interesting changed values.

@thinkyhead thinkyhead added T: Development Makefiles, PlatformIO, Python scripts, etc. T: Design Concept Technical ideas about ways and methods. labels Jul 20, 2016
@thinkyhead thinkyhead force-pushed the rc_simulation_mode branch from 831e1d1 to b169a0a Compare July 21, 2016 00:10
@jbrazio
Copy link
Contributor

jbrazio commented Jul 21, 2016

Scott isn't that exactly the same thing as this ?

ramps

@thinkyhead
Copy link
Member Author

I would like to keep my machine as it is. I don't like pulling wires.

@jbrazio
Copy link
Contributor

jbrazio commented Jul 21, 2016

Even a stock Arduino Mega without any shield works as a debug platform with the current RCBugfix.

@thinkyhead
Copy link
Member Author

thinkyhead commented Jul 21, 2016

Yes, it's pretty awesome. I like the use of the oscilloscope. Very cool. I wish I had an extra Arduino or two (that are easy to build for) but at the moment the only spare I have is a Teensy (which is tricky to build for). And, what I'd like to do is just flash the board in my printer with Delta code (even though it's not a delta) and run it without having the axes go all nuts, but still be able to trace the changes in coordinates.

@jbrazio
Copy link
Contributor

jbrazio commented Jul 21, 2016

And, what I'd like to do is just flash the board in my printer with Delta code (even though it's not a delta) and run it without having the axes go all nuts, but still be able to trace the changes in coordinates.

Just power it using the USB cable and leave the power supply off, everything will be functional from inside Marlin doing exactly what you require.

@petrzjunior
Copy link
Contributor

petrzjunior commented Jul 21, 2016

@jbrazio Beautiful photo! @clexpert built something similar for me. Just Arduino, RAMPS shield and resistors to simulate hotend temperature. No endstops, nothing. And that's where FILAMENT_CHANGE_FEATURE was born. 😄
dscn0327

@thinkyhead
Copy link
Member Author

leave the power supply off

All good, but those simulated thermistors always register the same temperature. It would be better if they would simulate a temperature rise when "heating" and a temperature drop when "cooling."

@thinkyhead thinkyhead force-pushed the rc_simulation_mode branch from c20cc4a to e413296 Compare July 25, 2016 01:52
@thinkyhead thinkyhead force-pushed the rc_simulation_mode branch from e413296 to b749da8 Compare July 30, 2016 11:22
@thinkyhead thinkyhead closed this Sep 5, 2016
@thinkyhead thinkyhead deleted the rc_simulation_mode branch September 5, 2016 02:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T: Design Concept Technical ideas about ways and methods. T: Development Makefiles, PlatformIO, Python scripts, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants