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

Write tor acceletation registers not possible. #333

Open
tlachmann opened this issue Nov 10, 2024 · 5 comments · May be fixed by #337
Open

Write tor acceletation registers not possible. #333

tlachmann opened this issue Nov 10, 2024 · 5 comments · May be fixed by #337

Comments

@tlachmann
Copy link

Writiing to the following register does not work:

0x0eh 14 | Pulley_acceleration |
0x0fh 15 | Selector_acceleration |
0x10h 16 | Idler_acceleration |

I tried via terminal:

Read stock value:
Send: M707 A0x0e
Recv: MMU Register value: 800
Recv: ResetRetryAttempts
Recv: ok

Write Mod value:
Send: M708 A0x0e X400
Recv: ResetRetryAttempts
Recv: ok

verify Mod value:
Send: M707 A0x0e
Recv: MMU Register value: 800
Recv: ResetRetryAttempts
Recv: ok

No Value cange!
I tried to write as decimal,hex (unsigned/signed) with and without Postfix "h"

Writing to other registers like bowden length, cut lentgh, iRun currents and feedrates works.

Change Cut length works:
read:
Send: M707 A0x23
Recv: MMU Register value: 8
Recv: ResetRetryAttempts
Recv: ok
write:
Send: M708 A0x23 X15
Recv: ResetRetryAttempts
Recv: ok
verify:
Send: M707 A0x23
Recv: MMU Register value: 15
Recv: ResetRetryAttempts
Recv: ok

Change pulley load rate also works:
read:
Send: M707 A0x11
Recv: MMU Register value: 130
Recv: ResetRetryAttempts
Recv: ok
write
Send: M708 A0x11 X140
Recv: ResetRetryAttempts
Recv: ok
verify
Send: M707 A0x11
Recv: MMU Register value: 140
Recv: ResetRetryAttempts
Recv: ok

Changeing acceleration needs to work, cause the pulley acceleration with 800 is with large spools somtimes so hard that the filament will be grinded by the spinning pulley wheel.

@gudnimg
Copy link
Collaborator

gudnimg commented Nov 10, 2024

@tlachmann hi 👋 it looks like the write functionality was not implemented.

@3d-gussner I think we forgot to update the documentation.
image

@tlachmann
Copy link
Author

tlachmann commented Nov 11, 2024

@tlachmann hi 👋 it looks like the write functionality was not implemented.

@3d-gussner I think we forgot to update the documentation.

Hmm... that is really a bad outcome, when at the end the wirte is taken from the documentation and not enbable the capability...

@3d-gussner
Copy link
Collaborator

Hmm... that is really a bad outcome, when at the end the wirte is taken from the documentation and not enbable the capability...

Your request to slow it down the acceleration with large spool is in my opinion a good argument for it.to make it write-able.

But others may want to increase the accelerations and cause issues.

We will discuss if that register should also be write-able.

@DRracer
Copy link
Collaborator

DRracer commented Nov 14, 2024

Actually, it is possible to make these registers writable, but at some code size cost. And since currently the axis limits are compile-time constants:

static constexpr IdlerLimits idlerLimits = {
    .lenght = 225.0_deg,
    .jerk = 0.1_deg_s,
    .accel = 500.0_deg_s2,
...

making them a runtime variables may cause the FW run out of scope of the CPU. That was the main reason why setting accelerations was not implemented yet.

@gudnimg if you want, you can try some optimization magic

@tlachmann
Copy link
Author

Maybe you could make it able to have a range of accela

Hmm... that is really a bad outcome, when at the end the wirte is taken from the documentation and not enbable the capability...

Your request to slow it down the acceleration with large spool is in my opinion a good argument for it.to make it write-able.

But others may want to increase the accelerations and cause issues.

We will discuss if that register should also be write-able.

And if you limit the acceleration by a range from n to n?
for my feeling the acceleration for the mmu pulley is at the moment so instantly, that it make no sense to have a higher acceleration...

The only thing I could imagine, what make sense is to half or quarter the acceleration (only idea, have no expiereince how fast or slow the acceleratiuon then is) to soften accelerate the filament but then have a higher loading speed...

Greets Thorsten

@gudnimg gudnimg linked a pull request Dec 23, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants