Commit graph

15 commits

Author SHA1 Message Date
Ghostkeeper
4e7f8a268f
Implement calculating final time of movement commands
This includes accelerations, jerks, proper joints, all that sort of thing.

Contributes to issue CURA-5561.
2018-09-05 16:08:49 +02:00
Ghostkeeper
515b286230
Implement recalculation of trapezoid if entry speed had changed
The fourth pass. It's a lot of work.

Contributes to issue CURA-5561.
2018-09-05 16:08:49 +02:00
Ghostkeeper
944bf70eb5
Implement forward kernel pass
Copied from CuraEngine's C++ implementation.

Contributes to issue CURA-5561.
2018-09-05 16:08:49 +02:00
Ghostkeeper
0ad644386e
Actually execute the reverse pass in reverse
As it should.

Contributes to issue CURA-5561.
2018-09-05 16:08:49 +02:00
Ghostkeeper
5e85af30de
Implement reverse kernel
Taken from CuraEngine's implementation.

Contributes to issue CURA-5561.
2018-09-05 16:08:49 +02:00
Ghostkeeper
dcbe832d9f
Implement the rest of the initial time estimation
This doesn't complete this task yet because we are still not outputting a correct time estimation for these commands. We're not outputting anything at all actually. We now need to implement the second pass (but only for G1 and G0).

Contributes to issue CURA-5561.
2018-09-05 16:08:49 +02:00
Ghostkeeper
1037b09188
Implement M203, setting maximum Z feedrate
It's important.

Contributes to issue CURA-5561.
2018-09-05 16:08:49 +02:00
Ghostkeeper
5d292e1a79
Remove state class usage
This is an effort to synchronize the working of this script with how CuraEngine's time estimation works. This includes tracking only one value for acceleration and multiple Jerk stuff, that sort of thing. We need to ensure it's exactly the same.

Contributes to issue CURA-5561.
2018-09-05 16:08:48 +02:00
Ghostkeeper
c559763c88
Partially implement acceleration and jerk estimation algorithm
This stuff is complex and I hardly understand it. It's basically just a translation of the C++ code in the engine.

Contributes to issue CURA-5561.
2018-09-05 16:08:48 +02:00
Ghostkeeper
5bf90df6be
Rename process() to parse()
Because we need to execute several other processing steps as well.
This parse function for G0 and G1 now needs to initialise the state in the same way as how Block is initialised in CuraEngine.

Contributes to issue CURA-5561.
2018-09-05 16:08:48 +02:00
Ghostkeeper
594e3c986d
Add function to calculate trapezoid for block
Also copied from CuraEngine's implementation.

Contributes to issue CURA-5561.
2018-09-05 16:08:48 +02:00
Ghostkeeper
582f06dfff
Add fields from CuraEngine
The idea of this issue is to mimic the implementation of CuraEngine. So let's transform its entire algorithm into Python.

Contributes to issue CURA-5561.
2018-09-05 16:08:48 +02:00
Ghostkeeper
842ee7c00e
Reinstate the argument input
Otherwise I can't use it without creating a user 'lfei' or something.

Contributes to issue CURA-5561.
2018-09-05 16:08:48 +02:00
Ghostkeeper
43a8894c64
Convert to Doxygen style comments
As per our code style.

Contributes to issue CURA-5561.
2018-09-05 16:08:48 +02:00
Lipu Fei
f4fe5784a7
Add script to analyze gcode 2018-09-05 16:08:47 +02:00