|
|
@@ -13,6 +13,7 @@ typedef struct {
|
|
|
float value;
|
|
|
float filted_value;
|
|
|
int filted_int;
|
|
|
+ u16 adc_offset;
|
|
|
float lowpass;
|
|
|
}samples_t;
|
|
|
|
|
|
@@ -167,12 +168,18 @@ void sample_vbus(void){
|
|
|
|
|
|
void sample_ibus(void) {
|
|
|
#ifdef VBUS_I_CHAN
|
|
|
- s16 vadc = adc_get_ibus();
|
|
|
+ s16 vadc = adc_get_ibus() - _ibus.adc_offset;
|
|
|
_ibus.value = (float)vadc * VBUS_I_CEOF;
|
|
|
LowPass_Filter(_ibus.filted_value, _ibus.value, _ibus.lowpass);
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
+void sample_ibus_offset(u16 offset) {
|
|
|
+#ifdef VBUS_I_CHAN
|
|
|
+ _ibus.adc_offset = offset;
|
|
|
+#endif
|
|
|
+}
|
|
|
+
|
|
|
void sample_throttle(void){
|
|
|
#ifdef THROTTLE_CHAN
|
|
|
s16 vadc = adc_get_throttle();
|