ISISComputingGroup / ISISComputingGroup/IBEX
GALIL: zero encoder when open loop?
- Dominant language
- No language data
- Stars
- 6
- Forks
- 2
- Avg merge
- 16h 40m
- Merged PRs (30d)
- 2
Description
Question on new galil driver - should it call `DE` even if open loop when it homes? An edge case of if you have a working encoder but home with `UEIP` set to no and then turn encoder on afterwards. The current behavior is the same as the old driver so not a change. If a motor position is explicitly redefined post home, a check on `ueip` is not made, so calling `DE` in all cases may be more consistent?
```
GalilAxis::jogAfterHome(void)
//Program encoder position register
// question: should we do this even if ueip is false? If you home an axis with ueip false and then turn on the encoder should it work?
// setPosition / setEncoderPosition don't check ueip
if (ueip_ || motorIsServo_) {
sprintf(pC_->cmd_, "DE%c=0", axisName_);
pC_->sync_writeReadController();
}
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at GalilAxis::jogAfterHome(void), then compare the ueip handling in setPosition and setEncoderPosition. Determine the intended behavior when homing with UEIP disabled and enabling the encoder afterward; done means the behavior is decided and the relevant paths are made consistent, with coverage added if existing tests support it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100