|
|
@@ -30,12 +30,24 @@ static samples_t motor_temp;
|
|
|
#ifdef MOS_TEMP_ADC_CHAN
|
|
|
static samples_t mos_temp;
|
|
|
#endif
|
|
|
+#ifdef MOS_TEMP1_ADC_CHAN
|
|
|
+static samples_t mos_temp1;
|
|
|
+#endif
|
|
|
+#ifdef ACC_V_CHAN
|
|
|
+static samples_t acc_vol;
|
|
|
+#endif
|
|
|
|
|
|
void samples_init(void){
|
|
|
_vbus.filted_value = (CONFIG_RATED_DC_VOL);
|
|
|
_vbus.value = (CONFIG_RATED_DC_VOL);
|
|
|
- _vbus.lowpass = (0.01f);
|
|
|
+ _vbus.lowpass = (0.01f);
|
|
|
+#ifdef ACC_V_CHAN
|
|
|
+ acc_vol.filted_value = (CONFIG_RATED_DC_VOL);
|
|
|
+ acc_vol.value = (CONFIG_RATED_DC_VOL);
|
|
|
+ acc_vol.lowpass = (0.01f);
|
|
|
+#endif
|
|
|
sample_vbus();
|
|
|
+
|
|
|
#ifdef THROTTLE_CHAN
|
|
|
_throttle.filted_value = (0);
|
|
|
_throttle.value = (0);
|
|
|
@@ -61,6 +73,11 @@ void samples_init(void){
|
|
|
mos_temp.lowpass = 0.01;
|
|
|
sample_mos_temp();
|
|
|
#endif
|
|
|
+#ifdef MOS_TEMP1_ADC_CHAN
|
|
|
+ mos_temp1.value = mos_temp1.filted_value = 0;
|
|
|
+ mos_temp1.lowpass = 0.01;
|
|
|
+ sample_mos_temp();
|
|
|
+#endif
|
|
|
|
|
|
shark_task_create(sample_task, NULL);
|
|
|
}
|
|
|
@@ -80,6 +97,14 @@ int get_vbus_int(void){
|
|
|
return _vbus.filted_int;
|
|
|
}
|
|
|
|
|
|
+int get_acc_vol(void) {
|
|
|
+#ifdef ACC_V_CHAN
|
|
|
+ return acc_vol.filted_int;
|
|
|
+#else
|
|
|
+ return get_vbus_int();
|
|
|
+#endif
|
|
|
+}
|
|
|
+
|
|
|
s16 get_motor_temp(void) {
|
|
|
return motor_temp.filted_value;
|
|
|
}
|
|
|
@@ -87,6 +112,13 @@ s16 get_motor_temp(void) {
|
|
|
s16 get_mos_temp(void) {
|
|
|
return mos_temp.filted_value;
|
|
|
}
|
|
|
+s16 get_mos_temp2(void) {
|
|
|
+#ifdef MOS_TEMP1_ADC_CHAN
|
|
|
+ return mos_temp1.filted_value;
|
|
|
+#else
|
|
|
+ return get_mos_temp();
|
|
|
+#endif
|
|
|
+}
|
|
|
|
|
|
float get_throttle_float(void) {
|
|
|
#ifdef THROTTLE_CHAN
|
|
|
@@ -110,6 +142,12 @@ void sample_vbus(void){
|
|
|
_vbus.value = (float)vadc * VBUS_VOL_CEOF;
|
|
|
LowPass_Filter(_vbus.filted_value, _vbus.value, _vbus.lowpass);
|
|
|
_vbus.filted_int = (int)_vbus.filted_value;
|
|
|
+#ifdef ACC_V_CHAN
|
|
|
+ vadc = adc_get_acc();
|
|
|
+ acc_vol.value = (float)vadc * VBUS_VOL_CEOF;
|
|
|
+ LowPass_Filter(acc_vol.filted_value, acc_vol.value, acc_vol.lowpass);
|
|
|
+ acc_vol.filted_int = (int)acc_vol.filted_value;
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
void sample_throttle(void){
|
|
|
@@ -137,21 +175,28 @@ void sample_uvw_phase(void) {
|
|
|
}
|
|
|
|
|
|
void sample_motor_temp(void) {
|
|
|
-//#ifdef MOTOR_BLUESHARK_OLD
|
|
|
+#ifdef MC100_HW_V1
|
|
|
u16 adc = adc_get_motor_temp();
|
|
|
u16 r = MOTOR_TEMP_R(adc);
|
|
|
motor_temp.value = ntc_get_motor_temp(r);
|
|
|
LowPass_Filter(motor_temp.filted_value, motor_temp.value, motor_temp.lowpass);
|
|
|
-//#endif
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
void sample_mos_temp(void) {
|
|
|
-//#ifdef MOTOR_BLUESHARK_OLD
|
|
|
+#ifdef MC100_HW_V1
|
|
|
u16 adc = adc_get_mos_temp();
|
|
|
u16 r = MOS_TEMP_R(adc);
|
|
|
mos_temp.value = ntc_get_mos_temp(r);
|
|
|
LowPass_Filter(mos_temp.filted_value, mos_temp.value, mos_temp.lowpass);
|
|
|
-//#endif
|
|
|
+#ifdef MOS_TEMP1_ADC_CHAN
|
|
|
+ adc = adc_get_mos_temp2();
|
|
|
+ r = MOS_TEMP_R(adc);
|
|
|
+ mos_temp1.value = ntc_get_mos_temp(r);
|
|
|
+ LowPass_Filter(mos_temp1.filted_value, mos_temp1.value, mos_temp1.lowpass);
|
|
|
+
|
|
|
+#endif
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
|