yeg
2026-09-29 b78295e8da96c3e5e76befeef9582ce5273dbb74
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.battery.device.neware;
 
import com.battery.device.api.StepDirectionResolver;
 
/**
 * 新威工步层 {@code cap_step.step_type} 的数值枚举解释:{@code 1} 充电、{@code 2} 放电、{@code 4} 搁置。
 *
 * <p>其余取值(实测出现过 {@code 3}、{@code 5}、{@code 7}、{@code 13})语义未确认,保持未知:
 * 不按电流符号、也不按容量出现在哪一组去猜方向,明细照原样保存供核对。
 */
public final class NewareStepDirectionResolver implements StepDirectionResolver
{
    /** 只按已确认的协议取值给出方向;其余取值与空值一律保持未知。 */
    @Override
    public Direction resolve(String stepType)
    {
        if (stepType == null) return Direction.UNKNOWN;
        return switch (stepType.trim())
        {
            case "1" -> Direction.CHARGE;
            case "2" -> Direction.DISCHARGE;
            case "4" -> Direction.REST;
            default -> Direction.UNKNOWN;
        };
    }
}