评论
|
建议,而不是交换,映射会更有意义吗? 在 pins.h 中为每个板定义轴 1 到 n。 在步进器代码中引入轴名称 X、XX、Y、YY、Z、ZZ。 在 configuration.h 中,您可以将 X 映射到 axis1,Y 映射到 axis2,XX 映射到 axis3,Z 映射到 axis4,E0 映射到 axis5,ZZ 映射到 axis6 等 斯科蒂
|
|
总的来说是个好主意,尽管我想尝试让它尽可能干净和可读。我喜欢继续在 pins.h 中指定步进器的想法,并在电路板上打印名称(几乎总是 X、Y、Z、E0、E1),然后在笛卡尔轴所在的配置中有一个点映射到步进器,例如 X_AXIS_STEPPER=STEPPER_X、Y_AXIS_STEPPER=STEPPER_Y 等。为简单起见,将枚举 STEPPER_n 值。这将允许笛卡尔轴的单点分配,不需要在板之间进行更改。 当然,目前存在名为 X_AXIS、Y_AXIS 等的枚举常量,其中包含每个轴方向的索引,但这些也用于端点,因此无法直接用赋值替换它们。但是,只要这些枚举常量专门用于指代步进器,它们就可以很容易地替换为 X_AXIS_STEPPER 等。 我需要仔细观察 pins.* 和 stepper.* 看看这个想法有多可行。无论如何,只需要再多一层间接寻址,您的想法听起来就非常接近理想了。 但是,有没有不这样命名步进电机的电路板呢? |
|
既然我们已经同意硬件支持应该来自供应商,那么这个不应该关闭吗? |
|
是的。 |


最近刚刚发布了一款名为“QuadRap”的新型 RepRap 打印机,它使用的电机排列方式略有不同。X 轴使用两个步进电机,而 Z 轴仅使用一个。因此,如果我们可以简单地交换“X”和“Z”轴,对于大多数电路板来说将是最简单的。然而,pins.h 不允许这种设置,除非通过直接编辑。
我不想专门为 QuadRap 添加设置,但我希望看到对非典型安排的更好支持,因为我们一直在看到更多此类安排。所以我建议为交换轴添加 Configuration.h(或 _adv)设置。它要么是一个单一的设置,例如“swap_axes”,您可以将其设置为“XZ”或“YZ”(甚至是“XY”、“XE1”、“YE1”等),或者更详细地说,一组布尔值SWAP_X_WITH_Z、SWAP_Y_WITH_Z 等设置。
在我着手实施之前,我会对有关此想法的任何反馈感兴趣。