Commit e4e0d6d36d703330bffb33a96fbf03c0e03555b4
1 parent
28327759
--no commit message
Showing
3 changed files
with
59 additions
and
42 deletions
Project/applications/smartcities/adc.c
@@ -10,22 +10,6 @@ | @@ -10,22 +10,6 @@ | ||
10 | 10 | ||
11 | void adc_batt_init() | 11 | void adc_batt_init() |
12 | { | 12 | { |
13 | - adc_batt_peripheralInit(); | ||
14 | -} | ||
15 | - | ||
16 | -uint32_t adc_batt_process() | ||
17 | -{ | ||
18 | - uint16_t adcRegisterValue; | ||
19 | - uint32_t analogValue; | ||
20 | - | ||
21 | - adcRegisterValue = adc_batt_read(); | ||
22 | - analogValue = ADCbatt_VREF_MINUS + (((adcRegisterValue - ADCbatt_MIN_VALUE)*(ADCbatt_VREF_PLUS - ADCbatt_VREF_MINUS))/(ADCbatt_MAX_VALUE - ADCbatt_MIN_VALUE)); | ||
23 | - DBG_ADC("Register value is %4u [%4u milliVolts are currently given to gpio %s]\r\n",adcRegisterValue, analogValue, ADCbatt_GPIO_STR); | ||
24 | - return analogValue; | ||
25 | -} | ||
26 | - | ||
27 | -void adc_batt_peripheralInit() | ||
28 | -{ | ||
29 | GPIO_InitTypeDef GPIO_InitStructure; | 13 | GPIO_InitTypeDef GPIO_InitStructure; |
30 | ADC_InitTypeDef ADC_InitStructure; | 14 | ADC_InitTypeDef ADC_InitStructure; |
31 | RCC_APB2PeriphClockCmd(ADCbatt_GPIO_RCC, ENABLE); | 15 | RCC_APB2PeriphClockCmd(ADCbatt_GPIO_RCC, ENABLE); |
@@ -55,6 +39,17 @@ void adc_batt_peripheralInit() | @@ -55,6 +39,17 @@ void adc_batt_peripheralInit() | ||
55 | while(ADC_GetCalibrationStatus(ADCbatt)); | 39 | while(ADC_GetCalibrationStatus(ADCbatt)); |
56 | } | 40 | } |
57 | 41 | ||
42 | +uint32_t adc_batt_process() | ||
43 | +{ | ||
44 | + uint16_t adcRegisterValue; | ||
45 | + uint32_t analogValue; | ||
46 | + | ||
47 | + adcRegisterValue = adc_batt_read(); | ||
48 | + analogValue = ADCbatt_VREF_MINUS + (((adcRegisterValue - ADCbatt_MIN_VALUE)*(ADCbatt_VREF_PLUS - ADCbatt_VREF_MINUS))/(ADCbatt_MAX_VALUE - ADCbatt_MIN_VALUE)); | ||
49 | + DBG_ADC("Register value is %4u [%4u milliVolts are currently given to gpio %s]\r\n",adcRegisterValue, analogValue, ADCbatt_GPIO_STR); | ||
50 | + return analogValue; | ||
51 | +} | ||
52 | + | ||
58 | uint16_t adc_batt_read() | 53 | uint16_t adc_batt_read() |
59 | { | 54 | { |
60 | ADC_SoftwareStartConvCmd(ADCbatt, ENABLE); | 55 | ADC_SoftwareStartConvCmd(ADCbatt, ENABLE); |
@@ -64,22 +59,6 @@ uint16_t adc_batt_read() | @@ -64,22 +59,6 @@ uint16_t adc_batt_read() | ||
64 | 59 | ||
65 | void adc_sound_init() | 60 | void adc_sound_init() |
66 | { | 61 | { |
67 | - adc_sound_peripheralInit(); | ||
68 | -} | ||
69 | - | ||
70 | -uint32_t adc_sound_process() | ||
71 | -{ | ||
72 | - uint16_t adcRegisterValue; | ||
73 | - uint32_t analogValue; | ||
74 | - | ||
75 | - adcRegisterValue = adc_sound_read(); | ||
76 | - analogValue = ADCsound_VREF_MINUS + (((adcRegisterValue - ADCsound_MIN_VALUE)*(ADCsound_VREF_PLUS - ADCsound_VREF_MINUS))/(ADCsound_MAX_VALUE - ADCsound_MIN_VALUE)); | ||
77 | - DBG_ADC("Register value is %4u [%4u milliVolts are currently given to gpio %s]\r\n",adcRegisterValue, analogValue, ADCsound_GPIO_STR); | ||
78 | - return analogValue; | ||
79 | -} | ||
80 | - | ||
81 | -void adc_sound_peripheralInit() | ||
82 | -{ | ||
83 | GPIO_InitTypeDef GPIO_InitStructure; | 62 | GPIO_InitTypeDef GPIO_InitStructure; |
84 | ADC_InitTypeDef ADC_InitStructure; | 63 | ADC_InitTypeDef ADC_InitStructure; |
85 | RCC_APB2PeriphClockCmd(ADCsound_GPIO_RCC, ENABLE); | 64 | RCC_APB2PeriphClockCmd(ADCsound_GPIO_RCC, ENABLE); |
@@ -109,6 +88,17 @@ void adc_sound_peripheralInit() | @@ -109,6 +88,17 @@ void adc_sound_peripheralInit() | ||
109 | while(ADC_GetCalibrationStatus(ADCsound)); | 88 | while(ADC_GetCalibrationStatus(ADCsound)); |
110 | } | 89 | } |
111 | 90 | ||
91 | +uint32_t adc_sound_process() | ||
92 | +{ | ||
93 | + uint16_t adcRegisterValue; | ||
94 | + uint32_t analogValue; | ||
95 | + | ||
96 | + adcRegisterValue = adc_sound_read(); | ||
97 | + analogValue = ADCsound_VREF_MINUS + (((adcRegisterValue - ADCsound_MIN_VALUE)*(ADCsound_VREF_PLUS - ADCsound_VREF_MINUS))/(ADCsound_MAX_VALUE - ADCsound_MIN_VALUE)); | ||
98 | + DBG_ADC("Register value is %4u [%4u milliVolts are currently given to gpio %s]\r\n",adcRegisterValue, analogValue, ADCsound_GPIO_STR); | ||
99 | + return analogValue; | ||
100 | +} | ||
101 | + | ||
112 | uint16_t adc_sound_read() | 102 | uint16_t adc_sound_read() |
113 | { | 103 | { |
114 | ADC_SoftwareStartConvCmd(ADCsound, ENABLE); | 104 | ADC_SoftwareStartConvCmd(ADCsound, ENABLE); |
Project/applications/smartcities/doc/doxygen/Doxyfile
@@ -351,7 +351,7 @@ LOOKUP_CACHE_SIZE = 0 | @@ -351,7 +351,7 @@ LOOKUP_CACHE_SIZE = 0 | ||
351 | # Private class members and static file members will be hidden unless | 351 | # Private class members and static file members will be hidden unless |
352 | # the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES | 352 | # the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES |
353 | 353 | ||
354 | -EXTRACT_ALL = NO | 354 | +EXTRACT_ALL = YES |
355 | 355 | ||
356 | # If the EXTRACT_PRIVATE tag is set to YES all private members of a class | 356 | # If the EXTRACT_PRIVATE tag is set to YES all private members of a class |
357 | # will be included in the documentation. | 357 | # will be included in the documentation. |
Project/applications/smartcities/include/adc.h
@@ -39,35 +39,62 @@ | @@ -39,35 +39,62 @@ | ||
39 | //! Minimum sound ADC analog value | 39 | //! Minimum sound ADC analog value |
40 | #define ADCsound_VREF_MINUS (0) | 40 | #define ADCsound_VREF_MINUS (0) |
41 | 41 | ||
42 | - | 42 | +//! ADC used for battery |
43 | #define ADCbatt ADC1 | 43 | #define ADCbatt ADC1 |
44 | -#define ADCbatt_RCC RCC_APB2Periph_ADC1 /* */ | ||
45 | -#define ADCbatt_DIVIDER RCC_PCLK2_Div4 /* Can be 2/4/6/8. PCLK2 runs at 32Mhz, and max ADC clock is 14Mhz */ | ||
46 | -#define ADCbatt_CHANNEL ADC_Channel_1 /* 0/17 */ | 44 | +//! Real-Time Clock Control used for battery |
45 | +#define ADCbatt_RCC RCC_APB2Periph_ADC1 | ||
46 | +//! Battery clock divisor | ||
47 | +#define ADCbatt_DIVIDER RCC_PCLK2_Div4 | ||
48 | +//! Battery ADC channel | ||
49 | +#define ADCbatt_CHANNEL ADC_Channel_1 | ||
50 | +//! Battery ADC sample time | ||
47 | #define ADCbatt_SAMPLETIME ADC_SampleTime_239Cycles5 | 51 | #define ADCbatt_SAMPLETIME ADC_SampleTime_239Cycles5 |
52 | +//! Battery ADC GPIO pin number | ||
48 | #define ADCbatt_GPIO_PIN GPIO_Pin_1 | 53 | #define ADCbatt_GPIO_PIN GPIO_Pin_1 |
54 | +//! Battery ADC GPIO port | ||
49 | #define ADCbatt_GPIO_PORT GPIOA | 55 | #define ADCbatt_GPIO_PORT GPIOA |
56 | +//! Battery ADC GPIO Real-time Clock Control | ||
50 | #define ADCbatt_GPIO_RCC RCC_APB2Periph_GPIOA | 57 | #define ADCbatt_GPIO_RCC RCC_APB2Periph_GPIOA |
58 | +//! Battery ADC GPIO human-readable identification for pin | ||
51 | #define ADCbatt_GPIO_STR "PA1" | 59 | #define ADCbatt_GPIO_STR "PA1" |
52 | 60 | ||
61 | +//! ADC used for sound | ||
53 | #define ADCsound ADC2 | 62 | #define ADCsound ADC2 |
54 | -#define ADCsound_RCC RCC_APB2Periph_ADC2 /* */ | ||
55 | -#define ADCsound_DIVIDER RCC_PCLK2_Div4 /* Can be 2/4/6/8. PCLK2 runs at 32Mhz, and max ADC clock is 14Mhz */ | ||
56 | -#define ADCsound_CHANNEL ADC_Channel_2 /* 0/17 */ | 63 | +//! Real-Time Clock Control used for sound |
64 | +#define ADCsound_RCC RCC_APB2Periph_ADC2 | ||
65 | +//! Sound clock divisor | ||
66 | +#define ADCsound_DIVIDER RCC_PCLK2_Div4 | ||
67 | +//! Sound ADC channel | ||
68 | +#define ADCsound_CHANNEL ADC_Channel_2 | ||
69 | +//! Sound ADC sample time | ||
57 | #define ADCsound_SAMPLETIME ADC_SampleTime_239Cycles5 | 70 | #define ADCsound_SAMPLETIME ADC_SampleTime_239Cycles5 |
71 | +//! Sound ADC GPIO pin number | ||
58 | #define ADCsound_GPIO_PIN GPIO_Pin_2 | 72 | #define ADCsound_GPIO_PIN GPIO_Pin_2 |
73 | +//! Sound ADC GPIO port | ||
59 | #define ADCsound_GPIO_PORT GPIOA | 74 | #define ADCsound_GPIO_PORT GPIOA |
75 | +//! Sound ADC GPIO Real-time Clock Control | ||
60 | #define ADCsound_GPIO_RCC RCC_APB2Periph_GPIOA | 76 | #define ADCsound_GPIO_RCC RCC_APB2Periph_GPIOA |
77 | + //! Sound ADC GPIO human-readable identification for pin | ||
61 | #define ADCsound_GPIO_STR "PA2" | 78 | #define ADCsound_GPIO_STR "PA2" |
62 | 79 | ||
80 | +//! Battery ADC initialization function | ||
81 | +/*! This function initializes the base HW to start battery ADC conversion */ | ||
63 | void adc_batt_init(void); | 82 | void adc_batt_init(void); |
83 | +//! Battery ADC processing function | ||
84 | +/*! This function calls adc_batt_read and converts the raw digital value to the analog scale defined for the battery ADC */ | ||
64 | uint32_t adc_batt_process(void); | 85 | uint32_t adc_batt_process(void); |
86 | +//! Battery ADC raw read function | ||
87 | +/*! This function starts an ADC conversion and returns the raw 12 bit digital value */ | ||
65 | uint16_t adc_batt_read(void); | 88 | uint16_t adc_batt_read(void); |
66 | -void adc_batt_peripheralInit(void); | ||
67 | 89 | ||
90 | +//! Battery ADC initialization function | ||
91 | +/*! This function initializes the base HW to start sound ADC conversion */ | ||
68 | void adc_sound_init(void); | 92 | void adc_sound_init(void); |
93 | +//! Battery ADC processing function | ||
94 | +/*! This function calls adc_batt_read and converts the raw digital value to the analog scale defined for the sound ADC */ | ||
69 | uint32_t adc_sound_process(void); | 95 | uint32_t adc_sound_process(void); |
96 | +//! Battery ADC raw read function | ||
97 | +/*! This function starts an ADC conversion and returns the raw 12 bit digital value */ | ||
70 | uint16_t adc_sound_read(void); | 98 | uint16_t adc_sound_read(void); |
71 | -void adc_sound_peripheralInit(void); | ||
72 | 99 | ||
73 | #endif | 100 | #endif |
74 | \ No newline at end of file | 101 | \ No newline at end of file |