using System;
using System.Collections.Generic;
using System.Text;

namespace JT808.Protocol.Enums
{
    /// <summary>
    /// 报警标志
    /// </summary>
    [Flags]
    public enum JT808Alarm : uint
    {
        /// <summary>
        /// 紧急报警_触动报警开关后触发
        /// 收到应答后清零
        /// </summary>
        紧急报警_触动报警开关后触发 = 1,
        /// <summary>
        /// 超速报警
        /// 标志维持至报警条件解除
        /// </summary>
        超速报警 = 2,
        /// <summary>
        /// 标志维持至报警条件解除
        /// 疲劳驾驶
        /// </summary>
        疲劳驾驶 = 4,
        /// <summary>
        /// 危险预警
        /// 收到应答后清零
        /// </summary>
        危险预警 = 8,
        /// <summary>
        /// GNSS模块发生故障
        /// 标志维持至报警条件解除
        /// </summary>
        GNSS模块发生故障 = 16,
        /// <summary>
        /// GNSS天线未接或被剪断
        /// 标志维持至报警条件解除
        /// </summary>
        GNSS天线未接或被剪断 = 32,
        /// <summary>
        /// GNSS天线短路
        /// 标志维持至报警条件解除
        /// </summary>
        GNSS天线短路 = 64,
        /// <summary>
        /// 终端主电源欠压
        /// 标志维持至报警条件解除
        /// </summary>
        终端主电源欠压 = 128,
        /// <summary>
        /// 终端主电源掉电
        /// 标志维持至报警条件解除
        /// </summary>
        终端主电源掉电 = 256,
        /// <summary>
        /// 终端LCD或显示器故障
        /// 标志维持至报警条件解除
        /// </summary>
        终端LCD或显示器故障 = 512,
        /// <summary>
        /// TTS模块故障
        /// 标志维持至报警条件解除
        /// </summary>
        TTS模块故障 = 1024,
        /// <summary>
        /// 摄像头故障
        /// 标志维持至报警条件解除
        /// </summary>
        摄像头故障 = 2048,
        /// <summary>
        /// 道路运输证IC卡模块故障
        /// 标志维持至报警条件解除
        /// </summary>
        道路运输证IC卡模块故障 = 4096,
        /// <summary>
        /// 超速预警
        /// 标志维持至报警条件解除
        /// </summary>
        超速预警 = 8192,
        /// <summary>
        /// 疲劳驾驶预警
        /// 标志维持至报警条件解除
        /// </summary>
        疲劳驾驶预警 = 16384,
        保留1 = 32768,
        保留2 = 65536,
        保留3 = 131072,
        /// <summary>
        /// 当天累计驾驶超时
        /// 标志维持至报警条件解除
        /// </summary>
        当天累计驾驶超时 = 262144,
        /// <summary>
        /// 超时停车
        /// 标志维持至报警条件解除
        /// </summary>
        超时停车 = 524288,
        /// <summary>
        /// 进出区域
        /// 收到应答后清零
        /// </summary>
        进出区域 = 1048576,
        /// <summary>
        /// 进出路线
        /// 收到应答后清零
        /// </summary>
        进出路线 = 2097152,
        /// <summary>
        /// 路段行驶时间不足或过长
        /// 收到应答后清零
        /// </summary>
        路段行驶时间不足或过长 = 4194304,
        /// <summary>
        /// 路线偏离报警
        /// 标志维持至报警条件解除
        /// </summary>
        路线偏离报警 = 8388608,
        /// <summary>
        /// 车辆VSS故障
        /// 标志维持至报警条件解除
        /// </summary>
        车辆VSS故障 = 16777216,
        /// <summary>
        /// 车辆油量异常
        /// 标志维持至报警条件解除
        /// </summary>
        车辆油量异常 = 33554432,
        /// <summary>
        /// 车辆被盗通过车辆防盗器
        /// 标志维持至报警条件解除
        /// </summary>
        车辆被盗 = 67108864,
        /// <summary>
        /// 车辆非法点火
        /// </summary>
        车辆非法点火 = 134217728,
        /// <summary>
        /// 车辆非法位移
        /// 收到应答后清零
        /// </summary>
        车辆非法位移 = 268435456,
        /// <summary>
        /// 碰撞预警
        /// 标志维持至报警条件解除
        /// </summary>
        碰撞预警 = 536870912,
        /// <summary>
        /// 侧翻预警
        /// 标志维持至报警条件解除
        /// </summary>
        侧翻预警 = 1073741824,
        /// <summary>
        /// 非法开门报警
        /// （终端未设置区域时，不判断非法开门）
        /// 收到应答后清零
        /// </summary>
        非法开门报警 = 2147483648
    }
}
