Skip to content

Commit

Permalink
Improve BMSW ADC sampling
Browse files Browse the repository at this point in the history
  • Loading branch information
JoshLafleur committed Jan 31, 2025
1 parent 81447c1 commit 9837f41
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
14 changes: 7 additions & 7 deletions components/bms_worker/HW/HW_adc.c
Original file line number Diff line number Diff line change
Expand Up @@ -88,42 +88,42 @@ HW_StatusTypeDef_E HW_ADC_init(void)

sConfig.Channel = ADC_CHANNEL_TEMPSENSOR;
sConfig.Rank = ADC_REGULAR_RANK_1;
sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
sConfig.SamplingTime = ADC_SAMPLETIME_13CYCLES_5;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
sConfig.Channel = ADC_CHANNEL_MUX1;
sConfig.Rank = ADC_REGULAR_RANK_2;
sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
sConfig.SamplingTime = ADC_SAMPLETIME_13CYCLES_5;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
sConfig.Channel = ADC_CHANNEL_MUX2;
sConfig.Rank = ADC_REGULAR_RANK_3;
sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
sConfig.SamplingTime = ADC_SAMPLETIME_13CYCLES_5;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
sConfig.Channel = ADC_CHANNEL_MUX3;
sConfig.Rank = ADC_REGULAR_RANK_4;
sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
sConfig.SamplingTime = ADC_SAMPLETIME_13CYCLES_5;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
sConfig.Channel = ADC_CHANNEL_BRD1;
sConfig.Rank = ADC_REGULAR_RANK_5;
sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
sConfig.SamplingTime = ADC_SAMPLETIME_13CYCLES_5;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
sConfig.Channel = ADC_CHANNEL_BRD2;
sConfig.Rank = ADC_REGULAR_RANK_6;
sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
sConfig.SamplingTime = ADC_SAMPLETIME_13CYCLES_5;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
Expand All @@ -144,7 +144,7 @@ HW_StatusTypeDef_E HW_ADC_init(void)

sConfig.Channel = ADC_CHANNEL_CELL_MEASUREMENT;
sConfig.Rank = ADC_REGULAR_RANK_1;
sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
sConfig.SamplingTime = ADC_SAMPLETIME_13CYCLES_5;
if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
{
Error_Handler();
Expand Down
4 changes: 2 additions & 2 deletions components/bms_worker/include/IO.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@
******************************************************************************/

#define ADC_MAX_VAL 4095U // Max integer value of ADC reading (2^12 for this chip)
#define IO_ADC_BUF_LEN 96U // number of samples to fill with DMA,
#define IO_ADC_BUF_LEN 48U // number of samples to fill with DMA,
// processed when half full and again when completely full
// (1.5+3) cycles * 96 samples @ 8MHz -> 54us < 100us - 15us
// (13.5+3) cycles * 48 samples @ 8MHz -> 99us < 200us - 15us

/******************************************************************************
* T Y P E D E F S
Expand Down

0 comments on commit 9837f41

Please sign in to comment.