DiamondLightSource / DiamondLightSource/fastcs-odin
Add hysteresis to writing state
- Dominant language
- Python
- Stars
- 1
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
Currently the `FP.writing` summary attribute just does `any` of `FP.X.writing`, which is not what we want when we are starting. We need to know that they have all started.
Manually define `FP.writing` in initialise to override the automatically generated attribute and pass as the `accululator function an instance method that stores the previous state. Then call `any` if we are currently writing and `all` if we are currently not writing.
## Acceptance Criteria
- `FP.writing` only goes high when all are true, and only goes low when all are false
Contributor guide
Research direction
Start by locating the initialise method that defines the FP summary attributes, then inspect how FP.writing and FP.X.writing are currently aggregated. Implement the instance-state accumulator described in the issue so the summary uses all while starting and any while stopping. Done means FP.writing rises only when all child states are true and falls only when all are false.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100