You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by cc...@apache.org on 2016/09/27 22:36:22 UTC
[06/10] incubator-mynewt-core git commit: MYNEWT-391 STM32F4 ADC
driver and ADC HAL support
MYNEWT-391 STM32F4 ADC driver and ADC HAL support
- Addressing PR review
Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/3db7c48a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/3db7c48a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/3db7c48a
Branch: refs/heads/develop
Commit: 3db7c48a9d2144270ebb2bbb6c7fc8f78bbd771a
Parents: 8b783b0
Author: Vipul Rahane <vi...@runtime.io>
Authored: Thu Sep 22 13:08:18 2016 -0700
Committer: Vipul Rahane <vi...@runtime.io>
Committed: Tue Sep 27 13:34:07 2016 -0700
----------------------------------------------------------------------
drivers/adc/adc_stm32f4/src/adc_stm32f4.c | 43 +++++++++++++-------------
drivers/adc/include/adc/adc.h | 2 +-
2 files changed, 22 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/3db7c48a/drivers/adc/adc_stm32f4/src/adc_stm32f4.c
----------------------------------------------------------------------
diff --git a/drivers/adc/adc_stm32f4/src/adc_stm32f4.c b/drivers/adc/adc_stm32f4/src/adc_stm32f4.c
index d95c4ea..efef0b4 100644
--- a/drivers/adc/adc_stm32f4/src/adc_stm32f4.c
+++ b/drivers/adc/adc_stm32f4/src/adc_stm32f4.c
@@ -40,11 +40,11 @@ static struct adc_dev *adc_dma[5];
struct stm32f4_adc_stats {
uint16_t adc_events;
uint16_t adc_error;
- uint16_t adc_DMA_xfer_failed;
- uint16_t adc_DMA_xfer_aborted;
- uint16_t adc_DMA_xfer_complete;
- uint16_t adc_DMA_start_error;
- uint16_t adc_DMA_overrun;
+ uint16_t adc_dma_xfer_failed;
+ uint16_t adc_dma_xfer_aborted;
+ uint16_t adc_dma_xfer_complete;
+ uint16_t adc_dma_start_error;
+ uint16_t adc_dma_overrun;
uint16_t adc_internal_error;
};
@@ -276,10 +276,10 @@ HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc)
if (hadc->ErrorCode & HAL_ADC_ERROR_DMA) {
/* DMA transfer error */
- ++stm32f4_adc_stats.adc_DMA_xfer_failed;
+ ++stm32f4_adc_stats.adc_dma_xfer_failed;
} else if (hadc->ErrorCode & HAL_ADC_ERROR_OVR) {
/* DMA transfer overrun */
- ++stm32f4_adc_stats.adc_DMA_overrun;
+ ++stm32f4_adc_stats.adc_dma_overrun;
} else if (hadc->ErrorCode & HAL_ADC_ERROR_INTERNAL) {
/* ADC IP Internal Error */
++stm32f4_adc_stats.adc_internal_error;
@@ -304,10 +304,10 @@ HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
assert(hadc);
hdma = hadc->DMA_Handle;
- ++stm32f4_adc_stats.adc_DMA_xfer_complete;
+ ++stm32f4_adc_stats.adc_dma_xfer_complete;
adc = adc_dma[stm32f4_resolve_dma_handle_idx(hdma)];
- cfg = adc->adc_dev_cfg;
+ cfg = adc->ad_dev_cfg;
buf = cfg->primarybuf;
/**
@@ -324,7 +324,7 @@ HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
cfg->secondarybuf = buf;
if (HAL_ADC_Start_DMA(hadc, cfg->primarybuf, cfg->buflen) != HAL_OK) {
- ++stm32f4_adc_stats.adc_DMA_start_error;
+ ++stm32f4_adc_stats.adc_dma_start_error;
}
}
@@ -386,7 +386,7 @@ stm32f4_adc_uninit(struct adc_dev *dev)
uint8_t cnum;
assert(dev);
- cfg = dev->adc_dev_cfg;
+ cfg = dev->ad_dev_cfg;
hadc = cfg->sac_adc_handle;
hdma = hadc->DMA_Handle;
cnum = dev->ad_chans->c_cnum;
@@ -446,9 +446,9 @@ stm32f4_adc_open(struct os_dev *odev, uint32_t wait, void *arg)
}
- stm32f4_adc_init(dev->adc_dev_cfg);
+ stm32f4_adc_init(dev->ad_dev_cfg);
- cfg = dev->adc_dev_cfg;
+ cfg = dev->ad_dev_cfg;
hadc = cfg->sac_adc_handle;
hdma = hadc->DMA_Handle;
@@ -504,18 +504,17 @@ stm32f4_adc_configure_channel(struct adc_dev *dev, uint8_t cnum,
struct adc_chan_config *chan_cfg;
assert(dev != NULL && IS_ADC_CHANNEL(cnum));
- cfg = dev->adc_dev_cfg;
+ cfg = dev->ad_dev_cfg;
hadc = cfg->sac_adc_handle;
chan_cfg = cfg->sac_chans;
- // Enable DMA, ADC and related GPIO ports clock
gpio_td = stm32f4_resolve_adc_gpio(hadc, cnum);
hal_gpio_init_stm(gpio_td.Pin, &gpio_td);
cfgdata = (ADC_ChannelConfTypeDef *)cfgdata;
- if((rc = HAL_ADC_ConfigChannel(hadc, cfgdata)) != HAL_OK) {
+ if ((rc = HAL_ADC_ConfigChannel(hadc, cfgdata)) != HAL_OK) {
goto err;
}
@@ -553,7 +552,7 @@ stm32f4_adc_set_buffer(struct adc_dev *dev, void *buf1, void *buf2,
rc = OS_OK;
buflen /= sizeof(uint16_t);
- cfg = dev->adc_dev_cfg;
+ cfg = dev->ad_dev_cfg;
cfg->primarybuf = buf1;
cfg->secondarybuf = buf2;
@@ -569,7 +568,7 @@ stm32f4_adc_release_buffer(struct adc_dev *dev, void *buf, int buf_len)
struct stm32f4_adc_dev_cfg *cfg;
assert(dev);
- cfg = dev->adc_dev_cfg;
+ cfg = dev->ad_dev_cfg;
hadc = cfg->sac_adc_handle;
HAL_ADC_Stop_DMA(hadc);
@@ -591,13 +590,13 @@ stm32f4_adc_sample(struct adc_dev *dev)
struct stm32f4_adc_dev_cfg *cfg;
assert(dev);
- cfg = dev->adc_dev_cfg;
+ cfg = dev->ad_dev_cfg;
hadc = cfg->sac_adc_handle;
rc = OS_EINVAL;
if (HAL_ADC_Start_DMA(hadc, cfg->primarybuf, cfg->buflen) != HAL_OK) {
- ++stm32f4_adc_stats.adc_DMA_start_error;
+ ++stm32f4_adc_stats.adc_dma_start_error;
goto err;
}
@@ -621,7 +620,7 @@ stm32f4_adc_read_channel(struct adc_dev *dev, uint8_t cnum, int *result)
struct stm32f4_adc_dev_cfg *cfg;
assert(dev != NULL && result != NULL);
- cfg = dev->adc_dev_cfg;
+ cfg = dev->ad_dev_cfg;
hadc = cfg->sac_adc_handle;
*result = HAL_ADC_GetValue(hadc);
@@ -697,7 +696,7 @@ stm32f4_adc_dev_init(struct os_dev *odev, void *arg)
OS_DEV_SETHANDLERS(odev, stm32f4_adc_open, stm32f4_adc_close);
af = &dev->ad_funcs;
- dev->adc_dev_cfg = arg;
+ dev->ad_dev_cfg = arg;
af->af_configure_channel = stm32f4_adc_configure_channel;
af->af_sample = stm32f4_adc_sample;
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/3db7c48a/drivers/adc/include/adc/adc.h
----------------------------------------------------------------------
diff --git a/drivers/adc/include/adc/adc.h b/drivers/adc/include/adc/adc.h
index d81286e..60df1ad 100644
--- a/drivers/adc/include/adc/adc.h
+++ b/drivers/adc/include/adc/adc.h
@@ -154,7 +154,7 @@ struct adc_dev {
struct os_mutex ad_lock;
struct adc_driver_funcs ad_funcs;
struct adc_chan_config *ad_chans;
- void *adc_dev_cfg;
+ void *ad_dev_cfg;
int ad_chan_count;
adc_event_handler_func_t ad_event_handler_func;
void *ad_event_handler_arg;