11#include "useful_macros.h"
18#define PWM_CLOCK_FREQUENCY (float)4.0e+9
20#define ADC_RESOLUTION 4095
21#define ADC_REFERENCE (float)3.3
22#define ADC_SCALER (float)(1.0 / ADC_RESOLUTION)
24#define PHASE_180_SCALER (float)(1.0 / 180)
58 // end of group pwm-macros ~~~~~~~~~~~~~~~~~~~~
71#define ISEC_OC_THRES_TRIG (UNITS_FROM_ENG_TO_ADC(ISEC_OC_THRES_TRIG_AMPS,ISEC_AVG_SNS_GAIN,ISEC_AVG_SNS_OFS))
72#define ISEC_OC_THRES_CLEAR (UNITS_FROM_ENG_TO_ADC(ISEC_OC_THRES_CLEAR_AMPS,ISEC_AVG_SNS_GAIN,ISEC_AVG_SNS_OFS))
74#define ISEC_OC_T_BLANK_TRIG ((uint16_t)(_rnd(ISEC_OC_T_BLANK_TRIG_SEC / ISEC_OC_TICK_SEC)))
75#define ISEC_OC_T_BLANK_CLEAR ((uint16_t)(_rnd(ISEC_OC_T_BLANK_CLEAR_SEC / ISEC_OC_TICK_SEC)))
98#define IPRI_SC_THRES_TRIG (UNITS_FROM_ENG_TO_ADC(IPRI_SC_THRES_TRIG_AMPS,IPRI_CT_SNS_GAIN,IPRI_CT_SNS_OFS))
100 // end of group ~~~~~~~~~~~~~~~~~~~~
106#define VSEC_OV_THRES_TRIG (UNITS_FROM_ENG_TO_ADC(VSEC_OV_THRES_TRIG_VOLTS,VSEC_SNS_GAIN,0.0))
107#define VSEC_OV_THRES_CLEAR (UNITS_FROM_ENG_TO_ADC(VSEC_OV_THRES_CLEAR_VOLTS,VSEC_SNS_GAIN,0.0))
108#define VSEC_OV_T_BLANK_TRIG ((uint16_t)(_rnd(VSEC_OV_T_BLANK_TRIG_SEC / VSEC_OV_TICK_SEC)))
109#define VSEC_OV_T_BLANK_CLEAR ((uint16_t)(_rnd(VSEC_OV_T_BLANK_CLEAR_SEC / VSEC_OV_TICK_SEC)))
111#define VSEC_UV_THRES_TRIG (UNITS_FROM_ENG_TO_ADC(VSEC_UV_THRES_TRIG_VOLTS,VSEC_SNS_GAIN,0.0))
112#define VSEC_UV_THRES_CLEAR (UNITS_FROM_ENG_TO_ADC(VSEC_UV_THRES_CLEAR_VOLTS,VSEC_SNS_GAIN,0.0))
113#define VSEC_UV_T_BLANK_TRIG ((uint16_t)(_rnd(VSEC_UV_T_BLANK_TRIG_SEC / VSEC_UV_TICK_SEC)))
114#define VSEC_UV_T_BLANK_CLEAR ((uint16_t)(_rnd(VSEC_UV_T_BLANK_CLEAR_SEC / VSEC_UV_TICK_SEC)))
120 // end of group ~~~~~~~~~~~~~~~~~~~~
126#define VPRI_OV_THRES_TRIG (UNITS_FROM_ENG_TO_ADC(VPRI_OV_THRES_TRIG_VOLTS,VPRI_SNS_GAIN,VPRI_SNS_OFS))
127#define VPRI_OV_THRES_CLEAR (UNITS_FROM_ENG_TO_ADC(VPRI_OV_THRES_CLEAR_VOLTS,VPRI_SNS_GAIN,VPRI_SNS_OFS))
128#define VPRI_OV_T_BLANK_TRIG ((uint16_t)(_rnd(VPRI_OV_T_BLANK_TRIG_SEC / VSEC_OV_TICK_SEC)))
129#define VPRI_OV_T_BLANK_CLEAR ((uint16_t)(_rnd(VPRI_OV_T_BLANK_CLEAR_SEC / VSEC_OV_TICK_SEC)))
131#define VPRI_UV_THRES_TRIG (UNITS_FROM_ENG_TO_ADC(VPRI_UV_THRES_TRIG_VOLTS,VPRI_SNS_GAIN,VPRI_SNS_OFS))
132#define VPRI_UV_THRES_CLEAR (UNITS_FROM_ENG_TO_ADC(VPRI_UV_THRES_CLEAR_VOLTS,VPRI_SNS_GAIN,VPRI_SNS_OFS))
133#define VPRI_UV_T_BLANK_TRIG ((uint16_t)(_rnd(VPRI_UV_T_BLANK_TRIG_SEC / VSEC_UV_TICK_SEC)))
134#define VPRI_UV_T_BLANK_CLEAR ((uint16_t)(_rnd(VPRI_UV_T_BLANK_CLEAR_SEC / VSEC_UV_TICK_SEC)))
147#define VRAIL_5V_UV_THRES_TRIG (UNITS_FROM_ENG_TO_ADC(VRAIL_5V_UV_THRES_TRIG_VOLTS,VRAIL_5V_SNS_GAIN,0.0))
148#define VRAIL_5V_UV_THRES_CLEAR (UNITS_FROM_ENG_TO_ADC(VRAIL_5V_UV_THRES_CLEAR_VOLTS,VRAIL_5V_SNS_GAIN,0.0))
149#define VRAIL_5V_UV_T_BLANK_TRIG ((uint16_t)(_rnd(VRAIL_5V_UV_T_BLANK_TRIG_SEC / VRAIL_5V_UV_TICK_SEC)))
150#define VRAIL_5V_UV_T_BLANK_CLEAR ((uint16_t)(_rnd(VRAIL_5V_UV_T_BLANK_CLEAR_SEC / VRAIL_5V_UV_TICK_SEC)))
163#define OTP_THRES_TRIG (UNITS_FROM_ENG_TO_ADC(OTP_THRES_TRIG_CELCIUS,TEMPERATURE_GAIN,TEMPERATURE_OFFSET))
164#define OTP_THRES_CLEAR (UNITS_FROM_ENG_TO_ADC(OTP_THRES_CLEAR_CELCIUS,TEMPERATURE_GAIN,TEMPERATURE_OFFSET))
165#define OTP_THRES_BLANK_TRIG FAULT_PERSISTENCE_COUNT_TEMP
166#define OTP_THRES_BLANK_CLEAR FAULT_PERSISTENCE_COUNT_TEMP
182 // end of group ~~~~~~~~~~~~~~~~~~~~