panda/board/safety/safety_defaults.h

67 lines
1.3 KiB
C
Raw Normal View History

int default_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) {
UNUSED(to_push);
return true;
}
2017-07-17 11:20:08 -06:00
// *** no output safety mode ***
2018-01-26 00:57:04 -07:00
static void nooutput_init(int16_t param) {
UNUSED(param);
controls_allowed = false;
relay_malfunction_reset();
2017-07-17 11:20:08 -06:00
}
2017-07-21 00:36:06 -06:00
static int nooutput_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) {
UNUSED(to_send);
2017-07-17 11:20:08 -06:00
return false;
}
2017-07-21 00:36:06 -06:00
static int nooutput_tx_lin_hook(int lin_num, uint8_t *data, int len) {
UNUSED(lin_num);
UNUSED(data);
UNUSED(len);
2017-07-17 11:20:08 -06:00
return false;
}
static int default_fwd_hook(int bus_num, CAN_FIFOMailBox_TypeDef *to_fwd) {
UNUSED(bus_num);
UNUSED(to_fwd);
return -1;
}
2017-07-17 11:20:08 -06:00
const safety_hooks nooutput_hooks = {
.init = nooutput_init,
.rx = default_rx_hook,
.tx = nooutput_tx_hook,
.tx_lin = nooutput_tx_lin_hook,
.fwd = default_fwd_hook,
2017-07-17 11:20:08 -06:00
};
// *** all output safety mode ***
2018-01-26 00:57:04 -07:00
static void alloutput_init(int16_t param) {
UNUSED(param);
controls_allowed = true;
relay_malfunction_reset();
2017-07-17 11:20:08 -06:00
}
2017-07-21 00:36:06 -06:00
static int alloutput_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) {
UNUSED(to_send);
2017-07-21 00:36:06 -06:00
return true;
2017-07-17 11:20:08 -06:00
}
2017-07-21 00:36:06 -06:00
static int alloutput_tx_lin_hook(int lin_num, uint8_t *data, int len) {
UNUSED(lin_num);
UNUSED(data);
UNUSED(len);
2017-07-21 00:36:06 -06:00
return true;
2017-07-17 11:20:08 -06:00
}
const safety_hooks alloutput_hooks = {
.init = alloutput_init,
.rx = default_rx_hook,
.tx = alloutput_tx_hook,
.tx_lin = alloutput_tx_lin_hook,
.fwd = default_fwd_hook,
2017-07-17 11:20:08 -06:00
};