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

Threading : Index and Sync Pins : cpu_map.h #9

Open
Jimmot opened this issue Feb 20, 2024 · 3 comments
Open

Threading : Index and Sync Pins : cpu_map.h #9

Jimmot opened this issue Feb 20, 2024 · 3 comments

Comments

@Jimmot
Copy link

Jimmot commented Feb 20, 2024

G'day L & G's. I can't seem to trace a Y- pin on in the standard Mega part of the cpu.h file. I note the index and sync output pins on the last part of the Ramps section. The threading instructions refer to Y- limit for index and Probe for the sync in that document, but I think I'm in the wrong place (older versions?). For my part, I'm 66 years old and a novice at this installation. All the steppers and homing are working. Working on spindle activation and control now and have been doing so for 2 months. I'm now formally stumped.

Please could I have an explanation as to the working of the index and sync pins and in particular the index and sync pin connections for CPU_MAP_2560_INITIAL. If I connect the index to Pin D11, I get a limit fault. Need to get the index working before going on to sync on A15.

Also please explain the following: " // NOTE: All CONTROLs pins must be on the same port and not on a port with other input pins (limits)." There is only one USB connection from what I see. So there is uncertainty in my mind as to exactly what constitutes a port. i.e. should the common rails be split, one for analogue, one for digital and the commons taken from opposite sides of the Mega?

Using Grbl gru (Mega 5X connection) and Grbl-L-Mega-edge, all latest versions to where I was directed. Many thanks in anticipation of a response. I would not ask unless I had read and re-read all I can find (and understand). Many thanks, Jim

@HuubBuis
Copy link
Collaborator

The threading needs an Index pin but the synchronization pin is optional. Start using just the index pin to get started. In this Wiki the working of the threading code is explained.

To make things "easy" and allow the use of commercial shields, I used the Y-limit pin for the index signal and probe pin for the synchronization signal.
The RAMPS shield has a different mapping. I mapped the SCL and SDA pin for index and synchronization pin. In this Wiki you find the setup for the RAMPS shield.

Internally, the controller (Uno, nano, mega) has different IO ports. The arduino Uno has 3 ports (A,B,C) and each port has a 8 pins. The mega has a lot more ports that could be used. All control pins must be mapped to the same port. You can't map the pause pin on port A and the door pin on port B. This is a limitation of the way the original grbl software was designed.
Just use the grbl-L-Mega-Ramps branch without any changes, it should work. The edge branch is for using an Arduino Mega without a shield.

It seem I am a bit younger (64 years) and still going strong (i think).

Regards, Huub

@Jimmot
Copy link
Author

Jimmot commented Feb 20, 2024 via email

@HuubBuis
Copy link
Collaborator

If you don't use a shield (I also do not use a shield) you need the edge branch (like you did) and the connection scheme for the grbl-mega version.
The Index pulse needs to be connected to the Y-limit pin and the Synchronization pulse to the probe pin.
Setup the board according to the Wiki and it should work. As said before, start by using (and configuring) just the index pulse.

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

No branches or pull requests

2 participants