package com.lingniu.ingest.protocol.gb32960.model;

/**
 * GB/T 32960.3 协议版本。
 *
 * <p>通过数据包起始符区分：
 * <ul>
 *   <li>{@code ## (0x23 0x23)} → {@link #V2016} 对应 GB/T 32960.3-2016
 *   <li>{@code $$ (0x24 0x24)} → {@link #V2025} 对应 GB/T 32960.3-2025
 * </ul>
 *
 * <p>两版核心差异（GB/T 32960.3-2025 前言）：
 * <ul>
 *   <li>信息类型 0x06/0x07/0x08 语义重构：
 *     <table>
 *     <tr><th>类型</th><th>2016</th><th>2025</th></tr>
 *     <tr><td>0x06</td><td>动力蓄电池极值</td><td>报警数据</td></tr>
 *     <tr><td>0x07</td><td>报警数据</td><td>动力蓄电池最小并联单元电压</td></tr>
 *     <tr><td>0x08</td><td>可充电储能装置电压</td><td>动力蓄电池温度</td></tr>
 *     <tr><td>0x09</td><td>可充电储能装置温度</td><td>(已删除，合入 0x08)</td></tr>
 *     </table>
 *   <li>新增 0x30 燃料电池电堆 / 0x31 超级电容 / 0x32 超级电容极值
 *   <li>0x05 位置数据新增 1 字节坐标系（表 21）
 *   <li>0x03 燃料电池数据字段重构：拆分为"燃料电池发动机及车载氢系统"
 *       + 独立 0x30"燃料电池电堆"（表 17/18/19）
 *   <li>驱动电机 0x02 转速偏移由 {@code 20000} 改为 {@code 32000}，转矩由 2 字节扩展为 4 字节
 *   <li>实时上报数据单元尾部增加签名信息（以类型 {@code 0xFF} 标识，表 8）
 *   <li>加密方式新增 {@code 0x04 SM2} / {@code 0x05 SM4}
 *   <li>命令标识新增 {@code 0x07 心跳 / 0x08 校时 / 0x09 激活 / 0x0A 激活应答 / 0x0B 密钥交换}
 * </ul>
 */
public enum ProtocolVersion {
    /** GB/T 32960.3-2016。起始符 {@code 0x23 0x23 (##)}。 */
    V2016,
    /** GB/T 32960.3-2025。起始符 {@code 0x24 0x24 ($$)}。 */
    V2025
}
