DiamondLightSource / DiamondLightSource/fastcs-odin

Add hysteresis to writing state

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.