main/task_adc.c

Tue, 03 Oct 2023 17:24:06 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Tue, 03 Oct 2023 17:24:06 +0200
changeset 77
15dc572a7fcb
parent 76
0432d9147682
permissions
-rw-r--r--

Version 0.3.0. Backported network code from experimental roaming project. Will now connect after reset to the strongest AP. Id the signal level drops below -67, extra scans are done to see for a better AP. Nothing is done yet. Removed config.conf file, all info is taken from the project menu and live tests. Better log the board type and send it via json mqtt. Send bssid and current channel too.

0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /**
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 * @file task_adc.c
41
d327e0aff62f Updated doxygen comments. Removed some development debug logs. Increased user inactivity time to 4 minutes. More Dutch translations in the OTA update screens.
Michiel Broek <mbroek@mbse.eu>
parents: 37
diff changeset
3 * @brief The FreeRTOS task to query the pressure sensors connected to ADC inputs.
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 * The task will update the ADC_State structure.
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 */
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 #include "config.h"
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 #define DEFAULT_VREF 1093 ///< Use adc2_vref_to_gpio() to obtain a better estimate
12
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
12 #define NO_OF_SAMPLES 128 ///< Multisampling
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13
44
e52d11b8f252 Removed dead code. Added more doxygen documentation.
Michiel Broek <mbroek@mbse.eu>
parents: 41
diff changeset
14 #define PRESSURE_1 (CONFIG_PRESSURE_1) ///< ADC channel pressure sensor 1
e52d11b8f252 Removed dead code. Added more doxygen documentation.
Michiel Broek <mbroek@mbse.eu>
parents: 41
diff changeset
15 #define PRESSURE_2 (CONFIG_PRESSURE_2) ///< ADC channel pressure sensor 2
e52d11b8f252 Removed dead code. Added more doxygen documentation.
Michiel Broek <mbroek@mbse.eu>
parents: 41
diff changeset
16 #define PRESSURE_3 (CONFIG_PRESSURE_3) ///< ADC channel pressure sensor 3
e52d11b8f252 Removed dead code. Added more doxygen documentation.
Michiel Broek <mbroek@mbse.eu>
parents: 41
diff changeset
17 #define BATT_CHANNEL (CONFIG_BATT_CHANNEL) ///< ADC channel half battery voltage
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 static const char *TAG = "task_adc";
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 SemaphoreHandle_t xSemaphoreADC = NULL; ///< Semaphire ADC task
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23 EventGroupHandle_t xEventGroupADC; ///< Events ADC task
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 ADC_State *adc_state; ///< Public state for other tasks
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
25 bool do_calibration = false;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
26
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 const int TASK_ADC_REQUEST_PRESSURE = BIT0; ///< Request temperature measurements
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 const int TASK_ADC_REQUEST_DONE = BIT1; ///< Request is completed
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
32 static bool adc_calibration_init(adc_unit_t unit, adc_atten_t atten, adc_cali_handle_t *out_handle);
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
33
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 void request_adc(void)
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 {
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 xEventGroupClearBits(xEventGroupADC, TASK_ADC_REQUEST_DONE);
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38 xEventGroupSetBits(xEventGroupADC, TASK_ADC_REQUEST_PRESSURE);
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39 }
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43 bool ready_adc(void)
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 {
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 if (xEventGroupGetBits(xEventGroupADC) & TASK_ADC_REQUEST_DONE)
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 return true;
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 return false;
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 }
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52 /*
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53 * Task to read pressure sensors and battery voltage on request.
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54 */
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 void task_adc(void *pvParameter)
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 {
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
57 adc_cali_handle_t adc1_cali_handle = NULL;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
58 adc_unit_t channel;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
59
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
60 adc_oneshot_chan_cfg_t config_adc = {
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
61 .bitwidth = ADC_BITWIDTH_DEFAULT,
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
62 .atten = ADC_ATTEN_DB_0,
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
63 };
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65 ESP_LOGI(TAG, "Starting task ADC sensors");
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
66
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 adc_state = malloc(sizeof(ADC_State));
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
68 for (int i = 0; i < 3; i++) {
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
69 adc_state->Pressure[i].valid = false;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
70 adc_state->Pressure[i].atten = ADC_ATTEN_DB_0;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
71 adc_state->Pressure[i].voltage = 0;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
72 adc_state->Pressure[i].error = ADC_ERR_NONE;
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 }
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74 adc_state->Pressure[0].channel = PRESSURE_1;
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75 adc_state->Pressure[1].channel = PRESSURE_2;
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76 adc_state->Pressure[2].channel = PRESSURE_3;
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
77 adc_state->Batt_voltage = 0;
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
78 adc_state->Batt_error = ADC_ERR_NONE;
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
79
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
80 /* event handler and event group for this task */
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81 xEventGroupADC = xEventGroupCreate();
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82 EventBits_t uxBits;
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84 /*
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85 * Task loop forever.
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86 */
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87 while (1) {
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 uxBits = xEventGroupWaitBits(xEventGroupADC, TASK_ADC_REQUEST_PRESSURE, pdFALSE, pdFALSE, portMAX_DELAY );
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
91 if (uxBits & TASK_ADC_REQUEST_PRESSURE) {
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92
37
358bbd5b608e menuconfig settings now work for I2C display setup. Lot's of code cleanup.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
93 ESP_LOGD(TAG, "Requested ADC readings");
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
94
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
95 int adc_reading, raw, tmp, voltage;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
96 adc_atten_t atten = ADC_ATTEN_DB_0;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
97
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
98 adc_oneshot_unit_handle_t adc1_handle;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
99 adc_oneshot_unit_init_cfg_t init_config1 = {
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
100 .unit_id = ADC_UNIT_1,
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
101 };
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
102
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
103 for (int i = 0; i < 3; i++) {
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
104
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
105 ESP_ERROR_CHECK(adc_oneshot_new_unit(&init_config1, &adc1_handle));
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
106 atten = config_adc.atten = ADC_ATTEN_DB_0,
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
107
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
108 channel = adc_state->Pressure[i].channel;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
109 ESP_ERROR_CHECK(adc_oneshot_config_channel(adc1_handle, channel, &config_adc));
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
110 adc_reading = 0;
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
111
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
112 /*
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
113 * Autoranging the ADC conversion
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
114 */
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
115 while (1) {
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
116
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
117 config_adc.bitwidth = ADC_BITWIDTH_DEFAULT;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
118 config_adc.atten = atten;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
119 adc_oneshot_config_channel(adc1_handle, channel, &config_adc);
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
120
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
121 ESP_ERROR_CHECK(adc_oneshot_read(adc1_handle, channel, &raw));
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
122
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
123 // ESP_LOGI(TAG, "bottle %d channel %d raw %d atten %d", i, channel, raw, atten);
12
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
124 if (atten == ADC_ATTEN_DB_0 && raw > 3700)
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
125 atten = ADC_ATTEN_DB_2_5;
12
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
126 else if (atten == ADC_ATTEN_DB_2_5 && raw > 3700)
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
127 atten = ADC_ATTEN_DB_6;
12
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
128 else if (atten == ADC_ATTEN_DB_6 && raw > 3700)
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
129 atten = ADC_ATTEN_DB_11;
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
130 else
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
131 break;
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
132 }
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
133
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
134 /*
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
135 * Now that he have the best attenuation, multisample the real value.
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
136 */
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
137 for (int j = 0; j < NO_OF_SAMPLES; j++) {
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
138 if (adc_oneshot_read(adc1_handle, channel, &tmp) == ESP_OK) {
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
139 adc_reading += tmp;
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
140 } else {
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
141 adc_reading = -1;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
142 break;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
143 }
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
144 }
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
145
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
146 do_calibration = adc_calibration_init(ADC_UNIT_1, atten, &adc1_cali_handle);
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
147
12
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
148 if (xSemaphoreTake(xSemaphoreADC, 10) == pdTRUE) {
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
149 if (adc_reading < 0) {
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
150 adc_state->Pressure[i].error = ADC_ERR_READ;
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
151 adc_state->Pressure[i].voltage = 0;
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
152 } else {
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
153 adc_reading /= NO_OF_SAMPLES;
76
0432d9147682 Some ADC code simplified.
Michiel Broek <mbroek@mbse.eu>
parents: 68
diff changeset
154 adc_cali_raw_to_voltage(adc1_cali_handle, adc_reading, &voltage); // voltage in mV
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
155 adc_state->Pressure[i].voltage = voltage;
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
156 adc_state->Pressure[i].error = ADC_ERR_NONE;
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
157 }
12
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
158 xSemaphoreGive(xSemaphoreADC);
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
159 } else {
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
160 ESP_LOGE(TAG, "Missed lock 1");
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
161 }
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
162 ESP_LOGI(TAG, "Pressure %d raw: %4d, atten: %d, %.3f volt, error: %d",
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
163 i, adc_reading, atten, (adc_state->Pressure[i].voltage / 1000.0), adc_state->Pressure[i].error);
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
164
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
165 //Tear Down
76
0432d9147682 Some ADC code simplified.
Michiel Broek <mbroek@mbse.eu>
parents: 68
diff changeset
166 adc_oneshot_del_unit(adc1_handle);
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
167 if (do_calibration) {
76
0432d9147682 Some ADC code simplified.
Michiel Broek <mbroek@mbse.eu>
parents: 68
diff changeset
168 adc_cali_delete_scheme_line_fitting(adc1_cali_handle);
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
169 }
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
170 do_calibration = false;
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
171 }
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
172
12
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
173 /*
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
174 * Read VDD by reading 1/2 VDD from a precision ladder.
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
175 */
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
176 adc_reading = 0;
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
177 atten = ADC_ATTEN_DB_6; // Don't use DB_11, it has a bad linearity.
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
178 channel = (adc_unit_t)BATT_CHANNEL;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
179 ESP_ERROR_CHECK(adc_oneshot_new_unit(&init_config1, &adc1_handle));
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
180 do_calibration = adc_calibration_init(ADC_UNIT_1, atten, &adc1_cali_handle);
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
181
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
182 config_adc.bitwidth = ADC_BITWIDTH_DEFAULT;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
183 config_adc.atten = atten;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
184 adc_oneshot_config_channel(adc1_handle, (adc_unit_t)BATT_CHANNEL, &config_adc);
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
185
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
186 ESP_ERROR_CHECK(adc_oneshot_read(adc1_handle, (adc_unit_t)BATT_CHANNEL, &raw));
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
187
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
188 for (int j = 0; j < NO_OF_SAMPLES; j++) {
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
189 if (adc_oneshot_read(adc1_handle, channel, &tmp) == ESP_OK) {
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
190 adc_reading += tmp;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
191 } else {
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
192 adc_reading = -1;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
193 break;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
194 }
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
195 }
12
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
196 if (xSemaphoreTake(xSemaphoreADC, 10) == pdTRUE) {
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
197 if (adc_reading < 0) {
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
198 adc_state->Batt_voltage = 3.3;
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
199 adc_state->Batt_error = ADC_ERR_READ;
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
200 } else {
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
201 adc_reading /= NO_OF_SAMPLES;
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
202 adc_cali_raw_to_voltage(adc1_cali_handle, adc_reading, &voltage);
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
203 /* Multiply by 2, measured on a ladder. */
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
204 adc_state->Batt_voltage = voltage * 2; // Chip supply voltage in mV
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
205 adc_state->Batt_error = ADC_ERR_NONE;
12
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
206 }
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
207 xSemaphoreGive(xSemaphoreADC);
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
208 } else {
7dc9003f86a8 ADC1 source code cleanup. Switched to 12 bit resolution again. Multisample set to 128. Improved adc-state structure locking. Improved ADC read error detection. DS18B20 extra error logging. MQTT better publish counter locking.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
209 ESP_LOGE(TAG, "Missed lock 2");
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
210 }
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
211
76
0432d9147682 Some ADC code simplified.
Michiel Broek <mbroek@mbse.eu>
parents: 68
diff changeset
212 adc_oneshot_del_unit(adc1_handle);
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
213 if (do_calibration) {
76
0432d9147682 Some ADC code simplified.
Michiel Broek <mbroek@mbse.eu>
parents: 68
diff changeset
214 adc_cali_delete_scheme_line_fitting(adc1_cali_handle);
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
215 }
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
216 do_calibration = false;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
217
0
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
218 xEventGroupClearBits(xEventGroupADC, TASK_ADC_REQUEST_PRESSURE);
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
219 xEventGroupSetBits(xEventGroupADC, TASK_ADC_REQUEST_DONE);
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
220 #if 1
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
221 ESP_LOGI(TAG, "Battery raw: %4d, atten: %d %.3f volt, error: %d", adc_reading, atten, adc_state->Batt_voltage / 1000.0, adc_state->Batt_error);
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
222 #endif
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
223 }
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
224 }
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
225 }
88d965579617 Initial import of the CO2 meter application.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
226
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
227
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
228 /*---------------------------------------------------------------
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
229 ADC Calibration
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
230 ---------------------------------------------------------------*/
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
231 static bool adc_calibration_init(adc_unit_t unit, adc_atten_t atten, adc_cali_handle_t *out_handle)
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
232 {
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
233 adc_cali_handle_t handle = NULL;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
234 bool calibrated = false;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
235
76
0432d9147682 Some ADC code simplified.
Michiel Broek <mbroek@mbse.eu>
parents: 68
diff changeset
236 adc_cali_line_fitting_config_t cali_config = {
0432d9147682 Some ADC code simplified.
Michiel Broek <mbroek@mbse.eu>
parents: 68
diff changeset
237 .unit_id = unit,
0432d9147682 Some ADC code simplified.
Michiel Broek <mbroek@mbse.eu>
parents: 68
diff changeset
238 .atten = atten,
0432d9147682 Some ADC code simplified.
Michiel Broek <mbroek@mbse.eu>
parents: 68
diff changeset
239 .bitwidth = ADC_BITWIDTH_DEFAULT,
0432d9147682 Some ADC code simplified.
Michiel Broek <mbroek@mbse.eu>
parents: 68
diff changeset
240 };
0432d9147682 Some ADC code simplified.
Michiel Broek <mbroek@mbse.eu>
parents: 68
diff changeset
241 esp_err_t ret = adc_cali_create_scheme_line_fitting(&cali_config, &handle);
0432d9147682 Some ADC code simplified.
Michiel Broek <mbroek@mbse.eu>
parents: 68
diff changeset
242 if (ret == ESP_OK) {
0432d9147682 Some ADC code simplified.
Michiel Broek <mbroek@mbse.eu>
parents: 68
diff changeset
243 calibrated = true;
68
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
244 }
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
245
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
246 *out_handle = handle;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
247 if (ret == ESP_ERR_NOT_SUPPORTED || !calibrated) {
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
248 ESP_LOGW(TAG, "eFuse not burnt, skip software calibration");
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
249 } else if (ret != ESP_OK) {
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
250 ESP_LOGE(TAG, "Invalid arg or no memory");
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
251 }
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
252
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
253 return calibrated;
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
254 }
121b3fa6b806 Migrated ADC converter to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents: 44
diff changeset
255

mercurial