16
16
#include "safety/safety_mazda.h"
17
17
#include "safety/safety_elm327.h"
18
18
19
+ // from cereal.car.CarParams.SafetyModel
20
+ #define SAFETY_NOOUTPUT 0U
21
+ #define SAFETY_HONDA 1U
22
+ #define SAFETY_TOYOTA 2U
23
+ #define SAFETY_ELM327 3U
24
+ #define SAFETY_GM 4U
25
+ #define SAFETY_HONDA_BOSCH 5U
26
+ #define SAFETY_FORD 6U
27
+ #define SAFETY_CADILLAC 7U
28
+ #define SAFETY_HYUNDAI 8U
29
+ #define SAFETY_CHRYSLER 9U
30
+ #define SAFETY_TESLA 10U
31
+ #define SAFETY_SUBARU 11U
32
+ #define SAFETY_GM_PASSIVE 12U
33
+ #define SAFETY_MAZDA 13U
34
+ #define SAFETY_TOYOTA_IPAS 16U
35
+ #define SAFETY_ALLOUTPUT 17U
36
+ #define SAFETY_GM_ASCM 18U
37
+
38
+ uint16_t current_safety_mode = SAFETY_NOOUTPUT ;
19
39
const safety_hooks * current_hooks = & nooutput_hooks ;
20
40
21
41
void safety_rx_hook (CAN_FIFOMailBox_TypeDef * to_push ){
@@ -45,25 +65,6 @@ typedef struct {
45
65
const safety_hooks * hooks ;
46
66
} safety_hook_config ;
47
67
48
- // from cereal.car.CarParams.SafetyModel
49
- #define SAFETY_NOOUTPUT 0U
50
- #define SAFETY_HONDA 1U
51
- #define SAFETY_TOYOTA 2U
52
- #define SAFETY_ELM327 3U
53
- #define SAFETY_GM 4U
54
- #define SAFETY_HONDA_BOSCH 5U
55
- #define SAFETY_FORD 6U
56
- #define SAFETY_CADILLAC 7U
57
- #define SAFETY_HYUNDAI 8U
58
- #define SAFETY_CHRYSLER 9U
59
- #define SAFETY_TESLA 10U
60
- #define SAFETY_SUBARU 11U
61
- #define SAFETY_GM_PASSIVE 12U
62
- #define SAFETY_MAZDA 13U
63
- #define SAFETY_TOYOTA_IPAS 16U
64
- #define SAFETY_ALLOUTPUT 17U
65
- #define SAFETY_GM_ASCM 18U
66
-
67
68
const safety_hook_config safety_hook_registry [] = {
68
69
{SAFETY_NOOUTPUT , & nooutput_hooks },
69
70
{SAFETY_HONDA , & honda_hooks },
@@ -90,6 +91,7 @@ int safety_set_mode(uint16_t mode, int16_t param) {
90
91
for (int i = 0 ; i < hook_config_count ; i ++ ) {
91
92
if (safety_hook_registry [i ].id == mode ) {
92
93
current_hooks = safety_hook_registry [i ].hooks ;
94
+ current_safety_mode = safety_hook_registry [i ].id ;
93
95
set_status = 0 ; // set
94
96
break ;
95
97
}
0 commit comments