Forum Replies Created
-
AuthorPosts
-
tookysMember
Like said, my programming experince is minimal, so im not sure what impact the following changes would have. But i believe this would be all that is needed to allow them to handle more axes. (least 26×6 = 156).
https://github.com/synthetos/TinyG/blob/master/firmware/tinyg/gcode_parser.c
-
Line 172
static stat_t _get_next_gcode_word(char **pstr,
charshort *letter, float *value)
{
if (**pstr == NUL)
return (STAT_COMPLETE); // no more words to process// get letter part
if(isupper(**pstr) == false)
return (STAT_INVALID_OR_MALFORMED_COMMAND);
*letter = **pstr;
(*pstr)++;
[Add code to check if there are 1 or 2 letters in the line]-
Line 376
case ‘
XAX’: SET_NON_MODAL (target[AXIS_X], value);
case ‘YAY’: SET_NON_MODAL (target[AXIS_Y], value);
case ‘ZAZ’: SET_NON_MODAL (target[AXIS_Z], value);
case ‘AAA’: SET_NON_MODAL (target[AXIS_A], value);
case ‘BAB’: SET_NON_MODAL (target[AXIS_B], value);
case ‘CAC’: SET_NON_MODAL (target[AXIS_C], value);- This reply was modified 4 years, 11 months ago by tookys.
tookysMemberBoth the Adafruit store and synthetos advertises the RS485 networking feature saying it could do up to 1000 axes, but i cant find anybody that has used it.
Adafruit -> https://www.adafruit.com/product/1749
Synthetos itself -> https://synthetos.comproject/tinyg
Like said Ive been able to get it to work for the 6 axis, across 2 board with rs485. How do we control more?
I would think that a minor code change on the tinyg could be to change the axis name that the board recognizes from X, to AX, BX, etc. The rest of the code could be left alone.
Unfortunately that is outside the scope of my programming knowledge.
- This reply was modified 4 years, 11 months ago by tookys.
tookysMemberOK, i misunderstood what you were saying.
Your saying i need to have 2 separate g-code senders talking to each board on a separate com connection in order to do this.
Ok…
But the board is advertised as being able to be linked with RS-485 to be able to network 1000 axes. This is what I want to do. How do i do this?
I’m wanting 1 G-code sender, to talk over 1 RS-485 line to handle 8 axis. This is what is advertised as a feature of this product. And is what i want to do. But the documentation page on the wiki about networking is blank.
- This reply was modified 4 years, 11 months ago by tookys.
tookysMemberIt makes sense, the question is how do i assign an axis as X1?
The wiki says to set up a motor with a 0-5 number for x-c axis.
What number is used for x1?
Nothing in the wiki talks about using additional axis beyond the x-c. Or about how to network 2 boards.
$1MA – MAp motor to axis
Axes must be input as numbers, with X=0, Y=1, Z=2, A=3, B=4 and C=5. As you might expect, mapping motor 1 to X will cause X movement to drive motor 1. The example below is a way to run a dual-Y gantry such as a 4 motor Shapeoko setup. Movement in Y will drive both motor2 and motor4.
$1ma=0 Maps motor 1 to the X axis
$2ma=1 Maps motor 2 to the Y axis
$3ma=2 Maps motor 3 to the Z axis
$4ma=1 Maps motor 4 to the Y axisHow do i tell the gcode how to designate which board to use? or how do i know the rs485 address of a board and put it into the g code?
tookysMember(sorry for double post, couldn’t figure out how to edit my original post)
OK, i figured out that the B and C axis’s had to be explicitly enabled with axis mode commands.
$bam=1
$cam=1So I’m able to control 6 axis using my rs485 adapter with the 2 boards.
Now, the question is how do you use more axes than just the X,Y,Z,A,B,C?
like said I’m aware that they wont be synchronized, I just need to be able to talk to 8 axes atm.
-
AuthorPosts