- Added tabledrive: table driven path for MARS
- Initial MARS development - Upgraded Manager Manual SKIPPED: psi/make_gen psi/psi.c psi/tabledrive.c psi/tabledrive.h psi/tabledrive.w psi/utils/SerPortServer.c
This commit is contained in:
22
tasublib.c
22
tasublib.c
@ -581,20 +581,34 @@ int calcTasPowderPosition(ptasMachine machine, tasAngles angles,
|
||||
void setTasPar(ptasQEPosition qe, int tasMode, int tasVar, double value){
|
||||
double et;
|
||||
|
||||
assert(tasMode == KICONST || tasMode == KFCONST);
|
||||
assert(tasMode == KICONST || tasMode == KFCONST || tasMode == ELASTIC);
|
||||
|
||||
switch(tasVar){
|
||||
case KF:
|
||||
qe->kf = value;
|
||||
if(tasMode == ELASTIC){
|
||||
qe->kf = qe->ki;
|
||||
} else {
|
||||
qe->kf = value;
|
||||
}
|
||||
break;
|
||||
case EF:
|
||||
qe->kf = energyToK(value);
|
||||
if(tasMode == ELASTIC){
|
||||
qe->kf = qe->ki;
|
||||
}else {
|
||||
qe->kf = energyToK(value);
|
||||
}
|
||||
break;
|
||||
case KI:
|
||||
qe->ki = value;
|
||||
if(tasMode == ELASTIC){
|
||||
qe->kf = value;
|
||||
}
|
||||
break;
|
||||
case EI:
|
||||
qe->ki = energyToK(value);
|
||||
if(tasMode == ELASTIC){
|
||||
qe->kf = qe->ki;
|
||||
}
|
||||
break;
|
||||
case QH:
|
||||
qe->qh = value;
|
||||
@ -612,6 +626,8 @@ void setTasPar(ptasQEPosition qe, int tasMode, int tasVar, double value){
|
||||
} else if(tasMode == KFCONST){
|
||||
et = KtoEnergy(qe->kf) + value;
|
||||
qe->ki = energyToK(et);
|
||||
}else if(tasMode == ELASTIC){
|
||||
qe->kf = qe->ki;
|
||||
} else {
|
||||
assert(0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user