microsoft/BatteryML

Split CycleData into StepData

Opened this issue · 1 comments

Currently the BatteryData is split into multiple CycleData, which typically consists of a charging and discharging process. However, in real-world battery tests, the cycles are further split into steps, supporting more features such as different rates, resting, interleaving charging and discharging with the same cycle, etc.

Another advantage of using StageData is that it makes the process that splits the raw electric signals and organize into BatteryData object much easier, as we can operate on the stage level for cycle split. This feature should also help us better address the open issues #14 #15 for incorporating more data.

I will make a PR for this.

This also renders the CyclingProtocol useless, as after this modification, a CycleData is consist of several StageData, which should be convenient to infer the protocol. Specifications can be added to CycleData's meta data as strings.