mirror of
https://github.com/infiniteCable2/panda.git
synced 2026-02-18 17:23:52 +08:00
* refactor panda side * fix misra? * use common ADC driver in jungle * fix misra fr now * fix oversampling * default channel macro * one more * this makes more sense --------- Co-authored-by: Comma Device <device@comma.ai>
34 lines
862 B
C
34 lines
862 B
C
#pragma once
|
|
|
|
#define HARNESS_STATUS_NC 0U
|
|
#define HARNESS_STATUS_NORMAL 1U
|
|
#define HARNESS_STATUS_FLIPPED 2U
|
|
|
|
struct harness_t {
|
|
uint8_t status;
|
|
uint16_t sbu1_voltage_mV;
|
|
uint16_t sbu2_voltage_mV;
|
|
bool relay_driven;
|
|
bool sbu_adc_lock;
|
|
};
|
|
extern struct harness_t harness;
|
|
|
|
struct harness_configuration {
|
|
GPIO_TypeDef * const GPIO_SBU1;
|
|
GPIO_TypeDef * const GPIO_SBU2;
|
|
GPIO_TypeDef * const GPIO_relay_SBU1;
|
|
GPIO_TypeDef * const GPIO_relay_SBU2;
|
|
const uint8_t pin_SBU1;
|
|
const uint8_t pin_SBU2;
|
|
const uint8_t pin_relay_SBU1;
|
|
const uint8_t pin_relay_SBU2;
|
|
const adc_signal_t adc_signal_SBU1;
|
|
const adc_signal_t adc_signal_SBU2;
|
|
};
|
|
|
|
// The ignition relay is only used for testing purposes
|
|
void set_intercept_relay(bool intercept, bool ignition_relay);
|
|
bool harness_check_ignition(void);
|
|
void harness_tick(void);
|
|
void harness_init(void);
|