1# This is Doxygen configuration file
2#
3# Doxygen provides over 260 configuration statements
4# To make this file easier to follow,
5# it contains only statements that are non-default
6#
7# NOTE:
8# It is recommended not to change defaults unless specifically required
9# Test any changes how they affect generated documentation
10# Make sure that correct warnings are generated to flag issues with documented code
11#
12# For the complete list of configuration statements see:
13# http://doxygen.nl/manual/config.html
14
15
16PROJECT_NAME = "IDF Programming Guide"
17
18## The 'INPUT' statement below is used as input by script 'gen-df-input.py'
19## to automatically generate API reference list files heder_file.inc
20## These files are placed in '_inc' directory
21## and used to include in API reference documentation
22
23INPUT = \
24    $(PROJECT_PATH)/components/tinyusb/additions/include/tinyusb.h \
25    $(PROJECT_PATH)/components/tinyusb/additions/include/tinyusb_types.h \
26    $(PROJECT_PATH)/components/tinyusb/additions/include/tusb_cdc_acm.h \
27    $(PROJECT_PATH)/components/tinyusb/additions/include/tusb_config.h \
28    $(PROJECT_PATH)/components/tinyusb/additions/include/tusb_console.h \
29    $(PROJECT_PATH)/components/tinyusb/additions/include/tusb_tasks.h \
30    $(PROJECT_PATH)/components/tinyusb/additions/include/vfs_tinyusb.h \
31    $(PROJECT_PATH)/components/esp_wifi/include/esp_wifi.h \
32    $(PROJECT_PATH)/components/esp_wifi/include/esp_wifi_types.h \
33    $(PROJECT_PATH)/components/esp_wifi/include/esp_smartconfig.h \
34    $(PROJECT_PATH)/components/esp_wifi/include/esp_now.h \
35    $(PROJECT_PATH)/components/esp_wifi/include/esp_wifi_default.h \
36    $(PROJECT_PATH)/components/esp_wifi/include/esp_mesh.h \
37    $(PROJECT_PATH)/components/wpa_supplicant/esp_supplicant/include/esp_dpp.h \
38    $(PROJECT_PATH)/components/esp_event/include/esp_event.h \
39    $(PROJECT_PATH)/components/esp_event/include/esp_event_base.h \
40    $(PROJECT_PATH)/components/esp_event/include/esp_event_legacy.h \
41    $(PROJECT_PATH)/components/bt/include/esp32/include/esp_bt.h \
42    $(PROJECT_PATH)/components/bt/common/api/include/api/esp_blufi_api.h \
43    $(PROJECT_PATH)/components/bt/host/bluedroid/api/include/api/esp_bt_defs.h \
44    $(PROJECT_PATH)/components/bt/host/bluedroid/api/include/api/esp_bt_main.h \
45    $(PROJECT_PATH)/components/bt/host/bluedroid/api/include/api/esp_bt_device.h \
46    $(PROJECT_PATH)/components/bt/host/bluedroid/api/include/api/esp_gap_ble_api.h \
47    $(PROJECT_PATH)/components/bt/host/bluedroid/api/include/api/esp_gatt_defs.h \
48    $(PROJECT_PATH)/components/bt/host/bluedroid/api/include/api/esp_gatts_api.h \
49    $(PROJECT_PATH)/components/bt/host/bluedroid/api/include/api/esp_gattc_api.h \
50    $(PROJECT_PATH)/components/bt/host/bluedroid/api/include/api/esp_gap_bt_api.h \
51    $(PROJECT_PATH)/components/bt/host/bluedroid/api/include/api/esp_a2dp_api.h \
52    $(PROJECT_PATH)/components/bt/host/bluedroid/api/include/api/esp_avrc_api.h \
53    $(PROJECT_PATH)/components/bt/host/bluedroid/api/include/api/esp_spp_api.h \
54    $(PROJECT_PATH)/components/bt/host/bluedroid/api/include/api/esp_hf_defs.h \
55    $(PROJECT_PATH)/components/bt/host/bluedroid/api/include/api/esp_hf_client_api.h \
56    $(PROJECT_PATH)/components/bt/host/bluedroid/api/include/api/esp_hf_ag_api.h \
57    $(PROJECT_PATH)/components/bt/host/nimble/esp-hci/include/esp_nimble_hci.h \
58    $(PROJECT_PATH)/components/bt/esp_ble_mesh/api/core/include/esp_ble_mesh_common_api.h \
59    $(PROJECT_PATH)/components/bt/esp_ble_mesh/api/core/include/esp_ble_mesh_local_data_operation_api.h \
60    $(PROJECT_PATH)/components/bt/esp_ble_mesh/api/core/include/esp_ble_mesh_low_power_api.h \
61    $(PROJECT_PATH)/components/bt/esp_ble_mesh/api/core/include/esp_ble_mesh_networking_api.h \
62    $(PROJECT_PATH)/components/bt/esp_ble_mesh/api/core/include/esp_ble_mesh_provisioning_api.h \
63    $(PROJECT_PATH)/components/bt/esp_ble_mesh/api/core/include/esp_ble_mesh_proxy_api.h \
64    $(PROJECT_PATH)/components/bt/esp_ble_mesh/api/models/include/esp_ble_mesh_config_model_api.h \
65    $(PROJECT_PATH)/components/bt/esp_ble_mesh/api/models/include/esp_ble_mesh_generic_model_api.h \
66    $(PROJECT_PATH)/components/bt/esp_ble_mesh/api/models/include/esp_ble_mesh_health_model_api.h \
67    $(PROJECT_PATH)/components/bt/esp_ble_mesh/api/models/include/esp_ble_mesh_lighting_model_api.h \
68    $(PROJECT_PATH)/components/bt/esp_ble_mesh/api/models/include/esp_ble_mesh_sensor_model_api.h \
69    $(PROJECT_PATH)/components/bt/esp_ble_mesh/api/models/include/esp_ble_mesh_time_scene_model_api.h \
70    $(PROJECT_PATH)/components/bt/esp_ble_mesh/api/esp_ble_mesh_defs.h \
71    $(PROJECT_PATH)/components/esp_eth/include/esp_eth.h \
72    $(PROJECT_PATH)/components/esp_eth/include/esp_eth_com.h \
73    $(PROJECT_PATH)/components/esp_eth/include/esp_eth_mac.h \
74    $(PROJECT_PATH)/components/esp_eth/include/esp_eth_phy.h \
75    $(PROJECT_PATH)/components/esp_eth/include/esp_eth_netif_glue.h \
76    $(PROJECT_PATH)/components/esp_lcd/include/esp_lcd_panel_io.h \
77    $(PROJECT_PATH)/components/esp_lcd/include/esp_lcd_panel_ops.h \
78    $(PROJECT_PATH)/components/esp_lcd/include/esp_lcd_panel_rgb.h \
79    $(PROJECT_PATH)/components/esp_lcd/include/esp_lcd_panel_vendor.h \
80    $(PROJECT_PATH)/components/esp_lcd/include/esp_lcd_types.h \
81    $(PROJECT_PATH)/components/hal/include/hal/lcd_types.h \
82    $(PROJECT_PATH)/components/hal/include/hal/adc_types.h \
83    $(PROJECT_PATH)/components/soc/$(IDF_TARGET)/include/soc/adc_channel.h \
84    $(PROJECT_PATH)/components/driver/include/driver/adc.h \
85    $(PROJECT_PATH)/components/esp_adc_cal/include/esp_adc_cal.h \
86    $(PROJECT_PATH)/components/hal/include/hal/dac_types.h \
87    $(PROJECT_PATH)/components/driver/include/driver/dac_common.h \
88    $(PROJECT_PATH)/components/hal/include/hal/gpio_types.h \
89    $(PROJECT_PATH)/components/driver/include/driver/gpio.h \
90    $(PROJECT_PATH)/components/driver/include/driver/dedic_gpio.h \
91    $(PROJECT_PATH)/components/hal/include/hal/rtc_io_types.h \
92    $(PROJECT_PATH)/components/driver/include/driver/rtc_io.h \
93    $(PROJECT_PATH)/components/hal/include/hal/i2c_types.h \
94    $(PROJECT_PATH)/components/driver/include/driver/i2c.h \
95    $(PROJECT_PATH)/components/hal/include/hal/i2s_types.h \
96    $(PROJECT_PATH)/components/driver/include/driver/i2s.h \
97    $(PROJECT_PATH)/components/hal/include/hal/ledc_types.h \
98    $(PROJECT_PATH)/components/driver/include/driver/ledc.h \
99    $(PROJECT_PATH)/components/hal/include/hal/rmt_types.h \
100    $(PROJECT_PATH)/components/driver/include/driver/rmt.h \
101    $(PROJECT_PATH)/components/hal/include/hal/sigmadelta_types.h \
102    $(PROJECT_PATH)/components/driver/include/driver/sigmadelta.h \
103    $(PROJECT_PATH)/components/hal/include/hal/spi_types.h \
104    $(PROJECT_PATH)/components/driver/include/driver/spi_common.h \
105    $(PROJECT_PATH)/components/driver/include/driver/spi_master.h \
106    $(PROJECT_PATH)/components/driver/include/driver/spi_slave.h \
107    $(PROJECT_PATH)/components/driver/include/driver/spi_slave_hd.h \
108    $(PROJECT_PATH)/components/hal/include/hal/timer_types.h \
109    $(PROJECT_PATH)/components/driver/include/driver/timer.h \
110    $(PROJECT_PATH)/components/hal/include/hal/touch_sensor_types.h \
111    $(PROJECT_PATH)/components/driver/include/driver/touch_sensor_common.h \
112    $(PROJECT_PATH)/components/hal/include/hal/twai_types.h \
113    $(PROJECT_PATH)/components/driver/include/driver/twai.h \
114    $(PROJECT_PATH)/components/hal/include/hal/uart_types.h \
115    $(PROJECT_PATH)/components/soc/$(IDF_TARGET)/include/soc/uart_channel.h \
116    $(PROJECT_PATH)/components/driver/include/driver/uart.h \
117    $(PROJECT_PATH)/components/esp_netif/include/esp_netif.h \
118    $(PROJECT_PATH)/components/esp_netif/include/esp_netif_net_stack.h \
119    $(PROJECT_PATH)/components/esp-tls/esp_tls.h \
120    $(PROJECT_PATH)/components/mqtt/esp-mqtt/include/mqtt_client.h \
121    $(PROJECT_PATH)/components/lwip/include/apps/ping/ping_sock.h \
122    $(PROJECT_PATH)/components/lwip/include/apps/esp_sntp.h \
123    $(PROJECT_PATH)/components/mdns/include/mdns.h \
124    $(PROJECT_PATH)/components/esp_http_client/include/esp_http_client.h \
125    $(PROJECT_PATH)/components/esp_websocket_client/include/esp_websocket_client.h \
126    $(PROJECT_PATH)/components/esp_http_server/include/esp_http_server.h \
127    $(PROJECT_PATH)/components/esp_https_server/include/esp_https_server.h \
128    $(PROJECT_PATH)/components/esp_local_ctrl/include/esp_local_ctrl.h \
129    $(PROJECT_PATH)/components/esp_serial_slave_link/include/esp_serial_slave_link/essl.h \
130    $(PROJECT_PATH)/components/esp_serial_slave_link/include/esp_serial_slave_link/essl_sdio.h \
131    $(PROJECT_PATH)/components/esp_serial_slave_link/include/esp_serial_slave_link/essl_spi.h \
132    $(PROJECT_PATH)/components/mbedtls/esp_crt_bundle/include/esp_crt_bundle.h \
133    $(PROJECT_PATH)/components/protocomm/include/common/protocomm.h \
134    $(PROJECT_PATH)/components/protocomm/include/security/protocomm_security.h \
135    $(PROJECT_PATH)/components/protocomm/include/security/protocomm_security0.h \
136    $(PROJECT_PATH)/components/protocomm/include/security/protocomm_security1.h \
137    $(PROJECT_PATH)/components/protocomm/include/transports/protocomm_ble.h \
138    $(PROJECT_PATH)/components/protocomm/include/transports/protocomm_console.h \
139    $(PROJECT_PATH)/components/protocomm/include/transports/protocomm_httpd.h \
140    $(PROJECT_PATH)/components/wifi_provisioning/include/wifi_provisioning/manager.h \
141    $(PROJECT_PATH)/components/wifi_provisioning/include/wifi_provisioning/scheme_ble.h \
142    $(PROJECT_PATH)/components/wifi_provisioning/include/wifi_provisioning/scheme_softap.h \
143    $(PROJECT_PATH)/components/wifi_provisioning/include/wifi_provisioning/scheme_console.h \
144    $(PROJECT_PATH)/components/wifi_provisioning/include/wifi_provisioning/wifi_config.h \
145    $(PROJECT_PATH)/components/wifi_provisioning/include/wifi_provisioning/wifi_scan.h \
146    $(PROJECT_PATH)/components/hal/include/hal/spi_flash_types.h \
147    $(PROJECT_PATH)/components/spi_flash/include/esp_flash_spi_init.h \
148    $(PROJECT_PATH)/components/spi_flash/include/esp_flash.h \
149    $(PROJECT_PATH)/components/spi_flash/include/esp_partition.h \
150    $(PROJECT_PATH)/components/bootloader_support/include/esp_flash_encrypt.h \
151    $(PROJECT_PATH)/components/bootloader_support/include/bootloader_random.h \
152    $(PROJECT_PATH)/components/spiffs/include/esp_spiffs.h \
153    $(PROJECT_PATH)/components/driver/include/driver/sdmmc_types.h \
154    $(PROJECT_PATH)/components/sdmmc/include/sdmmc_cmd.h \
155    $(PROJECT_PATH)/components/driver/include/driver/sdmmc_host.h \
156    $(PROJECT_PATH)/components/driver/include/driver/sdspi_host.h \
157    $(PROJECT_PATH)/components/hal/include/hal/sdio_slave_types.h \
158    $(PROJECT_PATH)/components/driver/include/driver/sdio_slave.h \
159    $(PROJECT_PATH)/components/nvs_flash/include/nvs.h \
160    $(PROJECT_PATH)/components/nvs_flash/include/nvs_flash.h \
161    $(PROJECT_PATH)/components/openthread/include/esp_openthread.h \
162    $(PROJECT_PATH)/components/openthread/include/esp_openthread_border_router.h \
163    $(PROJECT_PATH)/components/openthread/include/esp_openthread_lock.h \
164    $(PROJECT_PATH)/components/openthread/include/esp_openthread_netif_glue.h \
165    $(PROJECT_PATH)/components/openthread/include/esp_openthread_types.h \
166    $(PROJECT_PATH)/components/vfs/include/esp_vfs.h \
167    $(PROJECT_PATH)/components/vfs/include/esp_vfs_dev.h \
168    $(PROJECT_PATH)/components/vfs/include/esp_vfs_eventfd.h \
169    $(PROJECT_PATH)/components/vfs/include/esp_vfs_semihost.h \
170    $(PROJECT_PATH)/components/fatfs/vfs/esp_vfs_fat.h \
171    $(PROJECT_PATH)/components/fatfs/diskio/diskio_impl.h \
172    $(PROJECT_PATH)/components/fatfs/diskio/diskio_sdmmc.h \
173    $(PROJECT_PATH)/components/fatfs/diskio/diskio_wl.h \
174    $(PROJECT_PATH)/components/fatfs/diskio/diskio_rawflash.h \
175    $(PROJECT_PATH)/components/wear_levelling/include/wear_levelling.h \
176    $(PROJECT_PATH)/components/console/esp_console.h \
177    $(PROJECT_PATH)/components/heap/include/esp_heap_caps.h \
178    $(PROJECT_PATH)/components/heap/include/esp_heap_trace.h \
179    $(PROJECT_PATH)/components/heap/include/esp_heap_caps_init.h \
180    $(PROJECT_PATH)/components/heap/include/multi_heap.h \
181    $(PROJECT_PATH)/components/esp_hw_support/include/esp_intr_alloc.h \
182    $(PROJECT_PATH)/components/esp_system/include/esp_int_wdt.h \
183    $(PROJECT_PATH)/components/esp_system/include/esp_task_wdt.h \
184    $(PROJECT_PATH)/components/esp_hw_support/include/esp_crc.h \
185    $(PROJECT_PATH)/components/esp_system/include/esp_freertos_hooks.h \
186    $(PROJECT_PATH)/components/esp_ipc/include/esp_ipc.h \
187    $(PROJECT_PATH)/components/esp_system/include/esp_expression_with_stack.h \
188    $(PROJECT_PATH)/components/app_update/include/esp_ota_ops.h \
189    $(PROJECT_PATH)/components/esp_https_ota/include/esp_https_ota.h \
190    $(PROJECT_PATH)/components/esp_hw_support/include/esp_async_memcpy.h \
191    $(PROJECT_PATH)/components/esp_hw_support/include/esp_random.h \
192    $(PROJECT_PATH)/components/esp_hw_support/include/esp_sleep.h \
193    $(PROJECT_PATH)/components/log/include/esp_log.h \
194    $(PROJECT_PATH)/components/esp_rom/include/esp_rom_sys.h \
195    $(PROJECT_PATH)/components/esp_system/include/esp_system.h \
196    $(PROJECT_PATH)/components/esp_common/include/esp_idf_version.h \
197    $(PROJECT_PATH)/components/ulp/include/ulp_common.h \
198    $(PROJECT_PATH)/components/app_trace/include/esp_app_trace.h \
199    $(PROJECT_PATH)/components/app_trace/include/esp_sysview_trace.h \
200    $(PROJECT_PATH)/components/esp_pm/include/esp_pm.h \
201    $(PROJECT_PATH)/components/esp_pm/include/$(IDF_TARGET)/pm.h \
202    $(PROJECT_PATH)/components/esp_timer/include/esp_timer.h \
203    $(PROJECT_PATH)/components/esp_event/include/esp_event.h \
204    $(PROJECT_PATH)/components/esp_event/include/esp_event_base.h \
205    $(PROJECT_PATH)/components/efuse/include/esp_efuse.h \
206    $(PROJECT_PATH)/components/bootloader_support/include/esp_app_format.h \
207    $(PROJECT_PATH)/components/pthread/include/esp_pthread.h \
208    $(PROJECT_PATH)/components/freertos/include/freertos/task.h \
209    $(PROJECT_PATH)/components/freertos/include/freertos/queue.h \
210    $(PROJECT_PATH)/components/freertos/include/freertos/semphr.h \
211    $(PROJECT_PATH)/components/freertos/include/freertos/timers.h \
212    $(PROJECT_PATH)/components/freertos/include/freertos/event_groups.h \
213    $(PROJECT_PATH)/components/freertos/include/freertos/stream_buffer.h \
214    $(PROJECT_PATH)/components/freertos/include/freertos/message_buffer.h \
215    $(PROJECT_PATH)/components/esp_ringbuf/include/freertos/ringbuf.h \
216    $(PROJECT_PATH)/components/esp_common/include/esp_err.h \
217    $(PROJECT_PATH)/components/esp_common/include/esp_check.h \
218    $(PROJECT_PATH)/components/esp_system/include/esp_system.h \
219    $(PROJECT_PATH)/components/freemodbus/common/include/esp_modbus_common.h \
220    $(PROJECT_PATH)/components/freemodbus/common/include/esp_modbus_slave.h \
221    $(PROJECT_PATH)/components/freemodbus/common/include/esp_modbus_master.h \
222    $(PROJECT_PATH)/components/perfmon/include/xtensa_perfmon_access.h \
223    $(PROJECT_PATH)/components/perfmon/include/xtensa_perfmon_apis.h \
224    $(PROJECT_PATH)/components/perfmon/include/xtensa_perfmon_masks.h \
225    $(PROJECT_PATH)/components/ieee802154/include/esp_ieee802154.h \
226    $(PROJECT_PATH)/components/ieee802154/include/esp_ieee802154_types.h
227
228
229## Target specific headers are in seperate Doxyfile files
230@INCLUDE = $(PROJECT_PATH)/docs/doxygen/Doxyfile_$(IDF_TARGET)
231
232## Get warnings for functions that have no documentation for their parameters or return value
233##
234WARN_NO_PARAMDOC = YES
235
236## Enable preprocessing and remove __attribute__(...) expressions from the INPUT files
237##
238ENABLE_PREPROCESSING   = YES
239MACRO_EXPANSION        = YES
240EXPAND_ONLY_PREDEF     = YES
241PREDEFINED             = \
242    $(ENV_DOXYGEN_DEFINES) \
243    __DOXYGEN__=1 \
244    __attribute__(x)= \
245	_Static_assert()= \
246    IDF_DEPRECATED(X)= \
247    IRAM_ATTR= \
248    configSUPPORT_DYNAMIC_ALLOCATION=1 \
249    configSUPPORT_STATIC_ALLOCATION=1 \
250    configQUEUE_REGISTRY_SIZE=1 \
251    configUSE_RECURSIVE_MUTEXES=1 \
252    configTHREAD_LOCAL_STORAGE_DELETE_CALLBACKS=1 \
253    configNUM_THREAD_LOCAL_STORAGE_POINTERS=1 \
254    configUSE_APPLICATION_TASK_TAG=1 \
255    configTASKLIST_INCLUDE_COREID=1 \
256    "ESP_EVENT_DECLARE_BASE(x)=extern esp_event_base_t x"
257
258## Do not complain about not having dot
259##
260HAVE_DOT = NO
261
262## Generate XML that is required for Breathe
263##
264GENERATE_XML    = YES
265XML_OUTPUT      = xml
266
267GENERATE_HTML   = NO
268HAVE_DOT        = NO
269GENERATE_LATEX  = NO
270GENERATE_MAN    = YES
271GENERATE_RTF    = NO
272
273## Skip distracting progress messages
274##
275QUIET = YES
276
277## Enable Section Tags for conditional documentation
278##
279ENABLED_SECTIONS += \
280    DOC_EXCLUDE_HEADER_SECTION \   ## To conditionally remove doc sections from IDF source files without affecting documentation in upstream files.
281    DOC_SINGLE_GROUP        ## To conditionally remove groups from the documentation and create a 'flat' document without affecting documentation in upstream files.
282