You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.3 KiB
60 lines
1.3 KiB
7 years ago
|
void default_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) {}
|
||
|
|
||
7 years ago
|
int default_ign_hook() {
|
||
|
return -1; // use GPIO to determine ignition
|
||
|
}
|
||
|
|
||
7 years ago
|
// *** no output safety mode ***
|
||
|
|
||
7 years ago
|
static void nooutput_init(int16_t param) {
|
||
7 years ago
|
controls_allowed = 0;
|
||
|
}
|
||
|
|
||
|
static int nooutput_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
static int nooutput_tx_lin_hook(int lin_num, uint8_t *data, int len) {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
7 years ago
|
static int nooutput_fwd_hook(int bus_num, CAN_FIFOMailBox_TypeDef *to_fwd) {
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
7 years ago
|
const safety_hooks nooutput_hooks = {
|
||
|
.init = nooutput_init,
|
||
|
.rx = default_rx_hook,
|
||
|
.tx = nooutput_tx_hook,
|
||
|
.tx_lin = nooutput_tx_lin_hook,
|
||
7 years ago
|
.ignition = default_ign_hook,
|
||
7 years ago
|
.fwd = nooutput_fwd_hook,
|
||
7 years ago
|
};
|
||
|
|
||
|
// *** all output safety mode ***
|
||
|
|
||
7 years ago
|
static void alloutput_init(int16_t param) {
|
||
7 years ago
|
controls_allowed = 1;
|
||
|
}
|
||
|
|
||
|
static int alloutput_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) {
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
static int alloutput_tx_lin_hook(int lin_num, uint8_t *data, int len) {
|
||
|
return true;
|
||
|
}
|
||
|
|
||
7 years ago
|
static int alloutput_fwd_hook(int bus_num, CAN_FIFOMailBox_TypeDef *to_fwd) {
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
7 years ago
|
const safety_hooks alloutput_hooks = {
|
||
|
.init = alloutput_init,
|
||
|
.rx = default_rx_hook,
|
||
|
.tx = alloutput_tx_hook,
|
||
|
.tx_lin = alloutput_tx_lin_hook,
|
||
7 years ago
|
.ignition = default_ign_hook,
|
||
7 years ago
|
.fwd = alloutput_fwd_hook,
|
||
7 years ago
|
};
|