status.py 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. ##################################################################
  4. #
  5. # Copyright (c) 2023 CICV, Inc. All Rights Reserved
  6. #
  7. ##################################################################
  8. """
  9. @Authors: yangzihao(yangzihao@china-icv.cn)
  10. @Data: 2023/11/23
  11. @Last Modified: 2023/11/23
  12. @Summary: Status machine type enumerations.
  13. """
  14. from enum import Enum, auto
  15. # Abpb_status ACC_status Aeb_status Awb_status DOW_status
  16. # Eba_status ELK_status ESA_status Fcw_status ICA_status
  17. # ISLC_status JA_status LDW_status LKA_status NOA_status
  18. # RCW_status TLC_status
  19. class ACCStatusType(Enum):
  20. """
  21. ACC状态机
  22. 关闭 0
  23. 激活 1
  24. 接管 2
  25. 中断 3
  26. 待机 4
  27. 抑制 5
  28. 静止激活 6
  29. 静止等待 7
  30. """
  31. Off = 0
  32. Passive = auto()
  33. Standby = auto()
  34. Active_Control = auto()
  35. Override = auto()
  36. Brake_Only = auto()
  37. StandStill = auto()
  38. Failure = auto()
  39. class LDWStatusType(Enum):
  40. """
  41. LDW状态机
  42. 关闭 0
  43. 抑制 1
  44. 待机 2
  45. 激活 3
  46. 故障 4
  47. """
  48. Off = 0
  49. Passive = auto()
  50. Standby = auto()
  51. Active = auto()
  52. Error = auto()
  53. class LKAStatusType(Enum):
  54. """
  55. LKA状态机
  56. 关闭 0
  57. 抑制 1
  58. 待机 2
  59. 激活 3
  60. 故障 4
  61. """
  62. Standby = 0
  63. Left_Active = auto()
  64. Right_Active = auto()
  65. # Passive = auto()
  66. # Standby = auto()
  67. # Active = auto()
  68. # Error = auto()
  69. class FCWStatusType(Enum):
  70. """
  71. FCW状态机
  72. 关闭 0
  73. 抑制 1
  74. 待机 2
  75. 激活 3
  76. 故障 4
  77. """
  78. Off = 0
  79. Passive = auto()
  80. Standby = auto()
  81. Active = auto()
  82. Error = auto()
  83. class AEBStatusType(Enum):
  84. """
  85. AEB状态机
  86. 关闭 0
  87. 抑制 1
  88. 待机 2
  89. 激活 3
  90. 故障 4
  91. """
  92. Off = 0
  93. Passive = auto()
  94. Standby = auto()
  95. Active = auto()
  96. Error = auto()
  97. class ICAStatusType(Enum):
  98. """
  99. ICA状态机
  100. 关闭 0
  101. 抑制 1
  102. 待机 2
  103. 仅纵向控制 3
  104. 车道保持辅助循线 4
  105. 车道保持辅助跟车 5
  106. 故障 6
  107. """
  108. Off = 0
  109. Passive = auto()
  110. Standby = auto()
  111. LLC_Follow_Line = auto() # 无车,定速,居中
  112. LLC_Follow_Vehicle = auto() # 跟车,居中
  113. Only_Longitudinal_Control = auto() # 仅纵向
  114. Error = auto()
  115. class AWBStatusType(Enum):
  116. """
  117. AWB状态机
  118. 关闭 0
  119. 抑制 1
  120. 待机 2
  121. 激活 3
  122. 故障 4
  123. """
  124. Off = 0
  125. Passive = auto()
  126. Standby = auto()
  127. Active = auto()
  128. Error = auto()
  129. class ABPBStatusType(Enum):
  130. """
  131. ABPB状态机
  132. 关闭 0
  133. 抑制 1
  134. 待机 2
  135. 激活 3
  136. 故障 4
  137. """
  138. Off = 0
  139. Passive = auto()
  140. Standby = auto()
  141. Active = auto()
  142. Error = auto()
  143. class EBAStatusType(Enum):
  144. """
  145. EBA状态机
  146. 关闭 0
  147. 抑制 1
  148. 待机 2
  149. 激活 3
  150. 故障 4
  151. """
  152. Off = 0
  153. Passive = auto()
  154. Standby = auto()
  155. Active = auto()
  156. Error = auto()
  157. class ESAStatusType(Enum):
  158. """
  159. ESA状态机
  160. 关闭 0
  161. 抑制 1
  162. 待机 2
  163. AES激活 3
  164. ESS激活 4
  165. 故障 5
  166. """
  167. Off = 0
  168. Passive = auto()
  169. Standby = auto()
  170. AES_Active = auto()
  171. ESS_Active = auto()
  172. Error = auto()
  173. class ELKStatusType(Enum):
  174. """
  175. ELK状态机
  176. 关闭 0
  177. 抑制 1
  178. 待机 2
  179. 等待 3
  180. 警告 4
  181. 控制 5
  182. 故障 6
  183. """
  184. Off = 0
  185. Passive = auto()
  186. Standby = auto()
  187. Wait = auto()
  188. ELK_Warning = auto()
  189. ELK_Control = auto()
  190. Error = auto()
  191. class JAStatusType(Enum):
  192. """
  193. JA状态机
  194. 关闭 0
  195. 抑制 1
  196. 待机 2
  197. 激活 3
  198. 故障 4
  199. """
  200. Off = 0
  201. Passive = auto()
  202. Standby = auto()
  203. Active = auto()
  204. Error = auto()
  205. class ISLCStatusType(Enum):
  206. """
  207. ISLC状态机
  208. 关闭 0
  209. 视觉抑制 1
  210. 融合抑制 2
  211. 导航抑制 3
  212. 待机 4
  213. 激活 5
  214. 故障 6
  215. """
  216. Off = 0
  217. Passive_Vision_Mode = auto()
  218. Passive_Fusion_Mode = auto()
  219. Passive_Navigation_Mode = auto()
  220. Standby = auto()
  221. Active = auto()
  222. Error = auto()
  223. class DOWStatusType(Enum):
  224. """
  225. DOW状态机
  226. 关闭 0
  227. 抑制 1
  228. 待机 2
  229. 激活 3
  230. 激活 4
  231. 故障 5
  232. """
  233. Off = 0
  234. Passive = auto()
  235. Standby = auto()
  236. Active_Level1 = auto()
  237. Active_Level2 = auto()
  238. Error = auto()
  239. class RCWStatusType(Enum):
  240. """
  241. RCW状态机
  242. 关闭 0
  243. 抑制 1
  244. 待机 2
  245. 激活 3
  246. 故障 4
  247. """
  248. Off = 0
  249. Passive = auto()
  250. Standby = auto()
  251. Active = auto()
  252. Error = auto()
  253. class TLCStatusType(Enum):
  254. """
  255. TLC状态机
  256. 关闭 0
  257. 抑制 1
  258. 待机 2
  259. 等待 3
  260. 需求延迟 4
  261. 变道中 5
  262. 变道返回 6
  263. 变道失败 7
  264. 故障 8
  265. """
  266. Off = 0
  267. Passive = auto()
  268. Standby = auto()
  269. Wait = auto()
  270. Reqdelay = auto()
  271. LC_Ing = auto()
  272. LC_Return = auto()
  273. LC_Fail = auto()
  274. Error = auto()
  275. class NOAStatusType(Enum):
  276. """
  277. NOA状态机
  278. 关闭 0
  279. 抑制 1
  280. 待机 2
  281. 一般激活 3
  282. 需要反馈激活 4
  283. 安全停车 5
  284. 故障 6
  285. """
  286. NOA_Off = 0
  287. NOA_Passive = auto()
  288. NOA_Standby = auto()
  289. NOA_Active_Normal = auto()
  290. NOA_Active_RequestingFallback = auto()
  291. NOA_SafeStop = auto()
  292. NOA_Error = auto()