开源改变世界!!

配置应独立于轴映射。 #886

推推 grbl 2年前 (2023-01-23) 102次浏览

关闭
cri-s 打开了这个问题 2016 年 1 月 20 日 · 0 条评论
关闭

配置应独立于轴映射。#886

cri-s 打开了这个问题 2016 年 1 月 20 日 · 0 条评论

注释

配置应独立于轴映射。 #886

配置应具有相同的位映射轴、归位轴和步进轴,最好
不映射。这是一个功能。
结果= get_pin_mask(mask,get_limit_pin_mask,0) ; // 这是用于 settings.c 内的映射
result= get_pin_mask(mask,get_limit_pin_mask,1) ; // 这是用于 reports.c 内部的映射

// 根据 Grbl 内部轴索引返回限制引脚掩码。
uint8_t get_limit_pin_mask(uint8_t axis_idx)
{
如果 ( axis_idx == X_AXIS ) { return((1<<X_LIMIT_BIT)); }
if ( axis_idx == Y_AXIS ) { return((1<<Y_LIMIT_BIT)); }
if ( axis_idx == Z_AXIS ) { return((1<<Z_LIMIT_BIT)); }
if ( axis_idx == U_AXIS ) { return((1<<U_LIMIT_BIT)); }
if ( axis_idx == V_AXIS ) { return((1<<V_LIMIT_BIT)); }
if ( axis_idx == W_AXIS ) { return((1<<W_LIMIT_BIT)); }
返回(0);
}

uint8_t get_pin_mask(uint8_t map,uint8_t(*func)(uint8_t),uint8_t reverse) {
uint8_t mask,output;
对于(i=0,m=1;i<N_AXIS;i++,m<<=1){
mask=func(m);
if(!reverse)
{ if(map&m) output|=mask;}
else
{ if(map&mask) output|=m;}
}
}

喜欢 (0)