1
1
#pragma once
2
2
3
3
#include "safety_declarations.h"
4
- #include "safety_hyundai_flags.h"
5
4
6
5
extern uint16_t hyundai_canfd_crc_lut [256 ];
7
6
uint16_t hyundai_canfd_crc_lut [256 ];
8
7
9
8
static const uint8_t HYUNDAI_PREV_BUTTON_SAMPLES = 8 ; // roughly 160 ms
10
-
9
+ //
11
10
extern const uint32_t HYUNDAI_STANDSTILL_THRSLD ;
12
11
const uint32_t HYUNDAI_STANDSTILL_THRSLD = 12 ; // 0.375 kph
13
12
@@ -18,8 +17,59 @@ enum {
18
17
HYUNDAI_BTN_CANCEL = 4 ,
19
18
};
20
19
21
- extern uint8_t hyundai_last_button_interaction ; // button messages since the user pressed an enable button
22
- uint8_t hyundai_last_button_interaction = HYUNDAI_PREV_BUTTON_SAMPLES ;
20
+ // common state
21
+ extern bool hyundai_ev_gas_signal ;
22
+ bool hyundai_ev_gas_signal = false;
23
+
24
+ extern bool hyundai_hybrid_gas_signal ;
25
+ bool hyundai_hybrid_gas_signal = false;
26
+
27
+ extern bool hyundai_longitudinal ;
28
+ bool hyundai_longitudinal = false;
29
+
30
+ extern bool hyundai_camera_scc ;
31
+ bool hyundai_camera_scc = false;
32
+
33
+ extern bool hyundai_canfd_lka_steering ;
34
+ bool hyundai_canfd_lka_steering = false;
35
+
36
+ extern bool hyundai_alt_limits ;
37
+ bool hyundai_alt_limits = false;
38
+
39
+ extern bool hyundai_fcev_gas_signal ;
40
+ bool hyundai_fcev_gas_signal = false;
41
+
42
+ extern bool hyundai_alt_limits_2 ;
43
+ bool hyundai_alt_limits_2 = false;
44
+
45
+ static uint8_t hyundai_last_button_interaction ; // button messages since the user pressed an enable button
46
+
47
+ void hyundai_common_init (uint16_t param ) {
48
+ const int HYUNDAI_PARAM_EV_GAS = 1 ;
49
+ const int HYUNDAI_PARAM_HYBRID_GAS = 2 ;
50
+ const int HYUNDAI_PARAM_CAMERA_SCC = 8 ;
51
+ const int HYUNDAI_PARAM_CANFD_LKA_STEERING = 16 ;
52
+ const int HYUNDAI_PARAM_ALT_LIMITS = 64 ; // TODO: shift this down with the rest of the common flags
53
+ const int HYUNDAI_PARAM_FCEV_GAS = 256 ;
54
+ const int HYUNDAI_PARAM_ALT_LIMITS_2 = 512 ;
55
+
56
+ hyundai_ev_gas_signal = GET_FLAG (param , HYUNDAI_PARAM_EV_GAS );
57
+ hyundai_hybrid_gas_signal = !hyundai_ev_gas_signal && GET_FLAG (param , HYUNDAI_PARAM_HYBRID_GAS );
58
+ hyundai_camera_scc = GET_FLAG (param , HYUNDAI_PARAM_CAMERA_SCC );
59
+ hyundai_canfd_lka_steering = GET_FLAG (param , HYUNDAI_PARAM_CANFD_LKA_STEERING );
60
+ hyundai_alt_limits = GET_FLAG (param , HYUNDAI_PARAM_ALT_LIMITS );
61
+ hyundai_fcev_gas_signal = GET_FLAG (param , HYUNDAI_PARAM_FCEV_GAS );
62
+ hyundai_alt_limits_2 = GET_FLAG (param , HYUNDAI_PARAM_ALT_LIMITS_2 );
63
+
64
+ hyundai_last_button_interaction = HYUNDAI_PREV_BUTTON_SAMPLES ;
65
+
66
+ #ifdef ALLOW_DEBUG
67
+ const int HYUNDAI_PARAM_LONGITUDINAL = 4 ;
68
+ hyundai_longitudinal = GET_FLAG (param , HYUNDAI_PARAM_LONGITUDINAL );
69
+ #else
70
+ hyundai_longitudinal = false;
71
+ #endif
72
+ }
23
73
24
74
void hyundai_common_cruise_state_check (const bool cruise_engaged ) {
25
75
// some newer HKG models can re-enable after spamming cancel button,
0 commit comments