ISISComputingGroup / ISISComputingGroup/IBEX

GALIL: zero encoder when open loop?

Open
#9,004 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.