mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-26 16:30:07 +08:00
[electrical]: extra ADC (#3134)
This commit is contained in:
committed by
GitHub
parent
673beb5e6e
commit
2b89019f1d
@@ -73,6 +73,9 @@ static struct {
|
||||
#if defined ADC_CHANNEL_CURRENT && !defined SITL
|
||||
struct adc_buf current_adc_buf;
|
||||
#endif
|
||||
#if defined ADC_CHANNEL_CURRENT2 && !defined SITL
|
||||
struct adc_buf current2_adc_buf;
|
||||
#endif
|
||||
#ifdef MILLIAMP_AT_FULL_THROTTLE
|
||||
float nonlin_factor;
|
||||
#endif
|
||||
@@ -116,6 +119,10 @@ void electrical_init(void)
|
||||
/* measure current if available, otherwise estimate it */
|
||||
#if defined ADC_CHANNEL_CURRENT && !defined SITL
|
||||
adc_buf_channel(ADC_CHANNEL_CURRENT, &electrical_priv.current_adc_buf, DEFAULT_AV_NB_SAMPLE);
|
||||
|
||||
#if defined ADC_CHANNEL_CURRENT2 && !defined SITL
|
||||
adc_buf_channel(ADC_CHANNEL_CURRENT2, &electrical_priv.current2_adc_buf, DEFAULT_AV_NB_SAMPLE);
|
||||
#endif
|
||||
#elif defined MILLIAMP_AT_FULL_THROTTLE
|
||||
PRINT_CONFIG_VAR(CURRENT_ESTIMATION_NONLINEARITY)
|
||||
electrical_priv.nonlin_factor = CURRENT_ESTIMATION_NONLINEARITY;
|
||||
@@ -137,6 +144,11 @@ void electrical_periodic(void)
|
||||
#ifndef SITL
|
||||
int32_t current_adc = electrical_priv.current_adc_buf.sum / electrical_priv.current_adc_buf.av_nb_sample;
|
||||
electrical.current = MilliAmpereOfAdc(current_adc) / 1000.f;
|
||||
|
||||
#ifdef ADC_CHANNEL_CURRENT2
|
||||
current_adc = electrical_priv.current2_adc_buf.sum / electrical_priv.current2_adc_buf.av_nb_sample;
|
||||
electrical.current += MilliAmpereOfAdc2(current_adc) / 1000.f;
|
||||
#endif
|
||||
#endif
|
||||
#elif defined MILLIAMP_AT_FULL_THROTTLE && defined COMMAND_CURRENT_ESTIMATION
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user