Copy disabled (too large)
Download .txt
Showing preview only (10,671K chars total). Download the full file to get everything.
Repository: MaJerle/lwesp
Branch: develop
Commit: c43d53524841
Files: 463
Total size: 10.1 MB
Directory structure:
gitextract_jufxey39/
├── .clang-format
├── .gitattributes
├── .github/
│ ├── FUNDING.yml
│ └── workflows/
│ └── release.yml
├── .gitignore
├── .gitmodules
├── .readthedocs.yaml
├── .vscode/
│ ├── c_cpp_properties.json
│ ├── extensions.json
│ ├── launch.json
│ ├── settings.json
│ └── tasks.json
├── AUTHORS
├── CHANGELOG.md
├── CMakeLists.txt
├── CMakePresets.json
├── LICENSE
├── README.md
├── TODO.md
├── certificates/
│ ├── client_ca_00.crt
│ ├── client_ca_generated_atpki.hex
│ ├── client_cert_00.crt
│ ├── client_cert_generated_atpki.hex
│ ├── client_key_00.key
│ └── client_key_generated_atpki.HEX
├── cmake/
│ ├── i686-w64-mingw32-gcc.cmake
│ └── x86_64-w64-mingw32-gcc.cmake
├── dev/
│ ├── lwesp_dev.sln
│ ├── lwesp_dev.vcxproj
│ ├── lwesp_dev.vcxproj.filters
│ ├── lwesp_opts.h
│ ├── lwmem_opts.h
│ └── main.c
├── docs/
│ ├── Makefile
│ ├── api-reference/
│ │ ├── apps/
│ │ │ ├── cayenne_api.rst
│ │ │ ├── http_server.rst
│ │ │ ├── index.rst
│ │ │ ├── mqtt_client.rst
│ │ │ ├── mqtt_client_api.rst
│ │ │ └── netconn.rst
│ │ ├── cli/
│ │ │ ├── cli_input.rst
│ │ │ ├── cli_opt.rst
│ │ │ └── index.rst
│ │ ├── index.rst
│ │ ├── lwesp/
│ │ │ ├── ap.rst
│ │ │ ├── ble.rst
│ │ │ ├── bt.rst
│ │ │ ├── buff.rst
│ │ │ ├── conn.rst
│ │ │ ├── debug.rst
│ │ │ ├── dhcp.rst
│ │ │ ├── dns.rst
│ │ │ ├── evt.rst
│ │ │ ├── flash.rst
│ │ │ ├── hostname.rst
│ │ │ ├── index.rst
│ │ │ ├── input.rst
│ │ │ ├── mdns.rst
│ │ │ ├── mem.rst
│ │ │ ├── pbuf.rst
│ │ │ ├── ping.rst
│ │ │ ├── server.rst
│ │ │ ├── smart.rst
│ │ │ ├── sntp.rst
│ │ │ ├── sta.rst
│ │ │ ├── timeout.rst
│ │ │ ├── types.rst
│ │ │ ├── unicode.rst
│ │ │ ├── utils.rst
│ │ │ ├── webserver.rst
│ │ │ └── wps.rst
│ │ ├── opt.rst
│ │ └── port/
│ │ ├── index.rst
│ │ ├── ll.rst
│ │ └── sys.rst
│ ├── authors/
│ │ └── index.rst
│ ├── changelog/
│ │ └── index.rst
│ ├── conf.py
│ ├── doxyfile.doxy
│ ├── examples/
│ │ └── index.rst
│ ├── examples_src/
│ │ ├── command_blocking.c
│ │ ├── command_nonblocking.c
│ │ ├── command_nonblocking_bad.c
│ │ ├── config.h
│ │ ├── conn_write.c
│ │ ├── debug.c
│ │ ├── debug_opts.h
│ │ ├── evt.c
│ │ ├── mem.c
│ │ ├── pbuf_cat.c
│ │ ├── pbuf_chain.c
│ │ ├── pbuf_extract.c
│ │ ├── sntp_custom_server.c
│ │ └── sta.c
│ ├── firmware-update/
│ │ └── index.rst
│ ├── get-started/
│ │ └── index.rst
│ ├── index.rst
│ ├── make.bat
│ ├── requirements.txt
│ ├── static/
│ │ ├── css/
│ │ │ ├── common.css
│ │ │ └── custom.css
│ │ ├── dark-light/
│ │ │ ├── common-dark-light.css
│ │ │ ├── dark-mode-toggle.mjs
│ │ │ ├── dark.css
│ │ │ └── light.css
│ │ └── images/
│ │ ├── example_app_arch.xml
│ │ ├── logo.drawio
│ │ ├── memory_manager_structure.xml
│ │ ├── memory_manager_structure_freeing.xml
│ │ ├── netconn_client.xml
│ │ ├── netconn_server_1thread.xml
│ │ ├── netconn_server_concurrency.xml
│ │ ├── pbuf_block_diagram.xml
│ │ ├── pbuf_block_diagram_after_free.xml
│ │ ├── pbuf_cat_vs_chain_1.xml
│ │ ├── pbuf_cat_vs_chain_2.xml
│ │ ├── pbuf_cat_vs_chain_3.xml
│ │ ├── system_structure.xml
│ │ └── thread_communication.xml
│ └── user-manual/
│ ├── architecture.rst
│ ├── blocking-nonblocking.rst
│ ├── events-cb-fn.rst
│ ├── index.rst
│ ├── inter-thread-comm.rst
│ ├── overview.rst
│ ├── porting-guide.rst
│ └── ssl-support.rst
├── examples/
│ ├── README.md
│ ├── lib/
│ │ ├── FreeRTOS/
│ │ │ ├── CMSIS_RTOS/
│ │ │ │ ├── cmsis_os.c
│ │ │ │ ├── cmsis_os.h
│ │ │ │ ├── cpu_utils.c
│ │ │ │ └── cpu_utils.h
│ │ │ ├── CMSIS_RTOS_V2/
│ │ │ │ ├── cmsis_os.h
│ │ │ │ ├── cmsis_os2.c
│ │ │ │ └── cmsis_os2.h
│ │ │ ├── croutine.c
│ │ │ ├── event_groups.c
│ │ │ ├── include/
│ │ │ │ ├── FreeRTOS.h
│ │ │ │ ├── FreeRTOSConfig_template.h
│ │ │ │ ├── StackMacros.h
│ │ │ │ ├── croutine.h
│ │ │ │ ├── deprecated_definitions.h
│ │ │ │ ├── event_groups.h
│ │ │ │ ├── list.h
│ │ │ │ ├── message_buffer.h
│ │ │ │ ├── mpu_prototypes.h
│ │ │ │ ├── mpu_wrappers.h
│ │ │ │ ├── portable.h
│ │ │ │ ├── projdefs.h
│ │ │ │ ├── queue.h
│ │ │ │ ├── semphr.h
│ │ │ │ ├── stack_macros.h
│ │ │ │ ├── stdint.readme
│ │ │ │ ├── stream_buffer.h
│ │ │ │ ├── task.h
│ │ │ │ └── timers.h
│ │ │ ├── list.c
│ │ │ ├── portable/
│ │ │ │ ├── Common/
│ │ │ │ │ └── mpu_wrappers.c
│ │ │ │ ├── GCC/
│ │ │ │ │ └── ARM_CM4F/
│ │ │ │ │ ├── port.c
│ │ │ │ │ └── portmacro.h
│ │ │ │ └── MemMang/
│ │ │ │ ├── ReadMe.url
│ │ │ │ ├── heap_1.c
│ │ │ │ ├── heap_2.c
│ │ │ │ ├── heap_3.c
│ │ │ │ ├── heap_4.c
│ │ │ │ └── heap_5.c
│ │ │ ├── queue.c
│ │ │ ├── stream_buffer.c
│ │ │ ├── tasks.c
│ │ │ └── timers.c
│ │ └── st/
│ │ ├── CMSIS/
│ │ │ ├── Device/
│ │ │ │ └── ST/
│ │ │ │ ├── STM32F4xx/
│ │ │ │ │ └── Include/
│ │ │ │ │ ├── stm32f429xx.h
│ │ │ │ │ ├── stm32f4xx.h
│ │ │ │ │ └── system_stm32f4xx.h
│ │ │ │ └── STM32L4xx/
│ │ │ │ └── Include/
│ │ │ │ ├── stm32l496xx.h
│ │ │ │ ├── stm32l4xx.h
│ │ │ │ └── system_stm32l4xx.h
│ │ │ └── Include/
│ │ │ ├── arm_common_tables.h
│ │ │ ├── arm_const_structs.h
│ │ │ ├── arm_math.h
│ │ │ ├── cmsis_armcc.h
│ │ │ ├── cmsis_armcc_V6.h
│ │ │ ├── cmsis_armclang.h
│ │ │ ├── cmsis_compiler.h
│ │ │ ├── cmsis_gcc.h
│ │ │ ├── cmsis_iccarm.h
│ │ │ ├── cmsis_version.h
│ │ │ ├── core_armv8mbl.h
│ │ │ ├── core_armv8mml.h
│ │ │ ├── core_cm0.h
│ │ │ ├── core_cm0plus.h
│ │ │ ├── core_cm1.h
│ │ │ ├── core_cm23.h
│ │ │ ├── core_cm3.h
│ │ │ ├── core_cm33.h
│ │ │ ├── core_cm4.h
│ │ │ ├── core_cm7.h
│ │ │ ├── core_cmFunc.h
│ │ │ ├── core_cmInstr.h
│ │ │ ├── core_cmSimd.h
│ │ │ ├── core_sc000.h
│ │ │ ├── core_sc300.h
│ │ │ ├── mpu_armv7.h
│ │ │ ├── mpu_armv8.h
│ │ │ └── tz_context.h
│ │ ├── STM32F4xx_HAL_Driver/
│ │ │ ├── Inc/
│ │ │ │ ├── stm32f4xx_ll_bus.h
│ │ │ │ ├── stm32f4xx_ll_cortex.h
│ │ │ │ ├── stm32f4xx_ll_dma.h
│ │ │ │ ├── stm32f4xx_ll_exti.h
│ │ │ │ ├── stm32f4xx_ll_gpio.h
│ │ │ │ ├── stm32f4xx_ll_pwr.h
│ │ │ │ ├── stm32f4xx_ll_rcc.h
│ │ │ │ ├── stm32f4xx_ll_system.h
│ │ │ │ ├── stm32f4xx_ll_usart.h
│ │ │ │ └── stm32f4xx_ll_utils.h
│ │ │ └── Src/
│ │ │ ├── stm32f4xx_ll_dma.c
│ │ │ ├── stm32f4xx_ll_exti.c
│ │ │ ├── stm32f4xx_ll_gpio.c
│ │ │ ├── stm32f4xx_ll_pwr.c
│ │ │ ├── stm32f4xx_ll_rcc.c
│ │ │ ├── stm32f4xx_ll_usart.c
│ │ │ └── stm32f4xx_ll_utils.c
│ │ └── STM32L4xx_HAL_Driver/
│ │ ├── Inc/
│ │ │ ├── stm32l4xx_ll_adc.h
│ │ │ ├── stm32l4xx_ll_bus.h
│ │ │ ├── stm32l4xx_ll_cortex.h
│ │ │ ├── stm32l4xx_ll_dma.h
│ │ │ ├── stm32l4xx_ll_dmamux.h
│ │ │ ├── stm32l4xx_ll_exti.h
│ │ │ ├── stm32l4xx_ll_gpio.h
│ │ │ ├── stm32l4xx_ll_lpuart.h
│ │ │ ├── stm32l4xx_ll_pwr.h
│ │ │ ├── stm32l4xx_ll_rcc.h
│ │ │ ├── stm32l4xx_ll_system.h
│ │ │ ├── stm32l4xx_ll_usart.h
│ │ │ └── stm32l4xx_ll_utils.h
│ │ └── Src/
│ │ ├── stm32l4xx_ll_dma.c
│ │ ├── stm32l4xx_ll_exti.c
│ │ ├── stm32l4xx_ll_gpio.c
│ │ ├── stm32l4xx_ll_lpuart.c
│ │ ├── stm32l4xx_ll_pwr.c
│ │ ├── stm32l4xx_ll_rcc.c
│ │ ├── stm32l4xx_ll_usart.c
│ │ └── stm32l4xx_ll_utils.c
│ ├── posix/
│ │ ├── README.md
│ │ └── sntp_rtos/
│ │ ├── CMakeLists.txt
│ │ ├── README.md
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── stm32/
│ │ ├── mqtt_client_api_rtos_stm32f429zi_nucleo/
│ │ │ ├── .vscode/
│ │ │ │ ├── c_cpp_properties.json
│ │ │ │ ├── extensions.json
│ │ │ │ ├── launch.json
│ │ │ │ └── tasks.json
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CMakePresets.json
│ │ │ ├── STM32CubeIDE/
│ │ │ │ ├── .cproject
│ │ │ │ ├── .project
│ │ │ │ ├── Debug_STM32F429ZI_FLASH.ld
│ │ │ │ └── startup/
│ │ │ │ └── startup_stm32f429xx.s
│ │ │ ├── cmake/
│ │ │ │ └── gcc-arm-none-eabi.cmake
│ │ │ ├── inc/
│ │ │ │ ├── FreeRTOSConfig.h
│ │ │ │ ├── lwesp_opts.h
│ │ │ │ ├── main.h
│ │ │ │ ├── stm32_assert.h
│ │ │ │ ├── stm32f4xx_hal_conf.h
│ │ │ │ └── stm32f4xx_it.h
│ │ │ └── src/
│ │ │ ├── main.c
│ │ │ ├── stm32f4xx_it.c
│ │ │ ├── syscalls.c
│ │ │ └── system_stm32f4xx.c
│ │ └── netconn_client_rtos_stm32l496g_discovery/
│ │ ├── .vscode/
│ │ │ ├── c_cpp_properties.json
│ │ │ ├── extensions.json
│ │ │ ├── launch.json
│ │ │ └── tasks.json
│ │ ├── CMakeLists.txt
│ │ ├── CMakePresets.json
│ │ ├── STM32CubeIDE/
│ │ │ ├── .cproject
│ │ │ ├── .project
│ │ │ ├── Debug_STM32L496AG_FLASH.ld
│ │ │ └── startup/
│ │ │ └── startup_stm32l496xx.s
│ │ ├── cmake/
│ │ │ └── gcc-arm-none-eabi.cmake
│ │ ├── inc/
│ │ │ ├── FreeRTOSConfig.h
│ │ │ ├── lwesp_opts.h
│ │ │ ├── main.h
│ │ │ ├── stm32_assert.h
│ │ │ ├── stm32l4xx_hal_conf.h
│ │ │ └── stm32l4xx_it.h
│ │ └── src/
│ │ ├── main.c
│ │ ├── stm32l4xx_it.c
│ │ ├── syscalls.c
│ │ └── system_stm32l4xx.c
│ └── win32/
│ ├── .vscode/
│ │ ├── c_cpp_properties.json
│ │ ├── extensions.json
│ │ ├── launch.json
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CMakeLists.txt
│ ├── CMakePresets.json
│ ├── README.md
│ ├── access_point_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── build_all_examples.py
│ ├── client_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── dns_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── mqtt_client_api_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── mqtt_client_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── netconn_client_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── netconn_server_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── server_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ └── sntp_rtos/
│ ├── lwesp_opts.h
│ └── main.c
├── library.json
├── lwesp/
│ ├── CMakeLists.txt
│ ├── library.cmake
│ └── src/
│ ├── api/
│ │ └── lwesp_netconn.c
│ ├── apps/
│ │ ├── http_server/
│ │ │ ├── lwesp_http_server.c
│ │ │ ├── lwesp_http_server_fs.c
│ │ │ ├── lwesp_http_server_fs_fat.c
│ │ │ └── lwesp_http_server_fs_win32.c
│ │ └── mqtt/
│ │ ├── lwesp_mqtt_client.c
│ │ ├── lwesp_mqtt_client_api.c
│ │ └── lwesp_mqtt_client_evt.c
│ ├── cli/
│ │ ├── cli.c
│ │ └── cli_input.c
│ ├── include/
│ │ ├── cli/
│ │ │ ├── cli.h
│ │ │ ├── cli_input.h
│ │ │ └── cli_opt.h
│ │ ├── lwesp/
│ │ │ ├── apps/
│ │ │ │ ├── lwesp_apps.h
│ │ │ │ ├── lwesp_http_server.h
│ │ │ │ ├── lwesp_http_server_fs.h
│ │ │ │ ├── lwesp_mqtt_client.h
│ │ │ │ ├── lwesp_mqtt_client_api.h
│ │ │ │ └── lwesp_mqtt_client_evt.h
│ │ │ ├── lwesp.h
│ │ │ ├── lwesp_ap.h
│ │ │ ├── lwesp_ble.h
│ │ │ ├── lwesp_bt.h
│ │ │ ├── lwesp_buff.h
│ │ │ ├── lwesp_cli.h
│ │ │ ├── lwesp_conn.h
│ │ │ ├── lwesp_debug.h
│ │ │ ├── lwesp_debug_types.h
│ │ │ ├── lwesp_dhcp.h
│ │ │ ├── lwesp_dns.h
│ │ │ ├── lwesp_evt.h
│ │ │ ├── lwesp_flash.h
│ │ │ ├── lwesp_flash_partitions.h
│ │ │ ├── lwesp_hostname.h
│ │ │ ├── lwesp_includes.h
│ │ │ ├── lwesp_input.h
│ │ │ ├── lwesp_int.h
│ │ │ ├── lwesp_mdns.h
│ │ │ ├── lwesp_mem.h
│ │ │ ├── lwesp_netconn.h
│ │ │ ├── lwesp_opt.h
│ │ │ ├── lwesp_opts_template.h
│ │ │ ├── lwesp_parser.h
│ │ │ ├── lwesp_pbuf.h
│ │ │ ├── lwesp_ping.h
│ │ │ ├── lwesp_private.h
│ │ │ ├── lwesp_server.h
│ │ │ ├── lwesp_smart.h
│ │ │ ├── lwesp_sntp.h
│ │ │ ├── lwesp_sta.h
│ │ │ ├── lwesp_threads.h
│ │ │ ├── lwesp_timeout.h
│ │ │ ├── lwesp_types.h
│ │ │ ├── lwesp_unicode.h
│ │ │ ├── lwesp_utils.h
│ │ │ ├── lwesp_webserver.h
│ │ │ └── lwesp_wps.h
│ │ └── system/
│ │ ├── lwesp_ll.h
│ │ ├── lwesp_sys.h
│ │ └── port/
│ │ ├── cmsis_os/
│ │ │ └── lwesp_sys_port.h
│ │ ├── freertos/
│ │ │ └── lwesp_sys_port.h
│ │ ├── posix/
│ │ │ └── lwesp_sys_port.h
│ │ ├── threadx/
│ │ │ └── lwesp_sys_port.h
│ │ └── win32/
│ │ └── lwesp_sys_port.h
│ ├── lwesp/
│ │ ├── lwesp.c
│ │ ├── lwesp_ap.c
│ │ ├── lwesp_ble.c
│ │ ├── lwesp_bt.c
│ │ ├── lwesp_buff.c
│ │ ├── lwesp_cli.c
│ │ ├── lwesp_conn.c
│ │ ├── lwesp_debug.c
│ │ ├── lwesp_dhcp.c
│ │ ├── lwesp_dns.c
│ │ ├── lwesp_evt.c
│ │ ├── lwesp_flash.c
│ │ ├── lwesp_hostname.c
│ │ ├── lwesp_input.c
│ │ ├── lwesp_int.c
│ │ ├── lwesp_mdns.c
│ │ ├── lwesp_mem.c
│ │ ├── lwesp_parser.c
│ │ ├── lwesp_pbuf.c
│ │ ├── lwesp_ping.c
│ │ ├── lwesp_server.c
│ │ ├── lwesp_smart.c
│ │ ├── lwesp_sntp.c
│ │ ├── lwesp_sta.c
│ │ ├── lwesp_threads.c
│ │ ├── lwesp_timeout.c
│ │ ├── lwesp_unicode.c
│ │ ├── lwesp_utils.c
│ │ ├── lwesp_webserver.c
│ │ └── lwesp_wps.c
│ └── system/
│ ├── lwesp_ll_posix.c
│ ├── lwesp_ll_stm32.c
│ ├── lwesp_ll_stm32_threadx.c
│ ├── lwesp_ll_stm32f429zi_nucleo.c
│ ├── lwesp_ll_stm32f723e_discovery.c
│ ├── lwesp_ll_stm32f769i_discovery.c
│ ├── lwesp_ll_stm32h735g_dk_threadx.c
│ ├── lwesp_ll_stm32l432kc_nucleo.c
│ ├── lwesp_ll_stm32l496g_discovery.c
│ ├── lwesp_ll_stm32l4s5_discovery.c
│ ├── lwesp_ll_win32.c
│ ├── lwesp_mem_lwmem.c
│ ├── lwesp_mem_posix.c
│ ├── lwesp_mem_threadx.c
│ ├── lwesp_sys_cmsis_os.c
│ ├── lwesp_sys_freertos.c
│ ├── lwesp_sys_posix.c
│ ├── lwesp_sys_threadx.c
│ └── lwesp_sys_win32.c
├── snippets/
│ ├── CMakeLists.txt
│ ├── client.c
│ ├── dns.c
│ ├── examples_common_lwesp_callback_func.c
│ ├── http_server.c
│ ├── include/
│ │ ├── client.h
│ │ ├── dns.h
│ │ ├── examples_common_lwesp_callback_func.h
│ │ ├── http_server.h
│ │ ├── mqtt_client.h
│ │ ├── mqtt_client_api.h
│ │ ├── netconn_client.h
│ │ ├── netconn_server.h
│ │ ├── netconn_server_1thread.h
│ │ ├── sntp.h
│ │ ├── station_manager.h
│ │ ├── telnet_server.h
│ │ └── utils.h
│ ├── mqtt_client.c
│ ├── mqtt_client_api.c
│ ├── mqtt_client_api_ha.c
│ ├── netconn_client.c
│ ├── netconn_client_ssl.c
│ ├── netconn_server.c
│ ├── netconn_server_1thread.c
│ ├── sntp.c
│ ├── station_manager.c
│ ├── telnet_server.c
│ └── utils.c
└── www/
├── css/
│ └── style.css
└── index.shtml
================================================
FILE CONTENTS
================================================
================================================
FILE: .clang-format
================================================
# Language part removed. With clang-format >=20.1, the C and Cpp are separately handled,
# so either there is no language at all, or we need to create 2 formats for C and Cpp, separately
---
# Language: Cpp
# BasedOnStyle: LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignArrayOfStructures: None
AlignConsecutiveMacros:
Enabled: true
AcrossEmptyLines: true
AcrossComments: true
AlignConsecutiveAssignments: None
AlignConsecutiveBitFields:
Enabled: true
AcrossEmptyLines: true
AcrossComments: true
AlignConsecutiveDeclarations: None
AlignEscapedNewlines: Right
AlignOperands: Align
SortIncludes: true
InsertBraces: true # Control statements must have curly brackets
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortEnumsOnASingleLine: true
AllowShortBlocksOnASingleLine: Empty
AllowShortCaseLabelsOnASingleLine: true
AllowShortFunctionsOnASingleLine: All
AllowShortLambdasOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: AllDefinitions
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
AttributeMacros:
- __capability
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeConceptDeclarations: true
BreakBeforeBraces: Attach
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 120
CommentPragmas: "^ IWYU pragma:"
QualifierAlignment: Leave
CompactNamespaces: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DeriveLineEnding: true
DerivePointerAlignment: false
DisableFormat: false
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
PackConstructorInitializers: BinPack
BasedOnStyle: ""
ConstructorInitializerAllOnOneLineOrOnePerLine: false
AllowAllConstructorInitializersOnNextLine: true
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IfMacros:
- KJ_IF_MAYBE
IncludeBlocks: Preserve
IncludeCategories:
- Regex: "^<(.*)>"
Priority: 0
- Regex: '^"(.*)"'
Priority: 1
- Regex: "(.*)"
Priority: 2
IncludeIsMainRegex: "(Test)?$"
IncludeIsMainSourceRegex: ""
IndentAccessModifiers: false
IndentCaseLabels: true
IndentCaseBlocks: false
IndentGotoLabels: true
IndentPPDirectives: None
IndentExternBlock: AfterExternBlock
IndentRequires: true
IndentWidth: 4
IndentWrappedFunctionNames: false
InsertTrailingCommas: None
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
LambdaBodyIndentation: Signature
MacroBlockBegin: ""
MacroBlockEnd: ""
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCBreakBeforeNestedBlockParam: true
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakOpenParenthesis: 0
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PenaltyIndentedWhitespace: 0
PointerAlignment: Left
PPIndentWidth: -1
ReferenceAlignment: Pointer
ReflowComments: false
RemoveBracesLLVM: false
SeparateDefinitionBlocks: Always
ShortNamespaceLines: 1
SortJavaStaticImport: Before
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeParens: ControlStatements
SpaceBeforeParensOptions:
AfterControlStatements: true
AfterForeachMacros: true
AfterFunctionDefinitionName: false
AfterFunctionDeclarationName: false
AfterIfMacros: true
AfterOverloadedOperator: false
BeforeNonEmptyParentheses: false
SpaceAroundPointerQualifiers: Default
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: Never
SpacesInConditionalStatement: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceBeforeSquareBrackets: false
BitFieldColonSpacing: Both
Standard: Latest
StatementAttributeLikeMacros:
- Q_EMIT
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 8
UseCRLF: false
UseTab: Never
WhitespaceSensitiveMacros:
- STRINGIZE
- PP_STRINGIZE
- BOOST_PP_STRINGIZE
- NS_SWIFT_NAME
- CF_SWIFT_NAME
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
---
================================================
FILE: .gitattributes
================================================
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms
custom: ['paypal.me/tilz0R']
================================================
FILE: .github/workflows/release.yml
================================================
name: Release workflow
on:
push:
# Sequence of patterns matched against refs/tags
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
jobs:
# Create the release from the tag
create-release:
name: Create Release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
body: |
See the [CHANGELOG](CHANGELOG.md)
draft: false
prerelease: false
# Publish package to PlatformIO
publish-platformio:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install PlatformIO
run: pip install platformio
- name: Publish to PlatformIO
env:
PLATFORMIO_AUTH_TOKEN: ${{ secrets.PLATFORMIO_AUTH_TOKEN }}
run: pio pkg publish --type library --non-interactive
================================================
FILE: .gitignore
================================================
#Build Keil files
*.rar
*.o
*.d
*.crf
*.htm
*.dep
*.map
*.bak
*.axf
*.lnp
*.lst
*.ini
*.scvd
*.iex
*.sct
*.MajerleT
*.tjuln
*.tilen
*.dbgconf
*.uvguix
*.uvoptx
*.__i
*.i
*.txt
!docs/*.txt
!CMakeLists.txt
RTE/
*debug
# IAR Settings
**/settings/*.crun
**/settings/*.dbgdt
**/settings/*.cspy
**/settings/*.cspy.*
**/settings/*.xcl
**/settings/*.dni
**/settings/*.wsdt
**/settings/*.wspos
# IAR Debug Exe
**/Exe/*.sim
# IAR Debug Obj
**/Obj/*.pbd
**/Obj/*.pbd.*
**/Obj/*.pbi
**/Obj/*.pbi.*
*.TMP
/docs_src/x_Doxyfile.doxy
.DS_Store
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
[Dd]ebug*/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
_build/
build/
__build__/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
**/Properties/launchSettings.json
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
*.out
*.sim
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# TypeScript v1 declaration files
typings/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml
# CodeRush
.cr/
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
log_file.txt
.metadata/
.mxproject
.settings/
project.ioc
mx.scratch
*.tilen majerle
# Altium
Project outputs*
History/
*.SchDocPreview
*.$$$Preview
# VSCode projects
project_vscode_compiled.exe
================================================
FILE: .gitmodules
================================================
================================================
FILE: .readthedocs.yaml
================================================
version: 2
build:
os: ubuntu-22.04
tools:
python: "3.11"
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
# Python configuration
python:
install:
- requirements: docs/requirements.txt
formats:
- pdf
- epub
================================================
FILE: .vscode/c_cpp_properties.json
================================================
{
"version": 4,
"configurations": [
{
/*
* Full configuration is provided by CMake plugin for vscode,
* that shall be installed by user
*/
"name": "Win32",
"intelliSenseMode": "${default}",
"configurationProvider": "ms-vscode.cmake-tools"
}
]
}
================================================
FILE: .vscode/extensions.json
================================================
{
"recommendations": [
"ms-vscode.cpptools",
"ms-vscode.cmake-tools",
"twxs.cmake",
]
}
================================================
FILE: .vscode/launch.json
================================================
{
"version": "0.2.0",
"configurations": [
{
/* GDB must in be in the PATH environment */
"name": "(Windows) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${command:cmake.launchTargetPath}",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": []
}
]
}
================================================
FILE: .vscode/settings.json
================================================
{
"files.associations": {
"*.lcdjson": "json",
"lwevt_types.h": "c",
"lwevt_type.h": "c",
"lwevt.h": "c",
"string.h": "c",
"lwevt_opt.h": "c",
"cli.h": "c",
"windows.h": "c",
"lwesp_private.h": "c",
"lwesp_ll.h": "c",
"lwesp.h": "c",
"lwesp_includes.h": "c",
"lwesp_pbuf.h": "c",
"lwesp_opt.h": "c",
"LWESP_TYPES.h": "c",
"lwesp_opts.h": "c",
"lwesp_buff.h": "c",
"lwesp_debug.h": "c",
"lwesp_utils.h": "c",
"stdlib.h": "c",
"lwesp_unicode.h": "c",
"lwesp_ping.h": "c",
"lwesp_threads.h": "c",
"lwesp_int.h": "c",
"lwesp_sta.h": "c",
"lwesp_mqtt_client_api.h": "c",
"lwesp_cayenne.h": "c",
"lwesp_http_server.h": "c",
"lwesp_apps.h": "c",
"lwesp_mqtt_client.h": "c",
"lwesp_mqtt_client_evt.h": "c",
"lwesp_parser.h": "c",
"lwesp_debug_types.h": "c",
"lwesp_conn.h": "c",
"lwesp_flash.h": "c",
"lwesp_mem.h": "c",
"http_server.h": "c",
"cayenne.h": "c",
"examples_common_lwesp_callback_func.h": "c",
"*.hex": "c",
"lwesp_netconn.h": "c",
"netconn_client.h": "c",
"lwesp_sntp.h": "c",
"utils.h": "c",
"lwesp_flash_partitions.h": "c",
"math.h": "c"
},
"esbonio.sphinx.confDir": ""
}
================================================
FILE: .vscode/tasks.json
================================================
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "Build project",
"command": "cmake",
"args": ["--build", "${command:cmake.buildDirectory}", "-j", "8"],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"type": "shell",
"label": "Re-build project",
"command": "cmake",
"args": ["--build", "${command:cmake.buildDirectory}", "--clean-first", "-v", "-j", "8"],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": ["$gcc"],
},
{
"type": "shell",
"label": "Clean project",
"command": "cmake",
"args": ["--build", "${command:cmake.buildDirectory}", "--target", "clean"],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": []
},
{
"type": "shell",
"label": "Run application",
"command": "${command:cmake.launchTargetPath}",
"args": [],
"problemMatcher": [],
},
{
"label": "Docs: Install python plugins from requirements.txt file",
"type": "shell",
"command": "python -m pip install -r requirements.txt",
"options": {
"cwd": "${workspaceFolder}/docs"
},
"problemMatcher": []
},
{
"label": "Docs: Generate html",
"type": "shell",
"command": ".\\make html",
"options": {
"cwd": "${workspaceFolder}/docs"
},
"problemMatcher": []
},
{
"label": "Docs: Clean build directory",
"type": "shell",
"command": ".\\make clean",
"options": {
"cwd": "${workspaceFolder}/docs"
},
"problemMatcher": []
},
{
"label": "Build all WIN32 examples",
"type": "shell",
"command": "python",
"args": [
"build_all_examples.py"
],
"options": {
"cwd": "${workspaceFolder}/examples/win32"
},
"problemMatcher": []
}
]
}
================================================
FILE: AUTHORS
================================================
Tilen Majerle <tilen.majerle@gmail.com>
Adrian Carpenter <adrian.carpenter@me.com>
Miha Cesnik <cesnik.91@gmail.com>
Evgeny Ermakov <evgeny.v.ermakov@gmail.com>
Michal Převrátil <michprev@gmail.com>
Evgeny Ermakov <>
Tom van der Geer <t.vandergeer@sping.nl>
Tilen Majerle <tilen@majerle.eu>
turmary <turmary@126.com>
Bert <mail@bertlammers.com>
niedong <niedong0816@126.com>
neo <xiongyu0523@gmail.com>
TakashiKusachi <aisiars@gmail.com>
imi415 <imi415.public@gmail.com>
lisekt84 <lisek84@interia.pl>
================================================
FILE: CHANGELOG.md
================================================
# Changelog
## Develop
- Change license year to 2022
- MQTT: Improve module implementation
- MQTT: Add optional SSL connection type
- MQTT: Add cayenne async demo, publish-mode only through ring buffer
- MQTT CAYENNE: Completely reworked with asynchronous MQTT instead. Improves performance to transmit more data in one shot
- MQTT client: Add poll periodic event for event callback
- Port: Improve ThreadX port
- CONN: Enable manual TCP receive by default, to improve system stability
- Timeout: module returns ERRMEM if no memory to allocate block
- Add esp_at_binaries from Espressif, used for library verification (official AT firmware)
- Add optional `AT+CMD?` command at reset/restore process, for debug purpose for the moment, only
- Add function to get ESP device used for AT command communication
- Fix `lwesp_get_min_at_fw_version` to return min AT version for detected ESP device
- SNTP: Improve module comments, change timezone variable to `int16_t`
- SNTP: Implement global callback when command is to obtain current time
- SNTP: Add synchronization interval config, available with ESP AT `2.3.0` or later (ESP32-C3 only for the moment)
- SNTP: Add option for readin current SNTP configuration
- SNTP: Add option to automatically read SNTP data on `+TIME_UPDATED` event (requires ESP-AT v3.x or newer)
- ERR: Add option to get response to `ERR CODE:` message if command doesn't exist and put it to result of command execution
- Fix min at version for ESP32 to `2.2.0`
- Add `LWESP ` prefix for debug messages
- Update code style with astyle
- Add `.clang-format` draft - remove astyle support
- SSL: Added experimental support
- FS: Added support for erase and write operation
- Code improvement: Change multiple local variables to single structure
- Date&Time `lwesp_datetime_t` and use generic `struct tm` instead
- CONN: Add validation counter to ensure netconn object matches connection object and that there was no connection close/re-open in between
- Minimum supported AT version is now `v3.2.0 (ESP32, ESP32-C3)` to support new MFG write operations
- Added support for `ESP32-C2` and `ESP32-C6` AT commands
- SYSFLASH: Split System flash and Manufacturing data to separate commands, following new breaking changes for ESP-AT firmware
- WPS: Break API compatibility to configure the feature, by adding minimum security level parameter in the `lwesp_wps_set_config` function
- Rework library CMake with removed INTERFACE type
## 1.1.2-dev
- Add POSIX-compliant low-level driver (thanks to community to implement it)
- Prohibit transmission of too long UDP packets (default), can be disabled with configuration option
- Split CMakeLists.txt files between library and executable
- Move `esp_set_server` function to separate file `lwesp_server.c`
- Use `AT+GMR` command just after reset/restore to determine ESP device being connected on AT port
- Minimum required AT binaries are now `2.3.0` for `ESP32/ESP32C3` and `2.2.1` for `ESP8266`
- Connection status is acquired with `AT+CIPSTATE` or `AT+CIPSTATUS`, depends on Espressif connected device
- Add optional full fields for access point scan with `LWESP_CFG_ACCESS_POINT_STRUCT_FULL_FIELDS` config option
- Add optional keep-alive periodic timeout to system event callback functions. Can be used to act as generic timeout event
- Improve station manager snippet with asynchronous mode
## v1.1.1-dev
- Update to support library.json for Platform.IO
## v1.1.0-dev
- Add support for SDK v2.2
- Extend number of information received on AP scan
- Add option for `WPA3` and `WPA2_WPA3_PSK` authentication modes
- Add bgn and wps readings
- Add support for IPv6
- Add option to disconnect all stations from Soft-AP
- TODO: Add DNS for IPv6 support (Optional)
- TODO: Add support for WIFI GOT IP to parse IPv6
- Update CMSIS OS driver to support FreeRTOS aware kernel
## v1.0.0
- First stable release
- Works with *esp-at* version `v2.1.0`
- Implements all basic functionality for ESP8266 and ESP32
- Added operating system-based sequential API
- Other bug fixes and docs updates
## v0.6.1
- Fixed inadequate MQTT RX data handling causing possible overflow of memory
- Added support for zero-copy MQTT RX data
## v0.6.0
- Added support for ESP32 & ESP8266
- Official support for ESP32 AT firmware v1.2 & ESP8266 AT firmware v2.0
- Added examples to main repository
- Preparation for BLE support in ESP32
- Removed AT commands with `_CUR` and `_DEF` suffixes
- Renamed some event names, such as `ESP_EVT_CONN_CLOSE` instead of `ESP_EVT_CONN_CLOSED`
- Added DHCP/static IP support
- Added CMSIS-OS v2 support
- Added LwMEM port for dynamic memory allocation
- Other bug fixes
## v0.5.0
- Remove `_t` for every struct/enum name
- Fully use ESP_MEMCPY instead of memcpy
- When connection is in closing mode, stop sending any new data and return with error
- Remove `_data` part from event helper function for connection receive
- Implement semaphores in internal threads
- Add driver for NUCLEO-F429
- Implement timeout callback for major events when device does not reply in given time
- Add callback function support to every API function which directly interacts with device
- Replace all files to CRLF ending
- Replace `ESP_EVT_RESET` to `ESP_EVT_RESET_DETECTED`
- Replace `ESP_EVT_RESET_FINISH` to ESP_EVT_RESET`
- Replace all header files guards with ESP_HDR_ prefix
- Add espERRBLOCKING return when function is called in blocking mode when not allowed
- Other bug fixes to stabilize AT communication
## v0.4.0
- Add sizeof for every memory allocation
- Function typedefs suffix has been renamed to `_fn` instead of `_t`
- Merge events for connection data send and data send error
- Send callback if sending data is not successful in any case (timeout, ERROR, etc)
- Add functions for IP/port retrieval on connections
- Remove goto statements and use deep if statements
- Fix MQTT problems with username and password
- Make consistent variable types across library
## v1.3.0
- Rename all cb annotations with evt, replacing callbacks with events,
- Replace built-in memcpy and memset functions with `ESP_MEMCPY` and `ESP_MEMSET` to allow users to do custom implementation
- Added example for Server RTOS
- Added API to unchain first pbuf in pbuf chain
- Implemented first prototype for manual TCP receive functionality.
## v0.2.0
- Fixed netconn issue with wrong data type for OS semaphore
- Added support for asynchronous reset
- Added support for tickless sleep for modern RTOS systems
## v0.1.0
- Initial release
================================================
FILE: CMakeLists.txt
================================================
cmake_minimum_required(VERSION 3.22)
# Setup project
project(LwLibPROJECT)
if(NOT PROJECT_IS_TOP_LEVEL)
add_subdirectory(lwesp)
else()
add_executable(${PROJECT_NAME})
target_sources(${PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/dev/main.c
# Development additional files
${CMAKE_CURRENT_LIST_DIR}/lwesp/src/system/lwesp_mem_lwmem.c
${CMAKE_CURRENT_LIST_DIR}/../lwmem/lwmem/src/lwmem/lwmem.c
${CMAKE_CURRENT_LIST_DIR}/../lwmem/lwmem/src/system/lwmem_sys_win32.c
# Http server file system
${CMAKE_CURRENT_LIST_DIR}/lwesp/src/apps/http_server/lwesp_http_server_fs_win32.c
# Port specific
${CMAKE_CURRENT_LIST_DIR}/lwesp/src/system/lwesp_ll_win32.c
)
target_include_directories(${PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_LIST_DIR}
${CMAKE_CURRENT_LIST_DIR}/dev
${CMAKE_CURRENT_LIST_DIR}/../lwmem/lwmem/src/include
)
# Add subdir with lwesp and link to the project
set(LWESP_OPTS_FILE ${CMAKE_CURRENT_LIST_DIR}/dev/lwesp_opts.h)
set(LWESP_SYS_PORT "win32")
add_subdirectory(lwesp)
target_link_libraries(${PROJECT_NAME} PUBLIC lwesp_api)
target_link_libraries(${PROJECT_NAME} PUBLIC lwesp_apps)
target_link_libraries(${PROJECT_NAME} PUBLIC lwesp)
add_subdirectory(snippets)
target_link_libraries(${PROJECT_NAME} PUBLIC lwesp_snippets)
# Add compile options to the library, which will propagate options to executable through public link
target_compile_definitions(lwesp PUBLIC WIN32 _DEBUG CONSOLE LWESP_DEV)
target_compile_options(lwesp PUBLIC -Wall -Wextra -Wpedantic)
endif()
================================================
FILE: CMakePresets.json
================================================
{
"version": 3,
"configurePresets": [
{
"name": "default",
"hidden": true,
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": {
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
}
},
{
"name": "Win32-Debug",
"inherits": "default",
"toolchainFile": "${sourceDir}/cmake/i686-w64-mingw32-gcc.cmake",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "Win64-Debug",
"inherits": "default",
"toolchainFile": "${sourceDir}/cmake/x86_64-w64-mingw32-gcc.cmake",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
}
],
"buildPresets": [
{
"name": "Win32-Debug",
"configurePreset": "Win32-Debug"
},
{
"name": "Win64-Debug",
"configurePreset": "Win64-Debug"
}
]
}
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2025 Tilen MAJERLE
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
# Lightweight ESP-AT parser
LwESP is lightweight ESP AT commands parser library to communicate with ESP8266 or ESP32 Wi-Fi modules using AT commands.
Module is written in C99 and is system platform agnostic. Its main targets are embedded system devices like ARM Cortex-M, AVR, PIC and others, but can easily work under `Windows`, `Linux` or `MAC` environments too.
Espressif module runs official [AT Commands (esp-at)](https://github.com/espressif/esp-at) software and communicates with host device via UART or SPI communication protocol.
Follow documentation for more information on implementation and details.
<h3>Read first: <a href="https://docs.majerle.eu/projects/lwesp/">Documentation</a></h3>
## Features
- Supports latest ESP32, ESP32-C2, ESP32-C3, ESP32-C6 & ESP8266 AT software from Espressif system
- Platform independent and very easy to port
- Development of library under Win32 platform
- Available examples for ARM Cortex-M, Win32 or POSIX (mostly Linux) platforms
- Written in C language (C99)
- Allows different configurations to optimize user requirements
- Supports implementation with operating systems with advanced inter-thread communications
- Uses `2` tasks for data handling from user and device
- Includes several applications built on top of library
- Netconn sequential API for client and server
- HTTP server with dynamic files (file system) supported
- MQTT client
- Embeds other AT features, such as WPS management, custom DNS setup, Hostname for DHCP, Ping feature
- User friendly MIT license
## Contribute
Fresh contributions are always welcome. Simple instructions to proceed:
1. Fork Github repository
2. Follow [C style & coding rules](https://github.com/MaJerle/c-code-style) already used in the project
3. Create a pull request to develop branch with new features or bug fixes
Alternatively you may:
1. Report a bug
2. Ask for a feature request
================================================
FILE: TODO.md
================================================
# TODO list
- Implement `AT+CWSTATE` to query Wi-Fi state
- Implement `AT+CIPSENDL` and `AT+CIPSENDLCFG` for long data send
- Implement `AT+CIPTCPOPT` to configure TCP connection
- Implement BLE feature
- Implement BT feature
- Transfer Cayenne MQTT app to be based on non-blocking API instead
- Add DNS for IPv6 support (Optional)
- Add `AT+CWJEAP` for WPA2 connections
- Implement single callback when station is connected and IP is received (so far STA_GOT_IP may be called several times in a row, when IP v4 and v6 are received)
- Implement new type of event instead, that is called only once per connection
- Add support for wifi mode `0` that has disabled WIFI IP
================================================
FILE: certificates/client_ca_00.crt
================================================
-----BEGIN CERTIFICATE-----
MIIDLTCCAhWgAwIBAgIJAMQZBKBLTB95MA0GCSqGSIb3DQEBBQUAMDcxCzAJBgNV
BAYTAlMxMQ8wDQYDVQQKDAZFU1AgUzExFzAVBgNVBAMMDkVTUCBSb290IENBIFMx
MB4XDTE5MDYyMTA4MDAyMloXDTI5MDYxODA4MDAyMlowNzELMAkGA1UEBhMCUzEx
DzANBgNVBAoMBkVTUCBTMTEXMBUGA1UEAwwORVNQIFJvb3QgQ0EgUzEwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCt/chHLK76uZwnGywrmWDFt8ixoH2G
KJi3QzEW0MT0GUX1/6bCRKEkvDY6Neze26+a6sJCwbhOLcCGIxiPi2L2QHeCrO2n
PxTfl2pGm+Vhe0TzTJhHpBSrdbnk2DQBjg6CzK+3f6ZBSuKACpMfHg5Xovgq/2Uz
N3Dz1nZ5N90OlNSNBjFW4i9vIk5LtSh62cEFtdGjwGlXtfm4k30ZxfZF8P9z9FXI
m9t6L8+B0UqE2Bysg/pHadmw/D0IOqnyji/gzJ56dLQES/Of1R0LQ9EG7ZZLG3eM
1IsSww+0/Iarm1LqAFfTE3NbYkSajAEXIFEsbHpIw4A36y6A80orIq8bAgMBAAGj
PDA6MAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgGmMB0GA1UdDgQWBBQE1Ucuke3Z
PAiqLlJFyBWR3nV0ujANBgkqhkiG9w0BAQUFAAOCAQEAMgH0OyIh2kgw4s7Gv1Uo
vDKhCCO0GqRYBAzEkXbHSJdl1pYFyp2yNCnPWztF6aDAmM9EzWNOJQlig4xwB1SZ
Tgk3ov6tkRicfbwhvIfAvvb/XWfVo1XsL20Bp4euE/tI9JmPGOUzuiQWaxVrlkuc
qAg4U3gcHY6nBkanpbY9idPF4lDLYZNkxe3+0mp50NxHmiuM/ShoR8xs0ee4fydV
wI52uuiEGtjcivHPr0t8J8N+dXJPKqddszsrelwuCDsYMhpJLR2obTMxJx1aP5Zx
jw5BTh1TrdGUDe2JumZ7YDUpkQHnfdR7XTF6XubbeJBjHwWr1A7AzFwmbZDO266s
Rw==
-----END CERTIFICATE-----
================================================
FILE: certificates/client_ca_generated_atpki.hex
================================================
0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x42, 0x45, 0x47, 0x49, 0x4E, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41,
0x54, 0x45, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x0A, 0x4D, 0x49, 0x49, 0x44, 0x4C, 0x54, 0x43, 0x43, 0x41, 0x68, 0x57,
0x67, 0x41, 0x77, 0x49, 0x42, 0x41, 0x67, 0x49, 0x4A, 0x41, 0x4D, 0x51, 0x5A, 0x42, 0x4B, 0x42, 0x4C, 0x54, 0x42,
0x39, 0x35, 0x4D, 0x41, 0x30, 0x47, 0x43, 0x53, 0x71, 0x47, 0x53, 0x49, 0x62, 0x33, 0x44, 0x51, 0x45, 0x42, 0x42,
0x51, 0x55, 0x41, 0x4D, 0x44, 0x63, 0x78, 0x43, 0x7A, 0x41, 0x4A, 0x42, 0x67, 0x4E, 0x56, 0x0A, 0x42, 0x41, 0x59,
0x54, 0x41, 0x6C, 0x4D, 0x78, 0x4D, 0x51, 0x38, 0x77, 0x44, 0x51, 0x59, 0x44, 0x56, 0x51, 0x51, 0x4B, 0x44, 0x41,
0x5A, 0x46, 0x55, 0x31, 0x41, 0x67, 0x55, 0x7A, 0x45, 0x78, 0x46, 0x7A, 0x41, 0x56, 0x42, 0x67, 0x4E, 0x56, 0x42,
0x41, 0x4D, 0x4D, 0x44, 0x6B, 0x56, 0x54, 0x55, 0x43, 0x42, 0x53, 0x62, 0x32, 0x39, 0x30, 0x49, 0x45, 0x4E, 0x42,
0x49, 0x46, 0x4D, 0x78, 0x0A, 0x4D, 0x42, 0x34, 0x58, 0x44, 0x54, 0x45, 0x35, 0x4D, 0x44, 0x59, 0x79, 0x4D, 0x54,
0x41, 0x34, 0x4D, 0x44, 0x41, 0x79, 0x4D, 0x6C, 0x6F, 0x58, 0x44, 0x54, 0x49, 0x35, 0x4D, 0x44, 0x59, 0x78, 0x4F,
0x44, 0x41, 0x34, 0x4D, 0x44, 0x41, 0x79, 0x4D, 0x6C, 0x6F, 0x77, 0x4E, 0x7A, 0x45, 0x4C, 0x4D, 0x41, 0x6B, 0x47,
0x41, 0x31, 0x55, 0x45, 0x42, 0x68, 0x4D, 0x43, 0x55, 0x7A, 0x45, 0x78, 0x0A, 0x44, 0x7A, 0x41, 0x4E, 0x42, 0x67,
0x4E, 0x56, 0x42, 0x41, 0x6F, 0x4D, 0x42, 0x6B, 0x56, 0x54, 0x55, 0x43, 0x42, 0x54, 0x4D, 0x54, 0x45, 0x58, 0x4D,
0x42, 0x55, 0x47, 0x41, 0x31, 0x55, 0x45, 0x41, 0x77, 0x77, 0x4F, 0x52, 0x56, 0x4E, 0x51, 0x49, 0x46, 0x4A, 0x76,
0x62, 0x33, 0x51, 0x67, 0x51, 0x30, 0x45, 0x67, 0x55, 0x7A, 0x45, 0x77, 0x67, 0x67, 0x45, 0x69, 0x4D, 0x41, 0x30,
0x47, 0x0A, 0x43, 0x53, 0x71, 0x47, 0x53, 0x49, 0x62, 0x33, 0x44, 0x51, 0x45, 0x42, 0x41, 0x51, 0x55, 0x41, 0x41,
0x34, 0x49, 0x42, 0x44, 0x77, 0x41, 0x77, 0x67, 0x67, 0x45, 0x4B, 0x41, 0x6F, 0x49, 0x42, 0x41, 0x51, 0x43, 0x74,
0x2F, 0x63, 0x68, 0x48, 0x4C, 0x4B, 0x37, 0x36, 0x75, 0x5A, 0x77, 0x6E, 0x47, 0x79, 0x77, 0x72, 0x6D, 0x57, 0x44,
0x46, 0x74, 0x38, 0x69, 0x78, 0x6F, 0x48, 0x32, 0x47, 0x0A, 0x4B, 0x4A, 0x69, 0x33, 0x51, 0x7A, 0x45, 0x57, 0x30,
0x4D, 0x54, 0x30, 0x47, 0x55, 0x58, 0x31, 0x2F, 0x36, 0x62, 0x43, 0x52, 0x4B, 0x45, 0x6B, 0x76, 0x44, 0x59, 0x36,
0x4E, 0x65, 0x7A, 0x65, 0x32, 0x36, 0x2B, 0x61, 0x36, 0x73, 0x4A, 0x43, 0x77, 0x62, 0x68, 0x4F, 0x4C, 0x63, 0x43,
0x47, 0x49, 0x78, 0x69, 0x50, 0x69, 0x32, 0x4C, 0x32, 0x51, 0x48, 0x65, 0x43, 0x72, 0x4F, 0x32, 0x6E, 0x0A, 0x50,
0x78, 0x54, 0x66, 0x6C, 0x32, 0x70, 0x47, 0x6D, 0x2B, 0x56, 0x68, 0x65, 0x30, 0x54, 0x7A, 0x54, 0x4A, 0x68, 0x48,
0x70, 0x42, 0x53, 0x72, 0x64, 0x62, 0x6E, 0x6B, 0x32, 0x44, 0x51, 0x42, 0x6A, 0x67, 0x36, 0x43, 0x7A, 0x4B, 0x2B,
0x33, 0x66, 0x36, 0x5A, 0x42, 0x53, 0x75, 0x4B, 0x41, 0x43, 0x70, 0x4D, 0x66, 0x48, 0x67, 0x35, 0x58, 0x6F, 0x76,
0x67, 0x71, 0x2F, 0x32, 0x55, 0x7A, 0x0A, 0x4E, 0x33, 0x44, 0x7A, 0x31, 0x6E, 0x5A, 0x35, 0x4E, 0x39, 0x30, 0x4F,
0x6C, 0x4E, 0x53, 0x4E, 0x42, 0x6A, 0x46, 0x57, 0x34, 0x69, 0x39, 0x76, 0x49, 0x6B, 0x35, 0x4C, 0x74, 0x53, 0x68,
0x36, 0x32, 0x63, 0x45, 0x46, 0x74, 0x64, 0x47, 0x6A, 0x77, 0x47, 0x6C, 0x58, 0x74, 0x66, 0x6D, 0x34, 0x6B, 0x33,
0x30, 0x5A, 0x78, 0x66, 0x5A, 0x46, 0x38, 0x50, 0x39, 0x7A, 0x39, 0x46, 0x58, 0x49, 0x0A, 0x6D, 0x39, 0x74, 0x36,
0x4C, 0x38, 0x2B, 0x42, 0x30, 0x55, 0x71, 0x45, 0x32, 0x42, 0x79, 0x73, 0x67, 0x2F, 0x70, 0x48, 0x61, 0x64, 0x6D,
0x77, 0x2F, 0x44, 0x30, 0x49, 0x4F, 0x71, 0x6E, 0x79, 0x6A, 0x69, 0x2F, 0x67, 0x7A, 0x4A, 0x35, 0x36, 0x64, 0x4C,
0x51, 0x45, 0x53, 0x2F, 0x4F, 0x66, 0x31, 0x52, 0x30, 0x4C, 0x51, 0x39, 0x45, 0x47, 0x37, 0x5A, 0x5A, 0x4C, 0x47,
0x33, 0x65, 0x4D, 0x0A, 0x31, 0x49, 0x73, 0x53, 0x77, 0x77, 0x2B, 0x30, 0x2F, 0x49, 0x61, 0x72, 0x6D, 0x31, 0x4C,
0x71, 0x41, 0x46, 0x66, 0x54, 0x45, 0x33, 0x4E, 0x62, 0x59, 0x6B, 0x53, 0x61, 0x6A, 0x41, 0x45, 0x58, 0x49, 0x46,
0x45, 0x73, 0x62, 0x48, 0x70, 0x49, 0x77, 0x34, 0x41, 0x33, 0x36, 0x79, 0x36, 0x41, 0x38, 0x30, 0x6F, 0x72, 0x49,
0x71, 0x38, 0x62, 0x41, 0x67, 0x4D, 0x42, 0x41, 0x41, 0x47, 0x6A, 0x0A, 0x50, 0x44, 0x41, 0x36, 0x4D, 0x41, 0x77,
0x47, 0x41, 0x31, 0x55, 0x64, 0x45, 0x77, 0x51, 0x46, 0x4D, 0x41, 0x4D, 0x42, 0x41, 0x66, 0x38, 0x77, 0x43, 0x77,
0x59, 0x44, 0x56, 0x52, 0x30, 0x50, 0x42, 0x41, 0x51, 0x44, 0x41, 0x67, 0x47, 0x6D, 0x4D, 0x42, 0x30, 0x47, 0x41,
0x31, 0x55, 0x64, 0x44, 0x67, 0x51, 0x57, 0x42, 0x42, 0x51, 0x45, 0x31, 0x55, 0x63, 0x75, 0x6B, 0x65, 0x33, 0x5A,
0x0A, 0x50, 0x41, 0x69, 0x71, 0x4C, 0x6C, 0x4A, 0x46, 0x79, 0x42, 0x57, 0x52, 0x33, 0x6E, 0x56, 0x30, 0x75, 0x6A,
0x41, 0x4E, 0x42, 0x67, 0x6B, 0x71, 0x68, 0x6B, 0x69, 0x47, 0x39, 0x77, 0x30, 0x42, 0x41, 0x51, 0x55, 0x46, 0x41,
0x41, 0x4F, 0x43, 0x41, 0x51, 0x45, 0x41, 0x4D, 0x67, 0x48, 0x30, 0x4F, 0x79, 0x49, 0x68, 0x32, 0x6B, 0x67, 0x77,
0x34, 0x73, 0x37, 0x47, 0x76, 0x31, 0x55, 0x6F, 0x0A, 0x76, 0x44, 0x4B, 0x68, 0x43, 0x43, 0x4F, 0x30, 0x47, 0x71,
0x52, 0x59, 0x42, 0x41, 0x7A, 0x45, 0x6B, 0x58, 0x62, 0x48, 0x53, 0x4A, 0x64, 0x6C, 0x31, 0x70, 0x59, 0x46, 0x79,
0x70, 0x32, 0x79, 0x4E, 0x43, 0x6E, 0x50, 0x57, 0x7A, 0x74, 0x46, 0x36, 0x61, 0x44, 0x41, 0x6D, 0x4D, 0x39, 0x45,
0x7A, 0x57, 0x4E, 0x4F, 0x4A, 0x51, 0x6C, 0x69, 0x67, 0x34, 0x78, 0x77, 0x42, 0x31, 0x53, 0x5A, 0x0A, 0x54, 0x67,
0x6B, 0x33, 0x6F, 0x76, 0x36, 0x74, 0x6B, 0x52, 0x69, 0x63, 0x66, 0x62, 0x77, 0x68, 0x76, 0x49, 0x66, 0x41, 0x76,
0x76, 0x62, 0x2F, 0x58, 0x57, 0x66, 0x56, 0x6F, 0x31, 0x58, 0x73, 0x4C, 0x32, 0x30, 0x42, 0x70, 0x34, 0x65, 0x75,
0x45, 0x2F, 0x74, 0x49, 0x39, 0x4A, 0x6D, 0x50, 0x47, 0x4F, 0x55, 0x7A, 0x75, 0x69, 0x51, 0x57, 0x61, 0x78, 0x56,
0x72, 0x6C, 0x6B, 0x75, 0x63, 0x0A, 0x71, 0x41, 0x67, 0x34, 0x55, 0x33, 0x67, 0x63, 0x48, 0x59, 0x36, 0x6E, 0x42,
0x6B, 0x61, 0x6E, 0x70, 0x62, 0x59, 0x39, 0x69, 0x64, 0x50, 0x46, 0x34, 0x6C, 0x44, 0x4C, 0x59, 0x5A, 0x4E, 0x6B,
0x78, 0x65, 0x33, 0x2B, 0x30, 0x6D, 0x70, 0x35, 0x30, 0x4E, 0x78, 0x48, 0x6D, 0x69, 0x75, 0x4D, 0x2F, 0x53, 0x68,
0x6F, 0x52, 0x38, 0x78, 0x73, 0x30, 0x65, 0x65, 0x34, 0x66, 0x79, 0x64, 0x56, 0x0A, 0x77, 0x49, 0x35, 0x32, 0x75,
0x75, 0x69, 0x45, 0x47, 0x74, 0x6A, 0x63, 0x69, 0x76, 0x48, 0x50, 0x72, 0x30, 0x74, 0x38, 0x4A, 0x38, 0x4E, 0x2B,
0x64, 0x58, 0x4A, 0x50, 0x4B, 0x71, 0x64, 0x64, 0x73, 0x7A, 0x73, 0x72, 0x65, 0x6C, 0x77, 0x75, 0x43, 0x44, 0x73,
0x59, 0x4D, 0x68, 0x70, 0x4A, 0x4C, 0x52, 0x32, 0x6F, 0x62, 0x54, 0x4D, 0x78, 0x4A, 0x78, 0x31, 0x61, 0x50, 0x35,
0x5A, 0x78, 0x0A, 0x6A, 0x77, 0x35, 0x42, 0x54, 0x68, 0x31, 0x54, 0x72, 0x64, 0x47, 0x55, 0x44, 0x65, 0x32, 0x4A,
0x75, 0x6D, 0x5A, 0x37, 0x59, 0x44, 0x55, 0x70, 0x6B, 0x51, 0x48, 0x6E, 0x66, 0x64, 0x52, 0x37, 0x58, 0x54, 0x46,
0x36, 0x58, 0x75, 0x62, 0x62, 0x65, 0x4A, 0x42, 0x6A, 0x48, 0x77, 0x57, 0x72, 0x31, 0x41, 0x37, 0x41, 0x7A, 0x46,
0x77, 0x6D, 0x62, 0x5A, 0x44, 0x4F, 0x32, 0x36, 0x36, 0x73, 0x0A, 0x52, 0x77, 0x3D, 0x3D, 0x0A, 0x2D, 0x2D, 0x2D,
0x2D, 0x2D, 0x45, 0x4E, 0x44, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2D, 0x2D,
0x2D, 0x2D, 0x2D, 0x0A
================================================
FILE: certificates/client_cert_00.crt
================================================
-----BEGIN CERTIFICATE-----
MIIDLTCCAhWgAwIBAgIJAN6LrsW0Qt2FMA0GCSqGSIb3DQEBCwUAMDcxCzAJBgNV
BAYTAkMxMQ8wDQYDVQQKDAZFU1AgQzExFzAVBgNVBAMMDkVTUCBSb290IENBIEMx
MB4XDTE5MDYyMTA4MDAyM1oXDTI5MDYxODA4MDAyM1owNzELMAkGA1UEBhMCQzIx
DzANBgNVBAoMBkVTUCBDMjEXMBUGA1UEAwwORVNQIFJvb3QgQ0EgQzIwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC02DXgCw0gSDShaHLDlanRppKjIoJ0
JW/+gDkg8j1PCNm5WxkAx3BItBN6hnJwwlQ4DMWCZXe+EDDYz8cKLC5g2TetrpxJ
aSQ4JyPqxU5uiym26C+nTL9/d40Nom//3+fDjA0+7bdUkffcKdhZV7MsxKF2dBb9
eKFJeIjc8q0Q0LqKr3xnKOeGN2Xt80oJTv8XIEfko/mfkINr83AhH/WPkSg2kJS/
C2Xyl6Q22ew01vZv0Am5ocl3+ju2Dyv/nbQl2Vru1K9TD+b8fDacmqZco4oeQBvf
EhyW7FOhUf2yLgpUdEEGyAMZ9JgoTJih1dnr9CLHkt/XMCn03HOcfpPlAgMBAAGj
PDA6MAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgGmMB0GA1UdDgQWBBR+kprR64Cl
lQZk6w6hJGlsrerCTTANBgkqhkiG9w0BAQsFAAOCAQEAYfcgIyQsA+lvlIMIz+1z
cyhnGuwywEEa0h5pGvWizxfx/EARam5sCXC49i3S788wAqbdg3d8iQp662ybT3O0
WimqJDgr7LFIMq8UIxJHIMdcf7mUmleUJUmbAiFAo1XWb6MoVIUW7aR1+0aKKCIK
OcvYlvkenM3P+lLQe/nEvnvyhsc78V4V56FKz/S+ePsgSIurEaDnFe8LSZ5aHESB
p9muQdGJYMuR1GnZbINix/4j8Q0S5z2MI+6bWqU9cfk1rFuHqd4tZ6BmLCAFC7fH
w6s/PGhr0UHx+NmTmdOvp9Ny2qLO9vvfl5h7wDG/pzcGvbYWHPZSvPeNVQRE13DH
Dg==
-----END CERTIFICATE-----
================================================
FILE: certificates/client_cert_generated_atpki.hex
================================================
0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x42, 0x45, 0x47, 0x49, 0x4E, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41,
0x54, 0x45, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x0A, 0x4D, 0x49, 0x49, 0x44, 0x4C, 0x54, 0x43, 0x43, 0x41, 0x68, 0x57,
0x67, 0x41, 0x77, 0x49, 0x42, 0x41, 0x67, 0x49, 0x4A, 0x41, 0x4E, 0x36, 0x4C, 0x72, 0x73, 0x57, 0x30, 0x51, 0x74,
0x32, 0x46, 0x4D, 0x41, 0x30, 0x47, 0x43, 0x53, 0x71, 0x47, 0x53, 0x49, 0x62, 0x33, 0x44, 0x51, 0x45, 0x42, 0x43,
0x77, 0x55, 0x41, 0x4D, 0x44, 0x63, 0x78, 0x43, 0x7A, 0x41, 0x4A, 0x42, 0x67, 0x4E, 0x56, 0x0A, 0x42, 0x41, 0x59,
0x54, 0x41, 0x6B, 0x4D, 0x78, 0x4D, 0x51, 0x38, 0x77, 0x44, 0x51, 0x59, 0x44, 0x56, 0x51, 0x51, 0x4B, 0x44, 0x41,
0x5A, 0x46, 0x55, 0x31, 0x41, 0x67, 0x51, 0x7A, 0x45, 0x78, 0x46, 0x7A, 0x41, 0x56, 0x42, 0x67, 0x4E, 0x56, 0x42,
0x41, 0x4D, 0x4D, 0x44, 0x6B, 0x56, 0x54, 0x55, 0x43, 0x42, 0x53, 0x62, 0x32, 0x39, 0x30, 0x49, 0x45, 0x4E, 0x42,
0x49, 0x45, 0x4D, 0x78, 0x0A, 0x4D, 0x42, 0x34, 0x58, 0x44, 0x54, 0x45, 0x35, 0x4D, 0x44, 0x59, 0x79, 0x4D, 0x54,
0x41, 0x34, 0x4D, 0x44, 0x41, 0x79, 0x4D, 0x31, 0x6F, 0x58, 0x44, 0x54, 0x49, 0x35, 0x4D, 0x44, 0x59, 0x78, 0x4F,
0x44, 0x41, 0x34, 0x4D, 0x44, 0x41, 0x79, 0x4D, 0x31, 0x6F, 0x77, 0x4E, 0x7A, 0x45, 0x4C, 0x4D, 0x41, 0x6B, 0x47,
0x41, 0x31, 0x55, 0x45, 0x42, 0x68, 0x4D, 0x43, 0x51, 0x7A, 0x49, 0x78, 0x0A, 0x44, 0x7A, 0x41, 0x4E, 0x42, 0x67,
0x4E, 0x56, 0x42, 0x41, 0x6F, 0x4D, 0x42, 0x6B, 0x56, 0x54, 0x55, 0x43, 0x42, 0x44, 0x4D, 0x6A, 0x45, 0x58, 0x4D,
0x42, 0x55, 0x47, 0x41, 0x31, 0x55, 0x45, 0x41, 0x77, 0x77, 0x4F, 0x52, 0x56, 0x4E, 0x51, 0x49, 0x46, 0x4A, 0x76,
0x62, 0x33, 0x51, 0x67, 0x51, 0x30, 0x45, 0x67, 0x51, 0x7A, 0x49, 0x77, 0x67, 0x67, 0x45, 0x69, 0x4D, 0x41, 0x30,
0x47, 0x0A, 0x43, 0x53, 0x71, 0x47, 0x53, 0x49, 0x62, 0x33, 0x44, 0x51, 0x45, 0x42, 0x41, 0x51, 0x55, 0x41, 0x41,
0x34, 0x49, 0x42, 0x44, 0x77, 0x41, 0x77, 0x67, 0x67, 0x45, 0x4B, 0x41, 0x6F, 0x49, 0x42, 0x41, 0x51, 0x43, 0x30,
0x32, 0x44, 0x58, 0x67, 0x43, 0x77, 0x30, 0x67, 0x53, 0x44, 0x53, 0x68, 0x61, 0x48, 0x4C, 0x44, 0x6C, 0x61, 0x6E,
0x52, 0x70, 0x70, 0x4B, 0x6A, 0x49, 0x6F, 0x4A, 0x30, 0x0A, 0x4A, 0x57, 0x2F, 0x2B, 0x67, 0x44, 0x6B, 0x67, 0x38,
0x6A, 0x31, 0x50, 0x43, 0x4E, 0x6D, 0x35, 0x57, 0x78, 0x6B, 0x41, 0x78, 0x33, 0x42, 0x49, 0x74, 0x42, 0x4E, 0x36,
0x68, 0x6E, 0x4A, 0x77, 0x77, 0x6C, 0x51, 0x34, 0x44, 0x4D, 0x57, 0x43, 0x5A, 0x58, 0x65, 0x2B, 0x45, 0x44, 0x44,
0x59, 0x7A, 0x38, 0x63, 0x4B, 0x4C, 0x43, 0x35, 0x67, 0x32, 0x54, 0x65, 0x74, 0x72, 0x70, 0x78, 0x4A, 0x0A, 0x61,
0x53, 0x51, 0x34, 0x4A, 0x79, 0x50, 0x71, 0x78, 0x55, 0x35, 0x75, 0x69, 0x79, 0x6D, 0x32, 0x36, 0x43, 0x2B, 0x6E,
0x54, 0x4C, 0x39, 0x2F, 0x64, 0x34, 0x30, 0x4E, 0x6F, 0x6D, 0x2F, 0x2F, 0x33, 0x2B, 0x66, 0x44, 0x6A, 0x41, 0x30,
0x2B, 0x37, 0x62, 0x64, 0x55, 0x6B, 0x66, 0x66, 0x63, 0x4B, 0x64, 0x68, 0x5A, 0x56, 0x37, 0x4D, 0x73, 0x78, 0x4B,
0x46, 0x32, 0x64, 0x42, 0x62, 0x39, 0x0A, 0x65, 0x4B, 0x46, 0x4A, 0x65, 0x49, 0x6A, 0x63, 0x38, 0x71, 0x30, 0x51,
0x30, 0x4C, 0x71, 0x4B, 0x72, 0x33, 0x78, 0x6E, 0x4B, 0x4F, 0x65, 0x47, 0x4E, 0x32, 0x58, 0x74, 0x38, 0x30, 0x6F,
0x4A, 0x54, 0x76, 0x38, 0x58, 0x49, 0x45, 0x66, 0x6B, 0x6F, 0x2F, 0x6D, 0x66, 0x6B, 0x49, 0x4E, 0x72, 0x38, 0x33,
0x41, 0x68, 0x48, 0x2F, 0x57, 0x50, 0x6B, 0x53, 0x67, 0x32, 0x6B, 0x4A, 0x53, 0x2F, 0x0A, 0x43, 0x32, 0x58, 0x79,
0x6C, 0x36, 0x51, 0x32, 0x32, 0x65, 0x77, 0x30, 0x31, 0x76, 0x5A, 0x76, 0x30, 0x41, 0x6D, 0x35, 0x6F, 0x63, 0x6C,
0x33, 0x2B, 0x6A, 0x75, 0x32, 0x44, 0x79, 0x76, 0x2F, 0x6E, 0x62, 0x51, 0x6C, 0x32, 0x56, 0x72, 0x75, 0x31, 0x4B,
0x39, 0x54, 0x44, 0x2B, 0x62, 0x38, 0x66, 0x44, 0x61, 0x63, 0x6D, 0x71, 0x5A, 0x63, 0x6F, 0x34, 0x6F, 0x65, 0x51,
0x42, 0x76, 0x66, 0x0A, 0x45, 0x68, 0x79, 0x57, 0x37, 0x46, 0x4F, 0x68, 0x55, 0x66, 0x32, 0x79, 0x4C, 0x67, 0x70,
0x55, 0x64, 0x45, 0x45, 0x47, 0x79, 0x41, 0x4D, 0x5A, 0x39, 0x4A, 0x67, 0x6F, 0x54, 0x4A, 0x69, 0x68, 0x31, 0x64,
0x6E, 0x72, 0x39, 0x43, 0x4C, 0x48, 0x6B, 0x74, 0x2F, 0x58, 0x4D, 0x43, 0x6E, 0x30, 0x33, 0x48, 0x4F, 0x63, 0x66,
0x70, 0x50, 0x6C, 0x41, 0x67, 0x4D, 0x42, 0x41, 0x41, 0x47, 0x6A, 0x0A, 0x50, 0x44, 0x41, 0x36, 0x4D, 0x41, 0x77,
0x47, 0x41, 0x31, 0x55, 0x64, 0x45, 0x77, 0x51, 0x46, 0x4D, 0x41, 0x4D, 0x42, 0x41, 0x66, 0x38, 0x77, 0x43, 0x77,
0x59, 0x44, 0x56, 0x52, 0x30, 0x50, 0x42, 0x41, 0x51, 0x44, 0x41, 0x67, 0x47, 0x6D, 0x4D, 0x42, 0x30, 0x47, 0x41,
0x31, 0x55, 0x64, 0x44, 0x67, 0x51, 0x57, 0x42, 0x42, 0x52, 0x2B, 0x6B, 0x70, 0x72, 0x52, 0x36, 0x34, 0x43, 0x6C,
0x0A, 0x6C, 0x51, 0x5A, 0x6B, 0x36, 0x77, 0x36, 0x68, 0x4A, 0x47, 0x6C, 0x73, 0x72, 0x65, 0x72, 0x43, 0x54, 0x54,
0x41, 0x4E, 0x42, 0x67, 0x6B, 0x71, 0x68, 0x6B, 0x69, 0x47, 0x39, 0x77, 0x30, 0x42, 0x41, 0x51, 0x73, 0x46, 0x41,
0x41, 0x4F, 0x43, 0x41, 0x51, 0x45, 0x41, 0x59, 0x66, 0x63, 0x67, 0x49, 0x79, 0x51, 0x73, 0x41, 0x2B, 0x6C, 0x76,
0x6C, 0x49, 0x4D, 0x49, 0x7A, 0x2B, 0x31, 0x7A, 0x0A, 0x63, 0x79, 0x68, 0x6E, 0x47, 0x75, 0x77, 0x79, 0x77, 0x45,
0x45, 0x61, 0x30, 0x68, 0x35, 0x70, 0x47, 0x76, 0x57, 0x69, 0x7A, 0x78, 0x66, 0x78, 0x2F, 0x45, 0x41, 0x52, 0x61,
0x6D, 0x35, 0x73, 0x43, 0x58, 0x43, 0x34, 0x39, 0x69, 0x33, 0x53, 0x37, 0x38, 0x38, 0x77, 0x41, 0x71, 0x62, 0x64,
0x67, 0x33, 0x64, 0x38, 0x69, 0x51, 0x70, 0x36, 0x36, 0x32, 0x79, 0x62, 0x54, 0x33, 0x4F, 0x30, 0x0A, 0x57, 0x69,
0x6D, 0x71, 0x4A, 0x44, 0x67, 0x72, 0x37, 0x4C, 0x46, 0x49, 0x4D, 0x71, 0x38, 0x55, 0x49, 0x78, 0x4A, 0x48, 0x49,
0x4D, 0x64, 0x63, 0x66, 0x37, 0x6D, 0x55, 0x6D, 0x6C, 0x65, 0x55, 0x4A, 0x55, 0x6D, 0x62, 0x41, 0x69, 0x46, 0x41,
0x6F, 0x31, 0x58, 0x57, 0x62, 0x36, 0x4D, 0x6F, 0x56, 0x49, 0x55, 0x57, 0x37, 0x61, 0x52, 0x31, 0x2B, 0x30, 0x61,
0x4B, 0x4B, 0x43, 0x49, 0x4B, 0x0A, 0x4F, 0x63, 0x76, 0x59, 0x6C, 0x76, 0x6B, 0x65, 0x6E, 0x4D, 0x33, 0x50, 0x2B,
0x6C, 0x4C, 0x51, 0x65, 0x2F, 0x6E, 0x45, 0x76, 0x6E, 0x76, 0x79, 0x68, 0x73, 0x63, 0x37, 0x38, 0x56, 0x34, 0x56,
0x35, 0x36, 0x46, 0x4B, 0x7A, 0x2F, 0x53, 0x2B, 0x65, 0x50, 0x73, 0x67, 0x53, 0x49, 0x75, 0x72, 0x45, 0x61, 0x44,
0x6E, 0x46, 0x65, 0x38, 0x4C, 0x53, 0x5A, 0x35, 0x61, 0x48, 0x45, 0x53, 0x42, 0x0A, 0x70, 0x39, 0x6D, 0x75, 0x51,
0x64, 0x47, 0x4A, 0x59, 0x4D, 0x75, 0x52, 0x31, 0x47, 0x6E, 0x5A, 0x62, 0x49, 0x4E, 0x69, 0x78, 0x2F, 0x34, 0x6A,
0x38, 0x51, 0x30, 0x53, 0x35, 0x7A, 0x32, 0x4D, 0x49, 0x2B, 0x36, 0x62, 0x57, 0x71, 0x55, 0x39, 0x63, 0x66, 0x6B,
0x31, 0x72, 0x46, 0x75, 0x48, 0x71, 0x64, 0x34, 0x74, 0x5A, 0x36, 0x42, 0x6D, 0x4C, 0x43, 0x41, 0x46, 0x43, 0x37,
0x66, 0x48, 0x0A, 0x77, 0x36, 0x73, 0x2F, 0x50, 0x47, 0x68, 0x72, 0x30, 0x55, 0x48, 0x78, 0x2B, 0x4E, 0x6D, 0x54,
0x6D, 0x64, 0x4F, 0x76, 0x70, 0x39, 0x4E, 0x79, 0x32, 0x71, 0x4C, 0x4F, 0x39, 0x76, 0x76, 0x66, 0x6C, 0x35, 0x68,
0x37, 0x77, 0x44, 0x47, 0x2F, 0x70, 0x7A, 0x63, 0x47, 0x76, 0x62, 0x59, 0x57, 0x48, 0x50, 0x5A, 0x53, 0x76, 0x50,
0x65, 0x4E, 0x56, 0x51, 0x52, 0x45, 0x31, 0x33, 0x44, 0x48, 0x0A, 0x44, 0x67, 0x3D, 0x3D, 0x0A, 0x2D, 0x2D, 0x2D,
0x2D, 0x2D, 0x45, 0x4E, 0x44, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2D, 0x2D,
0x2D, 0x2D, 0x2D, 0x0A
================================================
FILE: certificates/client_key_00.key
================================================
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAtNg14AsNIEg0oWhyw5Wp0aaSoyKCdCVv/oA5IPI9TwjZuVsZ
AMdwSLQTeoZycMJUOAzFgmV3vhAw2M/HCiwuYNk3ra6cSWkkOCcj6sVObosptugv
p0y/f3eNDaJv/9/nw4wNPu23VJH33CnYWVezLMShdnQW/XihSXiI3PKtENC6iq98
Zyjnhjdl7fNKCU7/FyBH5KP5n5CDa/NwIR/1j5EoNpCUvwtl8pekNtnsNNb2b9AJ
uaHJd/o7tg8r/520Jdla7tSvUw/m/Hw2nJqmXKOKHkAb3xIcluxToVH9si4KVHRB
BsgDGfSYKEyYodXZ6/Qix5Lf1zAp9NxznH6T5QIDAQABAoIBAHPyyCAclc7j3LK8
SBC0jYv40726q4+STUsMpRRFnB9nWkkoalCAjrJemrqNJyS6w8qoDZ58NhjrQpZQ
KZqRFy9LNhKqiFPdELbcCYBF/vKLUTSPi7YlVAaC/TIHuu2AfpV23ytAuLGFYTiM
r8UgoKWMcMWEyxS62hZELOQUx/el9xjTv3+HWS9804qcrdyqztJRw2M1fton8C3w
GPVZ7uwr2aqyuFDLAS17tanTl1E66iczHef+cTK4TjGLIMcNkNHPerAqJ7Le6o1R
VQaRJX7pVq5uc3jty84PndWhX/Uyo0t3bsI1x+62L6JA37ML4WSDZtBzWyQPJw0l
YJ8U1SUCgYEA7dO84bV51seNO+vqejCGpk69LQj5wCh06iROcjb3knbODQbRQKOM
6g21e++Z4WEfoQWaLZVdPn71cXR+EbOvfacG5tGpDus0ZhxH4IM3HmYb5vfcJ0mU
byiPfZQSVxjCsdV2vWsbZbHKl5p0UaAyiyT2pMkl4ngySL1OE2dlm2sCgYEAwqnO
oE22l2O/HCBpAmG/7IyOLjhbTuUHlshe8O3KH18/WFbp4Nvf2qv+FZoCRp0W7B+4
2P9Ncusq3M10TsUh3A/5QOineCPsKe22UTzs2WOAP+YT0MORFWmQttnEETn2+3zS
sdu6M0K7K/XYtEHcgFM3TT4iP+keYemsYGlpMe8CgYAU0pcVA/iY73vUJUGwVRNU
+Evj54dGZcRmw6sCoQFoF3LO/SvRBwDNdUnQghfs/b3xMTZgi1VQpXkD5/kpv5u7
2qXmC7FLlxhNYGiCpbprtPD4dfcWkYCngtudWRuJ+KcDPvdYeko5yyk7wNAyXV5P
hHr7zoi8nV15tOljFYh15QKBgQC/sKegg+aCPd87u06s4cU1E1QPf7+qeS539OhJ
KGAZdJnUTAITQ3G0zBlw/C+xiY/BBZvpU77Yo2uZ81fNGaK2KaSxnmkLjZRJ1aPr
a6twhuMMCW0J7ws3orS22sqQjBwCmnCAZHd/cv8N0xKKrzCLzWZv0fe4J7+be5gb
eLH2UQKBgA6DmumbC+aqdSFaYphFFiCEXzrr6o6Iy1d694Ll+Umsx8JnI3TaRuAy
cDLbLZ41vKeRqkm0ylLEBwsVa7/ycL29eG5vzI4mSg8XABDZaCbOfpyrJzruGTKg
G4NFJpOVnlhhl5qcKsWhkBwvTGao4+j7FFI1SmbvwxtzmhpvDp/e
-----END RSA PRIVATE KEY-----
================================================
FILE: certificates/client_key_generated_atpki.HEX
================================================
0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x42, 0x45, 0x47, 0x49, 0x4E, 0x20, 0x52, 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41,
0x54, 0x45, 0x20, 0x4B, 0x45, 0x59, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x0A, 0x4D, 0x49, 0x49, 0x45, 0x6F, 0x77, 0x49,
0x42, 0x41, 0x41, 0x4B, 0x43, 0x41, 0x51, 0x45, 0x41, 0x74, 0x4E, 0x67, 0x31, 0x34, 0x41, 0x73, 0x4E, 0x49, 0x45,
0x67, 0x30, 0x6F, 0x57, 0x68, 0x79, 0x77, 0x35, 0x57, 0x70, 0x30, 0x61, 0x61, 0x53, 0x6F, 0x79, 0x4B, 0x43, 0x64,
0x43, 0x56, 0x76, 0x2F, 0x6F, 0x41, 0x35, 0x49, 0x50, 0x49, 0x39, 0x54, 0x77, 0x6A, 0x5A, 0x75, 0x56, 0x73, 0x5A,
0x0A, 0x41, 0x4D, 0x64, 0x77, 0x53, 0x4C, 0x51, 0x54, 0x65, 0x6F, 0x5A, 0x79, 0x63, 0x4D, 0x4A, 0x55, 0x4F, 0x41,
0x7A, 0x46, 0x67, 0x6D, 0x56, 0x33, 0x76, 0x68, 0x41, 0x77, 0x32, 0x4D, 0x2F, 0x48, 0x43, 0x69, 0x77, 0x75, 0x59,
0x4E, 0x6B, 0x33, 0x72, 0x61, 0x36, 0x63, 0x53, 0x57, 0x6B, 0x6B, 0x4F, 0x43, 0x63, 0x6A, 0x36, 0x73, 0x56, 0x4F,
0x62, 0x6F, 0x73, 0x70, 0x74, 0x75, 0x67, 0x76, 0x0A, 0x70, 0x30, 0x79, 0x2F, 0x66, 0x33, 0x65, 0x4E, 0x44, 0x61,
0x4A, 0x76, 0x2F, 0x39, 0x2F, 0x6E, 0x77, 0x34, 0x77, 0x4E, 0x50, 0x75, 0x32, 0x33, 0x56, 0x4A, 0x48, 0x33, 0x33,
0x43, 0x6E, 0x59, 0x57, 0x56, 0x65, 0x7A, 0x4C, 0x4D, 0x53, 0x68, 0x64, 0x6E, 0x51, 0x57, 0x2F, 0x58, 0x69, 0x68,
0x53, 0x58, 0x69, 0x49, 0x33, 0x50, 0x4B, 0x74, 0x45, 0x4E, 0x43, 0x36, 0x69, 0x71, 0x39, 0x38, 0x0A, 0x5A, 0x79,
0x6A, 0x6E, 0x68, 0x6A, 0x64, 0x6C, 0x37, 0x66, 0x4E, 0x4B, 0x43, 0x55, 0x37, 0x2F, 0x46, 0x79, 0x42, 0x48, 0x35,
0x4B, 0x50, 0x35, 0x6E, 0x35, 0x43, 0x44, 0x61, 0x2F, 0x4E, 0x77, 0x49, 0x52, 0x2F, 0x31, 0x6A, 0x35, 0x45, 0x6F,
0x4E, 0x70, 0x43, 0x55, 0x76, 0x77, 0x74, 0x6C, 0x38, 0x70, 0x65, 0x6B, 0x4E, 0x74, 0x6E, 0x73, 0x4E, 0x4E, 0x62,
0x32, 0x62, 0x39, 0x41, 0x4A, 0x0A, 0x75, 0x61, 0x48, 0x4A, 0x64, 0x2F, 0x6F, 0x37, 0x74, 0x67, 0x38, 0x72, 0x2F,
0x35, 0x32, 0x30, 0x4A, 0x64, 0x6C, 0x61, 0x37, 0x74, 0x53, 0x76, 0x55, 0x77, 0x2F, 0x6D, 0x2F, 0x48, 0x77, 0x32,
0x6E, 0x4A, 0x71, 0x6D, 0x58, 0x4B, 0x4F, 0x4B, 0x48, 0x6B, 0x41, 0x62, 0x33, 0x78, 0x49, 0x63, 0x6C, 0x75, 0x78,
0x54, 0x6F, 0x56, 0x48, 0x39, 0x73, 0x69, 0x34, 0x4B, 0x56, 0x48, 0x52, 0x42, 0x0A, 0x42, 0x73, 0x67, 0x44, 0x47,
0x66, 0x53, 0x59, 0x4B, 0x45, 0x79, 0x59, 0x6F, 0x64, 0x58, 0x5A, 0x36, 0x2F, 0x51, 0x69, 0x78, 0x35, 0x4C, 0x66,
0x31, 0x7A, 0x41, 0x70, 0x39, 0x4E, 0x78, 0x7A, 0x6E, 0x48, 0x36, 0x54, 0x35, 0x51, 0x49, 0x44, 0x41, 0x51, 0x41,
0x42, 0x41, 0x6F, 0x49, 0x42, 0x41, 0x48, 0x50, 0x79, 0x79, 0x43, 0x41, 0x63, 0x6C, 0x63, 0x37, 0x6A, 0x33, 0x4C,
0x4B, 0x38, 0x0A, 0x53, 0x42, 0x43, 0x30, 0x6A, 0x59, 0x76, 0x34, 0x30, 0x37, 0x32, 0x36, 0x71, 0x34, 0x2B, 0x53,
0x54, 0x55, 0x73, 0x4D, 0x70, 0x52, 0x52, 0x46, 0x6E, 0x42, 0x39, 0x6E, 0x57, 0x6B, 0x6B, 0x6F, 0x61, 0x6C, 0x43,
0x41, 0x6A, 0x72, 0x4A, 0x65, 0x6D, 0x72, 0x71, 0x4E, 0x4A, 0x79, 0x53, 0x36, 0x77, 0x38, 0x71, 0x6F, 0x44, 0x5A,
0x35, 0x38, 0x4E, 0x68, 0x6A, 0x72, 0x51, 0x70, 0x5A, 0x51, 0x0A, 0x4B, 0x5A, 0x71, 0x52, 0x46, 0x79, 0x39, 0x4C,
0x4E, 0x68, 0x4B, 0x71, 0x69, 0x46, 0x50, 0x64, 0x45, 0x4C, 0x62, 0x63, 0x43, 0x59, 0x42, 0x46, 0x2F, 0x76, 0x4B,
0x4C, 0x55, 0x54, 0x53, 0x50, 0x69, 0x37, 0x59, 0x6C, 0x56, 0x41, 0x61, 0x43, 0x2F, 0x54, 0x49, 0x48, 0x75, 0x75,
0x32, 0x41, 0x66, 0x70, 0x56, 0x32, 0x33, 0x79, 0x74, 0x41, 0x75, 0x4C, 0x47, 0x46, 0x59, 0x54, 0x69, 0x4D, 0x0A,
0x72, 0x38, 0x55, 0x67, 0x6F, 0x4B, 0x57, 0x4D, 0x63, 0x4D, 0x57, 0x45, 0x79, 0x78, 0x53, 0x36, 0x32, 0x68, 0x5A,
0x45, 0x4C, 0x4F, 0x51, 0x55, 0x78, 0x2F, 0x65, 0x6C, 0x39, 0x78, 0x6A, 0x54, 0x76, 0x33, 0x2B, 0x48, 0x57, 0x53,
0x39, 0x38, 0x30, 0x34, 0x71, 0x63, 0x72, 0x64, 0x79, 0x71, 0x7A, 0x74, 0x4A, 0x52, 0x77, 0x32, 0x4D, 0x31, 0x66,
0x74, 0x6F, 0x6E, 0x38, 0x43, 0x33, 0x77, 0x0A, 0x47, 0x50, 0x56, 0x5A, 0x37, 0x75, 0x77, 0x72, 0x32, 0x61, 0x71,
0x79, 0x75, 0x46, 0x44, 0x4C, 0x41, 0x53, 0x31, 0x37, 0x74, 0x61, 0x6E, 0x54, 0x6C, 0x31, 0x45, 0x36, 0x36, 0x69,
0x63, 0x7A, 0x48, 0x65, 0x66, 0x2B, 0x63, 0x54, 0x4B, 0x34, 0x54, 0x6A, 0x47, 0x4C, 0x49, 0x4D, 0x63, 0x4E, 0x6B,
0x4E, 0x48, 0x50, 0x65, 0x72, 0x41, 0x71, 0x4A, 0x37, 0x4C, 0x65, 0x36, 0x6F, 0x31, 0x52, 0x0A, 0x56, 0x51, 0x61,
0x52, 0x4A, 0x58, 0x37, 0x70, 0x56, 0x71, 0x35, 0x75, 0x63, 0x33, 0x6A, 0x74, 0x79, 0x38, 0x34, 0x50, 0x6E, 0x64,
0x57, 0x68, 0x58, 0x2F, 0x55, 0x79, 0x6F, 0x30, 0x74, 0x33, 0x62, 0x73, 0x49, 0x31, 0x78, 0x2B, 0x36, 0x32, 0x4C,
0x36, 0x4A, 0x41, 0x33, 0x37, 0x4D, 0x4C, 0x34, 0x57, 0x53, 0x44, 0x5A, 0x74, 0x42, 0x7A, 0x57, 0x79, 0x51, 0x50,
0x4A, 0x77, 0x30, 0x6C, 0x0A, 0x59, 0x4A, 0x38, 0x55, 0x31, 0x53, 0x55, 0x43, 0x67, 0x59, 0x45, 0x41, 0x37, 0x64,
0x4F, 0x38, 0x34, 0x62, 0x56, 0x35, 0x31, 0x73, 0x65, 0x4E, 0x4F, 0x2B, 0x76, 0x71, 0x65, 0x6A, 0x43, 0x47, 0x70,
0x6B, 0x36, 0x39, 0x4C, 0x51, 0x6A, 0x35, 0x77, 0x43, 0x68, 0x30, 0x36, 0x69, 0x52, 0x4F, 0x63, 0x6A, 0x62, 0x33,
0x6B, 0x6E, 0x62, 0x4F, 0x44, 0x51, 0x62, 0x52, 0x51, 0x4B, 0x4F, 0x4D, 0x0A, 0x36, 0x67, 0x32, 0x31, 0x65, 0x2B,
0x2B, 0x5A, 0x34, 0x57, 0x45, 0x66, 0x6F, 0x51, 0x57, 0x61, 0x4C, 0x5A, 0x56, 0x64, 0x50, 0x6E, 0x37, 0x31, 0x63,
0x58, 0x52, 0x2B, 0x45, 0x62, 0x4F, 0x76, 0x66, 0x61, 0x63, 0x47, 0x35, 0x74, 0x47, 0x70, 0x44, 0x75, 0x73, 0x30,
0x5A, 0x68, 0x78, 0x48, 0x34, 0x49, 0x4D, 0x33, 0x48, 0x6D, 0x59, 0x62, 0x35, 0x76, 0x66, 0x63, 0x4A, 0x30, 0x6D,
0x55, 0x0A, 0x62, 0x79, 0x69, 0x50, 0x66, 0x5A, 0x51, 0x53, 0x56, 0x78, 0x6A, 0x43, 0x73, 0x64, 0x56, 0x32, 0x76,
0x57, 0x73, 0x62, 0x5A, 0x62, 0x48, 0x4B, 0x6C, 0x35, 0x70, 0x30, 0x55, 0x61, 0x41, 0x79, 0x69, 0x79, 0x54, 0x32,
0x70, 0x4D, 0x6B, 0x6C, 0x34, 0x6E, 0x67, 0x79, 0x53, 0x4C, 0x31, 0x4F, 0x45, 0x32, 0x64, 0x6C, 0x6D, 0x32, 0x73,
0x43, 0x67, 0x59, 0x45, 0x41, 0x77, 0x71, 0x6E, 0x4F, 0x0A, 0x6F, 0x45, 0x32, 0x32, 0x6C, 0x32, 0x4F, 0x2F, 0x48,
0x43, 0x42, 0x70, 0x41, 0x6D, 0x47, 0x2F, 0x37, 0x49, 0x79, 0x4F, 0x4C, 0x6A, 0x68, 0x62, 0x54, 0x75, 0x55, 0x48,
0x6C, 0x73, 0x68, 0x65, 0x38, 0x4F, 0x33, 0x4B, 0x48, 0x31, 0x38, 0x2F, 0x57, 0x46, 0x62, 0x70, 0x34, 0x4E, 0x76,
0x66, 0x32, 0x71, 0x76, 0x2B, 0x46, 0x5A, 0x6F, 0x43, 0x52, 0x70, 0x30, 0x57, 0x37, 0x42, 0x2B, 0x34, 0x0A, 0x32,
0x50, 0x39, 0x4E, 0x63, 0x75, 0x73, 0x71, 0x33, 0x4D, 0x31, 0x30, 0x54, 0x73, 0x55, 0x68, 0x33, 0x41, 0x2F, 0x35,
0x51, 0x4F, 0x69, 0x6E, 0x65, 0x43, 0x50, 0x73, 0x4B, 0x65, 0x32, 0x32, 0x55, 0x54, 0x7A, 0x73, 0x32, 0x57, 0x4F,
0x41, 0x50, 0x2B, 0x59, 0x54, 0x30, 0x4D, 0x4F, 0x52, 0x46, 0x57, 0x6D, 0x51, 0x74, 0x74, 0x6E, 0x45, 0x45, 0x54,
0x6E, 0x32, 0x2B, 0x33, 0x7A, 0x53, 0x0A, 0x73, 0x64, 0x75, 0x36, 0x4D, 0x30, 0x4B, 0x37, 0x4B, 0x2F, 0x58, 0x59,
0x74, 0x45, 0x48, 0x63, 0x67, 0x46, 0x4D, 0x33, 0x54, 0x54, 0x34, 0x69, 0x50, 0x2B, 0x6B, 0x65, 0x59, 0x65, 0x6D,
0x73, 0x59, 0x47, 0x6C, 0x70, 0x4D, 0x65, 0x38, 0x43, 0x67, 0x59, 0x41, 0x55, 0x30, 0x70, 0x63, 0x56, 0x41, 0x2F,
0x69, 0x59, 0x37, 0x33, 0x76, 0x55, 0x4A, 0x55, 0x47, 0x77, 0x56, 0x52, 0x4E, 0x55, 0x0A, 0x2B, 0x45, 0x76, 0x6A,
0x35, 0x34, 0x64, 0x47, 0x5A, 0x63, 0x52, 0x6D, 0x77, 0x36, 0x73, 0x43, 0x6F, 0x51, 0x46, 0x6F, 0x46, 0x33, 0x4C,
0x4F, 0x2F, 0x53, 0x76, 0x52, 0x42, 0x77, 0x44, 0x4E, 0x64, 0x55, 0x6E, 0x51, 0x67, 0x68, 0x66, 0x73, 0x2F, 0x62,
0x33, 0x78, 0x4D, 0x54, 0x5A, 0x67, 0x69, 0x31, 0x56, 0x51, 0x70, 0x58, 0x6B, 0x44, 0x35, 0x2F, 0x6B, 0x70, 0x76,
0x35, 0x75, 0x37, 0x0A, 0x32, 0x71, 0x58, 0x6D, 0x43, 0x37, 0x46, 0x4C, 0x6C, 0x78, 0x68, 0x4E, 0x59, 0x47, 0x69,
0x43, 0x70, 0x62, 0x70, 0x72, 0x74, 0x50, 0x44, 0x34, 0x64, 0x66, 0x63, 0x57, 0x6B, 0x59, 0x43, 0x6E, 0x67, 0x74,
0x75, 0x64, 0x57, 0x52, 0x75, 0x4A, 0x2B, 0x4B, 0x63, 0x44, 0x50, 0x76, 0x64, 0x59, 0x65, 0x6B, 0x6F, 0x35, 0x79,
0x79, 0x6B, 0x37, 0x77, 0x4E, 0x41, 0x79, 0x58, 0x56, 0x35, 0x50, 0x0A, 0x68, 0x48, 0x72, 0x37, 0x7A, 0x6F, 0x69,
0x38, 0x6E, 0x56, 0x31, 0x35, 0x74, 0x4F, 0x6C, 0x6A, 0x46, 0x59, 0x68, 0x31, 0x35, 0x51, 0x4B, 0x42, 0x67, 0x51,
0x43, 0x2F, 0x73, 0x4B, 0x65, 0x67, 0x67, 0x2B, 0x61, 0x43, 0x50, 0x64, 0x38, 0x37, 0x75, 0x30, 0x36, 0x73, 0x34,
0x63, 0x55, 0x31, 0x45, 0x31, 0x51, 0x50, 0x66, 0x37, 0x2B, 0x71, 0x65, 0x53, 0x35, 0x33, 0x39, 0x4F, 0x68, 0x4A,
0x0A, 0x4B, 0x47, 0x41, 0x5A, 0x64, 0x4A, 0x6E, 0x55, 0x54, 0x41, 0x49, 0x54, 0x51, 0x33, 0x47, 0x30, 0x7A, 0x42,
0x6C, 0x77, 0x2F, 0x43, 0x2B, 0x78, 0x69, 0x59, 0x2F, 0x42, 0x42, 0x5A, 0x76, 0x70, 0x55, 0x37, 0x37, 0x59, 0x6F,
0x32, 0x75, 0x5A, 0x38, 0x31, 0x66, 0x4E, 0x47, 0x61, 0x4B, 0x32, 0x4B, 0x61, 0x53, 0x78, 0x6E, 0x6D, 0x6B, 0x4C,
0x6A, 0x5A, 0x52, 0x4A, 0x31, 0x61, 0x50, 0x72, 0x0A, 0x61, 0x36, 0x74, 0x77, 0x68, 0x75, 0x4D, 0x4D, 0x43, 0x57,
0x30, 0x4A, 0x37, 0x77, 0x73, 0x33, 0x6F, 0x72, 0x53, 0x32, 0x32, 0x73, 0x71, 0x51, 0x6A, 0x42, 0x77, 0x43, 0x6D,
0x6E, 0x43, 0x41, 0x5A, 0x48, 0x64, 0x2F, 0x63, 0x76, 0x38, 0x4E, 0x30, 0x78, 0x4B, 0x4B, 0x72, 0x7A, 0x43, 0x4C,
0x7A, 0x57, 0x5A, 0x76, 0x30, 0x66, 0x65, 0x34, 0x4A, 0x37, 0x2B, 0x62, 0x65, 0x35, 0x67, 0x62, 0x0A, 0x65, 0x4C,
0x48, 0x32, 0x55, 0x51, 0x4B, 0x42, 0x67, 0x41, 0x36, 0x44, 0x6D, 0x75, 0x6D, 0x62, 0x43, 0x2B, 0x61, 0x71, 0x64,
0x53, 0x46, 0x61, 0x59, 0x70, 0x68, 0x46, 0x46, 0x69, 0x43, 0x45, 0x58, 0x7A, 0x72, 0x72, 0x36, 0x6F, 0x36, 0x49,
0x79, 0x31, 0x64, 0x36, 0x39, 0x34, 0x4C, 0x6C, 0x2B, 0x55, 0x6D, 0x73, 0x78, 0x38, 0x4A, 0x6E, 0x49, 0x33, 0x54,
0x61, 0x52, 0x75, 0x41, 0x79, 0x0A, 0x63, 0x44, 0x4C, 0x62, 0x4C, 0x5A, 0x34, 0x31, 0x76, 0x4B, 0x65, 0x52, 0x71,
0x6B, 0x6D, 0x30, 0x79, 0x6C, 0x4C, 0x45, 0x42, 0x77, 0x73, 0x56, 0x61, 0x37, 0x2F, 0x79, 0x63, 0x4C, 0x32, 0x39,
0x65, 0x47, 0x35, 0x76, 0x7A, 0x49, 0x34, 0x6D, 0x53, 0x67, 0x38, 0x58, 0x41, 0x42, 0x44, 0x5A, 0x61, 0x43, 0x62,
0x4F, 0x66, 0x70, 0x79, 0x72, 0x4A, 0x7A, 0x72, 0x75, 0x47, 0x54, 0x4B, 0x67, 0x0A, 0x47, 0x34, 0x4E, 0x46, 0x4A,
0x70, 0x4F, 0x56, 0x6E, 0x6C, 0x68, 0x68, 0x6C, 0x35, 0x71, 0x63, 0x4B, 0x73, 0x57, 0x68, 0x6B, 0x42, 0x77, 0x76,
0x54, 0x47, 0x61, 0x6F, 0x34, 0x2B, 0x6A, 0x37, 0x46, 0x46, 0x49, 0x31, 0x53, 0x6D, 0x62, 0x76, 0x77, 0x78, 0x74,
0x7A, 0x6D, 0x68, 0x70, 0x76, 0x44, 0x70, 0x2F, 0x65, 0x0A, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x45, 0x4E, 0x44, 0x20,
0x52, 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4B, 0x45, 0x59, 0x2D, 0x2D, 0x2D, 0x2D,
0x2D, 0x0A, 0xFF
================================================
FILE: cmake/i686-w64-mingw32-gcc.cmake
================================================
set(CMAKE_SYSTEM_NAME Windows)
# Some default GCC settings
set(CMAKE_C_COMPILER i686-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
================================================
FILE: cmake/x86_64-w64-mingw32-gcc.cmake
================================================
set(CMAKE_SYSTEM_NAME Windows)
# Some default GCC settings
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
================================================
FILE: dev/lwesp_dev.sln
================================================
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28803.452
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwesp_dev", "lwesp_dev.vcxproj", "{5D881BA7-6232-4F33-B72F-0BB5DFF2A575}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5D881BA7-6232-4F33-B72F-0BB5DFF2A575}.Debug|x64.ActiveCfg = Debug|x64
{5D881BA7-6232-4F33-B72F-0BB5DFF2A575}.Debug|x64.Build.0 = Debug|x64
{5D881BA7-6232-4F33-B72F-0BB5DFF2A575}.Debug|x86.ActiveCfg = Debug|Win32
{5D881BA7-6232-4F33-B72F-0BB5DFF2A575}.Debug|x86.Build.0 = Debug|Win32
{5D881BA7-6232-4F33-B72F-0BB5DFF2A575}.Release|x64.ActiveCfg = Release|x64
{5D881BA7-6232-4F33-B72F-0BB5DFF2A575}.Release|x64.Build.0 = Release|x64
{5D881BA7-6232-4F33-B72F-0BB5DFF2A575}.Release|x86.ActiveCfg = Release|Win32
{5D881BA7-6232-4F33-B72F-0BB5DFF2A575}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7915554A-0FB0-4F8A-9B80-404D9FCDBB34}
EndGlobalSection
EndGlobal
================================================
FILE: dev/lwesp_dev.vcxproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{5D881BA7-6232-4F33-B72F-0BB5DFF2A575}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>lwesp_dev_os</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<IncludePath>.;..\lwesp\src\include\system\port\win32;..\lwesp\src\include;..\snippets\include;..\..\lwmem\lwmem\src\include;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ShowIncludes>false</ShowIncludes>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\lwmem\lwmem\src\lwmem\lwmem.c" />
<ClCompile Include="..\..\lwmem\lwmem\src\system\lwmem_sys_win32.c" />
<ClCompile Include="..\lwesp\src\apps\cayenne\lwesp_cayenne.c" />
<ClCompile Include="..\lwesp\src\apps\cayenne\lwesp_cayenne_evt.c" />
<ClCompile Include="..\lwesp\src\apps\mqtt\lwesp_mqtt_client_api.c" />
<ClCompile Include="..\lwesp\src\cli\cli.c" />
<ClCompile Include="..\lwesp\src\cli\cli_input.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_cli.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_dhcp.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_dns.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_hostname.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_ping.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_utils.c" />
<ClCompile Include="..\lwesp\src\system\lwesp_mem_lwmem.c" />
<ClCompile Include="..\snippets\cayenne.c" />
<ClCompile Include="..\snippets\client.c" />
<ClCompile Include="..\snippets\dns.c" />
<ClCompile Include="..\snippets\http_server.c" />
<ClCompile Include="..\snippets\mqtt_client.c" />
<ClCompile Include="..\snippets\mqtt_client_api.c" />
<ClCompile Include="..\snippets\mqtt_client_api_cayenne.c" />
<ClCompile Include="..\snippets\netconn_client.c" />
<ClCompile Include="..\snippets\netconn_server.c" />
<ClCompile Include="..\snippets\netconn_server_1thread.c" />
<ClCompile Include="..\snippets\sntp.c" />
<ClCompile Include="..\snippets\station_manager.c" />
<ClCompile Include="..\lwesp\src\api\lwesp_netconn.c" />
<ClCompile Include="..\lwesp\src\apps\http_server\lwesp_http_server.c" />
<ClCompile Include="..\lwesp\src\apps\http_server\lwesp_http_server_fs.c" />
<ClCompile Include="..\lwesp\src\apps\http_server\lwesp_http_server_fs_win32.c" />
<ClCompile Include="..\lwesp\src\apps\mqtt\lwesp_mqtt_client.c">
<PreprocessToFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PreprocessToFile>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_ap.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_buff.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_conn.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_debug.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_evt.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_input.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_int.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_mdns.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_mem.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_parser.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_pbuf.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_server.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_sntp.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_sta.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_threads.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_timeout.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_unicode.c" />
<ClCompile Include="..\lwesp\src\lwesp\lwesp_wps.c" />
<ClCompile Include="..\lwesp\src\system\lwesp_ll_win32.c" />
<ClCompile Include="..\lwesp\src\system\lwesp_sys_win32.c" />
<ClCompile Include="..\snippets\telnet_server.c" />
<ClCompile Include="..\snippets\utils.c" />
<ClCompile Include="main.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
================================================
FILE: dev/lwesp_dev.vcxproj.filters
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Source Files\ESP CORE">
<UniqueIdentifier>{2ccedd44-52f3-42de-a09f-0efbb182a9bb}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\ESP API">
<UniqueIdentifier>{ed3e52b6-f791-4856-bea8-c539749fbd7b}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\ESP APPS MQTT">
<UniqueIdentifier>{f41c49ad-9944-4714-a950-d7747d143061}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\ESP APPS HTTP SERVER">
<UniqueIdentifier>{95f13059-d7bd-41eb-92a5-fc358f95592d}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\ESP LL">
<UniqueIdentifier>{a7a2f464-2a72-438b-95c3-287e652c47f0}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\ESP SNIPPETS">
<UniqueIdentifier>{f53eba69-7eb3-428c-9053-e398ae95bf8e}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\ESP CLI">
<UniqueIdentifier>{3b90bd2c-2305-40af-9d58-f49b6817bc2e}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\LWMEM">
<UniqueIdentifier>{89a7c350-8eb5-4eea-9b01-10fbcd6a0e6c}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\snippets\http_server.c">
<Filter>Source Files\ESP SNIPPETS</Filter>
</ClCompile>
<ClCompile Include="..\snippets\mqtt_client.c">
<Filter>Source Files\ESP SNIPPETS</Filter>
</ClCompile>
<ClCompile Include="..\snippets\mqtt_client_api.c">
<Filter>Source Files\ESP SNIPPETS</Filter>
</ClCompile>
<ClCompile Include="..\snippets\mqtt_client_api_cayenne.c">
<Filter>Source Files\ESP SNIPPETS</Filter>
</ClCompile>
<ClCompile Include="..\snippets\netconn_client.c">
<Filter>Source Files\ESP SNIPPETS</Filter>
</ClCompile>
<ClCompile Include="..\snippets\netconn_server.c">
<Filter>Source Files\ESP SNIPPETS</Filter>
</ClCompile>
<ClCompile Include="..\snippets\netconn_server_1thread.c">
<Filter>Source Files\ESP SNIPPETS</Filter>
</ClCompile>
<ClCompile Include="..\snippets\station_manager.c">
<Filter>Source Files\ESP SNIPPETS</Filter>
</ClCompile>
<ClCompile Include="main.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\lwmem\lwmem\src\lwmem\lwmem.c">
<Filter>Source Files\LWMEM</Filter>
</ClCompile>
<ClCompile Include="..\..\lwmem\lwmem\src\system\lwmem_sys_win32.c">
<Filter>Source Files\LWMEM</Filter>
</ClCompile>
<ClCompile Include="..\snippets\client.c">
<Filter>Source Files\ESP SNIPPETS</Filter>
</ClCompile>
<ClCompile Include="..\snippets\dns.c">
<Filter>Source Files\ESP SNIPPETS</Filter>
</ClCompile>
<ClCompile Include="..\snippets\sntp.c">
<Filter>Source Files\ESP SNIPPETS</Filter>
</ClCompile>
<ClCompile Include="..\snippets\telnet_server.c">
<Filter>Source Files\ESP SNIPPETS</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\system\lwesp_mem_lwmem.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_wps.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_utils.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_unicode.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_timeout.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_threads.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_sta.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_sntp.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_server.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_ping.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_pbuf.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_parser.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\cli\cli_input.c">
<Filter>Source Files\ESP CLI</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\cli\cli.c">
<Filter>Source Files\ESP CLI</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_ap.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_buff.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_cli.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_conn.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_debug.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_dhcp.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_dns.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_evt.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_hostname.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\apps\cayenne\lwesp_cayenne_evt.c">
<Filter>Source Files\ESP APPS MQTT</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\apps\cayenne\lwesp_cayenne.c">
<Filter>Source Files\ESP APPS MQTT</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\apps\mqtt\lwesp_mqtt_client.c">
<Filter>Source Files\ESP APPS MQTT</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\apps\mqtt\lwesp_mqtt_client_api.c">
<Filter>Source Files\ESP APPS MQTT</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\apps\http_server\lwesp_http_server_fs_win32.c">
<Filter>Source Files\ESP APPS HTTP SERVER</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\apps\http_server\lwesp_http_server.c">
<Filter>Source Files\ESP APPS HTTP SERVER</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\apps\http_server\lwesp_http_server_fs.c">
<Filter>Source Files\ESP APPS HTTP SERVER</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_input.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_int.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_mdns.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\lwesp\lwesp_mem.c">
<Filter>Source Files\ESP CORE</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\system\lwesp_ll_win32.c">
<Filter>Source Files\ESP LL</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\api\lwesp_netconn.c">
<Filter>Source Files\ESP API</Filter>
</ClCompile>
<ClCompile Include="..\lwesp\src\system\lwesp_sys_win32.c">
<Filter>Source Files\ESP LL</Filter>
</ClCompile>
<ClCompile Include="..\snippets\cayenne.c">
<Filter>Source Files\ESP SNIPPETS</Filter>
</ClCompile>
<ClCompile Include="..\snippets\utils.c">
<Filter>Source Files\ESP SNIPPETS</Filter>
</ClCompile>
</ItemGroup>
</Project>
================================================
FILE: dev/lwesp_opts.h
================================================
/**
* \file lwesp_opts.h
* \brief ESP application options
*/
/*
* Copyright (c) 2024 Tilen MAJERLE
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
* AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* This file is part of LwESP - Lightweight ESP-AT parser library.
*
* Author: Tilen MAJERLE <tilen@majerle.eu>
* Version: v1.1.0-dev
*/
#ifndef LWESP_HDR_OPTS_H
#define LWESP_HDR_OPTS_H
/* Rename this file to "lwesp_opts.h" for your application */
/*
* Open "include/lwesp/lwesp_opt.h" and
* copy & replace here settings you want to change values
*/
#if !__DOXYGEN__
#define LWESP_CFG_IPV6 1
#define LWESP_CFG_NETCONN 1
#define LWESP_CFG_NETCONN_RECEIVE_QUEUE_LEN 16
#define LWESP_CFG_DBG LWESP_DBG_ON
#define LWESP_CFG_DBG_TYPES_ON LWESP_DBG_TYPE_TRACE | LWESP_DBG_TYPE_STATE
#define LWESP_CFG_DBG_IPD LWESP_DBG_OFF
#define LWESP_CFG_DBG_SERVER LWESP_DBG_OFF
#define LWESP_CFG_DBG_MQTT LWESP_DBG_OFF
#define LWESP_CFG_DBG_MEM LWESP_DBG_OFF
#define LWESP_CFG_DBG_PBUF LWESP_DBG_OFF
#define LWESP_CFG_DBG_CONN LWESP_DBG_OFF
#define LWESP_CFG_DBG_VAR LWESP_DBG_OFF
#define LWESP_CFG_RCV_BUFF_SIZE 0x1000
#define LWESP_CFG_MEM_CUSTOM 1
#define LWESP_CFG_REST_CLIENT 1
#define LWESP_CFG_ESP32 1
#define LWESP_CFG_ESP8266 1
#define LWESP_CFG_ESP32_C2 1
#define LWESP_CFG_ESP32_C3 1
#define LWESP_CFG_ESP32_C6 1
#define LWESP_CFG_CONN_MAX_DATA_LEN 1500
#define LWESP_CFG_INPUT_USE_PROCESS 1
#define LWESP_CFG_AT_ECHO 0
#define LWESP_CFG_USE_API_FUNC_EVT 1
#define LWESP_CFG_MAX_CONNS 5
#define LWESP_CFG_DNS 1
#define LWESP_CFG_SNTP 1
#define LWESP_CFG_SNTP_AUTO_READ_TIME_ON_UPDATE 1
#define LWESP_CFG_HOSTNAME 1
#define LWESP_CFG_WPS 1
#define LWESP_CFG_MDNS 1
#define LWESP_CFG_PING 1
#define LWESP_CFG_FLASH 1
#define LWESP_CFG_MODE_STATION 1
#define LWESP_CFG_RESET_ON_INIT 1
#define LWESP_CFG_RESTORE_ON_INIT 0
#define LWESP_CFG_CONN_MANUAL_TCP_RECEIVE 1
#define LWESP_CFG_ACCESS_POINT_STRUCT_FULL_FIELDS 1
#define LWESP_CFG_LIST_CMD 1
#define LWESP_CFG_MQTT_MAX_REQUESTS 32
#endif /* !__DOXYGEN__ */
#endif /* LWESP_HDR_OPTS_H */
================================================
FILE: dev/lwmem_opts.h
================================================
/**
* \file lwmem_opts.h
* \brief LwMEM application options
*/
/*
* Copyright (c) 2024 Tilen MAJERLE
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
* AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* This file is part of LwMEM - Lightweight dynamic memory manager library.
*
* Author: Tilen MAJERLE <tilen@majerle.eu>
* Version: v1.1.0-dev
*/
#ifndef LWMEM_HDR_OPTS_H
#define LWMEM_HDR_OPTS_H
/* Rename this file to "lwmem_opts.h" for your application */
#include "windows.h"
/*
* Open "include/lwmem/lwmem_opt.h" and
* copy & replace here settings you want to change values
*/
#define LWMEM_CFG_OS 1
#define LWMEM_CFG_OS_MUTEX_HANDLE HANDLE
#endif /* LWMEM_HDR_OPTS_H */
================================================
FILE: dev/main.c
================================================
// lwesp_dev_os.cpp : Defines the entry point for the console application.
//
#include <string.h>
#include "examples_common_lwesp_callback_func.h"
#include "lwesp/apps/lwesp_mqtt_client_api.h"
#include "lwesp/lwesp.h"
#include "windows.h"
#include "http_server.h"
#include "lwesp/lwesp_opt.h"
#include "lwesp/lwesp_timeout.h"
#include "lwmem/lwmem.h"
#include "mqtt_client.h"
#include "mqtt_client_api.h"
#include "netconn_client.h"
#include "netconn_server.h"
#include "netconn_server_1thread.h"
#include "sntp.h"
#include "station_manager.h"
#include "utils.h"
#define safeprintf printf
static void main_thread(void* arg);
static void input_thread(void* arg);
static lwesp_ap_t aps[10];
static size_t aps_count;
static lwespr_t lwesp_evt(lwesp_evt_t* evt);
static lwesp_sta_info_ap_t connected_ap_info;
extern volatile uint8_t lwesp_ll_win32_driver_ignore_data;
static uint8_t parse_str(char** str, char** out);
static uint8_t parse_num_u64(char** str, uint64_t* out);
static uint8_t parse_num(char** str, uint32_t* out);
/**
* \brief LwMEM memory config
*/
uint8_t lwmem_region_1[0x4000];
lwmem_region_t lwmem_regions[] = {
{lwmem_region_1, sizeof(lwmem_region_1)},
{NULL, 0},
};
/**
* \brief Command structure
*/
typedef struct {
uint8_t del; /*!< Delimiter */
const char* cmd; /*!< Command text */
const char* help_params; /*!< Help parameters */
const char* help_text; /*!< Help long text */
} cmd_t;
/**
* \brief List of test commands
*/
static const cmd_t cmd_commands[] = {
{0, "help", "", "Print help for commands"},
{0, "join", "<ssid> [<pwd> [<mac>]]", "Join to access point"},
{0, "reconn_set", "<interval> <repeat>", "Set reconnect config"},
{0, "quit", "", "Quit from access point"},
{1, "IP management", NULL, NULL},
{0, "stagetip", "", "Get station IP address"},
{0, "stasetip", "<ip>", "Set station IP address"},
{0, "apgetip", "", "Get Soft Access point IP address"},
{0, "apsetip", "<ip>", "Set Soft Access point IP address"},
{0, "setdhcp", "<enable>", "Enable or disable DHCP"},
{1, "MAC management", NULL, NULL},
{0, "stagetmac", "", "Get station MAC address"},
{0, "stasetmac", "<mac>", "Set station MAC address"},
{0, "apgetmac", "", "Get Soft Access point MAC address"},
{0, "apsetmac", "<mac>", "Set Soft Access point MAC address"},
{1, "Access point", NULL, NULL},
{0, "apconfig", "<enable> [<ssid> <pass> <enc> <ch>]", "Configure Soft Access point"},
{0, "apliststa", "", "List stations connected to access point"},
{0, "apquitsta", "<mac>", "Disconnect station for Soft access point"},
{1, "Hostname", NULL, NULL},
{0, "hnset", "<hostname>", "Set station hostname"},
{0, "hnget", "", "Get station hostname"},
{1, "Misc", NULL, NULL},
{0, "ping", "<host>", "Ping domain or IP address"},
{1, "Separate threads", NULL, NULL},
{0, "netconn_client", "", "Start netconn client thread"},
{0, "netconn_server", "", "Start netconn server thread"},
{0, "mqtt_client_api", "", "Start mqtt client API thread"},
{0, "ciupdate", "", "Run ciupdate command"},
{0, "dhcpenable", "", "Enable DHCP"},
{0, "dhcpdisable", "", "Disable DHCP"},
{0, "wifidisable", "", "Disable WIFI mode completely"}};
/**
* \brief Program entry point
*/
int
main() {
safeprintf("App start!\r\n");
/* Setup regions for memory as a start */
if (!lwmem_assignmem(lwmem_regions)) {
safeprintf("Could not assign memory for LwMEM!\r\n");
return -1;
}
/* Create main threads */
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)main_thread, NULL, 0, NULL);
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)input_thread, NULL, 0, NULL);
/* Do nothing at this point but do not close the program */
while (1) {
lwesp_delay(1000);
}
}
/**
* \brief Main thread for init purposes
*/
static void
main_thread(void* arg) {
char hn[10];
uint32_t ping_time;
LWESP_UNUSED(hn);
LWESP_UNUSED(arg);
LWESP_UNUSED(ping_time);
/* Init ESP library */
lwesp_init(lwesp_evt, 1);
if (0) {
#if LWESP_CFG_ESP32
} else if (lwesp_device_is_device(LWESP_DEVICE_ESP32)) {
safeprintf("Device is ESP32\r\n");
#endif /* LWESP_CFG_ESP32 */
#if LWESP_CFG_ESP8266
} else if (lwesp_device_is_device(LWESP_DEVICE_ESP8266)) {
safeprintf("Device is ESP8266\r\n");
#endif /* LWESP_CFG_ESP8266 */
#if LWESP_CFG_ESP32_C2
} else if (lwesp_device_is_device(LWESP_DEVICE_ESP32_C2)) {
safeprintf("Device is ESP32-C2\r\n");
#endif /* LWESP_CFG_ESP32_C2 */
#if LWESP_CFG_ESP32_C3
} else if (lwesp_device_is_device(LWESP_DEVICE_ESP32_C3)) {
safeprintf("Device is ESP32-C3\r\n");
#endif /* LWESP_CFG_ESP32_C3 */
#if LWESP_CFG_ESP32_C6
} else if (lwesp_device_is_device(LWESP_DEVICE_ESP32_C6)) {
safeprintf("Device is ESP32-C6\r\n");
#endif /* LWESP_CFG_ESP32_C6 */
} else {
safeprintf("Unknown device...\r\n");
}
#if 0
uint8_t read_data_buffer[1024];
uint32_t read_data_length;
lwesp_mfg_read(LWESP_MFG_NAMESPACE_SERVER_CERT, "server_cert", read_data_buffer, sizeof(read_data_buffer), 0,
&read_data_length, NULL, NULL, 1);
printf("Len: %u\r\n", (unsigned)read_data_length);
lwesp_mfg_read(LWESP_MFG_NAMESPACE_SERVER_CERT, "server_cert", read_data_buffer, 15, 20, &read_data_length, NULL,
NULL, 1);
printf("Len: %u\r\n", (unsigned)read_data_length);
#endif
/* Start thread to toggle device present */
//lwesp_sys_thread_create(NULL, "device_present", (lwesp_sys_thread_fn)lwesp_device_present_toggle, NULL, 0, LWESP_SYS_THREAD_PRIO);
/*
* Try to connect to preferred access point
*
* Follow function implementation for more info
* on how to setup preferred access points for fast connection
*/
lwesp_sta_autojoin(0, NULL, NULL, 1);
/*
* Initialize and start asynchronous connection to preferred acces point
*
* Will immediately return and will not block the application.
* All events are done asynchronously
*/
station_manager_connect_to_access_point_async_init();
/* Different types of snippets to execute */
/* HTTP server application example */
/* SNTP example */
sntp_gettime();
/* Netconn client in separate thread */
//lwesp_sys_thread_create(NULL, "netconn_client", (lwesp_sys_thread_fn)netconn_client_thread, NULL, 0, LWESP_SYS_THREAD_PRIO);
/* Netconn client in separate thread */
//lwesp_sys_thread_create(NULL, "netconn_client_ssl", (lwesp_sys_thread_fn)netconn_client_ssl_thread, NULL, 0, LWESP_SYS_THREAD_PRIO);
/* Netconn server with multiple threads */
//lwesp_sys_thread_create(NULL, "netconn_server", (lwesp_sys_thread_fn)netconn_server_thread, NULL, 0, LWESP_SYS_THREAD_PRIO);
/* Netconn server with single thread */
//lwesp_sys_thread_create(NULL, "netconn_server_single", (lwesp_sys_thread_fn)netconn_server_1thread_thread, NULL, 0, LWESP_SYS_THREAD_PRIO);
/* MQTT client with asynchronous events */
//lwesp_sys_thread_create(NULL, "mqtt_client", (lwesp_sys_thread_fn)mqtt_client_thread, NULL, 0, LWESP_SYS_THREAD_PRIO);
/* MQTT client with API sequential mode, test application */
//lwesp_sys_thread_create(NULL, "mqtt_client_api", (lwesp_sys_thread_fn)lwesp_mqtt_client_api_thread, NULL, 0, LWESP_SYS_THREAD_PRIO);
/* MQTT API client with connectivity to home assistant */
lwesp_sys_thread_create(NULL, "mqtt_client_api_ha", (lwesp_sys_thread_fn)lwesp_mqtt_client_api_ha_thread, NULL, 0,
LWESP_SYS_THREAD_PRIO);
/* While loop with delay to prevent main thread termination in development environment */
while (1) {
lwesp_delay(1000);
}
}
/**
* \brief Console input thread
*/
static void
input_thread(void* arg) {
char buff[128];
char* str;
const cmd_t* cmd;
#define IS_LINE(s) (strncmp(buff, (s), sizeof(s) - 1) == 0)
LWESP_UNUSED(arg);
/* Notify user */
safeprintf("Start by writing commands..\r\n");
/* Very simple input */
while (1) {
safeprintf(" > ");
memset(buff, 0x00, sizeof(buff));
fgets(buff, sizeof(buff), stdin);
/* Analyze input data */
size_t i = 0;
for (i = 0; i < LWESP_ARRAYSIZE(cmd_commands); ++i) {
if (cmd_commands[i].del) {
continue;
}
if (!strncmp(buff, cmd_commands[i].cmd, strlen(cmd_commands[i].cmd))) {
cmd = &cmd_commands[i];
break;
}
}
if (i == LWESP_ARRAYSIZE(cmd_commands)) {
safeprintf("[CMD] Unknown input command\r\n");
continue;
}
safeprintf("cmd name: %s\r\n", cmd->cmd);
str = buff + strlen(cmd->cmd);
/* Process each command */
if (IS_LINE("join")) {
char *ssid, *pass;
parse_str(&str, &ssid);
parse_str(&str, &pass);
lwesp_sta_join(ssid, pass, NULL, NULL, NULL, 1);
} else if (IS_LINE("quit")) {
lwesp_sta_quit(NULL, NULL, 1);
} else if (IS_LINE("reconn_set")) {
uint32_t interval, rep_cnt = 0;
parse_num(&str, &interval);
if (interval > 0) {
parse_num(&str, &rep_cnt);
}
lwesp_sta_reconnect_set_config(interval, rep_cnt, NULL, NULL, 1);
} else if (IS_LINE("setip")) {
lwesp_ip_t dev_ip;
lwesp_ip_set_ip4(&dev_ip, 192, 168, 1, 150);
lwesp_sta_setip(&dev_ip, NULL, NULL, NULL, NULL, 1);
} else if (IS_LINE("getip")) {
lwesp_sta_getip(NULL, NULL, NULL, NULL, NULL, 1);
} else if (IS_LINE("dhcpenable")) {
lwesp_dhcp_set_config(1, 0, 1, NULL, NULL, 1);
} else if (IS_LINE("dhcpdisable")) {
lwesp_dhcp_set_config(1, 0, 1, NULL, NULL, 1);
} else if (IS_LINE("listap")) {
lwesp_sta_list_ap(NULL, aps, LWESP_ARRAYSIZE(aps), &aps_count, NULL, NULL, 1);
safeprintf("Detected %d number of access points\r\n", (int)aps_count);
} else if (IS_LINE("getapinfo")) {
lwesp_sta_info_ap_t ap;
lwesp_sta_get_ap_info(&ap, NULL, NULL, 1);
} else if (IS_LINE("apenable")) {
lwesp_set_wifi_mode(LWESP_MODE_STA_AP, NULL, NULL, 1);
lwesp_ap_set_config("ESP8266_SSID", "its private", 13, LWESP_ECN_WPA2_PSK, 5, 0, NULL, NULL, 1);
} else if (IS_LINE("apdisable")) {
lwesp_set_wifi_mode(LWESP_MODE_STA, NULL, NULL, 1);
} else if (IS_LINE("wifidisable")) {
lwesp_set_wifi_mode(LWESP_MODE_NONE, NULL, NULL, 1);
} else if (IS_LINE("apliststa")) {
lwesp_sta_t stas[10];
size_t stat;
lwesp_ap_list_sta(stas, LWESP_ARRAYSIZE(stas), &stat, NULL, NULL, 1);
safeprintf("Number of stations: %d\r\n", (int)stat);
} else if (IS_LINE("ping")) {
uint32_t pingtime;
char* host;
if (parse_str(&str, &host)) {
if (lwesp_ping(host, &pingtime, NULL, NULL, 1) == lwespOK) {
safeprintf("Ping time: %d\r\n", (int)pingtime);
} else {
safeprintf("Error with ping to host \"%s\"\r\n", host);
}
} else {
safeprintf("Cannot parse host\r\n");
}
} else if (IS_LINE("hnset")) {
char* host;
if (parse_str(&str, &host)) {
lwesp_hostname_set(host, NULL, NULL, 1);
} else {
safeprintf("Cannot parse host\r\n");
}
} else if (IS_LINE("hnget")) {
char hn[20];
lwesp_hostname_get(hn, sizeof(hn), NULL, NULL, 1);
safeprintf("Hostname: %s\r\n", hn);
} else if (IS_LINE("netconn_client")) {
lwesp_sys_sem_t sem;
lwesp_sys_sem_create(&sem, 0);
lwesp_sys_thread_create(NULL, "netconn_client", (lwesp_sys_thread_fn)netconn_client_thread, &sem, 0,
LWESP_SYS_THREAD_PRIO);
lwesp_sys_sem_wait(&sem, 0);
lwesp_sys_sem_delete(&sem);
} else if (IS_LINE("netconn_server")) {
lwesp_sys_thread_create(NULL, "netconn_server", (lwesp_sys_thread_fn)netconn_server_thread, NULL, 0,
LWESP_SYS_THREAD_PRIO);
} else if (IS_LINE("mqttthread")) {
lwesp_sys_thread_create(NULL, "mqtt_client_api", (lwesp_sys_thread_fn)lwesp_mqtt_client_api_thread, NULL, 0,
LWESP_SYS_THREAD_PRIO);
} else if (IS_LINE("ignoreon")) {
safeprintf("Ignoring data...\r\n");
lwesp_ll_win32_driver_ignore_data = 1;
} else if (IS_LINE("ignoreoff")) {
safeprintf("Not ignoring data...\r\n");
lwesp_ll_win32_driver_ignore_data = 0;
} else if (IS_LINE("ciupdate")) {
lwesp_update_sw(NULL, NULL, 1);
} else {
safeprintf("Unknown input!\r\n");
}
}
}
/**
* \brief Global ESP event function callback
* \param[in] evt: Event information
* \return \ref lwespOK on success, member of \ref lwespr_t otherwise
*/
static lwespr_t
lwesp_evt(lwesp_evt_t* evt) {
switch (evt->type) {
case LWESP_EVT_INIT_FINISH: {
/* Device is not present on init */
//lwesp_device_set_present(0, NULL, NULL, 0);
break;
}
case LWESP_EVT_RESET: {
if (lwesp_evt_reset_get_result(evt) == lwespOK) {
safeprintf("Reset sequence successful!\r\n");
} else {
safeprintf("Reset sequence error!\r\n");
}
break;
}
case LWESP_EVT_RESTORE: {
if (lwesp_evt_restore_get_result(evt) == lwespOK) {
safeprintf("Restore sequence successful!\r\n");
} else {
safeprintf("Restore sequence error!\r\n");
}
break;
}
case LWESP_EVT_AT_VERSION_NOT_SUPPORTED: {
lwesp_sw_version_t v_min, v_curr;
lwesp_get_min_at_fw_version(&v_min);
lwesp_get_current_at_fw_version(&v_curr);
safeprintf("Current ESP[8266/32[-C3]] AT version is not supported by the library\r\n");
safeprintf("Minimum required AT version is: %08X\r\n", (unsigned)v_min.version);
safeprintf("Current AT version is: %08X\r\n", (unsigned)v_curr.version);
break;
}
case LWESP_EVT_WIFI_GOT_IP: {
safeprintf("Wifi got an IP address.\r\n");
if (lwesp_sta_has_ipv6_local()) {
safeprintf("Wifi got IPv6 local IP address.\r\n");
}
if (lwesp_sta_has_ipv6_global()) {
safeprintf("Wifi got IPv6 global IP address.\r\n");
}
break;
}
case LWESP_EVT_WIFI_CONNECTED: {
safeprintf("Wifi just connected. Read access point information\r\n");
lwesp_sta_get_ap_info(&connected_ap_info, NULL, NULL, 0);
break;
}
case LWESP_EVT_WIFI_DISCONNECTED: {
safeprintf("Wifi just disconnected\r\n");
break;
}
case LWESP_EVT_STA_INFO_AP: {
safeprintf("SSID: %s, ch: %d, rssi: %d\r\n", lwesp_evt_sta_info_ap_get_ssid(evt),
(int)lwesp_evt_sta_info_ap_get_channel(evt), (int)lwesp_evt_sta_info_ap_get_rssi(evt));
break;
}
case LWESP_EVT_WIFI_IP_ACQUIRED: {
lwesp_ip_t ip;
uint8_t is_dhcp;
safeprintf("WIFI IP ACQUIRED!\r\n");
if (lwesp_sta_copy_ip(&ip, NULL, NULL, &is_dhcp) == lwespOK) {
utils_print_ip("IP: ", &ip, "\r\n");
} else {
safeprintf("Acquired IP is not valid\r\n");
}
break;
}
#if LWESP_CFG_MODE_ACCESS_POINT
case LWESP_EVT_AP_CONNECTED_STA: {
lwesp_mac_t* mac = lwesp_evt_ap_connected_sta_get_mac(evt);
utils_print_mac("New station connected to AP with MAC: ", mac, "\r\n");
break;
}
case LWESP_EVT_AP_DISCONNECTED_STA: {
lwesp_mac_t* mac = lwesp_evt_ap_disconnected_sta_get_mac(evt);
utils_print_mac("New station disconnected from AP with MAC: ", mac, "\r\n");
break;
}
case LWESP_EVT_AP_IP_STA: {
lwesp_mac_t* mac = lwesp_evt_ap_ip_sta_get_mac(evt);
lwesp_ip_t* ip = lwesp_evt_ap_ip_sta_get_ip(evt);
utils_print_ip("Station got IP address (from AP): ", ip, "");
utils_print_mac(" and MAC: ", mac, "\r\n");
break;
}
#endif /* LWESP_CFG_MODE_ACCESS_POINT */
default: break;
}
return lwespOK;
}
/**
* \brief Parse string and move pointer after parse
* \param[in,out] str: Pointer to pointer to input string
* \param[out] out: Output variable to set beg of pointer
* \return `1` on success, `0` otherwise
*/
static uint8_t
parse_str(char** str, char** out) {
char* s = *str;
uint8_t is_quote = 0;
*out = NULL;
for (; s != NULL && *s != '\0' && *s == ' '; ++s) {}
if (s != NULL && *s >= ' ') {
if (*s == '"') {
is_quote = 1;
++s;
} else if (*s == '\0') {
return 0;
}
*out = s; /* Set where we point */
for (; s != NULL && *s >= ' ' && *s != (is_quote ? '"' : ' '); ++s) {}
*s = '\0';
*str = s + 1; /* Set new value for str */
return 1;
} else {
*out = NULL;
return 0;
}
}
/**
* \brief Parse number in dec, oct, hex or bin format
* \param[in,out] str: Pointer to pointer to input string
* \param[out] out: Output variable to write value
* \return `1` on success, `0` otherwise
*/
static uint8_t
parse_num_u64(char** str, uint64_t* out) {
uint64_t r, num = 0;
char* s = *str;
unsigned char c;
*out = 0;
for (; s != NULL && *s != '\0' && *s == ' '; ++s) {}
if (s != NULL && *s >= '0' && *s <= '9') {
/* Check for hex/bin/octal */
if (*s == '0') {
++s;
if (*s == 'x' || *s == 'X') {
r = 16;
++s;
} else if (*s == 'b' || *s == 'B') {
r = 2;
++s;
} else if (*s <= '7') {
r = 8;
} else if (*s <= ' ') {
return 1; /* Single zero */
} else {
return 0; /* Wrong format */
}
} else {
r = 10;
}
num = 0;
for (c = *s; c > ' '; ++s, c = *s) {
if (c > 'a') {
c -= 0x20;
}
c -= '0';
if (c > 17) {
c -= 7;
if (c <= 9) {
return 0;
}
}
if (c >= r) {
return 0;
}
num = num * r + c;
}
*out = num;
*str = s;
return 1;
}
return 0;
}
/**
* \brief Parse number in dec, oct, hex or bin format
* \param[in,out] str: Pointer to pointer to input string
* \param[out] out: Output variable to write value
* \return `1` on success, `0` otherwise
*/
static uint8_t
parse_num(char** str, uint32_t* out) {
uint64_t num;
uint8_t s;
s = parse_num_u64(str, &num);
*out = (uint32_t)num;
return s;
}
================================================
FILE: docs/Makefile
================================================
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
================================================
FILE: docs/api-reference/apps/cayenne_api.rst
================================================
.. _api_app_cayenne_api:
Cayenne MQTT API
================
.. doxygengroup:: LWESP_APP_CAYENNE_API
================================================
FILE: docs/api-reference/apps/http_server.rst
================================================
.. _api_app_http_server:
HTTP Server
===========
.. doxygengroup:: LWESP_APP_HTTP_SERVER
.. doxygengroup:: LWESP_APP_HTTP_SERVER_FS_FAT
================================================
FILE: docs/api-reference/apps/index.rst
================================================
.. _api_apps:
Applications
============
.. toctree::
:maxdepth: 2
:glob:
*
================================================
FILE: docs/api-reference/apps/mqtt_client.rst
================================================
.. _api_app_mqtt_client:
MQTT Client
===========
MQTT client v3.1.1 implementation, based on callback (non-netconn) connection API.
.. literalinclude:: ../../../snippets/mqtt_client.c
:language: c
:linenos:
:caption: MQTT application example code
.. doxygengroup:: LWESP_APP_MQTT_CLIENT
.. doxygengroup:: LWESP_APP_MQTT_CLIENT_EVT
================================================
FILE: docs/api-reference/apps/mqtt_client_api.rst
================================================
.. _api_app_mqtt_client_api:
MQTT Client API
===============
*MQTT Client API* provides sequential API built on top of :ref:`api_app_mqtt_client`.
.. literalinclude:: ../../../snippets/mqtt_client_api.c
:language: c
:linenos:
:caption: MQTT API application example code
.. doxygengroup:: LWESP_APP_MQTT_CLIENT_API
================================================
FILE: docs/api-reference/apps/netconn.rst
================================================
.. _api_app_netconn:
Netconn API
===========
*Netconn API* is addon on top of existing connection module and allows sending and receiving data with sequential API calls, similar to *POSIX socket* API.
It can operate in client or server mode and uses operating system features, such as message queues and semaphore to link non-blocking callback API for connections with sequential API for application thread.
.. note::
Connection API does not directly allow receiving data with sequential and linear code execution.
All is based on connection event system.
Netconn adds this functionality as it is implemented on top of regular connection API.
.. warning::
Netconn API are designed to be called from application threads ONLY.
It is not allowed to call any of *netconn API* functions from within interrupt or callback event functions.
Netconn client
^^^^^^^^^^^^^^
.. figure:: ../../static/images/netconn_client.svg
:align: center
:alt: Netconn API client block diagram
Netconn API client block diagram
Above block diagram shows basic architecture of netconn client application.
There is always one application thread (in green) which calls *netconn API* functions to interact with connection API in synchronous mode.
Every netconn connection uses dedicated structure to handle message queue for data received packet buffers.
Each time new packet is received (red block, *data received event*), reference to it is written to message queue of netconn structure, while application thread reads new entries from the same queue to get packets.
.. literalinclude:: ../../../snippets/netconn_client.c
:language: c
:linenos:
:caption: Netconn client example
Netconn server
^^^^^^^^^^^^^^
.. figure:: ../../static/images/netconn_server_1thread.svg
:align: center
:alt: Netconn API server block diagram
Netconn API server block diagram
When netconn is configured in server mode, it is possible to accept new clients from remote side.
Application creates *netconn server connection*, which can only accept *clients* and cannot send/receive any data.
It configures server on dedicated port (selected by application) and listens on it.
When new client connects, *server callback function* is called with *new active connection event*.
Newly accepted connection is then written to server structure netconn which is later read by application thread.
At the same time, *netconn connection* structure (blue) is created to allow standard send/receive operation on active connection.
.. note::
Each connected client has its own *netconn connection* structure.
When multiple clients connect to server at the same time, multiple entries are written to *connection accept* message queue and are ready to be processed by application thread.
From this point, program flow is the same as in case of *netconn client*.
This is basic example for netconn thread.
It waits for client and processes it in blocking mode.
.. warning::
When multiple clients connect at the same time to netconn server,
they are processed one-by-one, sequentially. This may introduce delay in response for other clients.
Check netconn concurrency option to process multiple clients at the same time
.. literalinclude:: ../../../snippets/netconn_server_1thread.c
:language: c
:linenos:
:caption: Netconn server with single processing thread
Netconn server concurrency
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. figure:: ../../static/images/netconn_server_concurrency.svg
:align: center
:alt: Netconn API server concurrency block diagram
Netconn API server concurrency block diagram
When compared to classic netconn server, concurrent netconn server mode allows multiple clients to be processed at the same time.
This can drastically improve performance and response time on clients side, especially when many clients are connected to server at the same time.
Every time *server application thread* (green block) gets new client to process, it starts a new *processing* thread instead of doing it in accept thread.
* Server thread is only dedicated to accept clients and start threads
* Multiple processing thread can run in parallel to send/receive data from multiple clients
* No delay when multi clients are active at the same time
* Higher memory footprint is necessary as there are multiple threads active
.. literalinclude:: ../../../snippets/netconn_server.c
:language: c
:linenos:
:caption: Netconn server with multiple processing threads
Non-blocking receive
^^^^^^^^^^^^^^^^^^^^
By default, netconn API is written to only work in separate application thread,
dedicated for network connection processing. Because of that, by default every function is fully blocking.
It will wait until result is ready to be used by application.
It is, however, possible to enable timeout feature for receiving data only.
When this feature is enabled, :cpp:func:`lwesp_netconn_receive` will block for maximal timeout set with
:cpp:func:`lwesp_netconn_set_receive_timeout` function.
When enabled, if there is no received data for timeout amount of time, function will return with timeout status and application needs to process it accordingly.
.. tip::
:c:macro:`LWESP_CFG_NETCONN_RECEIVE_TIMEOUT` must be set to ``1`` to use this feature.
.. doxygengroup:: LWESP_NETCONN
================================================
FILE: docs/api-reference/cli/cli_input.rst
================================================
.. _api_cli_input:
CLI Input module
================
.. doxygengroup:: CLI_INPUT
================================================
FILE: docs/api-reference/cli/cli_opt.rst
================================================
.. _api_cli_opt:
CLI Configuration
=================
.. doxygengroup:: CLI_CONFIG
:inner:
================================================
FILE: docs/api-reference/cli/index.rst
================================================
.. _api_cli:
Command line interface
======================
.. toctree::
:maxdepth: 2
:glob:
*
.. doxygengroup:: CLI
================================================
FILE: docs/api-reference/index.rst
================================================
.. _api_reference:
API reference
=============
List of all the modules:
.. toctree::
:maxdepth: 2
lwesp/index
opt
port/index
apps/index
cli/index
================================================
FILE: docs/api-reference/lwesp/ap.rst
================================================
.. _api_lwesp_ap:
Access point
============
.. doxygengroup:: LWESP_AP
================================================
FILE: docs/api-reference/lwesp/ble.rst
================================================
.. _api_lwesp_ble:
Bluetooth Low Energy
====================
.. doxygengroup:: LWESP_BLE
================================================
FILE: docs/api-reference/lwesp/bt.rst
================================================
.. _api_lwesp_bt:
Bluetooth Classic
=================
.. doxygengroup:: LWESP_BT
================================================
FILE: docs/api-reference/lwesp/buff.rst
================================================
.. _api_lwesp_buff:
Ring buffer
===========
.. doxygengroup:: LWESP_BUFF
================================================
FILE: docs/api-reference/lwesp/conn.rst
================================================
.. _api_lwesp_conn:
Connections
===========
Connections are essential feature of WiFi device and middleware.
It is developed with strong focus on its performance and since it may interact with huge amount of data,
it tries to use zero-copy (when available) feature, to decrease processing time.
*ESP AT Firmware* by default supports up to ``5`` connections being active at the same time and supports:
* Up to ``5`` TCP connections active at the same time
* Up to ``5`` UDP connections active at the same time
* Up to ``1`` SSL connection active at a time
.. note::
Client or server connections are available.
Same API function call are used to send/receive data or close connection.
Architecture of the connection API is using callback event functions.
This allows maximal optimization in terms of responsiveness on different kind of events.
Example below shows *bare minimum* implementation to:
* Start a new connection to remote host
* Send *HTTP GET* request to remote host
* Process received data in event and print number of received bytes
.. literalinclude:: ../../../snippets/client.c
:language: c
:linenos:
:caption: Client connection minimum example
Sending data
^^^^^^^^^^^^
Receiving data flow is always the same. Whenever new data packet arrives, corresponding event is called to notify application layer.
When it comes to sending data, application may decide between ``2`` options (*this is valid only for non-UDP connections*):
* Write data to temporary transmit buffer
* Execute *send command* for every API function call
Temporary transmit buffer
*************************
By calling :cpp:func:`lwesp_conn_write` on active connection, temporary buffer is allocated and input data are copied to it.
There is always up to ``1`` internal buffer active. When it is full (or if input data length is longer than maximal size),
data are immediately send out and are not written to buffer.
*ESP AT Firmware* allows (current revision) to transmit up to ``2048`` bytes at a time with single command.
When trying to send more than this, application would need to issue multiple *send commands* on *AT commands level*.
Write option is used mostly when application needs to write many different small chunks of data.
Temporary buffer hence prevents many *send command* instructions as it is faster to send single command with big buffer,
than many of them with smaller chunks of bytes.
.. literalinclude:: ../../examples_src/conn_write.c
:language: c
:linenos:
:caption: Write data to connection output buffer
Transmit packet manually
************************
In some cases it is not possible to use temporary buffers,
mostly because of memory constraints.
Application can directly start *send data* instructions on *AT* level by using :cpp:func:`lwesp_conn_send` or :cpp:func:`lwesp_conn_sendto` functions.
.. doxygengroup:: LWESP_CONN
================================================
FILE: docs/api-reference/lwesp/debug.rst
================================================
.. _api_lwesp_debug:
Debug support
=============
Middleware has extended debugging capabilities.
These consist of different debugging levels and types of debug messages,
allowing to track and catch different types of warnings, severe problems or simply output messages
program flow messages (trace messages).
Module is highly configurable using library configuration methods.
Application must enable some options to decide what type of messages and for which modules it would like to output messages.
With default configuration, ``printf`` is used as output function.
This behavior can be changed with :c:macro:`LWESP_CFG_DBG_OUT` configuration.
For successful debugging, application must:
* Enable global debugging by setting :c:macro:`LWESP_CFG_DBG` to :c:macro:`LWESP_DBG_ON`
* Configure which types of messages to output
* Configure debugging level, from all messages to severe only
* Enable specific modules to debug, by setting its configuration value to :c:macro:`LWESP_DBG_ON`
.. tip::
Check :ref:`api_lwesp_opt` for all modules with debug implementation.
An example code with config and latter usage:
.. literalinclude:: ../../examples_src/debug_opts.h
:language: c
:linenos:
:caption: Debug configuration setup
.. literalinclude:: ../../examples_src/debug.c
:language: c
:linenos:
:caption: Debug usage within middleware
.. doxygengroup:: LWESP_DEBUG
================================================
FILE: docs/api-reference/lwesp/dhcp.rst
================================================
.. _api_lwesp_dhcp:
Dynamic Host Configuration Protocol
===================================
.. doxygengroup:: LWESP_DHCP
================================================
FILE: docs/api-reference/lwesp/dns.rst
================================================
.. _api_lwesp_dns:
Domain Name System
==================
.. doxygengroup:: LWESP_DNS
================================================
FILE: docs/api-reference/lwesp/evt.rst
================================================
.. _api_lwesp_evt:
Event management
================
.. doxygengroup:: LWESP_EVT
================================================
FILE: docs/api-reference/lwesp/flash.rst
================================================
.. _api_flash:
System Flash
============
.. doxygengroup:: LWESP_FLASH
================================================
FILE: docs/api-reference/lwesp/hostname.rst
================================================
.. _api_lwesp_hostname:
Hostname
========
.. doxygengroup:: LWESP_HOSTNAME
================================================
FILE: docs/api-reference/lwesp/index.rst
================================================
.. _api_lwesp:
LwESP
=====
.. toctree::
:maxdepth: 2
:glob:
*
.. doxygengroup:: LWESP
================================================
FILE: docs/api-reference/lwesp/input.rst
================================================
.. _api_lwesp_input:
Input module
============
Input module is used to input received data from *ESP* device to *LwESP* middleware part.
``2`` processing options are possible:
* Indirect processing with :cpp:func:`lwesp_input` (default mode)
* Direct processing with :cpp:func:`lwesp_input_process`
.. tip::
Direct or indirect processing mode is select by setting :c:macro:`LWESP_CFG_INPUT_USE_PROCESS` configuration value.
Indirect processing
^^^^^^^^^^^^^^^^^^^
With indirect processing mode, every received character from *ESP* physical device is written to
intermediate buffer between low-level driver and *processing* thread.
Function :cpp:func:`lwesp_input` is used to write data to buffer, which is later processed
by *processing* thread.
Indirect processing mode allows embedded systems to write received data to buffer from interrupt context (outside threads).
As a drawback, its performance is decreased as it involves copying every receive character to intermediate buffer,
and may also introduce RAM memory footprint increase.
Direct processing
^^^^^^^^^^^^^^^^^
Direct processing is targeting more advanced host controllers, like STM32 or WIN32 implementation use.
It is developed with DMA support in mind, allowing low-level drivers to skip intermediate data buffer
and process input bytes directly.
.. note::
When using this mode, function :cpp:func:`lwesp_input_process` must be used and it may
only be called from thread context. Processing of input bytes is done in low-level
input thread, started by application.
.. tip::
Check :ref:`um_porting_guide` for implementation examples.
.. doxygengroup:: LWESP_INPUT
================================================
FILE: docs/api-reference/lwesp/mdns.rst
================================================
.. _api_lwesp_:
Multicast DNS
=============
.. doxygengroup:: LWESP_MDNS
================================================
FILE: docs/api-reference/lwesp/mem.rst
================================================
.. _api_lwesp_mem:
Memory manager
==============
.. doxygengroup:: LWESP_MEM
================================================
FILE: docs/api-reference/lwesp/pbuf.rst
================================================
.. _api_lwesp_pbuf:
Packet buffer
=============
Packet buffer (or *pbuf*) is buffer manager to handle received data from any connection.
It is optimized to construct big buffer of smaller chunks of fragmented data as received bytes are not always coming as single packet.
Pbuf block diagram
^^^^^^^^^^^^^^^^^^
.. figure:: ../../static/images/pbuf_block_diagram.svg
:align: center
:alt: Block diagram of pbuf chain
Block diagram of pbuf chain
Image above shows structure of *pbuf* chain. Each *pbuf* consists of:
* Pointer to next *pbuf*, or ``NULL`` when it is last in chain
* Length of current packet length
* Length of current packet and all next in chain
* If *pbuf* is last in chain, total length is the same as current packet length
* Reference counter, indicating how many pointers point to current *pbuf*
* Actual buffer data
Top image shows ``3`` pbufs connected to single chain.
There are ``2`` custom pointer variables to point at different *pbuf* structures. Second *pbuf* has reference counter set to ``2``, as ``2`` variables point to it:
* *next* of *pbuf 1* is the first one
* *User variable 2* is the second one
.. table:: Block structure
+--------------+-----------+------------+---------------------+-------------------+
| Block number | Next pbuf | Block size | Total size in chain | Reference counter |
+==============+===========+============+=====================+===================+
| Block 1 | *Block 2* | ``150`` | ``550`` | ``1`` |
+--------------+-----------+------------+---------------------+-------------------+
| Block 2 | *Block 3* | ``130`` | ``400`` | ``2`` |
+--------------+-----------+------------+---------------------+-------------------+
| Block 3 | ``NULL`` | ``270`` | ``270`` | ``1`` |
+--------------+-----------+------------+---------------------+-------------------+
Reference counter
^^^^^^^^^^^^^^^^^
Reference counter holds number of references (or variables) pointing to this block.
It is used to properly handle memory free operation, especially when *pbuf* is used by lib core and application layer.
.. note::
If there would be no reference counter information and application would free memory while another part of library still uses its reference, application would invoke *undefined behavior* and system could crash instantly.
When application tries to free pbuf chain as on first image, it would normally call :cpp:func:`lwesp_pbuf_free` function. That would:
* Decrease reference counter by ``1``
* If reference counter ``== 0``, it removes it from chain list and frees packet buffer memory
* If reference counter ``!= 0`` after decrease, it stops free procedure
* Go to next pbuf in chain and repeat steps
As per first example, result of freeing from *user variable 1* would look similar to image and table below.
First block (blue) had reference counter set to ``1`` prior freeing operation.
It was successfully removed as *user variable 1* was the only one pointing to it,
while second (green) block had reference counter set to ``2``, preventing free operation.
.. figure:: ../../static/images/pbuf_block_diagram_after_free.svg
:align: center
:alt: Block diagram of pbuf chain after free from *user variable 1*
Block diagram of pbuf chain after free from *user variable 1*
.. table:: Block diagram of pbuf chain after free from *user variable 1*
+--------------+-----------+------------+---------------------+-------------------+
| Block number | Next pbuf | Block size | Total size in chain | Reference counter |
+==============+===========+============+=====================+===================+
| Block 2 | *Block 3* | ``130`` | ``400`` | ``1`` |
+--------------+-----------+------------+---------------------+-------------------+
| Block 3 | ``NULL`` | ``270`` | ``270`` | ``1`` |
+--------------+-----------+------------+---------------------+-------------------+
.. note::
*Block 1* has been successfully freed, but since *block 2* had reference counter set to ``2`` before, it was only decreased by ``1`` to a new value ``1`` and free operation stopped instead.
*User variable 2* is still using *pbuf* starting at *block 2* and must manually call :cpp:func:`lwesp_pbuf_free` to free it.
Concatenating vs chaining
^^^^^^^^^^^^^^^^^^^^^^^^^
This section will explain difference between *concat* and *chain* operations.
Both operations link ``2`` pbufs together in a chain of pbufs,
difference is that *chain* operation increases *reference counter* to linked pbuf,
while *concat* keeps *reference counter* at its current status.
.. figure:: ../../static/images/pbuf_cat_vs_chain_1.svg
:align: center
:alt: Different pbufs, each pointed to by its own variable
Different pbufs, each pointed to by its own variable
Concat operation
****************
Concat operation shall be used when ``2`` pbufs are linked together and reference to *second* is no longer used.
.. figure:: ../../static/images/pbuf_cat_vs_chain_2.svg
:align: center
:alt: Structure after pbuf concat
Structure after pbuf concat
After concating *2 pbufs* together, reference counter of second is still set to ``1``, however we can see that ``2`` pointers point to *second pbuf*.
.. note::
After application calls :cpp:func:`lwesp_pbuf_cat`, it must not use pointer which points to *second pbuf*.
This would invoke *undefined behavior* if one pointer tries to free memory while second still points to it.
An example code showing proper usage of concat operation:
.. literalinclude:: ../../examples_src/pbuf_cat.c
:language: c
:linenos:
:caption: Packet buffer concat example
Chain operation
***************
Chain operation shall be used when ``2`` pbufs are linked together and reference to *second* is still required.
.. figure:: ../../static/images/pbuf_cat_vs_chain_3.svg
:align: center
:alt: Structure after pbuf chain
Structure after pbuf chain
After chainin *2 pbufs* together, reference counter of second is increased by ``1``, which allows application to reference second *pbuf* separatelly.
.. note::
After application calls :cpp:func:`lwesp_pbuf_chain`,
it also has to manually free its reference using :cpp:func:`lwesp_pbuf_free` function.
Forgetting to free pbuf invokes memory leak
An example code showing proper usage of chain operation:
.. literalinclude:: ../../examples_src/pbuf_chain.c
:language: c
:linenos:
:caption: Packet buffer chain example
Extract pbuf data
*****************
Each *pbuf* holds some amount of data bytes. When multiple *pbufs* are linked together (either chained or concated), blocks of raw data are not linked to contiguous memory block.
It is necessary to process block by block manually.
An example code showing proper reading of any *pbuf*:
.. literalinclude:: ../../examples_src/pbuf_extract.c
:language: c
:linenos:
:caption: Packet buffer data extraction
.. doxygengroup:: LWESP_PBUF
================================================
FILE: docs/api-reference/lwesp/ping.rst
================================================
.. _api_lwesp_ping:
Ping support
============
.. doxygengroup:: LWESP_PING
================================================
FILE: docs/api-reference/lwesp/server.rst
================================================
.. _api_lwesp_server:
Server
======
.. doxygengroup:: LWESP_SERVER
================================================
FILE: docs/api-reference/lwesp/smart.rst
================================================
.. _api_lwesp_smart:
Smart config
============
.. doxygengroup:: LWESP_SMART
================================================
FILE: docs/api-reference/lwesp/sntp.rst
================================================
.. _api_lwesp_sntp:
Simple Network Time Protocol
============================
ESP has built-in support for *Simple Network Time Protocol (SNTP)*.
It is support through middleware API calls for configuring servers and reading actual date and time.
.. literalinclude:: ../../../snippets/sntp.c
:language: c
:linenos:
:caption: Minimum SNTP example
.. doxygengroup:: LWESP_SNTP
================================================
FILE: docs/api-reference/lwesp/sta.rst
================================================
.. _api_lwesp_sta:
Station API
===========
Station API is used to work with *ESP* acting in station mode.
It allows to join other access point, scan for available access points or simply disconnect from it.
An example below is showing how all examples (coming with this library) scan for access point and then
try to connect to AP from list of preferred one.
.. literalinclude:: ../../../snippets/station_manager.c
:language: c
:linenos:
:caption: Station manager used with all examples
.. doxygengroup:: LWESP_STA
================================================
FILE: docs/api-reference/lwesp/timeout.rst
================================================
.. _api_lwesp_timeout:
Timeout manager
===============
Timeout manager allows application to call specific function at desired time.
It is used in middleware (and can be used by application too) to poll active connections.
.. note::
Callback function is called from *processing* thread.
It is not allowed to call any blocking API function from it.
When application registers timeout, it needs to set timeout, callback function and optional user argument.
When timeout elapses, ESP middleware will call timeout callback.
This feature can be considered as single-shot software timer.
.. doxygengroup:: LWESP_TIMEOUT
================================================
FILE: docs/api-reference/lwesp/types.rst
================================================
.. _api_lwesp_types:
Structures and enumerations
===========================
.. doxygengroup:: LWESP_TYPES
================================================
FILE: docs/api-reference/lwesp/unicode.rst
================================================
.. _api_lwesp_unicode:
Unicode
=======
Unicode decoder block. It can decode sequence of *UTF-8* characters,
between ``1`` and ``4`` bytes long.
.. note::
This is simple implementation and does not support string encoding.
.. doxygengroup:: LWESP_UNICODE
================================================
FILE: docs/api-reference/lwesp/utils.rst
================================================
.. _api_lwesp_utils:
Utilities
=========
Utility functions for various cases.
These function are used across entire middleware and can also be used by application.
.. doxygengroup:: LWESP_UTILS
================================================
FILE: docs/api-reference/lwesp/webserver.rst
================================================
.. _api_lwesp_webserver:
Web Server
==========
Use ESP-AT's built-in web server feature to help WiFi provisioning and/or Firmware Over-the-Air update.
.. note::
Web Server is not enabled in ESP-AT by default. Refer to `ESP-AT User Guide <https://docs.espressif.com/projects/esp-at/en/latest/AT_Command_Set/Web_server_AT_Commands.html>`_ to build a custom image from source.
.. doxygengroup:: LWESP_WEBSERVER
================================================
FILE: docs/api-reference/lwesp/wps.rst
================================================
.. _api_lwesp_wps:
Wi-Fi Protected Setup
=====================
.. doxygengroup:: LWESP_WPS
================================================
FILE: docs/api-reference/opt.rst
================================================
.. _api_lwesp_opt:
Configuration
=============
This is the default configuration of the middleware.
When any of the settings shall be modified, it shall be done in dedicated application config ``lwesp_opts.h`` file.
.. note::
Check :ref:`getting_started` for guidelines on how to create and use configuration file.
.. doxygengroup:: LWESP_OPT
:inner:
================================================
FILE: docs/api-reference/port/index.rst
================================================
.. _api_lwesp_port:
Platform specific
=================
List of all the modules:
.. toctree::
:maxdepth: 2
:glob:
*
================================================
FILE: docs/api-reference/port/ll.rst
================================================
.. _api_lwesp_ll:
Low-Level functions
===================
Low-level module consists of callback-only functions, which are called by middleware
and must be implemented by final application.
.. tip::
Check :ref:`um_porting_guide` for actual implementation
.. doxygengroup:: LWESP_LL
================================================
FILE: docs/api-reference/port/sys.rst
================================================
.. _api_lwesp_sys:
System functions
================
System functions are bridge between operating system system calls and middleware system calls.
Middleware is tightly coupled with operating system features hence it is important to include OS features directly.
It includes support for:
* Thread management, to start/stop threads
* Mutex management for recursive mutexes
* Semaphore management for binary-only semaphores
* Message queues for thread-safe data exchange between threads
* Core system protection for mutual exclusion to access shared resources
.. tip::
Check :ref:`um_porting_guide` for actual implementation guidelines.
.. doxygengroup:: LWESP_SYS
================================================
FILE: docs/authors/index.rst
================================================
.. _authors:
Authors
=======
List of authors and contributors to the library
.. literalinclude:: ../../AUTHORS
================================================
FILE: docs/changelog/index.rst
================================================
.. _changelof:
Changelog
=========
.. literalinclude:: ../../CHANGELOG.md
================================================
FILE: docs/conf.py
================================================
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
from sphinx.builders.html import StandaloneHTMLBuilder
import subprocess, os
# Run doxygen first
# read_the_docs_build = os.environ.get('READTHEDOCS', None) == 'True'
# if read_the_docs_build:
subprocess.call('doxygen doxyfile.doxy', shell=True)
# -- Project information -----------------------------------------------------
project = 'LwESP'
copyright = '2025, Tilen MAJERLE'
author = 'Tilen MAJERLE'
# Try to get branch at which this is running
# and try to determine which version to display in sphinx
# Version is using git tag if on master/main or "latest-develop" if on develop branch
version = ''
git_branch = ''
def cmd_exec_print(t):
print("cmd > ", t, "\n", os.popen(t).read().strip(), "\n")
# Print demo data here
cmd_exec_print('git branch')
cmd_exec_print('git describe')
cmd_exec_print('git describe --tags')
cmd_exec_print('git describe --tags --abbrev=0')
cmd_exec_print('git describe --tags --abbrev=1')
# Get current branch
res = os.popen('git branch').read().strip()
for line in res.split("\n"):
if line[0] == '*':
git_branch = line[1:].strip()
# Decision for display version
git_branch = git_branch.replace('(HEAD detached at ', '').replace(')', '')
if git_branch.find('master') >= 0 or git_branch.find('main') >= 0:
#version = os.popen('git describe --tags --abbrev=0').read().strip()
version = 'latest-stable'
elif git_branch.find('develop-') >= 0 or git_branch.find('develop/') >= 0:
version = 'branch-' + git_branch
elif git_branch == 'develop' or git_branch == 'origin/develop':
version = 'latest-develop'
else:
version = os.popen('git describe --tags --abbrev=0').read().strip()
# For debugging purpose only
print("GIT BRANCH: " + git_branch)
print("PROJ VERSION: " + version)
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.intersphinx',
'sphinx.ext.autosectionlabel',
'sphinx.ext.todo',
'sphinx.ext.coverage',
'sphinx.ext.mathjax',
'sphinx.ext.ifconfig',
'sphinx.ext.viewcode',
'sphinx_sitemap',
'breathe',
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['templates']
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
highlight_language = 'c'
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'
html_theme_options = {
'canonical_url': '',
'analytics_id': '', # Provided by Google in your dashboard
'display_version': True,
'prev_next_buttons_location': 'bottom',
'style_external_links': False,
'logo_only': False,
# Toc options
'collapse_navigation': True,
'sticky_navigation': True,
'navigation_depth': 4,
'includehidden': True,
'titles_only': False
}
html_logo = 'static/images/logo.svg'
github_url = 'https://github.com/MaJerle/esp-at-lib'
html_baseurl = 'https://docs.majerle.eu/projects/esp-at-lib/'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['static']
html_css_files = [
'css/common.css',
'css/custom.css',
'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css',
]
html_js_files = [
''
]
# Master index file
master_doc = 'index'
# --- Breathe configuration -----------------------------------------------------
breathe_projects = {
"lwesp": "_build/xml/"
}
breathe_default_project = "lwesp"
breathe_default_members = ('members', 'undoc-members')
breathe_show_enumvalue_initializer = True
================================================
FILE: docs/doxyfile.doxy
================================================
# Doxyfile 1.9.4
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
#
# All text after a double hash (##) is considered a comment and is placed in
# front of the TAG it is preceding.
#
# All text after a single hash (#) is considered a comment and will be ignored.
# The format is:
# TAG = value [value, ...]
# For lists, items can also be appended using:
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (\" \").
#
# Note:
#
# Use doxygen to compare the used configuration file with the template
# configuration file:
# doxygen -x [configFile]
# Use doxygen to compare the used configuration file with the template
# configuration file without replacing the environment variables:
# doxygen -x_noenv [configFile]
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
# This tag specifies the encoding used for all characters in the configuration
# file that follow. The default is UTF-8 which is also the encoding used for all
# text before the first occurrence of this tag. Doxygen uses libiconv (or the
# iconv built into libc) for the transcoding. See
# https://www.gnu.org/software/libiconv/ for the list of possible encodings.
# The default value is: UTF-8.
DOXYFILE_ENCODING = UTF-8
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
# double-quotes, unless you are using Doxywizard) that should identify the
# project for which the documentation is generated. This name is used in the
# title of most generated pages and in a few other places.
# The default value is: My Project.
PROJECT_NAME = LwESP
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER =
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.
PROJECT_BRIEF = "Lightweight ESP-AT parser library"
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
# in the documentation. The maximum height of the logo should not exceed 55
# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
# the logo to the output directory.
PROJECT_LOGO =
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
# into which the generated documentation will be written. If a relative path is
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
OUTPUT_DIRECTORY = _build
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096
# sub-directories (in 2 levels) under the output directory of each output format
# and will distribute the generated files over these directories. Enabling this
# option can be useful when feeding doxygen a huge amount of source files, where
# putting all generated files in the same directory would otherwise causes
# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to
# control the number of sub-directories.
# The default value is: NO.
CREATE_SUBDIRS = NO
# Controls the number of sub-directories that will be created when
# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every
# level increment doubles the number of directories, resulting in 4096
# directories at level 8 which is the default and also the maximum value. The
# sub-directories are organized in 2 levels, the first level always has a fixed
# numer of 16 directories.
# Minimum value: 0, maximum value: 8, default value: 8.
# This tag requires that the tag CREATE_SUBDIRS is set to YES.
CREATE_SUBDIRS_LEVEL = 8
# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
# characters to appear in the names of generated files. If set to NO, non-ASCII
# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
# U+3044.
# The default value is: NO.
ALLOW_UNICODE_NAMES = NO
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian,
# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English
# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek,
# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with
# English messages), Korean, Korean-en (Korean with English messages), Latvian,
# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese,
# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish,
# Swedish, Turkish, Ukrainian and Vietnamese.
# The default value is: English.
OUTPUT_LANGUAGE = English
# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
# descriptions after the members that are listed in the file and class
# documentation (similar to Javadoc). Set to NO to disable this.
# The default value is: YES.
BRIEF_MEMBER_DESC = YES
# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
# description of a member or function before the detailed description
#
# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
# brief descriptions will be completely suppressed.
# The default value is: YES.
REPEAT_BRIEF = YES
# This tag implements a quasi-intelligent brief description abbreviator that is
# used to form the text in various listings. Each string in this list, if found
# as the leading text of the brief description, will be stripped from the text
# and the result, after processing the whole list, is used as the annotated
# text. Otherwise, the brief description is used as-is. If left blank, the
# following values are used ($name is automatically replaced with the name of
# the entity):The $name class, The $name widget, The $name file, is, provides,
# specifies, contains, represents, a, an and the.
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
# doxygen will generate a detailed section even if there is only a brief
# description.
# The default value is: NO.
ALWAYS_DETAILED_SEC = NO
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
# inherited members of a class in the documentation of that class as if those
# members were ordinary class members. Constructors, destructors and assignment
# operators of the base classes will not be shown.
# The default value is: NO.
INLINE_INHERITED_MEMB = NO
# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
# before files name in the file list and in the header files. If set to NO the
# shortest path that makes the file name unique will be used
# The default value is: YES.
FULL_PATH_NAMES = NO
# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
# Stripping is only done if one of the specified strings matches the left-hand
# part of the path. The tag can be used to show relative paths in the file list.
# If left blank the directory from which doxygen is run is used as the path to
# strip.
#
# Note that you can specify absolute paths here, but also relative paths, which
# will be relative from the directory where doxygen is started.
# This tag requires that the tag FULL_PATH_NAMES is set to YES.
STRIP_FROM_PATH =
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
# path mentioned in the documentation of a class, which tells the reader which
# header file to include in order to use a class. If left blank only the name of
# the header file containing the class definition is used. Otherwise one should
# specify the list of include paths that are normally passed to the compiler
# using the -I flag.
STRIP_FROM_INC_PATH =
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
# less readable) file names. This can be useful is your file systems doesn't
# support long names like on DOS, Mac, or CD-ROM.
# The default value is: NO.
SHORT_NAMES = NO
# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
# first line (until the first dot) of a Javadoc-style comment as the brief
# description. If set to NO, the Javadoc-style will behave just like regular Qt-
# style comments (thus requiring an explicit @brief command for a brief
# description.)
# The default value is: NO.
JAVADOC_AUTOBRIEF = NO
# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line
# such as
# /***************
# as being the beginning of a Javadoc-style comment "banner". If set to NO, the
# Javadoc-style will behave just like regular comments and it will not be
# interpreted by doxygen.
# The default value is: NO.
JAVADOC_BANNER = NO
# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
# line (until the first dot) of a Qt-style comment as the brief description. If
# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
# requiring an explicit \brief command for a brief description.)
# The default value is: NO.
QT_AUTOBRIEF = NO
# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
# a brief description. This used to be the default behavior. The new default is
# to treat a multi-line C++ comment block as a detailed description. Set this
# tag to YES if you prefer the old behavior instead.
#
# Note that setting this tag to YES also means that rational rose comments are
# not recognized any more.
# The default value is: NO.
MULTILINE_CPP_IS_BRIEF = NO
# By default Python docstrings are displayed as preformatted text and doxygen's
# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the
# doxygen's special commands can be used and the contents of the docstring
# documentation blocks is shown as doxygen documentation.
# The default value is: YES.
PYTHON_DOCSTRING = YES
# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
# documentation from any documented member that it re-implements.
# The default value is: YES.
INHERIT_DOCS = YES
# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
# page for each member. If set to NO, the documentation of a member will be part
# of the file/class/namespace that contains it.
# The default value is: NO.
SEPARATE_MEMBER_PAGES = NO
# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
# uses this value to replace tabs by spaces in code fragments.
# Minimum value: 1, maximum value: 16, default value: 4.
TAB_SIZE = 4
# This tag can be used to specify a number of aliases that act as commands in
# the documentation. An alias has the form:
# name=value
# For example adding
# "sideeffect=@par Side Effects:^^"
# will allow you to put the command \sideeffect (or @sideeffect) in the
# documentation, which will result in a user-defined paragraph with heading
# "Side Effects:". Note that you cannot put \n's in the value part of an alias
# to insert newlines (in the resulting output). You can put ^^ in the value part
# of an alias to insert a newline as if a physical newline was in the original
# file. When you need a literal { or } or , in the value part of an alias you
# have to escape them by means of a backslash (\), this can lead to conflicts
# with the commands \{ and \} for these it is advised to use the version @{ and
# @} or use a double escape (\\{ and \\})
ALIASES =
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
# only. Doxygen will then generate output that is more tailored for C. For
# instance, some of the names that are used will be different. The list of all
# members will be omitted, etc.
# The default value is: NO.
OPTIMIZE_OUTPUT_FOR_C = YES
# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
# Python sources only. Doxygen will then generate output that is more tailored
# for that language. For instance, namespaces will be presented as packages,
# qualified scopes will look different, etc.
# The default value is: NO.
OPTIMIZE_OUTPUT_JAVA = NO
# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
# sources. Doxygen will then generate output that is tailored for Fortran.
# The default value is: NO.
OPTIMIZE_FOR_FORTRAN = NO
# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
# sources. Doxygen will then generate output that is tailored for VHDL.
# The default value is: NO.
OPTIMIZE_OUTPUT_VHDL = NO
# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice
# sources only. Doxygen will then generate output that is more tailored for that
# language. For instance, namespaces will be presented as modules, types will be
# separated into more groups, etc.
# The default value is: NO.
OPTIMIZE_OUTPUT_SLICE = NO
# Doxygen selects the parser to use depending on the extension of the files it
# parses. With this tag you can assign which parser to use for a given
# extension. Doxygen has a built-in mapping, but you can override or extend it
# using this tag. The format is ext=language, where ext is a file extension, and
# language is one of the parsers supported by doxygen: IDL, Java, JavaScript,
# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice,
# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
# tries to guess whether the code is fixed or free formatted code, this is the
# default for Fortran type files). For instance to make doxygen treat .inc files
# as Fortran files (default is PHP), and .f files as C (default is Fortran),
# use: inc=Fortran f=C.
#
# Note: For files without extension you can use no_extension as a placeholder.
#
# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
# the files are not read by doxygen. When specifying no_extension you should add
# * to the FILE_PATTERNS.
#
# Note see also the list of default file extension mappings.
EXTENSION_MAPPING =
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
# according to the Markdown format, which allows for more readable
# documentation. See https://daringfireball.net/projects/markdown/ for details.
# The output of markdown processing is further processed by doxygen, so you can
# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
# case of backward compatibilities issues.
# The default value is: YES.
MARKDOWN_SUPPORT = YES
# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
# to that level are automatically included in the table of contents, even if
# they do not have an id attribute.
# Note: This feature currently applies only to Markdown headings.
# Minimum value: 0, maximum value: 99, default value: 5.
# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
TOC_INCLUDE_HEADINGS = 5
# When enabled doxygen tries to link words that correspond to documented
# classes, or namespaces to their corresponding documentation. Such a link can
# be prevented in individual cases by putting a % sign in front of the word or
# globally by setting AUTOLINK_SUPPORT to NO.
# The default value is: YES.
AUTOLINK_SUPPORT = YES
# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
# to include (a tag file for) the STL sources as input, then you should set this
# tag to YES in order to let doxygen match functions declarations and
# definitions whose arguments contain STL classes (e.g. func(std::string);
# versus func(std::string) {}). This also make the inheritance and collaboration
# diagrams that involve STL classes more complete and accurate.
# The default value is: NO.
BUILTIN_STL_SUPPORT = NO
# If you use Microsoft's C++/CLI language, you should set this option to YES to
# enable parsing support.
# The default value is: NO.
CPP_CLI_SUPPORT = NO
# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen
# will parse them like normal C++ but will assume all classes use public instead
# of private inheritance when no explicit protection keyword is present.
# The default value is: NO.
SIP_SUPPORT = NO
# For Microsoft's IDL there are propget and propput attributes to indicate
# getter and setter methods for a property. Setting this option to YES will make
# doxygen to replace the get and set methods by a property in the documentation.
# This will only work if the methods are indeed getting or setting a simple
# type. If this is not the case, or you want to show the methods anyway, you
# should set this option to NO.
# The default value is: YES.
IDL_PROPERTY_SUPPORT = YES
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
# The default value is: NO.
DISTRIBUTE_GROUP_DOC = NO
# If one adds a struct or class to a group and this option is enabled, then also
# any nested class or struct is added to the same group. By default this option
# is disabled and one has to add nested compounds explicitly via \ingroup.
# The default value is: NO.
GROUP_NESTED_COMPOUNDS = NO
# Set the SUBGROUPING tag to YES to allow class member groups of the same type
# (for instance a group of public functions) to be put as a subgroup of that
# type (e.g. under the Public Functions section). Set it to NO to prevent
# subgrouping. Alternatively, this can be done per class using the
# \nosubgrouping command.
# The default value is: YES.
SUBGROUPING = YES
# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
# are shown inside the group in which they are included (e.g. using \ingroup)
# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
# and RTF).
#
# Note that this feature does not work in combination with
# SEPARATE_MEMBER_PAGES.
# The default value is: NO.
INLINE_GROUPED_CLASSES = NO
# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
# with only public data fields or simple typedef fields will be shown inline in
# the documentation of the scope in which they are defined (i.e. file,
# namespace, or group documentation), provided this scope is documented. If set
# to NO, structs, classes, and unions are shown on a separate page (for HTML and
# Man pages) or section (for LaTeX and RTF).
# The default value is: NO.
INLINE_SIMPLE_STRUCTS = NO
# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
# enum is documented as struct, union, or enum with the name of the typedef. So
# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
# with name TypeT. When disabled the typedef will appear as a member of a file,
# namespace, or class. And the struct will be named TypeS. This can typically be
# useful for C code in case the coding convention dictates that all compound
# types are typedef'ed and only the typedef is referenced, never the tag name.
# The default value is: NO.
TYPEDEF_HIDES_STRUCT = YES
# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
# cache is used to resolve symbols given their name and scope. Since this can be
# an expensive process and often the same symbol appears multiple times in the
# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
# doxygen will become slower. If the cache is too large, memory is wasted. The
# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
# symbols. At the end of a run doxygen will report the cache usage and suggest
# the optimal cache size from a speed point of view.
# Minimum value: 0, maximum value: 9, default value: 0.
LOOKUP_CACHE_SIZE = 0
# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use
# during processing. When set to 0 doxygen will based this on the number of
# cores available in the system. You can set it explicitly to a value larger
# than 0 to get more control over the balance between CPU load and processing
# speed. At this moment only the input processing can be done using multiple
# threads. Since this is still an experimental feature the default is set to 1,
# which effectively disables parallel processing. Please report any issues you
# encounter. Generating dot graphs in parallel is controlled by the
# DOT_NUM_THREADS setting.
# Minimum value: 0, maximum value: 32, default value: 1.
NUM_PROC_THREADS = 1
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
# documentation are documented, even if no documentation was available. Private
# class members and static file members will be hidden unless the
# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
# Note: This will also disable the warnings about undocumented members that are
# normally produced when WARNINGS is set to YES.
# The default value is: NO.
EXTRACT_ALL = NO
# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
# be included in the documentation.
# The default value is: NO.
EXTRACT_PRIVATE = NO
# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual
# methods of a class will be included in the documentation.
# The default value is: NO.
EXTRACT_PRIV_VIRTUAL = NO
# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
# scope will be included in the documentation.
# The default value is: NO.
EXTRACT_PACKAGE = NO
# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
# included in the documentation.
# The default value is: NO.
EXTRACT_STATIC = YES
# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
# locally in source files will be included in the documentation. If set to NO,
# only classes defined in header files are included. Does not have any effect
# for Java sources.
# The default value is: YES.
EXTRACT_LOCAL_CLASSES = YES
# This flag is only useful for Objective-C code. If set to YES, local methods,
# which are defined in the implementation section but not in the interface are
# included in the documentation. If set to NO, only methods in the interface are
# included.
# The default value is: NO.
EXTRACT_LOCAL_METHODS = NO
# If this flag is set to YES, the members of anonymous namespaces will be
# extracted and appear in the documentation as a namespace called
# 'anonymous_namespace{file}', where file will be replaced with the base name of
# the file that contains the anonymous namespace. By default anonymous namespace
# are hidden.
# The default value is: NO.
EXTRACT_ANON_NSPACES = NO
# If this flag is set to YES, the name of an unnamed parameter in a declaration
# will be determined by the corresponding definition. By default unnamed
# parameters remain unnamed in the output.
# The default value is: YES.
RESOLVE_UNNAMED_PARAMS = YES
# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
# undocumented members inside documented classes or files. If set to NO these
# members will be included in the various overviews, but no documentation
# section is generated. This option has no effect if EXTRACT_ALL is enabled.
# The default value is: NO.
HIDE_UNDOC_MEMBERS = NO
# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy. If set
# to NO, these classes will be included in the various overviews. This option
# has no effect if EXTRACT_ALL is enabled.
# The default value is: NO.
HIDE_UNDOC_CLASSES = NO
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
# declarations. If set to NO, these declarations will be included in the
# documentation.
# The default value is: NO.
HIDE_FRIEND_COMPOUNDS = NO
# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
# documentation blocks found inside the body of a function. If set to NO, these
# blocks will be appended to the function's detailed documentation block.
# The default value is: NO.
HIDE_IN_BODY_DOCS = NO
# The INTERNAL_DOCS tag determines if documentation that is typed after a
# \internal command is included. If the tag is set to NO then the documentation
# will be excluded. Set it to YES to include the internal documentation.
# The default value is: NO.
INTERNAL_DOCS = NO
# With the correct setting of option CASE_SENSE_NAMES doxygen will better be
# able to match the capabilities of the underlying filesystem. In case the
# filesystem is case sensitive (i.e. it supports files in the same directory
# whose names only differ in casing), the option must be set to YES to properly
# deal with such files in case they appear in the input. For filesystems that
# are not case sensitive the option should be set to NO to properly deal with
# output files written for symbols that only differ in casing, such as for two
# classes, one named CLASS and the other named Class, and to also support
# references to files without having to specify the exact matching casing. On
# Windows (including Cygwin) and MacOS, users should typically set this option
# to NO, whereas on Linux or other Unix flavors it should typically be set to
# YES.
# The default value is: system dependent.
CASE_SENSE_NAMES = NO
# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
# their full class and namespace scopes in the documentation. If set to YES, the
# scope will be hidden.
# The default value is: NO.
HIDE_SCOPE_NAMES = YES
# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
# append additional text to a page's title, such as Class Reference. If set to
# YES the compound reference will be hidden.
# The default value is: NO.
HIDE_COMPOUND_REFERENCE= NO
# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class
# will show which file needs to be included to use the class.
# The default value is: YES.
SHOW_HEADERFILE = YES
# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
# the files that are included by a file in the documentation of that file.
# The default value is: YES.
SHOW_INCLUDE_FILES = YES
# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
# grouped member an include statement to the documentation, telling the reader
# which file to include in order to use the member.
# The default value is: NO.
SHOW_GROUPED_MEMB_INC = NO
# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
# files with double quotes in the documentation rather than with sharp brackets.
# The default value is: NO.
FORCE_LOCAL_INCLUDES = NO
# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
# documentation for inline members.
# The default value is: YES.
INLINE_INFO = YES
# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
# (detailed) documentation of file and class members alphabetically by member
# name. If set to NO, the members will appear in declaration order.
# The default value is: YES.
SORT_MEMBER_DOCS = YES
# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
# descriptions of file, namespace and class members alphabetically by member
# name. If set to NO, the members will appear in declaration order. Note that
# this will also influence the order of the classes in the class list.
# The default value is: NO.
SORT_BRIEF_DOCS = NO
# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
# (brief and detailed) documentation of class members so that constructors and
# destructors are listed first. If set to NO the constructors will appear in the
# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
# member documentation.
# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
# detailed member documentation.
# The default value is: NO.
SORT_MEMBERS_CTORS_1ST = NO
# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
# of group names into alphabetical order. If set to NO the group names will
# appear in their defined order.
# The default value is: NO.
SORT_GROUP_NAMES = NO
# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
# fully-qualified names, including namespaces. If set to NO, the class list will
# be sorted only by class name, not including the namespace part.
# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
# Note: This option applies only to the class list, not to the alphabetical
# list.
# The default value is: NO.
SORT_BY_SCOPE_NAME = NO
# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
# type resolution of all parameters of a function it will reject a match between
# the prototype and the implementation of a member function even if there is
# only one candidate or it is obvious which candidate to choose by doing a
# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
# accept a match between prototype and implementation in such cases.
# The default value is: NO.
STRICT_PROTO_MATCHING = NO
# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
# list. This list is created by putting \todo commands in the documentation.
# The default value is: YES.
GENERATE_TODOLIST = YES
# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
# list. This list is created by putting \test commands in the documentation.
# The default value is: YES.
GENERATE_TESTLIST = YES
# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
# list. This list is created by putting \bug commands in the documentation.
# The default value is: YES.
GENERATE_BUGLIST = YES
# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
# the deprecated list. This list is created by putting \deprecated commands in
# the documentation.
# The default value is: YES.
GENERATE_DEPRECATEDLIST= YES
# The ENABLED_SECTIONS tag can be used to enable conditional documentation
# sections, marked by \if <section_label> ... \endif and \cond <section_label>
# ... \endcond blocks.
ENABLED_SECTIONS =
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
# initial value of a variable or macro / define can have for it to appear in the
# documentation. If the initializer consists of more lines than specified here
# it will be hidden. Use a value of 0 to hide initializers completely. The
# appearance of the value of individual variables and macros / defines can be
# controlled using \showinitializer or \hideinitializer command in the
# documentation regardless of this setting.
# Minimum value: 0, maximum value: 10000, default value: 30.
MAX_INITIALIZER_LINES = 30
# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
# the bottom of the documentation of classes and structs. If set to YES, the
# list will mention the files that were used to generate the documentation.
# The default value is: YES.
SHOW_USED_FILES = NO
# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
# will remove the Files entry from the Quick Index and from the Folder Tree View
# (if specified).
# The default value is: YES.
SHOW_FILES = NO
# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
# page. This will remove the Namespaces entry from the Quick Index and from the
# Folder Tree View (if specified).
# The default value is: YES.
SHOW_NAMESPACES = YES
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
# doxygen should invoke to get the current version for each file (typically from
# the version control system). Doxygen will invoke the program by executing (via
# popen()) the command command input-file, where command is the value of the
# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
# by doxygen. Whatever the program writes to standard output is used as the file
# version. For an example see the documentation.
FILE_VERSION_FILTER =
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
# by doxygen. The layout file controls the global structure of the generated
# output files in an output format independent way. To create the layout file
# that represents doxygen's defaults, run doxygen with the -l option. You can
# optionally specify a file name after the option, if omitted DoxygenLayout.xml
# will be used as the name of the layout file. See also section "Changing the
# layout of pages" for information.
#
# Note that if you run doxygen from a directory containing a file called
# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
# tag is left empty.
LAYOUT_FILE =
# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
# the reference definitions. This must be a list of .bib files. The .bib
# extension is automatically appended if omitted. This requires the bibtex tool
# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info.
# For LaTeX the style of the bibliography can be controlled using
# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
# search path. See also \cite for info how to create references.
CITE_BIB_FILES =
#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages
#---------------------------------------------------------------------------
# The QUIET tag can be used to turn on/off the messages that are generated to
# standard output by doxygen. If QUIET is set to YES this implies that the
# messages are off.
# The default value is: NO.
QUIET = NO
# The WARNINGS tag can be used to turn on/off the warning messages that are
# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
# this implies that the warnings are on.
#
# Tip: Turn warnings on while writing the documentation.
# The default value is: YES.
WARNINGS = YES
# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
# will automatically be disabled.
# The default value is: YES.
WARN_IF_UNDOCUMENTED = YES
# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
# potential errors in the documentation, such as documenting some parameters in
# a documented function twice, or documenting parameters that don't exist or
# using markup commands wrongly.
# The default value is: YES.
WARN_IF_DOC_ERROR = YES
# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete
# function parameter documentation. If set to NO, doxygen will accept that some
# parameters have no documentation without warning.
# The default value is: YES.
WARN_IF_INCOMPLETE_DOC = YES
# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
# are documented, but have no documentation for their parameters or return
# value. If set to NO, doxygen will only warn about wrong parameter
# documentation, but not about the absence of documentation. If EXTRACT_ALL is
# set to YES then this flag will automatically be disabled. See also
# WARN_IF_INCOMPLETE_DOC
# The default value is: NO.
WARN_NO_PARAMDOC = YES
# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS
# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but
# at the end of the doxygen process doxygen will return with a non-zero status.
# Possible values are: NO, YES and FAIL_ON_WARNINGS.
# The default value is: NO.
WARN_AS_ERROR = NO
# The WARN_FORMAT tag determines the format of the warning messages that doxygen
# can produce. The string should contain the $file, $line, and $text tags, which
# will be replaced by the file and line number from which the warning originated
# and the warning text. Optionally the format may contain $version, which will
# be replaced by the version of the file (if it could be obtained via
# FILE_VERSION_FILTER)
# See also: WARN_LINE_FORMAT
# The default value is: $file:$line: $text.
WARN_FORMAT = "$file:$line: $text"
# In the $text part of the WARN_FORMAT command it is possible that a reference
# to a more specific place is given. To make it easier to jump to this place
# (outside of doxygen) the user can define a custom "cut" / "paste" string.
# Example:
# WARN_LINE_FORMAT = "'vi $file +$line'"
# See also: WARN_FORMAT
# The default value is: at line $line of file $file.
WARN_LINE_FORMAT = "at line $line of file $file"
# The WARN_LOGFILE tag can be used to specify a file to which warning and error
# messages should be written. If left blank the output is written to standard
# error (stderr). In case the file specified cannot be opened for writing the
# warning and error messages are written to standard error. When as file - is
# specified the warning and error messages are written to standard output
# (stdout).
WARN_LOGFILE =
#---------------------------------------------------------------------------
# Configuration options related to the input files
#---------------------------------------------------------------------------
# The INPUT tag is used to specify the files and/or directories that contain
# documented source files. You may enter file names like myfile.cpp or
# directories like /usr/src/myproject. Separate the files or directories with
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.
INPUT = ../lwesp/
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
# documentation (see:
# https://www.gnu.org/software/libiconv/) for the list of possible encodings.
# The default value is: UTF-8.
INPUT_ENCODING = UTF-8
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
# *.h) to filter out the source-files in the directories.
#
# Note that for custom extensions or not directly supported extensions you also
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
# read by doxygen.
#
# Note the list of default checked file patterns might differ from the list of
# default file extension mappings.
#
# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
# *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, *.php4, *.php5, *.phtml,
# *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C
# comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd,
# *.vhdl, *.ucf, *.qsf and *.ice.
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
*.cpp \
*.c++ \
*.java \
*.ii \
*.ixx \
*.ipp \
*.i++ \
*.inl \
*.idl \
*.ddl \
*.odl \
*.h \
*.hh \
*.hxx \
*.hpp \
*.h++ \
*.cs \
*.d \
*.php \
*.php4 \
*.php5 \
*.phtml \
*.inc \
*.m \
*.markdown \
*.md \
*.mm \
*.dox \
*.py \
*.f90 \
*.f \
*.for \
*.tcl \
*.vhd \
*.vhdl \
*.ucf \
*.qsf \
*.as \
*.js
# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
# The default value is: NO.
RECURSIVE = YES
# The EXCLUDE tag can be used to specify files and/or directories that should be
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
#
# Note that relative paths are relative to the directory from which doxygen is
# run.
EXCLUDE =
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
# from the input.
# The default value is: NO.
EXCLUDE_SYMLINKS = NO
# If the value of the INPUT tag contains directories, you can use the
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
# certain files from those directories.
#
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/*
EXCLUDE_PATTERNS =
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
# output. The symbol name can be a fully qualified name, a word, or if the
# wildcard * is used, a substring. Examples: ANamespace, AClass,
# ANamespace::AClass, ANamespace::*Test
#
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories use the pattern */test/*
EXCLUDE_SYMBOLS =
# The EXAMPLE_PATH tag can be used to specify one or more files or directories
# that contain example code fragments that are included (see the \include
# command).
EXAMPLE_PATH =
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
# *.h) to filter out the source-files in the directories. If left blank all
# files are included.
EXAMPLE_PATTERNS = *
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
# searched for input files to be used with the \include or \dontinclude commands
# irrespective of the value of the RECURSIVE tag.
# The default value is: NO.
EXAMPLE_RECURSIVE = NO
# The IMAGE_PATH tag can be used to specify one or more files or directories
# that contain images that are to be included in the documentation (see the
# \image command).
IMAGE_PATH =
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
# by executing (via popen()) the command:
#
# <filter> <input-file>
#
# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
# name of an input file. Doxygen will then use the output that the filter
# program writes to standard output. If FILTER_PATTERNS is specified, this tag
# will be ignored.
#
# Note that the filter must not add or remove lines; it is applied before the
# code is scanned, but not when the output code is generated. If lines are added
# or removed, the anchors will not be placed correctly.
#
# Note that for custom extensions or not directly supported extensions you also
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
# properly processed by doxygen.
INPUT_FILTER =
# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
# basis. Doxygen will compare the file name with each pattern and apply the
# filter if there is a match. The filters are a list of the form: pattern=filter
# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
# patterns match the file name, INPUT_FILTER is applied.
#
# Note that for custom extensions or not directly supported extensions you also
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
# properly processed by doxygen.
FILTER_PATTERNS =
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
# INPUT_FILTER) will also be used to filter the input files that are used for
# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
# The default value is: NO.
FILTER_SOURCE_FILES = NO
# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
# it is also possible to disable source filtering for a specific pattern using
# *.ext= (so without naming a filter).
# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
FILTER_SOURCE_PATTERNS =
# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
# is part of the input, its contents will be placed on the main page
# (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output.
USE_MDFILE_AS_MAINPAGE =
#---------------------------------------------------------------------------
# Configuration options related to source browsing
#---------------------------------------------------------------------------
# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
# generated. Documented entities will be cross-referenced with these sources.
#
# Note: To get rid of all source code in the generated output, make sure that
# also VERBATIM_HEADERS is set to NO.
# The default value is: NO.
SOURCE_BROWSER = NO
# Setting the INLINE_SOURCES tag to YES will include the body of functions,
# classes and enums directly into the documentation.
# The default value is: NO.
INLINE_SOURCES = NO
# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
# special comment blocks from generated source code fragments. Normal C, C++ and
# Fortran comments will always remain visible.
# The default value is: YES.
STRIP_CODE_COMMENTS = YES
# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
# entity all documented functions referencing it will be listed.
# The default value is: NO.
REFERENCED_BY_RELATION = NO
# If the REFERENCES_RELATION tag is set to YES then for each documented function
# all documented entities called/used by that function will be listed.
# The default value is: NO.
REFERENCES_RELATION = NO
# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
# to YES then the hyperlinks from functions in REFERENCES_RELATION and
# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
# link to the documentation.
# The default value is: YES.
REFERENCES_LINK_SOURCE = YES
# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
# source code will show a tooltip with additional information such as prototype,
# brief description and links to the definition and documentation. Since this
# will make the HTML file larger and loading of large files a bit slower, you
# can opt to disable this feature.
# The default value is: YES.
# This tag requires that the tag SOURCE_BROWSER is set to YES.
SOURCE_TOOLTIPS = YES
# If the USE_HTAGS tag is set to YES then the references to source code will
# point to the HTML generated by the htags(1) tool instead of doxygen built-in
# source browser. The htags tool is part of GNU's global source tagging system
# (see https://www.gnu.org/software/global/global.html). You will need version
# 4.8.6 or higher.
#
# To use it do the following:
# - Install the latest version of global
# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file
# - Make sure the INPUT points to the root of the source tree
# - Run doxygen as normal
#
# Doxygen will invoke htags (and that will in turn invoke gtags), so these
# tools must be available from the command line (i.e. in the search path).
#
# The result: instead of the source browser generated by doxygen, the links to
# source code will now point to the output of htags.
# The default value is: NO.
# This tag requires that the tag SOURCE_BROWSER is set to YES.
USE_HTAGS = NO
# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
# verbatim copy of the header file for each class for which an include is
# specified. Set to NO to disable this.
# See also: Section \class.
# The default value is: YES.
VERBATIM_HEADERS = YES
# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the
# clang parser (see:
# http://clang.llvm.org/) for more accurate parsing at the cost of reduced
# performance. This can be particularly helpful with template rich C++ code for
# which doxygen's built-in parser lacks the necessary type information.
# Note: The availability of this option depends on whether or not doxygen was
# generated with the -Duse_libclang=ON option for CMake.
# The default value is: NO.
CLANG_ASSISTED_PARSING = NO
# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS
# tag is set to YES then doxygen will add the directory of each input to the
# include path.
# The default value is: YES.
# This tag requires tha
gitextract_jufxey39/
├── .clang-format
├── .gitattributes
├── .github/
│ ├── FUNDING.yml
│ └── workflows/
│ └── release.yml
├── .gitignore
├── .gitmodules
├── .readthedocs.yaml
├── .vscode/
│ ├── c_cpp_properties.json
│ ├── extensions.json
│ ├── launch.json
│ ├── settings.json
│ └── tasks.json
├── AUTHORS
├── CHANGELOG.md
├── CMakeLists.txt
├── CMakePresets.json
├── LICENSE
├── README.md
├── TODO.md
├── certificates/
│ ├── client_ca_00.crt
│ ├── client_ca_generated_atpki.hex
│ ├── client_cert_00.crt
│ ├── client_cert_generated_atpki.hex
│ ├── client_key_00.key
│ └── client_key_generated_atpki.HEX
├── cmake/
│ ├── i686-w64-mingw32-gcc.cmake
│ └── x86_64-w64-mingw32-gcc.cmake
├── dev/
│ ├── lwesp_dev.sln
│ ├── lwesp_dev.vcxproj
│ ├── lwesp_dev.vcxproj.filters
│ ├── lwesp_opts.h
│ ├── lwmem_opts.h
│ └── main.c
├── docs/
│ ├── Makefile
│ ├── api-reference/
│ │ ├── apps/
│ │ │ ├── cayenne_api.rst
│ │ │ ├── http_server.rst
│ │ │ ├── index.rst
│ │ │ ├── mqtt_client.rst
│ │ │ ├── mqtt_client_api.rst
│ │ │ └── netconn.rst
│ │ ├── cli/
│ │ │ ├── cli_input.rst
│ │ │ ├── cli_opt.rst
│ │ │ └── index.rst
│ │ ├── index.rst
│ │ ├── lwesp/
│ │ │ ├── ap.rst
│ │ │ ├── ble.rst
│ │ │ ├── bt.rst
│ │ │ ├── buff.rst
│ │ │ ├── conn.rst
│ │ │ ├── debug.rst
│ │ │ ├── dhcp.rst
│ │ │ ├── dns.rst
│ │ │ ├── evt.rst
│ │ │ ├── flash.rst
│ │ │ ├── hostname.rst
│ │ │ ├── index.rst
│ │ │ ├── input.rst
│ │ │ ├── mdns.rst
│ │ │ ├── mem.rst
│ │ │ ├── pbuf.rst
│ │ │ ├── ping.rst
│ │ │ ├── server.rst
│ │ │ ├── smart.rst
│ │ │ ├── sntp.rst
│ │ │ ├── sta.rst
│ │ │ ├── timeout.rst
│ │ │ ├── types.rst
│ │ │ ├── unicode.rst
│ │ │ ├── utils.rst
│ │ │ ├── webserver.rst
│ │ │ └── wps.rst
│ │ ├── opt.rst
│ │ └── port/
│ │ ├── index.rst
│ │ ├── ll.rst
│ │ └── sys.rst
│ ├── authors/
│ │ └── index.rst
│ ├── changelog/
│ │ └── index.rst
│ ├── conf.py
│ ├── doxyfile.doxy
│ ├── examples/
│ │ └── index.rst
│ ├── examples_src/
│ │ ├── command_blocking.c
│ │ ├── command_nonblocking.c
│ │ ├── command_nonblocking_bad.c
│ │ ├── config.h
│ │ ├── conn_write.c
│ │ ├── debug.c
│ │ ├── debug_opts.h
│ │ ├── evt.c
│ │ ├── mem.c
│ │ ├── pbuf_cat.c
│ │ ├── pbuf_chain.c
│ │ ├── pbuf_extract.c
│ │ ├── sntp_custom_server.c
│ │ └── sta.c
│ ├── firmware-update/
│ │ └── index.rst
│ ├── get-started/
│ │ └── index.rst
│ ├── index.rst
│ ├── make.bat
│ ├── requirements.txt
│ ├── static/
│ │ ├── css/
│ │ │ ├── common.css
│ │ │ └── custom.css
│ │ ├── dark-light/
│ │ │ ├── common-dark-light.css
│ │ │ ├── dark-mode-toggle.mjs
│ │ │ ├── dark.css
│ │ │ └── light.css
│ │ └── images/
│ │ ├── example_app_arch.xml
│ │ ├── logo.drawio
│ │ ├── memory_manager_structure.xml
│ │ ├── memory_manager_structure_freeing.xml
│ │ ├── netconn_client.xml
│ │ ├── netconn_server_1thread.xml
│ │ ├── netconn_server_concurrency.xml
│ │ ├── pbuf_block_diagram.xml
│ │ ├── pbuf_block_diagram_after_free.xml
│ │ ├── pbuf_cat_vs_chain_1.xml
│ │ ├── pbuf_cat_vs_chain_2.xml
│ │ ├── pbuf_cat_vs_chain_3.xml
│ │ ├── system_structure.xml
│ │ └── thread_communication.xml
│ └── user-manual/
│ ├── architecture.rst
│ ├── blocking-nonblocking.rst
│ ├── events-cb-fn.rst
│ ├── index.rst
│ ├── inter-thread-comm.rst
│ ├── overview.rst
│ ├── porting-guide.rst
│ └── ssl-support.rst
├── examples/
│ ├── README.md
│ ├── lib/
│ │ ├── FreeRTOS/
│ │ │ ├── CMSIS_RTOS/
│ │ │ │ ├── cmsis_os.c
│ │ │ │ ├── cmsis_os.h
│ │ │ │ ├── cpu_utils.c
│ │ │ │ └── cpu_utils.h
│ │ │ ├── CMSIS_RTOS_V2/
│ │ │ │ ├── cmsis_os.h
│ │ │ │ ├── cmsis_os2.c
│ │ │ │ └── cmsis_os2.h
│ │ │ ├── croutine.c
│ │ │ ├── event_groups.c
│ │ │ ├── include/
│ │ │ │ ├── FreeRTOS.h
│ │ │ │ ├── FreeRTOSConfig_template.h
│ │ │ │ ├── StackMacros.h
│ │ │ │ ├── croutine.h
│ │ │ │ ├── deprecated_definitions.h
│ │ │ │ ├── event_groups.h
│ │ │ │ ├── list.h
│ │ │ │ ├── message_buffer.h
│ │ │ │ ├── mpu_prototypes.h
│ │ │ │ ├── mpu_wrappers.h
│ │ │ │ ├── portable.h
│ │ │ │ ├── projdefs.h
│ │ │ │ ├── queue.h
│ │ │ │ ├── semphr.h
│ │ │ │ ├── stack_macros.h
│ │ │ │ ├── stdint.readme
│ │ │ │ ├── stream_buffer.h
│ │ │ │ ├── task.h
│ │ │ │ └── timers.h
│ │ │ ├── list.c
│ │ │ ├── portable/
│ │ │ │ ├── Common/
│ │ │ │ │ └── mpu_wrappers.c
│ │ │ │ ├── GCC/
│ │ │ │ │ └── ARM_CM4F/
│ │ │ │ │ ├── port.c
│ │ │ │ │ └── portmacro.h
│ │ │ │ └── MemMang/
│ │ │ │ ├── ReadMe.url
│ │ │ │ ├── heap_1.c
│ │ │ │ ├── heap_2.c
│ │ │ │ ├── heap_3.c
│ │ │ │ ├── heap_4.c
│ │ │ │ └── heap_5.c
│ │ │ ├── queue.c
│ │ │ ├── stream_buffer.c
│ │ │ ├── tasks.c
│ │ │ └── timers.c
│ │ └── st/
│ │ ├── CMSIS/
│ │ │ ├── Device/
│ │ │ │ └── ST/
│ │ │ │ ├── STM32F4xx/
│ │ │ │ │ └── Include/
│ │ │ │ │ ├── stm32f429xx.h
│ │ │ │ │ ├── stm32f4xx.h
│ │ │ │ │ └── system_stm32f4xx.h
│ │ │ │ └── STM32L4xx/
│ │ │ │ └── Include/
│ │ │ │ ├── stm32l496xx.h
│ │ │ │ ├── stm32l4xx.h
│ │ │ │ └── system_stm32l4xx.h
│ │ │ └── Include/
│ │ │ ├── arm_common_tables.h
│ │ │ ├── arm_const_structs.h
│ │ │ ├── arm_math.h
│ │ │ ├── cmsis_armcc.h
│ │ │ ├── cmsis_armcc_V6.h
│ │ │ ├── cmsis_armclang.h
│ │ │ ├── cmsis_compiler.h
│ │ │ ├── cmsis_gcc.h
│ │ │ ├── cmsis_iccarm.h
│ │ │ ├── cmsis_version.h
│ │ │ ├── core_armv8mbl.h
│ │ │ ├── core_armv8mml.h
│ │ │ ├── core_cm0.h
│ │ │ ├── core_cm0plus.h
│ │ │ ├── core_cm1.h
│ │ │ ├── core_cm23.h
│ │ │ ├── core_cm3.h
│ │ │ ├── core_cm33.h
│ │ │ ├── core_cm4.h
│ │ │ ├── core_cm7.h
│ │ │ ├── core_cmFunc.h
│ │ │ ├── core_cmInstr.h
│ │ │ ├── core_cmSimd.h
│ │ │ ├── core_sc000.h
│ │ │ ├── core_sc300.h
│ │ │ ├── mpu_armv7.h
│ │ │ ├── mpu_armv8.h
│ │ │ └── tz_context.h
│ │ ├── STM32F4xx_HAL_Driver/
│ │ │ ├── Inc/
│ │ │ │ ├── stm32f4xx_ll_bus.h
│ │ │ │ ├── stm32f4xx_ll_cortex.h
│ │ │ │ ├── stm32f4xx_ll_dma.h
│ │ │ │ ├── stm32f4xx_ll_exti.h
│ │ │ │ ├── stm32f4xx_ll_gpio.h
│ │ │ │ ├── stm32f4xx_ll_pwr.h
│ │ │ │ ├── stm32f4xx_ll_rcc.h
│ │ │ │ ├── stm32f4xx_ll_system.h
│ │ │ │ ├── stm32f4xx_ll_usart.h
│ │ │ │ └── stm32f4xx_ll_utils.h
│ │ │ └── Src/
│ │ │ ├── stm32f4xx_ll_dma.c
│ │ │ ├── stm32f4xx_ll_exti.c
│ │ │ ├── stm32f4xx_ll_gpio.c
│ │ │ ├── stm32f4xx_ll_pwr.c
│ │ │ ├── stm32f4xx_ll_rcc.c
│ │ │ ├── stm32f4xx_ll_usart.c
│ │ │ └── stm32f4xx_ll_utils.c
│ │ └── STM32L4xx_HAL_Driver/
│ │ ├── Inc/
│ │ │ ├── stm32l4xx_ll_adc.h
│ │ │ ├── stm32l4xx_ll_bus.h
│ │ │ ├── stm32l4xx_ll_cortex.h
│ │ │ ├── stm32l4xx_ll_dma.h
│ │ │ ├── stm32l4xx_ll_dmamux.h
│ │ │ ├── stm32l4xx_ll_exti.h
│ │ │ ├── stm32l4xx_ll_gpio.h
│ │ │ ├── stm32l4xx_ll_lpuart.h
│ │ │ ├── stm32l4xx_ll_pwr.h
│ │ │ ├── stm32l4xx_ll_rcc.h
│ │ │ ├── stm32l4xx_ll_system.h
│ │ │ ├── stm32l4xx_ll_usart.h
│ │ │ └── stm32l4xx_ll_utils.h
│ │ └── Src/
│ │ ├── stm32l4xx_ll_dma.c
│ │ ├── stm32l4xx_ll_exti.c
│ │ ├── stm32l4xx_ll_gpio.c
│ │ ├── stm32l4xx_ll_lpuart.c
│ │ ├── stm32l4xx_ll_pwr.c
│ │ ├── stm32l4xx_ll_rcc.c
│ │ ├── stm32l4xx_ll_usart.c
│ │ └── stm32l4xx_ll_utils.c
│ ├── posix/
│ │ ├── README.md
│ │ └── sntp_rtos/
│ │ ├── CMakeLists.txt
│ │ ├── README.md
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── stm32/
│ │ ├── mqtt_client_api_rtos_stm32f429zi_nucleo/
│ │ │ ├── .vscode/
│ │ │ │ ├── c_cpp_properties.json
│ │ │ │ ├── extensions.json
│ │ │ │ ├── launch.json
│ │ │ │ └── tasks.json
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CMakePresets.json
│ │ │ ├── STM32CubeIDE/
│ │ │ │ ├── .cproject
│ │ │ │ ├── .project
│ │ │ │ ├── Debug_STM32F429ZI_FLASH.ld
│ │ │ │ └── startup/
│ │ │ │ └── startup_stm32f429xx.s
│ │ │ ├── cmake/
│ │ │ │ └── gcc-arm-none-eabi.cmake
│ │ │ ├── inc/
│ │ │ │ ├── FreeRTOSConfig.h
│ │ │ │ ├── lwesp_opts.h
│ │ │ │ ├── main.h
│ │ │ │ ├── stm32_assert.h
│ │ │ │ ├── stm32f4xx_hal_conf.h
│ │ │ │ └── stm32f4xx_it.h
│ │ │ └── src/
│ │ │ ├── main.c
│ │ │ ├── stm32f4xx_it.c
│ │ │ ├── syscalls.c
│ │ │ └── system_stm32f4xx.c
│ │ └── netconn_client_rtos_stm32l496g_discovery/
│ │ ├── .vscode/
│ │ │ ├── c_cpp_properties.json
│ │ │ ├── extensions.json
│ │ │ ├── launch.json
│ │ │ └── tasks.json
│ │ ├── CMakeLists.txt
│ │ ├── CMakePresets.json
│ │ ├── STM32CubeIDE/
│ │ │ ├── .cproject
│ │ │ ├── .project
│ │ │ ├── Debug_STM32L496AG_FLASH.ld
│ │ │ └── startup/
│ │ │ └── startup_stm32l496xx.s
│ │ ├── cmake/
│ │ │ └── gcc-arm-none-eabi.cmake
│ │ ├── inc/
│ │ │ ├── FreeRTOSConfig.h
│ │ │ ├── lwesp_opts.h
│ │ │ ├── main.h
│ │ │ ├── stm32_assert.h
│ │ │ ├── stm32l4xx_hal_conf.h
│ │ │ └── stm32l4xx_it.h
│ │ └── src/
│ │ ├── main.c
│ │ ├── stm32l4xx_it.c
│ │ ├── syscalls.c
│ │ └── system_stm32l4xx.c
│ └── win32/
│ ├── .vscode/
│ │ ├── c_cpp_properties.json
│ │ ├── extensions.json
│ │ ├── launch.json
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CMakeLists.txt
│ ├── CMakePresets.json
│ ├── README.md
│ ├── access_point_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── build_all_examples.py
│ ├── client_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── dns_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── mqtt_client_api_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── mqtt_client_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── netconn_client_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── netconn_server_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ ├── server_rtos/
│ │ ├── lwesp_opts.h
│ │ └── main.c
│ └── sntp_rtos/
│ ├── lwesp_opts.h
│ └── main.c
├── library.json
├── lwesp/
│ ├── CMakeLists.txt
│ ├── library.cmake
│ └── src/
│ ├── api/
│ │ └── lwesp_netconn.c
│ ├── apps/
│ │ ├── http_server/
│ │ │ ├── lwesp_http_server.c
│ │ │ ├── lwesp_http_server_fs.c
│ │ │ ├── lwesp_http_server_fs_fat.c
│ │ │ └── lwesp_http_server_fs_win32.c
│ │ └── mqtt/
│ │ ├── lwesp_mqtt_client.c
│ │ ├── lwesp_mqtt_client_api.c
│ │ └── lwesp_mqtt_client_evt.c
│ ├── cli/
│ │ ├── cli.c
│ │ └── cli_input.c
│ ├── include/
│ │ ├── cli/
│ │ │ ├── cli.h
│ │ │ ├── cli_input.h
│ │ │ └── cli_opt.h
│ │ ├── lwesp/
│ │ │ ├── apps/
│ │ │ │ ├── lwesp_apps.h
│ │ │ │ ├── lwesp_http_server.h
│ │ │ │ ├── lwesp_http_server_fs.h
│ │ │ │ ├── lwesp_mqtt_client.h
│ │ │ │ ├── lwesp_mqtt_client_api.h
│ │ │ │ └── lwesp_mqtt_client_evt.h
│ │ │ ├── lwesp.h
│ │ │ ├── lwesp_ap.h
│ │ │ ├── lwesp_ble.h
│ │ │ ├── lwesp_bt.h
│ │ │ ├── lwesp_buff.h
│ │ │ ├── lwesp_cli.h
│ │ │ ├── lwesp_conn.h
│ │ │ ├── lwesp_debug.h
│ │ │ ├── lwesp_debug_types.h
│ │ │ ├── lwesp_dhcp.h
│ │ │ ├── lwesp_dns.h
│ │ │ ├── lwesp_evt.h
│ │ │ ├── lwesp_flash.h
│ │ │ ├── lwesp_flash_partitions.h
│ │ │ ├── lwesp_hostname.h
│ │ │ ├── lwesp_includes.h
│ │ │ ├── lwesp_input.h
│ │ │ ├── lwesp_int.h
│ │ │ ├── lwesp_mdns.h
│ │ │ ├── lwesp_mem.h
│ │ │ ├── lwesp_netconn.h
│ │ │ ├── lwesp_opt.h
│ │ │ ├── lwesp_opts_template.h
│ │ │ ├── lwesp_parser.h
│ │ │ ├── lwesp_pbuf.h
│ │ │ ├── lwesp_ping.h
│ │ │ ├── lwesp_private.h
│ │ │ ├── lwesp_server.h
│ │ │ ├── lwesp_smart.h
│ │ │ ├── lwesp_sntp.h
│ │ │ ├── lwesp_sta.h
│ │ │ ├── lwesp_threads.h
│ │ │ ├── lwesp_timeout.h
│ │ │ ├── lwesp_types.h
│ │ │ ├── lwesp_unicode.h
│ │ │ ├── lwesp_utils.h
│ │ │ ├── lwesp_webserver.h
│ │ │ └── lwesp_wps.h
│ │ └── system/
│ │ ├── lwesp_ll.h
│ │ ├── lwesp_sys.h
│ │ └── port/
│ │ ├── cmsis_os/
│ │ │ └── lwesp_sys_port.h
│ │ ├── freertos/
│ │ │ └── lwesp_sys_port.h
│ │ ├── posix/
│ │ │ └── lwesp_sys_port.h
│ │ ├── threadx/
│ │ │ └── lwesp_sys_port.h
│ │ └── win32/
│ │ └── lwesp_sys_port.h
│ ├── lwesp/
│ │ ├── lwesp.c
│ │ ├── lwesp_ap.c
│ │ ├── lwesp_ble.c
│ │ ├── lwesp_bt.c
│ │ ├── lwesp_buff.c
│ │ ├── lwesp_cli.c
│ │ ├── lwesp_conn.c
│ │ ├── lwesp_debug.c
│ │ ├── lwesp_dhcp.c
│ │ ├── lwesp_dns.c
│ │ ├── lwesp_evt.c
│ │ ├── lwesp_flash.c
│ │ ├── lwesp_hostname.c
│ │ ├── lwesp_input.c
│ │ ├── lwesp_int.c
│ │ ├── lwesp_mdns.c
│ │ ├── lwesp_mem.c
│ │ ├── lwesp_parser.c
│ │ ├── lwesp_pbuf.c
│ │ ├── lwesp_ping.c
│ │ ├── lwesp_server.c
│ │ ├── lwesp_smart.c
│ │ ├── lwesp_sntp.c
│ │ ├── lwesp_sta.c
│ │ ├── lwesp_threads.c
│ │ ├── lwesp_timeout.c
│ │ ├── lwesp_unicode.c
│ │ ├── lwesp_utils.c
│ │ ├── lwesp_webserver.c
│ │ └── lwesp_wps.c
│ └── system/
│ ├── lwesp_ll_posix.c
│ ├── lwesp_ll_stm32.c
│ ├── lwesp_ll_stm32_threadx.c
│ ├── lwesp_ll_stm32f429zi_nucleo.c
│ ├── lwesp_ll_stm32f723e_discovery.c
│ ├── lwesp_ll_stm32f769i_discovery.c
│ ├── lwesp_ll_stm32h735g_dk_threadx.c
│ ├── lwesp_ll_stm32l432kc_nucleo.c
│ ├── lwesp_ll_stm32l496g_discovery.c
│ ├── lwesp_ll_stm32l4s5_discovery.c
│ ├── lwesp_ll_win32.c
│ ├── lwesp_mem_lwmem.c
│ ├── lwesp_mem_posix.c
│ ├── lwesp_mem_threadx.c
│ ├── lwesp_sys_cmsis_os.c
│ ├── lwesp_sys_freertos.c
│ ├── lwesp_sys_posix.c
│ ├── lwesp_sys_threadx.c
│ └── lwesp_sys_win32.c
├── snippets/
│ ├── CMakeLists.txt
│ ├── client.c
│ ├── dns.c
│ ├── examples_common_lwesp_callback_func.c
│ ├── http_server.c
│ ├── include/
│ │ ├── client.h
│ │ ├── dns.h
│ │ ├── examples_common_lwesp_callback_func.h
│ │ ├── http_server.h
│ │ ├── mqtt_client.h
│ │ ├── mqtt_client_api.h
│ │ ├── netconn_client.h
│ │ ├── netconn_server.h
│ │ ├── netconn_server_1thread.h
│ │ ├── sntp.h
│ │ ├── station_manager.h
│ │ ├── telnet_server.h
│ │ └── utils.h
│ ├── mqtt_client.c
│ ├── mqtt_client_api.c
│ ├── mqtt_client_api_ha.c
│ ├── netconn_client.c
│ ├── netconn_client_ssl.c
│ ├── netconn_server.c
│ ├── netconn_server_1thread.c
│ ├── sntp.c
│ ├── station_manager.c
│ ├── telnet_server.c
│ └── utils.c
└── www/
├── css/
│ └── style.css
└── index.shtml
Showing preview only (438K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (4704 symbols across 199 files)
FILE: dev/main.c
type cmd_t (line 52) | typedef struct {
function main (line 99) | int
function main_thread (line 122) | static void
function input_thread (line 226) | static void
function lwespr_t (line 366) | static lwespr_t
function parse_str (line 467) | static uint8_t
function parse_num_u64 (line 498) | static uint8_t
function parse_num (line 557) | static uint8_t
FILE: docs/conf.py
function cmd_exec_print (line 35) | def cmd_exec_print(t):
FILE: docs/examples_src/command_nonblocking.c
function hostname_fn (line 4) | void
FILE: docs/examples_src/command_nonblocking_bad.c
function hostname_fn (line 4) | void
function check_hostname (line 15) | void
FILE: docs/examples_src/evt.c
function lwespr_t (line 5) | lwespr_t
FILE: docs/static/dark-light/dark-mode-toggle.mjs
constant PREFERS_COLOR_SCHEME (line 20) | const PREFERS_COLOR_SCHEME = 'prefers-color-scheme';
constant MEDIA (line 21) | const MEDIA = 'media';
constant LIGHT (line 22) | const LIGHT = 'light';
constant DARK (line 23) | const DARK = 'dark';
constant MQ_DARK (line 24) | const MQ_DARK = `(${PREFERS_COLOR_SCHEME}:${DARK})`;
constant MQ_LIGHT (line 25) | const MQ_LIGHT = `(${PREFERS_COLOR_SCHEME}:${LIGHT})`;
constant LINK_REL_STYLESHEET (line 26) | const LINK_REL_STYLESHEET = 'link[rel=stylesheet]';
constant REMEMBER (line 27) | const REMEMBER = 'remember';
constant LEGEND (line 28) | const LEGEND = 'legend';
constant TOGGLE (line 29) | const TOGGLE = 'toggle';
constant SWITCH (line 30) | const SWITCH = 'switch';
constant APPEARANCE (line 31) | const APPEARANCE = 'appearance';
constant PERMANENT (line 32) | const PERMANENT = 'permanent';
constant MODE (line 33) | const MODE = 'mode';
constant COLOR_SCHEME_CHANGE (line 34) | const COLOR_SCHEME_CHANGE = 'colorschemechange';
constant PERMANENT_COLOR_SCHEME (line 35) | const PERMANENT_COLOR_SCHEME = 'permanentcolorscheme';
constant ALL (line 36) | const ALL = 'all';
constant NOT_ALL (line 37) | const NOT_ALL = 'not all';
constant NAME (line 38) | const NAME = 'dark-mode-toggle';
constant DEFAULT_URL (line 39) | const DEFAULT_URL = 'https://googlechromelabs.github.io/dark-mode-toggle...
method get (line 46) | get() {
method set (line 50) | set(v) {
method get (line 59) | get() {
method set (line 62) | set(v) {
class DarkModeToggle (line 78) | class DarkModeToggle extends HTMLElement {
method observedAttributes (line 79) | static get observedAttributes() {
method constructor (line 83) | constructor() {
method _initializeDOM (line 112) | _initializeDOM() {
method attributeChangedCallback (line 206) | attributeChangedCallback(name, oldValue, newValue) {
method _dispatchEvent (line 251) | _dispatchEvent(type, value) {
method _updateAppearance (line 259) | _updateAppearance() {
method _updateRadios (line 271) | _updateRadios() {
method _updateCheckbox (line 279) | _updateCheckbox() {
method _updateMode (line 299) | _updateMode() {
method _showPermanentAside (line 321) | _showPermanentAside() {
FILE: examples/lib/FreeRTOS/CMSIS_RTOS/cmsis_os.c
function makeFreeRtosPriority (line 146) | static unsigned portBASE_TYPE makeFreeRtosPriority (osPriority priority)
function osPriority (line 159) | static osPriority makeCmsisPriority (unsigned portBASE_TYPE fpriority)
function inHandlerMode (line 173) | static int inHandlerMode (void)
function osStatus (line 193) | osStatus osKernelStart (void)
function osKernelRunning (line 208) | int32_t osKernelRunning(void)
function osKernelSysTick (line 227) | uint32_t osKernelSysTick(void)
function osThreadId (line 245) | osThreadId osThreadCreate (const osThreadDef_t *thread_def, void *argument)
function osThreadId (line 283) | osThreadId osThreadGetId (void)
function osStatus (line 298) | osStatus osThreadTerminate (osThreadId thread_id)
function osStatus (line 313) | osStatus osThreadYield (void)
function osStatus (line 327) | osStatus osThreadSetPriority (osThreadId thread_id, osPriority priority)
function osPriority (line 343) | osPriority osThreadGetPriority (osThreadId thread_id)
function osStatus (line 365) | osStatus osDelay (uint32_t millisec)
function osTimerId (line 400) | osTimerId osTimerCreate (const osTimerDef_t *timer_def, os_timer_type ty...
function osStatus (line 447) | osStatus osTimerStart (osTimerId timer_id, uint32_t millisec)
function osStatus (line 486) | osStatus osTimerStop (osTimerId timer_id)
function osStatus (line 515) | osStatus osTimerDelete (osTimerId timer_id)
function osSignalSet (line 545) | int32_t osSignalSet (osThreadId thread_id, int32_t signal)
function osEvent (line 586) | osEvent osSignalWait (int32_t signals, uint32_t millisec)
function osMutexId (line 640) | osMutexId osMutexCreate (const osMutexDef_t *mutex_def)
function osStatus (line 669) | osStatus osMutexWait (osMutexId mutex_id, uint32_t millisec)
function osStatus (line 709) | osStatus osMutexRelease (osMutexId mutex_id)
function osStatus (line 733) | osStatus osMutexDelete (osMutexId mutex_id)
function osSemaphoreId (line 755) | osSemaphoreId osSemaphoreCreate (const osSemaphoreDef_t *semaphore_def, ...
function osSemaphoreWait (line 822) | int32_t osSemaphoreWait (osSemaphoreId semaphore_id, uint32_t millisec)
function osStatus (line 862) | osStatus osSemaphoreRelease (osSemaphoreId semaphore_id)
function osStatus (line 889) | osStatus osSemaphoreDelete (osSemaphoreId semaphore_id)
type os_pool_cb_t (line 911) | typedef struct os_pool_cb {
function osPoolId (line 926) | osPoolId osPoolCreate (const osPoolDef_t *pool_def)
function osStatus (line 1042) | osStatus osPoolFree (osPoolId pool_id, void *block)
function osMessageQId (line 1086) | osMessageQId osMessageCreate (const osMessageQDef_t *queue_def, osThread...
function osStatus (line 1113) | osStatus osMessagePut (osMessageQId queue_id, uint32_t info, uint32_t mi...
function osEvent (line 1145) | osEvent osMessageGet (osMessageQId queue_id, uint32_t millisec)
type os_mailQ_cb_t (line 1201) | typedef struct os_mailQ_cb {
function osMailQId (line 1214) | osMailQId osMailCreate (const osMailQDef_t *queue_def, osThreadId thread...
function osStatus (line 1303) | osStatus osMailPut (osMailQId queue_id, void *mail)
function osEvent (line 1336) | osEvent osMailGet (osMailQId queue_id, uint32_t millisec)
function osStatus (line 1392) | osStatus osMailFree (osMailQId queue_id, void *mail)
function osThreadState (line 1427) | osThreadState osThreadGetState(osThreadId thread_id)
function osStatus (line 1465) | osStatus osThreadIsSuspended(osThreadId thread_id)
function osStatus (line 1478) | osStatus osThreadSuspend (osThreadId thread_id)
function osStatus (line 1494) | osStatus osThreadResume (osThreadId thread_id)
function osStatus (line 1518) | osStatus osThreadSuspendAll (void)
function osStatus (line 1529) | osStatus osThreadResumeAll (void)
function osStatus (line 1546) | osStatus osDelayUntil (uint32_t *PreviousWakeTime, uint32_t millisec)
function osStatus (line 1566) | osStatus osAbortDelay(osThreadId thread_id)
function osStatus (line 1587) | osStatus osThreadList (uint8_t *buffer)
function osEvent (line 1601) | osEvent osMessagePeek (osMessageQId queue_id, uint32_t millisec)
function osMessageWaiting (line 1642) | uint32_t osMessageWaiting(osMessageQId queue_id)
function osMessageAvailableSpace (line 1658) | uint32_t osMessageAvailableSpace(osMessageQId queue_id)
function osStatus (line 1668) | osStatus osMessageDelete (osMessageQId queue_id)
function osMutexId (line 1684) | osMutexId osRecursiveMutexCreate (const osMutexDef_t *mutex_def)
function osStatus (line 1710) | osStatus osRecursiveMutexRelease (osMutexId mutex_id)
function osStatus (line 1731) | osStatus osRecursiveMutexWait (osMutexId mutex_id, uint32_t millisec)
function osSemaphoreGetCount (line 1770) | uint32_t osSemaphoreGetCount(osSemaphoreId semaphore_id)
FILE: examples/lib/FreeRTOS/CMSIS_RTOS/cmsis_os.h
type osPriority (line 217) | typedef enum {
type osStatus (line 234) | typedef enum {
type osThreadState (line 254) | typedef enum {
type os_timer_type (line 266) | typedef enum {
type TaskHandle_t (line 283) | typedef TaskHandle_t osThreadId;
type TimerHandle_t (line 287) | typedef TimerHandle_t osTimerId;
type SemaphoreHandle_t (line 291) | typedef SemaphoreHandle_t osMutexId;
type SemaphoreHandle_t (line 295) | typedef SemaphoreHandle_t osSemaphoreId;
type os_pool_cb (line 299) | struct os_pool_cb
type QueueHandle_t (line 303) | typedef QueueHandle_t osMessageQId;
type os_mailQ_cb (line 307) | struct os_mailQ_cb
type StaticTask_t (line 312) | typedef StaticTask_t osStaticThreadDef_t;
type StaticTimer_t (line 313) | typedef StaticTimer_t osStaticTimerDef_t;
type StaticSemaphore_t (line 314) | typedef StaticSemaphore_t osStaticMutexDef_t;
type StaticSemaphore_t (line 315) | typedef StaticSemaphore_t osStaticSemaphoreDef_t;
type StaticQueue_t (line 316) | typedef StaticQueue_t osStaticMessageQDef_t;
type osThreadDef_t (line 325) | typedef struct os_thread_def {
type osTimerDef_t (line 339) | typedef struct os_timer_def {
type osMutexDef_t (line 348) | typedef struct os_mutex_def {
type osSemaphoreDef_t (line 357) | typedef struct os_semaphore_def {
type osPoolDef_t (line 366) | typedef struct os_pool_def {
type osMessageQDef_t (line 374) | typedef struct os_messageQ_def {
type osMailQDef_t (line 386) | typedef struct os_mailQ_def {
type osEvent (line 395) | typedef struct {
FILE: examples/lib/FreeRTOS/CMSIS_RTOS/cpu_utils.c
function vApplicationIdleHook (line 74) | void vApplicationIdleHook(void)
function vApplicationTickHook (line 88) | void vApplicationTickHook (void)
function StartIdleMonitor (line 110) | void StartIdleMonitor (void)
function EndIdleMonitor (line 123) | void EndIdleMonitor (void)
function osGetCPUUsage (line 138) | uint16_t osGetCPUUsage (void)
FILE: examples/lib/FreeRTOS/CMSIS_RTOS_V2/cmsis_os.h
type osPriority (line 159) | typedef enum {
type os_timer_type (line 182) | typedef enum {
type osStatus (line 195) | typedef enum {
type osStatus (line 213) | typedef int32_t osStatus;
type osThreadDef_t (line 268) | typedef struct os_thread_def {
type osThreadDef_t (line 275) | typedef struct os_thread_def {
type osTimerDef_t (line 283) | typedef struct os_timer_def {
type osTimerDef_t (line 287) | typedef struct os_timer_def {
type osMutexDef_t (line 295) | typedef struct os_mutex_def {
type osSemaphoreDef_t (line 304) | typedef struct os_semaphore_def {
type osPoolDef_t (line 313) | typedef struct os_pool_def {
type osPoolDef_t (line 319) | typedef struct os_pool_def {
type osMessageQDef_t (line 328) | typedef struct os_messageQ_def {
type osMessageQDef_t (line 333) | typedef struct os_messageQ_def {
type osMailQDef_t (line 341) | typedef struct os_mailQ_def {
type osMailQDef_t (line 347) | typedef struct os_mailQ_def {
type osEvent (line 358) | typedef struct {
FILE: examples/lib/FreeRTOS/CMSIS_RTOS_V2/cmsis_os2.c
type TimerCallback_t (line 91) | typedef struct {
function SysTick_Handler (line 124) | void SysTick_Handler (void) {
function osStatus_t (line 135) | osStatus_t osKernelInitialize (void) {
function osStatus_t (line 156) | osStatus_t osKernelGetInfo (osVersion_t *version, char *id_buf, uint32_t...
function osKernelState_t (line 173) | osKernelState_t osKernelGetState (void) {
function osStatus_t (line 198) | osStatus_t osKernelStart (void) {
function osKernelLock (line 217) | int32_t osKernelLock (void) {
function osKernelUnlock (line 244) | int32_t osKernelUnlock (void) {
function osKernelRestoreLock (line 276) | int32_t osKernelRestoreLock (int32_t lock) {
function osKernelGetTickCount (line 312) | uint32_t osKernelGetTickCount (void) {
function osKernelGetTickFreq (line 324) | uint32_t osKernelGetTickFreq (void) {
function osKernelGetSysTimerCount (line 328) | uint32_t osKernelGetSysTimerCount (void) {
function osKernelGetSysTimerFreq (line 342) | uint32_t osKernelGetSysTimerFreq (void) {
function osThreadId_t (line 348) | osThreadId_t osThreadNew (osThreadFunc_t func, void *argument, const osT...
function osThreadId_t (line 427) | osThreadId_t osThreadGetId (void) {
function osThreadState_t (line 439) | osThreadState_t osThreadGetState (osThreadId_t thread_id) {
function osThreadGetStackSpace (line 461) | uint32_t osThreadGetStackSpace (osThreadId_t thread_id) {
function osThreadGetStackSize (line 474) | uint32_t osThreadGetStackSize (osThreadId_t thread_id) {
function osStatus_t (line 484) | osStatus_t osThreadSetPriority (osThreadId_t thread_id, osPriority_t pri...
function osPriority_t (line 502) | osPriority_t osThreadGetPriority (osThreadId_t thread_id) {
function osStatus_t (line 515) | osStatus_t osThreadYield (void) {
function osStatus_t (line 528) | osStatus_t osThreadSuspend (osThreadId_t thread_id) {
function osStatus_t (line 546) | osStatus_t osThreadResume (osThreadId_t thread_id) {
function __NO_RETURN (line 564) | __NO_RETURN void osThreadExit (void) {
function osStatus_t (line 571) | osStatus_t osThreadTerminate (osThreadId_t thread_id) {
function osThreadGetCount (line 600) | uint32_t osThreadGetCount (void) {
function osThreadEnumerate (line 612) | uint32_t osThreadEnumerate (osThreadId_t *thread_array, uint32_t array_i...
function osThreadFlagsSet (line 640) | uint32_t osThreadFlagsSet (osThreadId_t thread_id, uint32_t flags) {
function osThreadFlagsClear (line 668) | uint32_t osThreadFlagsClear (uint32_t flags) {
function osThreadFlagsGet (line 698) | uint32_t osThreadFlagsGet (void) {
function osThreadFlagsWait (line 716) | uint32_t osThreadFlagsWait (uint32_t flags, uint32_t options, uint32_t t...
function osStatus_t (line 791) | osStatus_t osDelay (uint32_t ticks) {
function osStatus_t (line 808) | osStatus_t osDelayUntil (uint32_t ticks) {
function TimerCallback (line 827) | static void TimerCallback (TimerHandle_t hTimer) {
function osTimerId_t (line 837) | osTimerId_t osTimerNew (osTimerFunc_t func, osTimerType_t type, void *ar...
function osStatus_t (line 908) | osStatus_t osTimerStart (osTimerId_t timer_id, uint32_t ticks) {
function osStatus_t (line 929) | osStatus_t osTimerStop (osTimerId_t timer_id) {
function osTimerIsRunning (line 955) | uint32_t osTimerIsRunning (osTimerId_t timer_id) {
function osStatus_t (line 968) | osStatus_t osTimerDelete (osTimerId_t timer_id) {
function osEventFlagsId_t (line 999) | osEventFlagsId_t osEventFlagsNew (const osEventFlagsAttr_t *attr) {
function osEventFlagsSet (line 1035) | uint32_t osEventFlagsSet (osEventFlagsId_t ef_id, uint32_t flags) {
function osEventFlagsClear (line 1060) | uint32_t osEventFlagsClear (osEventFlagsId_t ef_id, uint32_t flags) {
function osEventFlagsGet (line 1081) | uint32_t osEventFlagsGet (osEventFlagsId_t ef_id) {
function osEventFlagsWait (line 1098) | uint32_t osEventFlagsWait (osEventFlagsId_t ef_id, uint32_t flags, uint3...
function osStatus_t (line 1148) | osStatus_t osEventFlagsDelete (osEventFlagsId_t ef_id) {
function osMutexId_t (line 1172) | osMutexId_t osMutexNew (const osMutexAttr_t *attr) {
function osStatus_t (line 1251) | osStatus_t osMutexAcquire (osMutexId_t mutex_id, uint32_t timeout) {
function osStatus_t (line 1292) | osStatus_t osMutexRelease (osMutexId_t mutex_id) {
function osThreadId_t (line 1325) | osThreadId_t osMutexGetOwner (osMutexId_t mutex_id) {
function osStatus_t (line 1340) | osStatus_t osMutexDelete (osMutexId_t mutex_id) {
function osSemaphoreId_t (line 1369) | osSemaphoreId_t osSemaphoreNew (uint32_t max_count, uint32_t initial_cou...
function osStatus_t (line 1436) | osStatus_t osSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t ti...
function osStatus_t (line 1473) | osStatus_t osSemaphoreRelease (osSemaphoreId_t semaphore_id) {
function osSemaphoreGetCount (line 1501) | uint32_t osSemaphoreGetCount (osSemaphoreId_t semaphore_id) {
function osStatus_t (line 1517) | osStatus_t osSemaphoreDelete (osSemaphoreId_t semaphore_id) {
function osMessageQueueId_t (line 1545) | osMessageQueueId_t osMessageQueueNew (uint32_t msg_count, uint32_t msg_s...
function osStatus_t (line 1598) | osStatus_t osMessageQueuePut (osMessageQueueId_t mq_id, const void *msg_...
function osStatus_t (line 1639) | osStatus_t osMessageQueueGet (osMessageQueueId_t mq_id, void *msg_ptr, u...
function osMessageQueueGetCapacity (line 1680) | uint32_t osMessageQueueGetCapacity (osMessageQueueId_t mq_id) {
function osMessageQueueGetMsgSize (line 1694) | uint32_t osMessageQueueGetMsgSize (osMessageQueueId_t mq_id) {
function osMessageQueueGetCount (line 1708) | uint32_t osMessageQueueGetCount (osMessageQueueId_t mq_id) {
function osMessageQueueGetSpace (line 1725) | uint32_t osMessageQueueGetSpace (osMessageQueueId_t mq_id) {
function osStatus_t (line 1748) | osStatus_t osMessageQueueReset (osMessageQueueId_t mq_id) {
function osStatus_t (line 1766) | osStatus_t osMessageQueueDelete (osMessageQueueId_t mq_id) {
function __WEAK (line 1805) | __WEAK void vApplicationIdleHook (void){}
function __WEAK (line 1812) | __WEAK void vApplicationTickHook (void){}
function __WEAK (line 1819) | __WEAK void vApplicationMallocFailedHook (void){}
function __WEAK (line 1826) | __WEAK void vApplicationDaemonTaskStartupHook (void){}
function __WEAK (line 1833) | __WEAK void vApplicationStackOverflowHook (TaskHandle_t xTask, signed ch...
function vApplicationGetIdleTaskMemory (line 1857) | void vApplicationGetIdleTaskMemory (StaticTask_t **ppxIdleTaskTCBBuffer,...
function vApplicationGetTimerTaskMemory (line 1867) | void vApplicationGetTimerTaskMemory (StaticTask_t **ppxTimerTaskTCBBuffe...
FILE: examples/lib/FreeRTOS/CMSIS_RTOS_V2/cmsis_os2.h
type osVersion_t (line 54) | typedef struct {
type osKernelState_t (line 60) | typedef enum {
type osThreadState_t (line 71) | typedef enum {
type osPriority_t (line 82) | typedef enum {
type osTimerType_t (line 145) | typedef enum {
type osStatus_t (line 176) | typedef enum {
type TZ_ModuleId_t (line 213) | typedef uint32_t TZ_ModuleId_t;
type osThreadAttr_t (line 218) | typedef struct {
type osTimerAttr_t (line 231) | typedef struct {
type osEventFlagsAttr_t (line 239) | typedef struct {
type osMutexAttr_t (line 247) | typedef struct {
type osSemaphoreAttr_t (line 255) | typedef struct {
type osMemoryPoolAttr_t (line 263) | typedef struct {
type osMessageQueueAttr_t (line 273) | typedef struct {
FILE: examples/lib/FreeRTOS/croutine.c
function BaseType_t (line 102) | BaseType_t xCoRoutineCreate( crCOROUTINE_CODE pxCoRoutineCode, UBaseType...
function vCoRoutineAddToDelayedList (line 159) | void vCoRoutineAddToDelayedList( TickType_t xTicksToDelay, List_t *pxEve...
function prvCheckPendingReadyList (line 197) | static void prvCheckPendingReadyList( void )
function prvCheckDelayedList (line 220) | static void prvCheckDelayedList( void )
function vCoRoutineSchedule (line 278) | void vCoRoutineSchedule( void )
function prvInitialiseCoRoutineLists (line 308) | static void prvInitialiseCoRoutineLists( void )
function BaseType_t (line 328) | BaseType_t xCoRoutineRemoveFromEventList( const List_t *pxEventList )
FILE: examples/lib/FreeRTOS/event_groups.c
type EventGroup_t (line 63) | typedef struct EventGroupDef_t
function EventGroupHandle_t (line 93) | EventGroupHandle_t xEventGroupCreateStatic( StaticEventGroup_t *pxEventG...
function EventGroupHandle_t (line 145) | EventGroupHandle_t xEventGroupCreate( void )
function EventBits_t (line 191) | EventBits_t xEventGroupSync( EventGroupHandle_t xEventGroup, const Event...
function EventBits_t (line 311) | EventBits_t xEventGroupWaitBits( EventGroupHandle_t xEventGroup, const E...
function EventBits_t (line 461) | EventBits_t xEventGroupClearBits( EventGroupHandle_t xEventGroup, const ...
function BaseType_t (line 490) | BaseType_t xEventGroupClearBitsFromISR( EventGroupHandle_t xEventGroup, ...
function EventBits_t (line 503) | EventBits_t xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup )
function EventBits_t (line 519) | EventBits_t xEventGroupSetBits( EventGroupHandle_t xEventGroup, const Ev...
function vEventGroupDelete (line 613) | void vEventGroupDelete( EventGroupHandle_t xEventGroup )
function vEventGroupSetBitsCallback (line 657) | void vEventGroupSetBitsCallback( void *pvEventGroup, const uint32_t ulBi...
function vEventGroupClearBitsCallback (line 665) | void vEventGroupClearBitsCallback( void *pvEventGroup, const uint32_t ul...
function BaseType_t (line 671) | static BaseType_t prvTestWaitCondition( const EventBits_t uxCurrentEvent...
function BaseType_t (line 708) | BaseType_t xEventGroupSetBitsFromISR( EventGroupHandle_t xEventGroup, co...
function UBaseType_t (line 723) | UBaseType_t uxEventGroupGetNumber( void* xEventGroup )
function vEventGroupSetNumber (line 745) | void vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupN...
FILE: examples/lib/FreeRTOS/include/FreeRTOS.h
type xSTATIC_LIST_ITEM (line 1044) | struct xSTATIC_LIST_ITEM
type StaticListItem_t (line 1055) | typedef struct xSTATIC_LIST_ITEM StaticListItem_t;
type xSTATIC_MINI_LIST_ITEM (line 1058) | struct xSTATIC_MINI_LIST_ITEM
type StaticMiniListItem_t (line 1066) | typedef struct xSTATIC_MINI_LIST_ITEM StaticMiniListItem_t;
type StaticList_t (line 1069) | typedef struct xSTATIC_LIST
type StaticTask_t (line 1095) | typedef struct xSTATIC_TCB
type StaticQueue_t (line 1159) | typedef struct xSTATIC_QUEUE
type StaticQueue_t (line 1187) | typedef StaticQueue_t StaticSemaphore_t;
type StaticEventGroup_t (line 1203) | typedef struct xSTATIC_EVENT_GROUP
type StaticTimer_t (line 1232) | typedef struct xSTATIC_TIMER
type StaticStreamBuffer_t (line 1260) | typedef struct xSTATIC_STREAM_BUFFER
type StaticStreamBuffer_t (line 1271) | typedef StaticStreamBuffer_t StaticMessageBuffer_t;
FILE: examples/lib/FreeRTOS/include/croutine.h
type CRCB_t (line 49) | typedef struct corCoRoutineControlBlock
FILE: examples/lib/FreeRTOS/include/event_groups.h
type EventGroupDef_t (line 81) | struct EventGroupDef_t
type EventGroupDef_t (line 82) | struct EventGroupDef_t
type TickType_t (line 92) | typedef TickType_t EventBits_t;
FILE: examples/lib/FreeRTOS/include/list.h
type xLIST (line 139) | struct xLIST
type xLIST_ITEM (line 140) | struct xLIST_ITEM
type ListItem_t (line 150) | typedef struct xLIST_ITEM ListItem_t;
type xMINI_LIST_ITEM (line 152) | struct xMINI_LIST_ITEM
type MiniListItem_t (line 159) | typedef struct xMINI_LIST_ITEM MiniListItem_t;
FILE: examples/lib/FreeRTOS/include/portable.h
type HeapRegion_t (line 122) | typedef struct HeapRegion
type xMEMORY_REGION (line 172) | struct xMEMORY_REGION
type xMEMORY_REGION (line 173) | struct xMEMORY_REGION
FILE: examples/lib/FreeRTOS/include/queue.h
type QueueDefinition (line 47) | struct QueueDefinition
type QueueDefinition (line 48) | struct QueueDefinition
type QueueDefinition (line 55) | struct QueueDefinition
type QueueDefinition (line 62) | struct QueueDefinition
FILE: examples/lib/FreeRTOS/include/semphr.h
type QueueHandle_t (line 37) | typedef QueueHandle_t SemaphoreHandle_t;
FILE: examples/lib/FreeRTOS/include/stream_buffer.h
type StreamBufferDef_t (line 64) | struct StreamBufferDef_t
type StreamBufferDef_t (line 65) | struct StreamBufferDef_t
FILE: examples/lib/FreeRTOS/include/task.h
type tskTaskControlBlock (line 69) | struct tskTaskControlBlock
type tskTaskControlBlock (line 70) | struct tskTaskControlBlock
type BaseType_t (line 76) | typedef BaseType_t (*TaskHookFunction_t)( void * );
type eTaskState (line 79) | typedef enum
type eNotifyAction (line 90) | typedef enum
type TimeOut_t (line 102) | typedef struct xTIME_OUT
type MemoryRegion_t (line 111) | typedef struct xMEMORY_REGION
type TaskParameters_t (line 121) | typedef struct xTASK_PARAMETERS
type TaskStatus_t (line 137) | typedef struct xTASK_STATUS
type eSleepModeStatus (line 151) | typedef enum
FILE: examples/lib/FreeRTOS/include/timers.h
type tmrTimerControl (line 76) | struct tmrTimerControl
type tmrTimerControl (line 77) | struct tmrTimerControl
FILE: examples/lib/FreeRTOS/list.c
function vListInitialise (line 37) | void vListInitialise( List_t * const pxList )
function vListInitialiseItem (line 62) | void vListInitialiseItem( ListItem_t * const pxItem )
function vListInsertEnd (line 74) | void vListInsertEnd( List_t * const pxList, ListItem_t * const pxNewList...
function vListInsert (line 103) | void vListInsert( List_t * const pxList, ListItem_t * const pxNewListItem )
function UBaseType_t (line 170) | UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove )
FILE: examples/lib/FreeRTOS/portable/Common/mpu_wrappers.c
function BaseType_t (line 63) | BaseType_t xPortRaisePrivilege( void ) /* FREERTOS_SYSTEM_CALL */
function vPortResetPrivilege (line 80) | void vPortResetPrivilege( BaseType_t xRunningPrivileged )
function BaseType_t (line 90) | BaseType_t MPU_xTaskCreateRestricted( const TaskParameters_t * const pxT...
function BaseType_t (line 103) | BaseType_t MPU_xTaskCreateRestrictedStatic( const TaskParameters_t * con...
function BaseType_t (line 116) | BaseType_t MPU_xTaskCreate( TaskFunction_t pvTaskCode, const char * cons...
function TaskHandle_t (line 129) | TaskHandle_t MPU_xTaskCreateStatic( TaskFunction_t pxTaskCode, const cha...
function MPU_vTaskAllocateMPURegions (line 141) | void MPU_vTaskAllocateMPURegions( TaskHandle_t xTask, const MemoryRegion...
function MPU_vTaskDelete (line 151) | void MPU_vTaskDelete( TaskHandle_t pxTaskToDelete ) /* FREERTOS_SYSTEM_C...
function MPU_vTaskDelayUntil (line 162) | void MPU_vTaskDelayUntil( TickType_t * const pxPreviousWakeTime, TickTyp...
function BaseType_t (line 173) | BaseType_t MPU_xTaskAbortDelay( TaskHandle_t xTask ) /* FREERTOS_SYSTEM_...
function MPU_vTaskDelay (line 186) | void MPU_vTaskDelay( TickType_t xTicksToDelay ) /* FREERTOS_SYSTEM_CALL */
function UBaseType_t (line 197) | UBaseType_t MPU_uxTaskPriorityGet( const TaskHandle_t pxTask ) /* FREERT...
function MPU_vTaskPrioritySet (line 210) | void MPU_vTaskPrioritySet( TaskHandle_t pxTask, UBaseType_t uxNewPriorit...
function eTaskState (line 221) | eTaskState MPU_eTaskGetState( TaskHandle_t pxTask ) /* FREERTOS_SYSTEM_C...
function MPU_vTaskGetInfo (line 234) | void MPU_vTaskGetInfo( TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, B...
function TaskHandle_t (line 245) | TaskHandle_t MPU_xTaskGetIdleTaskHandle( void ) /* FREERTOS_SYSTEM_CALL */
function MPU_vTaskSuspend (line 258) | void MPU_vTaskSuspend( TaskHandle_t pxTaskToSuspend ) /* FREERTOS_SYSTEM...
function MPU_vTaskResume (line 269) | void MPU_vTaskResume( TaskHandle_t pxTaskToResume ) /* FREERTOS_SYSTEM_C...
function MPU_vTaskSuspendAll (line 279) | void MPU_vTaskSuspendAll( void ) /* FREERTOS_SYSTEM_CALL */
function BaseType_t (line 288) | BaseType_t MPU_xTaskResumeAll( void ) /* FREERTOS_SYSTEM_CALL */
function TickType_t (line 299) | TickType_t MPU_xTaskGetTickCount( void ) /* FREERTOS_SYSTEM_CALL */
function UBaseType_t (line 310) | UBaseType_t MPU_uxTaskGetNumberOfTasks( void ) /* FREERTOS_SYSTEM_CALL */
function TaskHandle_t (line 333) | TaskHandle_t MPU_xTaskGetHandle( const char *pcNameToQuery ) /* FREERTOS...
function MPU_vTaskList (line 346) | void MPU_vTaskList( char *pcWriteBuffer ) /* FREERTOS_SYSTEM_CALL */
function MPU_vTaskGetRunTimeStats (line 357) | void MPU_vTaskGetRunTimeStats( char *pcWriteBuffer ) /* FREERTOS_SYSTEM_...
function TickType_t (line 368) | TickType_t MPU_xTaskGetIdleRunTimeCounter( void ) /* FREERTOS_SYSTEM_CAL...
function MPU_vTaskSetApplicationTaskTag (line 381) | void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask, TaskHookFunctio...
function TaskHookFunction_t (line 392) | TaskHookFunction_t MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask ) ...
function MPU_vTaskSetThreadLocalStoragePointer (line 405) | void MPU_vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet, Bas...
function BaseType_t (line 429) | BaseType_t MPU_xTaskCallApplicationTaskHook( TaskHandle_t xTask, void *p...
function UBaseType_t (line 442) | UBaseType_t MPU_uxTaskGetSystemState( TaskStatus_t *pxTaskStatusArray, U...
function UBaseType_t (line 455) | UBaseType_t MPU_uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) /* FRE...
function configSTACK_DEPTH_TYPE (line 468) | configSTACK_DEPTH_TYPE MPU_uxTaskGetStackHighWaterMark2( TaskHandle_t xT...
function TaskHandle_t (line 481) | TaskHandle_t MPU_xTaskGetCurrentTaskHandle( void ) /* FREERTOS_SYSTEM_CA...
function BaseType_t (line 494) | BaseType_t MPU_xTaskGetSchedulerState( void ) /* FREERTOS_SYSTEM_CALL */
function MPU_vTaskSetTimeOutState (line 506) | void MPU_vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) /* FREERTOS...
function BaseType_t (line 515) | BaseType_t MPU_xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, TickTy...
function BaseType_t (line 527) | BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify, uint32_t ...
function BaseType_t (line 540) | BaseType_t MPU_xTaskNotifyWait( uint32_t ulBitsToClearOnEntry, uint32_t ...
function MPU_ulTaskNotifyTake (line 553) | uint32_t MPU_ulTaskNotifyTake( BaseType_t xClearCountOnExit, TickType_t ...
function BaseType_t (line 566) | BaseType_t MPU_xTaskNotifyStateClear( TaskHandle_t xTask ) /* FREERTOS_S...
function QueueHandle_t (line 579) | QueueHandle_t MPU_xQueueGenericCreate( UBaseType_t uxQueueLength, UBaseT...
function QueueHandle_t (line 592) | QueueHandle_t MPU_xQueueGenericCreateStatic( const UBaseType_t uxQueueLe...
function BaseType_t (line 604) | BaseType_t MPU_xQueueGenericReset( QueueHandle_t pxQueue, BaseType_t xNe...
function BaseType_t (line 615) | BaseType_t MPU_xQueueGenericSend( QueueHandle_t xQueue, const void * con...
function UBaseType_t (line 626) | UBaseType_t MPU_uxQueueMessagesWaiting( const QueueHandle_t pxQueue ) /*...
function UBaseType_t (line 637) | UBaseType_t MPU_uxQueueSpacesAvailable( const QueueHandle_t xQueue ) /* ...
function BaseType_t (line 648) | BaseType_t MPU_xQueueReceive( QueueHandle_t pxQueue, void * const pvBuff...
function BaseType_t (line 659) | BaseType_t MPU_xQueuePeek( QueueHandle_t xQueue, void * const pvBuffer, ...
function BaseType_t (line 670) | BaseType_t MPU_xQueueSemaphoreTake( QueueHandle_t xQueue, TickType_t xTi...
function TaskHandle_t (line 682) | TaskHandle_t MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore ) /* FRE...
function QueueHandle_t (line 695) | QueueHandle_t MPU_xQueueCreateMutex( const uint8_t ucQueueType ) /* FREE...
function QueueHandle_t (line 708) | QueueHandle_t MPU_xQueueCreateMutexStatic( const uint8_t ucQueueType, St...
function QueueHandle_t (line 721) | QueueHandle_t MPU_xQueueCreateCountingSemaphore( UBaseType_t uxCountValu...
function QueueHandle_t (line 735) | QueueHandle_t MPU_xQueueCreateCountingSemaphoreStatic( const UBaseType_t...
function BaseType_t (line 748) | BaseType_t MPU_xQueueTakeMutexRecursive( QueueHandle_t xMutex, TickType_...
function BaseType_t (line 761) | BaseType_t MPU_xQueueGiveMutexRecursive( QueueHandle_t xMutex ) /* FREER...
function QueueSetHandle_t (line 774) | QueueSetHandle_t MPU_xQueueCreateSet( UBaseType_t uxEventQueueLength ) /...
function QueueSetMemberHandle_t (line 787) | QueueSetMemberHandle_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueS...
function BaseType_t (line 800) | BaseType_t MPU_xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore,...
function BaseType_t (line 813) | BaseType_t MPU_xQueueRemoveFromSet( QueueSetMemberHandle_t xQueueOrSemap...
function MPU_vQueueAddToRegistry (line 826) | void MPU_vQueueAddToRegistry( QueueHandle_t xQueue, const char *pcName )...
function MPU_vQueueUnregisterQueue (line 838) | void MPU_vQueueUnregisterQueue( QueueHandle_t xQueue ) /* FREERTOS_SYSTE...
function MPU_vQueueDelete (line 863) | void MPU_vQueueDelete( QueueHandle_t xQueue ) /* FREERTOS_SYSTEM_CALL */
function MPU_vPortFree (line 889) | void MPU_vPortFree( void *pv ) /* FREERTOS_SYSTEM_CALL */
function MPU_vPortInitialiseBlocks (line 901) | void MPU_vPortInitialiseBlocks( void ) /* FREERTOS_SYSTEM_CALL */
function MPU_xPortGetFreeHeapSize (line 913) | size_t MPU_xPortGetFreeHeapSize( void ) /* FREERTOS_SYSTEM_CALL */
function TimerHandle_t (line 928) | TimerHandle_t MPU_xTimerCreate( const char * const pcTimerName, const Ti...
function TimerHandle_t (line 942) | TimerHandle_t MPU_xTimerCreateStatic( const char * const pcTimerName, co...
function MPU_vTimerSetTimerID (line 970) | void MPU_vTimerSetTimerID( TimerHandle_t xTimer, void *pvNewID ) /* FREE...
function BaseType_t (line 981) | BaseType_t MPU_xTimerIsTimerActive( TimerHandle_t xTimer ) /* FREERTOS_S...
function TaskHandle_t (line 995) | TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void ) /* FREERTOS_SYST...
function BaseType_t (line 1009) | BaseType_t MPU_xTimerPendFunctionCall( PendedFunction_t xFunctionToPend,...
function MPU_vTimerSetReloadMode (line 1023) | void MPU_vTimerSetReloadMode( TimerHandle_t xTimer, const UBaseType_t ux...
function TickType_t (line 1048) | TickType_t MPU_xTimerGetPeriod( TimerHandle_t xTimer ) /* FREERTOS_SYSTE...
function TickType_t (line 1062) | TickType_t MPU_xTimerGetExpiryTime( TimerHandle_t xTimer ) /* FREERTOS_S...
function BaseType_t (line 1076) | BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer, const BaseTyp...
function EventGroupHandle_t (line 1090) | EventGroupHandle_t MPU_xEventGroupCreate( void ) /* FREERTOS_SYSTEM_CALL */
function EventGroupHandle_t (line 1104) | EventGroupHandle_t MPU_xEventGroupCreateStatic( StaticEventGroup_t *pxEv...
function EventBits_t (line 1117) | EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup, con...
function EventBits_t (line 1129) | EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, co...
function EventBits_t (line 1141) | EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, cons...
function EventBits_t (line 1153) | EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, const E...
function MPU_vEventGroupDelete (line 1165) | void MPU_vEventGroupDelete( EventGroupHandle_t xEventGroup ) /* FREERTOS...
function MPU_xStreamBufferSend (line 1174) | size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, const ...
function MPU_xStreamBufferNextMessageLengthBytes (line 1186) | size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xSt...
function MPU_xStreamBufferReceive (line 1198) | size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, voi...
function MPU_vStreamBufferDelete (line 1210) | void MPU_vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) /* FR...
function BaseType_t (line 1219) | BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer )...
function BaseType_t (line 1231) | BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ...
function BaseType_t (line 1243) | BaseType_t MPU_xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) ...
function MPU_xStreamBufferSpacesAvailable (line 1255) | size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuf...
function MPU_xStreamBufferBytesAvailable (line 1267) | size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuff...
function BaseType_t (line 1279) | BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStrea...
function StreamBufferHandle_t (line 1292) | StreamBufferHandle_t MPU_xStreamBufferGenericCreate( size_t xBufferSizeB...
function StreamBufferHandle_t (line 1306) | StreamBufferHandle_t MPU_xStreamBufferGenericCreateStatic( size_t xBuffe...
FILE: examples/lib/FreeRTOS/portable/GCC/ARM_CM4F/port.c
function StackType_t (line 187) | StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunct...
function prvTaskExitError (line 217) | static void prvTaskExitError( void )
function vPortSVCHandler (line 242) | void vPortSVCHandler( void )
function prvPortStartFirstTask (line 261) | static void prvPortStartFirstTask( void )
function BaseType_t (line 287) | BaseType_t xPortStartScheduler( void )
function vPortEndScheduler (line 395) | void vPortEndScheduler( void )
function vPortEnterCritical (line 403) | void vPortEnterCritical( void )
function vPortExitCritical (line 420) | void vPortExitCritical( void )
function xPortPendSVHandler (line 431) | void xPortPendSVHandler( void )
function xPortSysTickHandler (line 488) | void xPortSysTickHandler( void )
function vPortSuppressTicksAndSleep (line 510) | __attribute__((weak)) void vPortSuppressTicksAndSleep( TickType_t xExpec...
function vPortSetupTimerInterrupt (line 679) | __attribute__(( weak )) void vPortSetupTimerInterrupt( void )
function vPortEnableVFP (line 701) | static void vPortEnableVFP( void )
function vPortValidateInterruptPriority (line 717) | void vPortValidateInterruptPriority( void )
FILE: examples/lib/FreeRTOS/portable/GCC/ARM_CM4F/portmacro.h
type portSTACK_TYPE (line 55) | typedef portSTACK_TYPE StackType_t;
type BaseType_t (line 56) | typedef long BaseType_t;
type UBaseType_t (line 57) | typedef unsigned long UBaseType_t;
type TickType_t (line 60) | typedef uint16_t TickType_t;
type TickType_t (line 63) | typedef uint32_t TickType_t;
function ucPortCountLeadingZeros (line 130) | __attribute__( ( always_inline ) ) static inline uint8_t ucPortCountLead...
function portFORCE_INLINE (line 169) | portFORCE_INLINE static BaseType_t xPortIsInsideInterrupt( void )
function portFORCE_INLINE (line 191) | portFORCE_INLINE static void vPortRaiseBASEPRI( void )
function portFORCE_INLINE (line 207) | portFORCE_INLINE static uint32_t ulPortRaiseBASEPRI( void )
function portFORCE_INLINE (line 227) | portFORCE_INLINE static void vPortSetBASEPRI( uint32_t ulNewMaskValue )
FILE: examples/lib/FreeRTOS/portable/MemMang/heap_1.c
function vPortFree (line 121) | void vPortFree( void *pv )
function vPortInitialiseBlocks (line 133) | void vPortInitialiseBlocks( void )
function xPortGetFreeHeapSize (line 140) | size_t xPortGetFreeHeapSize( void )
FILE: examples/lib/FreeRTOS/portable/MemMang/heap_2.c
type BlockLink_t (line 73) | typedef struct A_BLOCK_LINK
function vPortFree (line 210) | void vPortFree( void *pv )
function xPortGetFreeHeapSize (line 237) | size_t xPortGetFreeHeapSize( void )
function vPortInitialiseBlocks (line 243) | void vPortInitialiseBlocks( void )
function prvHeapInit (line 249) | static void prvHeapInit( void )
FILE: examples/lib/FreeRTOS/portable/MemMang/heap_3.c
function vPortFree (line 83) | void vPortFree( void *pv )
FILE: examples/lib/FreeRTOS/portable/MemMang/heap_4.c
type BlockLink_t (line 69) | typedef struct A_BLOCK_LINK
function vPortFree (line 263) | void vPortFree( void *pv )
function xPortGetFreeHeapSize (line 311) | size_t xPortGetFreeHeapSize( void )
function xPortGetMinimumEverFreeHeapSize (line 317) | size_t xPortGetMinimumEverFreeHeapSize( void )
function vPortInitialiseBlocks (line 323) | void vPortInitialiseBlocks( void )
function prvHeapInit (line 329) | static void prvHeapInit( void )
function prvInsertBlockIntoFreeList (line 377) | static void prvInsertBlockIntoFreeList( BlockLink_t *pxBlockToInsert )
FILE: examples/lib/FreeRTOS/portable/MemMang/heap_5.c
type BlockLink_t (line 94) | typedef struct A_BLOCK_LINK
function vPortFree (line 272) | void vPortFree( void *pv )
function xPortGetFreeHeapSize (line 320) | size_t xPortGetFreeHeapSize( void )
function xPortGetMinimumEverFreeHeapSize (line 326) | size_t xPortGetMinimumEverFreeHeapSize( void )
function prvInsertBlockIntoFreeList (line 332) | static void prvInsertBlockIntoFreeList( BlockLink_t *pxBlockToInsert )
function vPortDefineHeapRegions (line 393) | void vPortDefineHeapRegions( const HeapRegion_t * const pxHeapRegions )
FILE: examples/lib/FreeRTOS/queue.c
type QueuePointers_t (line 67) | typedef struct QueuePointers
type SemaphoreData_t (line 73) | typedef struct SemaphoreData
type xQUEUE (line 97) | typedef struct QueueDefinition /* The old naming convention is used to...
type xQUEUE (line 135) | typedef xQUEUE Queue_t;
type xQueueRegistryItem (line 148) | typedef struct QUEUE_REGISTRY_ITEM
type xQueueRegistryItem (line 157) | typedef xQueueRegistryItem QueueRegistryItem_t;
function BaseType_t (line 255) | BaseType_t xQueueGenericReset( QueueHandle_t xQueue, BaseType_t xNewQueue )
function QueueHandle_t (line 310) | QueueHandle_t xQueueGenericCreateStatic( const UBaseType_t uxQueueLength...
function QueueHandle_t (line 368) | QueueHandle_t xQueueGenericCreate( const UBaseType_t uxQueueLength, cons...
function prvInitialiseNewQueue (line 429) | static void prvInitialiseNewQueue( const UBaseType_t uxQueueLength, cons...
function prvInitialiseMutex (line 473) | static void prvInitialiseMutex( Queue_t *pxNewQueue )
function QueueHandle_t (line 503) | QueueHandle_t xQueueCreateMutex( const uint8_t ucQueueType )
function QueueHandle_t (line 519) | QueueHandle_t xQueueCreateMutexStatic( const uint8_t ucQueueType, Static...
function TaskHandle_t (line 539) | TaskHandle_t xQueueGetMutexHolder( QueueHandle_t xSemaphore )
function TaskHandle_t (line 570) | TaskHandle_t xQueueGetMutexHolderFromISR( QueueHandle_t xSemaphore )
function BaseType_t (line 596) | BaseType_t xQueueGiveMutexRecursive( QueueHandle_t xMutex )
function BaseType_t (line 651) | BaseType_t xQueueTakeMutexRecursive( QueueHandle_t xMutex, TickType_t xT...
function QueueHandle_t (line 693) | QueueHandle_t xQueueCreateCountingSemaphoreStatic( const UBaseType_t uxM...
function QueueHandle_t (line 721) | QueueHandle_t xQueueCreateCountingSemaphore( const UBaseType_t uxMaxCoun...
function BaseType_t (line 747) | BaseType_t xQueueGenericSend( QueueHandle_t xQueue, const void * const p...
function BaseType_t (line 957) | BaseType_t xQueueGenericSendFromISR( QueueHandle_t xQueue, const void * ...
function BaseType_t (line 1108) | BaseType_t xQueueGiveFromISR( QueueHandle_t xQueue, BaseType_t * const p...
function BaseType_t (line 1273) | BaseType_t xQueueReceive( QueueHandle_t xQueue, void * const pvBuffer, T...
function BaseType_t (line 1414) | BaseType_t xQueueSemaphoreTake( QueueHandle_t xQueue, TickType_t xTicksT...
function BaseType_t (line 1632) | BaseType_t xQueuePeek( QueueHandle_t xQueue, void * const pvBuffer, Tick...
function BaseType_t (line 1781) | BaseType_t xQueueReceiveFromISR( QueueHandle_t xQueue, void * const pvBu...
function BaseType_t (line 1872) | BaseType_t xQueuePeekFromISR( QueueHandle_t xQueue, void * const pvBuff...
function UBaseType_t (line 1926) | UBaseType_t uxQueueMessagesWaiting( const QueueHandle_t xQueue )
function UBaseType_t (line 1942) | UBaseType_t uxQueueSpacesAvailable( const QueueHandle_t xQueue )
function UBaseType_t (line 1959) | UBaseType_t uxQueueMessagesWaitingFromISR( const QueueHandle_t xQueue )
function vQueueDelete (line 1971) | void vQueueDelete( QueueHandle_t xQueue )
function UBaseType_t (line 2015) | UBaseType_t uxQueueGetQueueNumber( QueueHandle_t xQueue )
function vQueueSetQueueNumber (line 2025) | void vQueueSetQueueNumber( QueueHandle_t xQueue, UBaseType_t uxQueueNumb...
function ucQueueGetQueueType (line 2035) | uint8_t ucQueueGetQueueType( QueueHandle_t xQueue )
function UBaseType_t (line 2045) | static UBaseType_t prvGetDisinheritPriorityAfterTimeout( const Queue_t *...
function BaseType_t (line 2070) | static BaseType_t prvCopyDataToQueue( Queue_t * const pxQueue, const voi...
function prvCopyDataFromQueue (line 2149) | static void prvCopyDataFromQueue( Queue_t * const pxQueue, void * const ...
function prvUnlockQueue (line 2167) | static void prvUnlockQueue( Queue_t * const pxQueue )
function BaseType_t (line 2287) | static BaseType_t prvIsQueueEmpty( const Queue_t *pxQueue )
function BaseType_t (line 2308) | BaseType_t xQueueIsQueueEmptyFromISR( const QueueHandle_t xQueue )
function BaseType_t (line 2327) | static BaseType_t prvIsQueueFull( const Queue_t *pxQueue )
function BaseType_t (line 2348) | BaseType_t xQueueIsQueueFullFromISR( const QueueHandle_t xQueue )
function BaseType_t (line 2369) | BaseType_t xQueueCRSend( QueueHandle_t xQueue, const void *pvItemToQueue...
function BaseType_t (line 2446) | BaseType_t xQueueCRReceive( QueueHandle_t xQueue, void *pvBuffer, TickTy...
function BaseType_t (line 2536) | BaseType_t xQueueCRSendFromISR( QueueHandle_t xQueue, const void *pvItem...
function BaseType_t (line 2584) | BaseType_t xQueueCRReceiveFromISR( QueueHandle_t xQueue, void *pvBuffer,...
function vQueueAddToRegistry (line 2644) | void vQueueAddToRegistry( QueueHandle_t xQueue, const char *pcQueueName ...
function vQueueUnregisterQueue (line 2701) | void vQueueUnregisterQueue( QueueHandle_t xQueue )
function vQueueWaitForMessageRestricted (line 2733) | void vQueueWaitForMessageRestricted( QueueHandle_t xQueue, TickType_t xT...
function QueueSetHandle_t (line 2769) | QueueSetHandle_t xQueueCreateSet( const UBaseType_t uxEventQueueLength )
function BaseType_t (line 2783) | BaseType_t xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore, Que...
function BaseType_t (line 2816) | BaseType_t xQueueRemoveFromSet( QueueSetMemberHandle_t xQueueOrSemaphore...
function QueueSetMemberHandle_t (line 2852) | QueueSetMemberHandle_t xQueueSelectFromSet( QueueSetHandle_t xQueueSet, ...
function QueueSetMemberHandle_t (line 2865) | QueueSetMemberHandle_t xQueueSelectFromSetFromISR( QueueSetHandle_t xQue...
function BaseType_t (line 2878) | static BaseType_t prvNotifyQueueSetContainer( const Queue_t * const pxQu...
FILE: examples/lib/FreeRTOS/stream_buffer.c
type StreamBuffer_t (line 141) | typedef struct StreamBufferDef_t /*lint !e9058 Style convention uses tag...
function StreamBufferHandle_t (line 219) | StreamBufferHandle_t xStreamBufferGenericCreate( size_t xBufferSizeBytes...
function StreamBufferHandle_t (line 283) | StreamBufferHandle_t xStreamBufferGenericCreateStatic( size_t xBufferSiz...
function vStreamBufferDelete (line 359) | void vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer )
function BaseType_t (line 392) | BaseType_t xStreamBufferReset( StreamBufferHandle_t xStreamBuffer )
function BaseType_t (line 441) | BaseType_t xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuf...
function xStreamBufferSpacesAvailable (line 470) | size_t xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer )
function xStreamBufferBytesAvailable (line 494) | size_t xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer )
function xStreamBufferSend (line 506) | size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
function xStreamBufferSendFromISR (line 610) | size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer,
function prvWriteMessageToBuffer (line 661) | static size_t prvWriteMessageToBuffer( StreamBuffer_t * const pxStreamBu...
function xStreamBufferReceive (line 713) | size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
function xStreamBufferNextMessageLengthBytes (line 817) | size_t xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStream...
function xStreamBufferReceiveFromISR (line 861) | size_t xStreamBufferReceiveFromISR( StreamBufferHandle_t xStreamBuffer,
function prvReadMessageFromBuffer (line 918) | static size_t prvReadMessageFromBuffer( StreamBuffer_t *pxStreamBuffer,
function BaseType_t (line 970) | BaseType_t xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer )
function BaseType_t (line 993) | BaseType_t xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer )
function BaseType_t (line 1028) | BaseType_t xStreamBufferSendCompletedFromISR( StreamBufferHandle_t xStre...
function BaseType_t (line 1058) | BaseType_t xStreamBufferReceiveCompletedFromISR( StreamBufferHandle_t xS...
function prvWriteBytesToBuffer (line 1088) | static size_t prvWriteBytesToBuffer( StreamBuffer_t * const pxStreamBuff...
function prvReadBytesFromBuffer (line 1134) | static size_t prvReadBytesFromBuffer( StreamBuffer_t *pxStreamBuffer, ui...
function prvBytesInBuffer (line 1189) | static size_t prvBytesInBuffer( const StreamBuffer_t * const pxStreamBuf...
function prvInitialiseNewStreamBuffer (line 1209) | static void prvInitialiseNewStreamBuffer( StreamBuffer_t * const pxStrea...
function UBaseType_t (line 1237) | UBaseType_t uxStreamBufferGetStreamBufferNumber( StreamBufferHandle_t xS...
function vStreamBufferSetStreamBufferNumber (line 1247) | void vStreamBufferSetStreamBufferNumber( StreamBufferHandle_t xStreamBuf...
function ucStreamBufferGetStreamBufferType (line 1257) | uint8_t ucStreamBufferGetStreamBufferType( StreamBufferHandle_t xStreamB...
FILE: examples/lib/FreeRTOS/tasks.c
type tskTCB (line 252) | typedef struct tskTaskControlBlock /* The old naming convention is us...
type tskTCB (line 330) | typedef tskTCB TCB_t;
function TaskHandle_t (line 578) | TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,
function BaseType_t (line 635) | BaseType_t xTaskCreateRestrictedStatic( const TaskParameters_t * const p...
function BaseType_t (line 681) | BaseType_t xTaskCreateRestricted( const TaskParameters_t * const pxTaskD...
function BaseType_t (line 730) | BaseType_t xTaskCreate( TaskFunction_t pxTaskCode,
function prvInitialiseNewTask (line 821) | static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
function prvAddNewTaskToReadyList (line 1072) | static void prvAddNewTaskToReadyList( TCB_t *pxNewTCB )
function vTaskDelete (line 1157) | void vTaskDelete( TaskHandle_t xTaskToDelete )
function vTaskDelayUntil (line 1249) | void vTaskDelayUntil( TickType_t * const pxPreviousWakeTime, const TickT...
function vTaskDelay (line 1333) | void vTaskDelay( const TickType_t xTicksToDelay )
function eTaskState (line 1378) | eTaskState eTaskGetState( TaskHandle_t xTask )
function UBaseType_t (line 1470) | UBaseType_t uxTaskPriorityGet( const TaskHandle_t xTask )
function UBaseType_t (line 1492) | UBaseType_t uxTaskPriorityGetFromISR( const TaskHandle_t xTask )
function vTaskPrioritySet (line 1532) | void vTaskPrioritySet( TaskHandle_t xTask, UBaseType_t uxNewPriority )
function vTaskSuspend (line 1696) | void vTaskSuspend( TaskHandle_t xTaskToSuspend )
function BaseType_t (line 1797) | static BaseType_t prvTaskIsTaskSuspended( const TaskHandle_t xTask )
function vTaskResume (line 1843) | void vTaskResume( TaskHandle_t xTaskToResume )
function BaseType_t (line 1897) | BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume )
function vTaskStartScheduler (line 1967) | void vTaskStartScheduler( void )
function vTaskEndScheduler (line 2089) | void vTaskEndScheduler( void )
function vTaskSuspendAll (line 2100) | void vTaskSuspendAll( void )
function TickType_t (line 2113) | static TickType_t prvGetExpectedIdleTime( void )
function BaseType_t (line 2174) | BaseType_t xTaskResumeAll( void )
function TickType_t (line 2284) | TickType_t xTaskGetTickCount( void )
function TickType_t (line 2299) | TickType_t xTaskGetTickCountFromISR( void )
function UBaseType_t (line 2330) | UBaseType_t uxTaskGetNumberOfTasks( void )
function TCB_t (line 2352) | static TCB_t *prvSearchForNameWithinSingleList( List_t *pxList, const ch...
function TaskHandle_t (line 2420) | TaskHandle_t xTaskGetHandle( const char *pcNameToQuery ) /*lint !e971 Un...
function UBaseType_t (line 2485) | UBaseType_t uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray...
function TaskHandle_t (line 2559) | TaskHandle_t xTaskGetIdleTaskHandle( void )
function vTaskStepTick (line 2576) | void vTaskStepTick( const TickType_t xTicksToJump )
function BaseType_t (line 2591) | BaseType_t xTaskAbortDelay( TaskHandle_t xTask )
function BaseType_t (line 2665) | BaseType_t xTaskIncrementTick( void )
function vTaskSetApplicationTaskTag (line 2839) | void vTaskSetApplicationTaskTag( TaskHandle_t xTask, TaskHookFunction_t ...
function TaskHookFunction_t (line 2868) | TaskHookFunction_t xTaskGetApplicationTaskTag( TaskHandle_t xTask )
function TaskHookFunction_t (line 2892) | TaskHookFunction_t xTaskGetApplicationTaskTagFromISR( TaskHandle_t xTask )
function BaseType_t (line 2917) | BaseType_t xTaskCallApplicationTaskHook( TaskHandle_t xTask, void *pvPar...
function vTaskSwitchContext (line 2947) | void vTaskSwitchContext( void )
function vTaskPlaceOnEventList (line 3020) | void vTaskPlaceOnEventList( List_t * const pxEventList, const TickType_t...
function vTaskPlaceOnUnorderedEventList (line 3037) | void vTaskPlaceOnUnorderedEventList( List_t * pxEventList, const TickTyp...
function vTaskPlaceOnEventListRestricted (line 3063) | void vTaskPlaceOnEventListRestricted( List_t * const pxEventList, TickTy...
function BaseType_t (line 3094) | BaseType_t xTaskRemoveFromEventList( const List_t * const pxEventList )
function vTaskRemoveFromUnorderedEventList (line 3162) | void vTaskRemoveFromUnorderedEventList( ListItem_t * pxEventListItem, co...
function vTaskSetTimeOutState (line 3196) | void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut )
function vTaskInternalSetTimeOutState (line 3208) | void vTaskInternalSetTimeOutState( TimeOut_t * const pxTimeOut )
function BaseType_t (line 3216) | BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, TickType_t...
function vTaskMissedYield (line 3279) | void vTaskMissedYield( void )
function UBaseType_t (line 3287) | UBaseType_t uxTaskGetTaskNumber( TaskHandle_t xTask )
function vTaskSetTaskNumber (line 3310) | void vTaskSetTaskNumber( TaskHandle_t xTask, const UBaseType_t uxHandle )
function eSleepModeStatus (line 3453) | eSleepModeStatus eTaskConfirmSleepModeStatus( void )
function vTaskSetThreadLocalStoragePointer (line 3493) | void vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet, BaseTyp...
function vTaskAllocateMPURegions (line 3532) | void vTaskAllocateMPURegions( TaskHandle_t xTaskToModify, const MemoryRe...
function prvInitialiseTaskLists (line 3546) | static void prvInitialiseTaskLists( void )
function prvCheckTasksWaitingTermination (line 3578) | static void prvCheckTasksWaitingTermination( void )
function vTaskGetInfo (line 3609) | void vTaskGetInfo( TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, BaseT...
function UBaseType_t (line 3705) | static UBaseType_t prvListTasksWithinSingleList( TaskStatus_t *pxTaskSta...
function configSTACK_DEPTH_TYPE (line 3738) | static configSTACK_DEPTH_TYPE prvTaskCheckFreeStackSpace( const uint8_t ...
function configSTACK_DEPTH_TYPE (line 3763) | configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask )
function UBaseType_t (line 3798) | UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask )
function prvDeleteTCB (line 3826) | static void prvDeleteTCB( TCB_t *pxTCB )
function prvResetNextTaskUnblockTime (line 3880) | static void prvResetNextTaskUnblockTime( void )
function TaskHandle_t (line 3906) | TaskHandle_t xTaskGetCurrentTaskHandle( void )
function BaseType_t (line 3923) | BaseType_t xTaskGetSchedulerState( void )
function BaseType_t (line 3951) | BaseType_t xTaskPriorityInherit( TaskHandle_t const pxMutexHolder )
function BaseType_t (line 4038) | BaseType_t xTaskPriorityDisinherit( TaskHandle_t const pxMutexHolder )
function vTaskPriorityDisinheritAfterTimeout (line 4118) | void vTaskPriorityDisinheritAfterTimeout( TaskHandle_t const pxMutexHold...
function vTaskEnterCritical (line 4220) | void vTaskEnterCritical( void )
function vTaskExitCritical (line 4250) | void vTaskExitCritical( void )
function vTaskList (line 4309) | void vTaskList( char * pcWriteBuffer )
function vTaskGetRunTimeStats (line 4408) | void vTaskGetRunTimeStats( char *pcWriteBuffer )
function TickType_t (line 4533) | TickType_t uxTaskResetEventItemValue( void )
function TaskHandle_t (line 4549) | TaskHandle_t pvTaskIncrementMutexHeldCount( void )
function ulTaskNotifyTake (line 4566) | uint32_t ulTaskNotifyTake( BaseType_t xClearCountOnExit, TickType_t xTic...
function BaseType_t (line 4634) | BaseType_t xTaskNotifyWait( uint32_t ulBitsToClearOnEntry, uint32_t ulBi...
function BaseType_t (line 4714) | BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify, uint32_t ulVa...
function BaseType_t (line 4828) | BaseType_t xTaskGenericNotifyFromISR( TaskHandle_t xTaskToNotify, uint32...
function vTaskNotifyGiveFromISR (line 4957) | void vTaskNotifyGiveFromISR( TaskHandle_t xTaskToNotify, BaseType_t *pxH...
function BaseType_t (line 5044) | BaseType_t xTaskNotifyStateClear( TaskHandle_t xTask )
function TickType_t (line 5074) | TickType_t xTaskGetIdleRunTimeCounter( void )
function prvAddCurrentTaskToDelayedList (line 5081) | static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait, con...
function freertos_tasks_c_additions_init (line 5206) | static void freertos_tasks_c_additions_init( void )
FILE: examples/lib/FreeRTOS/timers.c
type xTIMER (line 73) | typedef struct tmrTimerControl /* The old naming convention is used to p...
type xTIMER (line 88) | typedef xTIMER Timer_t;
type TimerParameter_t (line 95) | typedef struct tmrTimerParameters
type CallbackParameters_t (line 102) | typedef struct tmrCallbackParameters
type DaemonTaskMessage_t (line 111) | typedef struct tmrTimerQueueMessage
function BaseType_t (line 227) | BaseType_t xTimerCreateTimerTask( void )
function TimerHandle_t (line 282) | TimerHandle_t xTimerCreate( const char * const pcTimerName, /*lint !e9...
function TimerHandle_t (line 309) | TimerHandle_t xTimerCreateStatic( const char * const pcTimerName, /*lin...
function prvInitialiseNewTimer (line 349) | static void prvInitialiseNewTimer( const char * const pcTimerName, /*l...
function BaseType_t (line 381) | BaseType_t xTimerGenericCommand( TimerHandle_t xTimer, const BaseType_t ...
function TaskHandle_t (line 424) | TaskHandle_t xTimerGetTimerDaemonTaskHandle( void )
function TickType_t (line 433) | TickType_t xTimerGetPeriod( TimerHandle_t xTimer )
function vTimerSetReloadMode (line 442) | void vTimerSetReloadMode( TimerHandle_t xTimer, const UBaseType_t uxAuto...
function TickType_t (line 462) | TickType_t xTimerGetExpiryTime( TimerHandle_t xTimer )
function prvProcessExpiredTimer (line 482) | static void prvProcessExpiredTimer( const TickType_t xNextExpireTime, co...
function prvProcessTimerOrBlockTask (line 559) | static void prvProcessTimerOrBlockTask( const TickType_t xNextExpireTime...
function TickType_t (line 619) | static TickType_t prvGetNextExpireTime( BaseType_t * const pxListWasEmpty )
function TickType_t (line 645) | static TickType_t prvSampleTimeNow( BaseType_t * const pxTimerListsWereS...
function BaseType_t (line 668) | static BaseType_t prvInsertTimerInActiveList( Timer_t * const pxTimer, c...
function prvProcessReceivedCommands (line 709) | static void prvProcessReceivedCommands( void )
function prvSwitchTimerLists (line 857) | static void prvSwitchTimerLists( void )
function prvCheckForValidListAndQueue (line 916) | static void prvCheckForValidListAndQueue( void )
function BaseType_t (line 967) | BaseType_t xTimerIsTimerActive( TimerHandle_t xTimer )
function vTimerSetTimerID (line 1009) | void vTimerSetTimerID( TimerHandle_t xTimer, void *pvNewID )
function BaseType_t (line 1025) | BaseType_t xTimerPendFunctionCallFromISR( PendedFunction_t xFunctionToPe...
function BaseType_t (line 1049) | BaseType_t xTimerPendFunctionCall( PendedFunction_t xFunctionToPend, voi...
function UBaseType_t (line 1078) | UBaseType_t uxTimerGetTimerNumber( TimerHandle_t xTimer )
function vTimerSetTimerNumber (line 1088) | void vTimerSetTimerNumber( TimerHandle_t xTimer, UBaseType_t uxTimerNumb...
FILE: examples/lib/st/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h
type IRQn_Type (line 82) | typedef enum
type ADC_TypeDef (line 202) | typedef struct
type ADC_Common_TypeDef (line 226) | typedef struct
type CAN_TxMailBox_TypeDef (line 239) | typedef struct
type CAN_FIFOMailBox_TypeDef (line 251) | typedef struct
type CAN_FilterRegister_TypeDef (line 263) | typedef struct
type CAN_TypeDef (line 273) | typedef struct
type CRC_TypeDef (line 303) | typedef struct
type DAC_TypeDef (line 316) | typedef struct
type DBGMCU_TypeDef (line 338) | typedef struct
type DCMI_TypeDef (line 350) | typedef struct
type DMA_Stream_TypeDef (line 369) | typedef struct
type DMA_TypeDef (line 379) | typedef struct
type DMA2D_TypeDef (line 391) | typedef struct
type ETH_TypeDef (line 422) | typedef struct
type EXTI_TypeDef (line 497) | typedef struct
type FLASH_TypeDef (line 511) | typedef struct
type FMC_Bank1_TypeDef (line 526) | typedef struct
type FMC_Bank1E_TypeDef (line 535) | typedef struct
type FMC_Bank2_3_TypeDef (line 543) | typedef struct
type FMC_Bank4_TypeDef (line 565) | typedef struct
type FMC_Bank5_6_TypeDef (line 578) | typedef struct
type GPIO_TypeDef (line 591) | typedef struct
type SYSCFG_TypeDef (line 608) | typedef struct
type I2C_TypeDef (line 621) | typedef struct
type IWDG_TypeDef (line 639) | typedef struct
type LTDC_TypeDef (line 651) | typedef struct
type LTDC_Layer_TypeDef (line 676) | typedef struct
type PWR_TypeDef (line 698) | typedef struct
type RCC_TypeDef (line 708) | typedef struct
type RTC_TypeDef (line 748) | typedef struct
type SAI_TypeDef (line 796) | typedef struct
type SAI_Block_TypeDef (line 801) | typedef struct
type SDIO_TypeDef (line 817) | typedef struct
type SPI_TypeDef (line 845) | typedef struct
type TIM_TypeDef (line 863) | typedef struct
type USART_TypeDef (line 892) | typedef struct
type WWDG_TypeDef (line 907) | typedef struct
type RNG_TypeDef (line 918) | typedef struct
type USB_OTG_GlobalTypeDef (line 928) | typedef struct
type USB_OTG_DeviceTypeDef (line 953) | typedef struct
type USB_OTG_INEndpointTypeDef (line 980) | typedef struct
type USB_OTG_OUTEndpointTypeDef (line 995) | typedef struct
type USB_OTG_HostTypeDef (line 1009) | typedef struct
type USB_OTG_HostChannelTypeDef (line 1023) | typedef struct
FILE: examples/lib/st/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h
type FlagStatus (line 201) | typedef enum
type FunctionalState (line 207) | typedef enum
type ErrorStatus (line 214) | typedef enum
FILE: examples/lib/st/CMSIS/Device/ST/STM32L4xx/Include/stm32l496xx.h
type IRQn_Type (line 82) | typedef enum
type ADC_TypeDef (line 203) | typedef struct
type ADC_Common_TypeDef (line 245) | typedef struct
type DCMI_TypeDef (line 257) | typedef struct
type CAN_TxMailBox_TypeDef (line 276) | typedef struct
type CAN_FIFOMailBox_TypeDef (line 288) | typedef struct
type CAN_FilterRegister_TypeDef (line 300) | typedef struct
type CAN_TypeDef (line 310) | typedef struct
type COMP_TypeDef (line 341) | typedef struct
type COMP_Common_TypeDef (line 346) | typedef struct
type CRC_TypeDef (line 355) | typedef struct
type CRS_TypeDef (line 370) | typedef struct
type DAC_TypeDef (line 382) | typedef struct
type DFSDM_Filter_TypeDef (line 409) | typedef struct
type DFSDM_Channel_TypeDef (line 431) | typedef struct
type DBGMCU_TypeDef (line 445) | typedef struct
type DMA_Channel_TypeDef (line 459) | typedef struct
type DMA_TypeDef (line 467) | typedef struct
type DMA_Request_TypeDef (line 473) | typedef struct
type DMA2D_TypeDef (line 486) | typedef struct
type EXTI_TypeDef (line 517) | typedef struct
type FIREWALL_TypeDef (line 540) | typedef struct
type FLASH_TypeDef (line 558) | typedef struct
type FMC_Bank1_TypeDef (line 585) | typedef struct
type FMC_Bank1E_TypeDef (line 594) | typedef struct
type FMC_Bank3_TypeDef (line 603) | typedef struct
type GPIO_TypeDef (line 617) | typedef struct
type I2C_TypeDef (line 637) | typedef struct
type IWDG_TypeDef (line 656) | typedef struct
type LCD_TypeDef (line 669) | typedef struct
type LPTIM_TypeDef (line 682) | typedef struct
type OPAMP_TypeDef (line 699) | typedef struct
type OPAMP_Common_TypeDef (line 706) | typedef struct
type PWR_TypeDef (line 715) | typedef struct
type QUADSPI_TypeDef (line 750) | typedef struct
type RCC_TypeDef (line 772) | typedef struct
type RTC_TypeDef (line 819) | typedef struct
type SAI_TypeDef (line 879) | typedef struct
type SAI_Block_TypeDef (line 884) | typedef struct
type SDMMC_TypeDef (line 901) | typedef struct
type SPI_TypeDef (line 930) | typedef struct
type SWPMI_TypeDef (line 948) | typedef struct
type SYSCFG_TypeDef (line 967) | typedef struct
type TIM_TypeDef (line 984) | typedef struct
type TSC_TypeDef (line 1019) | typedef struct
type USART_TypeDef (line 1041) | typedef struct
type VREFBUF_TypeDef (line 1064) | typedef struct
type WWDG_TypeDef (line 1074) | typedef struct
type RNG_TypeDef (line 1085) | typedef struct
type USB_OTG_GlobalTypeDef (line 1095) | typedef struct
type USB_OTG_DeviceTypeDef (line 1129) | typedef struct
type USB_OTG_INEndpointTypeDef (line 1156) | typedef struct
type USB_OTG_OUTEndpointTypeDef (line 1171) | typedef struct
type USB_OTG_HostTypeDef (line 1185) | typedef struct
type USB_OTG_HostChannelTypeDef (line 1199) | typedef struct
FILE: examples/lib/st/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h
type FlagStatus (line 196) | typedef enum
type FunctionalState (line 202) | typedef enum
type ErrorStatus (line 209) | typedef enum
FILE: examples/lib/st/CMSIS/Include/arm_math.h
type arm_status (line 373) | typedef enum
type q7_t (line 387) | typedef int8_t q7_t;
type q15_t (line 392) | typedef int16_t q15_t;
type q31_t (line 397) | typedef int32_t q31_t;
type q63_t (line 402) | typedef int64_t q63_t;
type float32_t (line 407) | typedef float float32_t;
type float64_t (line 412) | typedef double float64_t;
function __INLINE (line 484) | static __INLINE q31_t clip_q63_to_q31(
function __INLINE (line 494) | static __INLINE q15_t clip_q63_to_q15(
function __INLINE (line 504) | static __INLINE q7_t clip_q31_to_q7(
function __INLINE (line 514) | static __INLINE q15_t clip_q31_to_q15(
function __INLINE (line 525) | static __INLINE q63_t mult32x64(
function __INLINE (line 543) | static __INLINE uint32_t __CLZ(
function __INLINE (line 563) | static __INLINE uint32_t arm_recip_q31(
function __INLINE (line 614) | static __INLINE uint32_t arm_recip_q15(
function __INLINE (line 666) | static __INLINE q31_t __SSAT(
function __INLINE (line 710) | static __INLINE uint32_t __QADD8(
function __INLINE (line 728) | static __INLINE uint32_t __QSUB8(
function __INLINE (line 746) | static __INLINE uint32_t __QADD16(
function __INLINE (line 763) | static __INLINE uint32_t __SHADD16(
function __INLINE (line 779) | static __INLINE uint32_t __QSUB16(
function __INLINE (line 795) | static __INLINE uint32_t __SHSUB16(
function __INLINE (line 811) | static __INLINE uint32_t __QASX(
function __INLINE (line 827) | static __INLINE uint32_t __SHASX(
function __INLINE (line 843) | static __INLINE uint32_t __QSAX(
function __INLINE (line 859) | static __INLINE uint32_t __SHSAX(
function __INLINE (line 875) | static __INLINE uint32_t __SMUSDX(
function __INLINE (line 886) | static __INLINE uint32_t __SMUADX(
function __INLINE (line 898) | static __INLINE int32_t __QADD(
function __INLINE (line 909) | static __INLINE int32_t __QSUB(
function __INLINE (line 920) | static __INLINE uint32_t __SMLAD(
function __INLINE (line 934) | static __INLINE uint32_t __SMLADX(
function __INLINE (line 948) | static __INLINE uint32_t __SMLSDX(
function __INLINE (line 962) | static __INLINE uint64_t __SMLALD(
function __INLINE (line 977) | static __INLINE uint64_t __SMLALDX(
function __INLINE (line 992) | static __INLINE uint32_t __SMUAD(
function __INLINE (line 1004) | static __INLINE uint32_t __SMUSD(
function __INLINE (line 1016) | static __INLINE uint32_t __SXTB16(
type arm_fir_instance_q7 (line 1029) | typedef struct
type arm_fir_instance_q15 (line 1039) | typedef struct
type arm_fir_instance_q31 (line 1049) | typedef struct
type arm_fir_instance_f32 (line 1059) | typedef struct
type arm_biquad_casd_df1_inst_q15 (line 1220) | typedef struct
type arm_biquad_casd_df1_inst_q31 (line 1231) | typedef struct
type arm_biquad_casd_df1_inst_f32 (line 1242) | typedef struct
type arm_matrix_instance_f32 (line 1369) | typedef struct
type arm_matrix_instance_f64 (line 1380) | typedef struct
type arm_matrix_instance_q15 (line 1390) | typedef struct
type arm_matrix_instance_q31 (line 1400) | typedef struct
type arm_pid_instance_q15 (line 1737) | typedef struct
type arm_pid_instance_q31 (line 1755) | typedef struct
type arm_pid_instance_f32 (line 1769) | typedef struct
type arm_linear_interp_instance_f32 (line 1840) | typedef struct
type arm_bilinear_interp_instance_f32 (line 1851) | typedef struct
type arm_bilinear_interp_instance_q31 (line 1861) | typedef struct
type arm_bilinear_interp_instance_q15 (line 1871) | typedef struct
type arm_bilinear_interp_instance_q7 (line 1881) | typedef struct
type arm_cfft_radix2_instance_q15 (line 1948) | typedef struct
type arm_cfft_radix4_instance_q15 (line 1975) | typedef struct
type arm_cfft_radix2_instance_q31 (line 2001) | typedef struct
type arm_cfft_radix4_instance_q31 (line 2027) | typedef struct
type arm_cfft_radix2_instance_f32 (line 2053) | typedef struct
type arm_cfft_radix4_instance_f32 (line 2080) | typedef struct
type arm_cfft_instance_q15 (line 2107) | typedef struct
type arm_cfft_instance_q31 (line 2124) | typedef struct
type arm_cfft_instance_f32 (line 2141) | typedef struct
type arm_rfft_instance_q15 (line 2158) | typedef struct
type arm_rfft_instance_q31 (line 2183) | typedef struct
type arm_rfft_instance_f32 (line 2208) | typedef struct
type arm_rfft_fast_instance_f32 (line 2235) | typedef struct
type arm_dct4_instance_f32 (line 2254) | typedef struct
type arm_dct4_instance_q31 (line 2300) | typedef struct
type arm_dct4_instance_q15 (line 2346) | typedef struct
type arm_fir_decimate_instance_q15 (line 3269) | typedef struct
type arm_fir_decimate_instance_q31 (line 3280) | typedef struct
type arm_fir_decimate_instance_f32 (line 3291) | typedef struct
type arm_fir_interpolate_instance_q15 (line 3432) | typedef struct
type arm_fir_interpolate_instance_q31 (line 3443) | typedef struct
type arm_fir_interpolate_instance_f32 (line 3454) | typedef struct
type arm_biquad_cas_df1_32x64_ins_q31 (line 3568) | typedef struct
type arm_biquad_cascade_df2T_instance_f32 (line 3608) | typedef struct
type arm_biquad_cascade_stereo_df2T_instance_f32 (line 3618) | typedef struct
type arm_biquad_cascade_df2T_instance_f64 (line 3628) | typedef struct
type arm_fir_lattice_instance_q15 (line 3723) | typedef struct
type arm_fir_lattice_instance_q31 (line 3733) | typedef struct
type arm_fir_lattice_instance_f32 (line 3743) | typedef struct
type arm_iir_lattice_instance_q15 (line 3838) | typedef struct
type arm_iir_lattice_instance_q31 (line 3849) | typedef struct
type arm_iir_lattice_instance_f32 (line 3860) | typedef struct
type arm_lms_instance_f32 (line 3968) | typedef struct
type arm_lms_instance_q15 (line 4016) | typedef struct
type arm_lms_instance_q31 (line 4067) | typedef struct
type arm_lms_norm_instance_f32 (line 4118) | typedef struct
type arm_lms_norm_instance_q31 (line 4168) | typedef struct
type arm_lms_norm_instance_q15 (line 4222) | typedef struct
type arm_fir_sparse_instance_f32 (line 4430) | typedef struct
type arm_fir_sparse_instance_q31 (line 4443) | typedef struct
type arm_fir_sparse_instance_q15 (line 4456) | typedef struct
type arm_fir_sparse_instance_q7 (line 4469) | typedef struct
function __INLINE (line 4795) | static __INLINE float32_t arm_pid_f32(
function __INLINE (line 4829) | static __INLINE q31_t arm_pid_q31(
function __INLINE (line 4876) | static __INLINE q15_t arm_pid_q15(
function __INLINE (line 4987) | static __INLINE void arm_clarke_f32(
function __INLINE (line 5014) | static __INLINE void arm_clarke_q31(
function __INLINE (line 5084) | static __INLINE void arm_inv_clarke_f32(
function __INLINE (line 5111) | static __INLINE void arm_inv_clarke_q31(
function __INLINE (line 5194) | static __INLINE void arm_park_f32(
function __INLINE (line 5225) | static __INLINE void arm_park_q31(
function __INLINE (line 5307) | static __INLINE void arm_inv_park_f32(
function __INLINE (line 5338) | static __INLINE void arm_inv_park_q31(
function __INLINE (line 5433) | static __INLINE float32_t arm_linear_interp_f32(
function __INLINE (line 5490) | static __INLINE q31_t arm_linear_interp_q31(
function __INLINE (line 5548) | static __INLINE q15_t arm_linear_interp_q15(
function __INLINE (line 5605) | static __INLINE q7_t arm_linear_interp_q7(
function __INLINE (line 5745) | static __INLINE arm_status arm_sqrt_f32(
function __INLINE (line 5805) | static __INLINE void arm_circularWrite_f32(
function __INLINE (line 5850) | static __INLINE void arm_circularRead_f32(
function __INLINE (line 5905) | static __INLINE void arm_circularWrite_q15(
function __INLINE (line 5949) | static __INLINE void arm_circularRead_q15(
function __INLINE (line 6005) | static __INLINE void arm_circularWrite_q7(
function __INLINE (line 6049) | static __INLINE void arm_circularRead_q7(
function __INLINE (line 6752) | static __INLINE float32_t arm_bilinear_interp_f32(
function __INLINE (line 6818) | static __INLINE q31_t arm_bilinear_interp_q31(
function __INLINE (line 6892) | static __INLINE q15_t arm_bilinear_interp_q15(
function __INLINE (line 6970) | static __INLINE q7_t arm_bilinear_interp_q7(
FILE: examples/lib/st/CMSIS/Include/cmsis_armcc.h
function __STATIC_INLINE (line 130) | __STATIC_INLINE uint32_t __get_CONTROL(void)
function __STATIC_INLINE (line 142) | __STATIC_INLINE void __set_CONTROL(uint32_t control)
function __STATIC_INLINE (line 154) | __STATIC_INLINE uint32_t __get_IPSR(void)
function __STATIC_INLINE (line 166) | __STATIC_INLINE uint32_t __get_APSR(void)
function __STATIC_INLINE (line 178) | __STATIC_INLINE uint32_t __get_xPSR(void)
function __STATIC_INLINE (line 190) | __STATIC_INLINE uint32_t __get_PSP(void)
function __STATIC_INLINE (line 202) | __STATIC_INLINE void __set_PSP(uint32_t topOfProcStack)
function __STATIC_INLINE (line 214) | __STATIC_INLINE uint32_t __get_MSP(void)
function __STATIC_INLINE (line 226) | __STATIC_INLINE void __set_MSP(uint32_t topOfMainStack)
function __STATIC_INLINE (line 238) | __STATIC_INLINE uint32_t __get_PRIMASK(void)
function __STATIC_INLINE (line 250) | __STATIC_INLINE void __set_PRIMASK(uint32_t priMask)
function __STATIC_INLINE (line 281) | __STATIC_INLINE uint32_t __get_BASEPRI(void)
function __STATIC_INLINE (line 293) | __STATIC_INLINE void __set_BASEPRI(uint32_t basePri)
function __STATIC_INLINE (line 306) | __STATIC_INLINE void __set_BASEPRI_MAX(uint32_t basePri)
function __STATIC_INLINE (line 318) | __STATIC_INLINE uint32_t __get_FAULTMASK(void)
function __STATIC_INLINE (line 330) | __STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask)
function __STATIC_INLINE (line 345) | __STATIC_INLINE uint32_t __get_FPSCR(void)
function __STATIC_INLINE (line 362) | __STATIC_INLINE void __set_FPSCR(uint32_t fpscr)
function __REV16 (line 463) | uint32_t __REV16(uint32_t value)
function __REVSH (line 478) | int16_t __REVSH(int16_t value)
function __STATIC_INLINE (line 516) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __RBIT(uint32_t ...
function __RRX (line 665) | uint32_t __RRX(uint32_t value)
function __STATIC_INLINE (line 736) | __attribute__((always_inline)) __STATIC_INLINE int32_t __SSAT(int32_t va...
function __STATIC_INLINE (line 761) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __USAT(int32_t v...
FILE: examples/lib/st/CMSIS/Include/cmsis_armcc_V6.h
function __STATIC_INLINE (line 87) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __TZ_get_CONTROL...
function __STATIC_INLINE (line 102) | __attribute__((always_inline)) __STATIC_INLINE void __set_CONTROL(uint32...
function __STATIC_INLINE (line 114) | __attribute__((always_inline)) __STATIC_INLINE void __TZ_set_CONTROL_NS(...
function __STATIC_INLINE (line 126) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __get_IPSR(void)
function __STATIC_INLINE (line 141) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __TZ_get_IPSR_NS...
function __STATIC_INLINE (line 156) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __get_APSR(void)
function __STATIC_INLINE (line 171) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __TZ_get_APSR_NS...
function __STATIC_INLINE (line 186) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __get_xPSR(void)
function __STATIC_INLINE (line 201) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __TZ_get_xPSR_NS...
function __STATIC_INLINE (line 216) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __get_PSP(void)
function __STATIC_INLINE (line 231) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __TZ_get_PSP_NS(...
function __STATIC_INLINE (line 246) | __attribute__((always_inline)) __STATIC_INLINE void __set_PSP(uint32_t t...
function __STATIC_INLINE (line 258) | __attribute__((always_inline)) __STATIC_INLINE void __TZ_set_PSP_NS(uint...
function __STATIC_INLINE (line 270) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __get_MSP(void)
function __STATIC_INLINE (line 285) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __TZ_get_MSP_NS(...
function __STATIC_INLINE (line 300) | __attribute__((always_inline)) __STATIC_INLINE void __set_MSP(uint32_t t...
function __STATIC_INLINE (line 312) | __attribute__((always_inline)) __STATIC_INLINE void __TZ_set_MSP_NS(uint...
function __STATIC_INLINE (line 324) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __get_PRIMASK(void)
function __STATIC_INLINE (line 339) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __TZ_get_PRIMASK...
function __STATIC_INLINE (line 354) | __attribute__((always_inline)) __STATIC_INLINE void __set_PRIMASK(uint32...
function __STATIC_INLINE (line 366) | __attribute__((always_inline)) __STATIC_INLINE void __TZ_set_PRIMASK_NS(...
function __STATIC_INLINE (line 417) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __TZ_get_BASEPRI...
function __STATIC_INLINE (line 432) | __attribute__((always_inline)) __STATIC_INLINE void __set_BASEPRI(uint32...
function __STATIC_INLINE (line 444) | __attribute__((always_inline)) __STATIC_INLINE void __TZ_set_BASEPRI_NS(...
function __STATIC_INLINE (line 457) | __attribute__((always_inline)) __STATIC_INLINE void __set_BASEPRI_MAX(ui...
function __STATIC_INLINE (line 470) | __attribute__((always_inline)) __STATIC_INLINE void __TZ_set_BASEPRI_MAX...
function __STATIC_INLINE (line 482) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __get_FAULTMASK(...
function __STATIC_INLINE (line 497) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __TZ_get_FAULTMA...
function __STATIC_INLINE (line 512) | __attribute__((always_inline)) __STATIC_INLINE void __set_FAULTMASK(uint...
function __STATIC_INLINE (line 524) | __attribute__((always_inline)) __STATIC_INLINE void __TZ_set_FAULTMASK_N...
function __STATIC_INLINE (line 541) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __get_PSPLIM(void)
function __STATIC_INLINE (line 556) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __TZ_get_PSPLIM_...
function __STATIC_INLINE (line 571) | __attribute__((always_inline)) __STATIC_INLINE void __set_PSPLIM(uint32_...
function __STATIC_INLINE (line 583) | __attribute__((always_inline)) __STATIC_INLINE void __TZ_set_PSPLIM_NS(u...
function __STATIC_INLINE (line 595) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __get_MSPLIM(void)
function __STATIC_INLINE (line 611) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __TZ_get_MSPLIM_...
function __STATIC_INLINE (line 626) | __attribute__((always_inline)) __STATIC_INLINE void __set_MSPLIM(uint32_...
function __STATIC_INLINE (line 638) | __attribute__((always_inline)) __STATIC_INLINE void __TZ_set_MSPLIM_NS(u...
function __STATIC_INLINE (line 656) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __get_FPSCR(void)
function __STATIC_INLINE (line 677) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __TZ_get_FPSCR_N...
function __STATIC_INLINE (line 700) | __attribute__((always_inline)) __STATIC_INLINE void __set_FPSCR(uint32_t...
function __STATIC_INLINE (line 716) | __attribute__((always_inline)) __STATIC_INLINE void __TZ_set_FPSCR_NS(ui...
function __STATIC_INLINE (line 819) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __REV16(uint32_t...
function __STATIC_INLINE (line 836) | __attribute__((always_inline)) __STATIC_INLINE int32_t __REVSH(int32_t v...
function __STATIC_INLINE (line 852) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __ROR(uint32_t o...
function __STATIC_INLINE (line 875) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __RBIT(uint32_t ...
function __STATIC_INLINE (line 1016) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __RRX(uint32_t v...
function __STATIC_INLINE (line 1031) | __attribute__((always_inline)) __STATIC_INLINE uint8_t __LDRBT(volatile ...
function __STATIC_INLINE (line 1046) | __attribute__((always_inline)) __STATIC_INLINE uint16_t __LDRHT(volatile...
function __STATIC_INLINE (line 1061) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __LDRT(volatile ...
function __STATIC_INLINE (line 1076) | __attribute__((always_inline)) __STATIC_INLINE void __STRBT(uint8_t valu...
function __STATIC_INLINE (line 1088) | __attribute__((always_inline)) __STATIC_INLINE void __STRHT(uint16_t val...
function __STATIC_INLINE (line 1100) | __attribute__((always_inline)) __STATIC_INLINE void __STRT(uint32_t valu...
function __STATIC_INLINE (line 1116) | __attribute__((always_inline)) __STATIC_INLINE uint8_t __LDAB(volatile u...
function __STATIC_INLINE (line 1131) | __attribute__((always_inline)) __STATIC_INLINE uint16_t __LDAH(volatile ...
function __STATIC_INLINE (line 1146) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __LDA(volatile u...
function __STATIC_INLINE (line 1161) | __attribute__((always_inline)) __STATIC_INLINE void __STLB(uint8_t value...
function __STATIC_INLINE (line 1173) | __attribute__((always_inline)) __STATIC_INLINE void __STLH(uint16_t valu...
function __STATIC_INLINE (line 1185) | __attribute__((always_inline)) __STATIC_INLINE void __STL(uint32_t value...
function __STATIC_INLINE (line 1263) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SADD8(uint32_t...
function __STATIC_INLINE (line 1271) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __QADD8(uint32_t...
function __STATIC_INLINE (line 1279) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SHADD8(uint32_...
function __STATIC_INLINE (line 1287) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UADD8(uint32_t...
function __STATIC_INLINE (line 1295) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UQADD8(uint32_...
function __STATIC_INLINE (line 1303) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UHADD8(uint32_...
function __STATIC_INLINE (line 1312) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SSUB8(uint32_t...
function __STATIC_INLINE (line 1320) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __QSUB8(uint32_t...
function __STATIC_INLINE (line 1328) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SHSUB8(uint32_...
function __STATIC_INLINE (line 1336) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __USUB8(uint32_t...
function __STATIC_INLINE (line 1344) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UQSUB8(uint32_...
function __STATIC_INLINE (line 1352) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UHSUB8(uint32_...
function __STATIC_INLINE (line 1361) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SADD16(uint32_...
function __STATIC_INLINE (line 1369) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __QADD16(uint32_...
function __STATIC_INLINE (line 1377) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SHADD16(uint32...
function __STATIC_INLINE (line 1385) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UADD16(uint32_...
function __STATIC_INLINE (line 1393) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UQADD16(uint32...
function __STATIC_INLINE (line 1401) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UHADD16(uint32...
function __STATIC_INLINE (line 1409) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SSUB16(uint32_...
function __STATIC_INLINE (line 1417) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __QSUB16(uint32_...
function __STATIC_INLINE (line 1425) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SHSUB16(uint32...
function __STATIC_INLINE (line 1433) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __USUB16(uint32_...
function __STATIC_INLINE (line 1441) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UQSUB16(uint32...
function __STATIC_INLINE (line 1449) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UHSUB16(uint32...
function __STATIC_INLINE (line 1457) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SASX(uint32_t ...
function __STATIC_INLINE (line 1465) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __QASX(uint32_t ...
function __STATIC_INLINE (line 1473) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SHASX(uint32_t...
function __STATIC_INLINE (line 1481) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UASX(uint32_t ...
function __STATIC_INLINE (line 1489) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UQASX(uint32_t...
function __STATIC_INLINE (line 1497) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UHASX(uint32_t...
function __STATIC_INLINE (line 1505) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SSAX(uint32_t ...
function __STATIC_INLINE (line 1513) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __QSAX(uint32_t ...
function __STATIC_INLINE (line 1521) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SHSAX(uint32_t...
function __STATIC_INLINE (line 1529) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __USAX(uint32_t ...
function __STATIC_INLINE (line 1537) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UQSAX(uint32_t...
function __STATIC_INLINE (line 1545) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UHSAX(uint32_t...
function __STATIC_INLINE (line 1553) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __USAD8(uint32_t...
function __STATIC_INLINE (line 1561) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __USADA8(uint32_...
function __STATIC_INLINE (line 1583) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UXTB16(uint32_...
function __STATIC_INLINE (line 1591) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __UXTAB16(uint32...
function __STATIC_INLINE (line 1599) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SXTB16(uint32_...
function __STATIC_INLINE (line 1607) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SXTAB16(uint32...
function __STATIC_INLINE (line 1615) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SMUAD (uint32...
function __STATIC_INLINE (line 1623) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SMUADX (uint32...
function __STATIC_INLINE (line 1631) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SMLAD (uint32_...
function __STATIC_INLINE (line 1639) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SMLADX (uint32...
function __STATIC_INLINE (line 1647) | __attribute__((always_inline)) __STATIC_INLINE uint64_t __SMLALD (uint32...
function __STATIC_INLINE (line 1664) | __attribute__((always_inline)) __STATIC_INLINE uint64_t __SMLALDX (uint3...
function __STATIC_INLINE (line 1681) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SMUSD (uint32...
function __STATIC_INLINE (line 1689) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SMUSDX (uint32...
function __STATIC_INLINE (line 1697) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SMLSD (uint32_...
function __STATIC_INLINE (line 1705) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SMLSDX (uint32...
function __STATIC_INLINE (line 1713) | __attribute__((always_inline)) __STATIC_INLINE uint64_t __SMLSLD (uint32...
function __STATIC_INLINE (line 1730) | __attribute__((always_inline)) __STATIC_INLINE uint64_t __SMLSLDX (uint3...
function __STATIC_INLINE (line 1747) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SEL (uint32_t...
function __STATIC_INLINE (line 1755) | __attribute__((always_inline)) __STATIC_INLINE int32_t __QADD( int32_t ...
function __STATIC_INLINE (line 1763) | __attribute__((always_inline)) __STATIC_INLINE int32_t __QSUB( int32_t ...
function __STATIC_INLINE (line 1788) | __attribute__((always_inline)) __STATIC_INLINE uint32_t __SMMLA (int32_t...
FILE: examples/lib/st/CMSIS/Include/cmsis_armclang.h
type T_UINT32 (line 71) | struct __attribute__((packed)) T_UINT32 { uint32_t v; }
function __PACKED_STRUCT (line 79) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
function __PACKED_STRUCT (line 87) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
function __PACKED_STRUCT (line 95) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
function __PACKED_STRUCT (line 103) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }
function __STATIC_FORCEINLINE (line 142) | __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
function __STATIC_FORCEINLINE (line 157) | __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
function __STATIC_FORCEINLINE (line 172) | __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
function __STATIC_FORCEINLINE (line 184) | __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
function __STATIC_FORCEINLINE (line 196) | __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
function __STATIC_FORCEINLINE (line 210) | __STATIC_FORCEINLINE uint32_t __get_APSR(void)
function __STATIC_FORCEINLINE (line 224) | __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
function __STATIC_FORCEINLINE (line 238) | __STATIC_FORCEINLINE uint32_t __get_PSP(void)
function __STATIC_FORCEINLINE (line 253) | __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
function __STATIC_FORCEINLINE (line 268) | __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
function __STATIC_FORCEINLINE (line 280) | __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
function __STATIC_FORCEINLINE (line 292) | __STATIC_FORCEINLINE uint32_t __get_MSP(void)
function __STATIC_FORCEINLINE (line 307) | __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
function __STATIC_FORCEINLINE (line 322) | __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
function __STATIC_FORCEINLINE (line 334) | __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
function __STATIC_FORCEINLINE (line 347) | __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
function __STATIC_FORCEINLINE (line 361) | __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
function __STATIC_FORCEINLINE (line 373) | __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
function __STATIC_FORCEINLINE (line 388) | __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
function __STATIC_FORCEINLINE (line 403) | __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
function __STATIC_FORCEINLINE (line 415) | __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
function __STATIC_FORCEINLINE (line 446) | __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
function __STATIC_FORCEINLINE (line 461) | __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
function __STATIC_FORCEINLINE (line 476) | __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
function __STATIC_FORCEINLINE (line 488) | __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
function __STATIC_FORCEINLINE (line 501) | __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
function __STATIC_FORCEINLINE (line 512) | __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
function __STATIC_FORCEINLINE (line 527) | __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
function __STATIC_FORCEINLINE (line 542) | __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
function __STATIC_FORCEINLINE (line 554) | __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
function __STATIC_FORCEINLINE (line 577) | __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
function __STATIC_FORCEINLINE (line 600) | __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
function __STATIC_FORCEINLINE (line 623) | __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
function __STATIC_FORCEINLINE (line 645) | __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
function __STATIC_FORCEINLINE (line 665) | __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
function __STATIC_FORCEINLINE (line 688) | __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
function __STATIC_FORCEINLINE (line 710) | __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
function __STATIC_FORCEINLINE (line 731) | __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
function __STATIC_FORCEINLINE (line 876) | __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1021) | __STATIC_FORCEINLINE uint32_t __RRX(uint32_t value)
function __STATIC_FORCEINLINE (line 1036) | __STATIC_FORCEINLINE uint8_t __LDRBT(volatile uint8_t *ptr)
function __STATIC_FORCEINLINE (line 1051) | __STATIC_FORCEINLINE uint16_t __LDRHT(volatile uint16_t *ptr)
function __STATIC_FORCEINLINE (line 1066) | __STATIC_FORCEINLINE uint32_t __LDRT(volatile uint32_t *ptr)
function __STATIC_FORCEINLINE (line 1081) | __STATIC_FORCEINLINE void __STRBT(uint8_t value, volatile uint8_t *ptr)
function __STATIC_FORCEINLINE (line 1093) | __STATIC_FORCEINLINE void __STRHT(uint16_t value, volatile uint16_t *ptr)
function __STATIC_FORCEINLINE (line 1105) | __STATIC_FORCEINLINE void __STRT(uint32_t value, volatile uint32_t *ptr)
function __STATIC_FORCEINLINE (line 1121) | __STATIC_FORCEINLINE int32_t __SSAT(int32_t val, uint32_t sat)
function __STATIC_FORCEINLINE (line 1146) | __STATIC_FORCEINLINE uint32_t __USAT(int32_t val, uint32_t sat)
function __STATIC_FORCEINLINE (line 1176) | __STATIC_FORCEINLINE uint8_t __LDAB(volatile uint8_t *ptr)
function __STATIC_FORCEINLINE (line 1191) | __STATIC_FORCEINLINE uint16_t __LDAH(volatile uint16_t *ptr)
function __STATIC_FORCEINLINE (line 1206) | __STATIC_FORCEINLINE uint32_t __LDA(volatile uint32_t *ptr)
function __STATIC_FORCEINLINE (line 1221) | __STATIC_FORCEINLINE void __STLB(uint8_t value, volatile uint8_t *ptr)
function __STATIC_FORCEINLINE (line 1233) | __STATIC_FORCEINLINE void __STLH(uint16_t value, volatile uint16_t *ptr)
function __STATIC_FORCEINLINE (line 1245) | __STATIC_FORCEINLINE void __STL(uint32_t value, volatile uint32_t *ptr)
function __STATIC_FORCEINLINE (line 1324) | __STATIC_FORCEINLINE uint32_t __SADD8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1332) | __STATIC_FORCEINLINE uint32_t __QADD8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1340) | __STATIC_FORCEINLINE uint32_t __SHADD8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1348) | __STATIC_FORCEINLINE uint32_t __UADD8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1356) | __STATIC_FORCEINLINE uint32_t __UQADD8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1364) | __STATIC_FORCEINLINE uint32_t __UHADD8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1373) | __STATIC_FORCEINLINE uint32_t __SSUB8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1381) | __STATIC_FORCEINLINE uint32_t __QSUB8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1389) | __STATIC_FORCEINLINE uint32_t __SHSUB8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1397) | __STATIC_FORCEINLINE uint32_t __USUB8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1405) | __STATIC_FORCEINLINE uint32_t __UQSUB8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1413) | __STATIC_FORCEINLINE uint32_t __UHSUB8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1422) | __STATIC_FORCEINLINE uint32_t __SADD16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1430) | __STATIC_FORCEINLINE uint32_t __QADD16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1438) | __STATIC_FORCEINLINE uint32_t __SHADD16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1446) | __STATIC_FORCEINLINE uint32_t __UADD16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1454) | __STATIC_FORCEINLINE uint32_t __UQADD16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1462) | __STATIC_FORCEINLINE uint32_t __UHADD16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1470) | __STATIC_FORCEINLINE uint32_t __SSUB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1478) | __STATIC_FORCEINLINE uint32_t __QSUB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1486) | __STATIC_FORCEINLINE uint32_t __SHSUB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1494) | __STATIC_FORCEINLINE uint32_t __USUB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1502) | __STATIC_FORCEINLINE uint32_t __UQSUB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1510) | __STATIC_FORCEINLINE uint32_t __UHSUB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1518) | __STATIC_FORCEINLINE uint32_t __SASX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1526) | __STATIC_FORCEINLINE uint32_t __QASX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1534) | __STATIC_FORCEINLINE uint32_t __SHASX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1542) | __STATIC_FORCEINLINE uint32_t __UASX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1550) | __STATIC_FORCEINLINE uint32_t __UQASX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1558) | __STATIC_FORCEINLINE uint32_t __UHASX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1566) | __STATIC_FORCEINLINE uint32_t __SSAX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1574) | __STATIC_FORCEINLINE uint32_t __QSAX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1582) | __STATIC_FORCEINLINE uint32_t __SHSAX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1590) | __STATIC_FORCEINLINE uint32_t __USAX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1598) | __STATIC_FORCEINLINE uint32_t __UQSAX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1606) | __STATIC_FORCEINLINE uint32_t __UHSAX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1614) | __STATIC_FORCEINLINE uint32_t __USAD8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1622) | __STATIC_FORCEINLINE uint32_t __USADA8(uint32_t op1, uint32_t op2, uint3...
function __STATIC_FORCEINLINE (line 1644) | __STATIC_FORCEINLINE uint32_t __UXTB16(uint32_t op1)
function __STATIC_FORCEINLINE (line 1652) | __STATIC_FORCEINLINE uint32_t __UXTAB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1660) | __STATIC_FORCEINLINE uint32_t __SXTB16(uint32_t op1)
function __STATIC_FORCEINLINE (line 1668) | __STATIC_FORCEINLINE uint32_t __SXTAB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1676) | __STATIC_FORCEINLINE uint32_t __SMUAD (uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1684) | __STATIC_FORCEINLINE uint32_t __SMUADX (uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1692) | __STATIC_FORCEINLINE uint32_t __SMLAD (uint32_t op1, uint32_t op2, uint3...
function __STATIC_FORCEINLINE (line 1700) | __STATIC_FORCEINLINE uint32_t __SMLADX (uint32_t op1, uint32_t op2, uint...
function __STATIC_FORCEINLINE (line 1708) | __STATIC_FORCEINLINE uint64_t __SMLALD (uint32_t op1, uint32_t op2, uint...
function __STATIC_FORCEINLINE (line 1725) | __STATIC_FORCEINLINE uint64_t __SMLALDX (uint32_t op1, uint32_t op2, uin...
function __STATIC_FORCEINLINE (line 1742) | __STATIC_FORCEINLINE uint32_t __SMUSD (uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1750) | __STATIC_FORCEINLINE uint32_t __SMUSDX (uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1758) | __STATIC_FORCEINLINE uint32_t __SMLSD (uint32_t op1, uint32_t op2, uint3...
function __STATIC_FORCEINLINE (line 1766) | __STATIC_FORCEINLINE uint32_t __SMLSDX (uint32_t op1, uint32_t op2, uint...
function __STATIC_FORCEINLINE (line 1774) | __STATIC_FORCEINLINE uint64_t __SMLSLD (uint32_t op1, uint32_t op2, uint...
function __STATIC_FORCEINLINE (line 1791) | __STATIC_FORCEINLINE uint64_t __SMLSLDX (uint32_t op1, uint32_t op2, uin...
function __STATIC_FORCEINLINE (line 1808) | __STATIC_FORCEINLINE uint32_t __SEL (uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1816) | __STATIC_FORCEINLINE int32_t __QADD( int32_t op1, int32_t op2)
function __STATIC_FORCEINLINE (line 1824) | __STATIC_FORCEINLINE int32_t __QSUB( int32_t op1, int32_t op2)
function __STATIC_FORCEINLINE (line 1857) | __STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t ...
FILE: examples/lib/st/CMSIS/Include/cmsis_compiler.h
type T_UINT32 (line 95) | struct __attribute__((packed)) T_UINT32 { uint32_t v; }
function __PACKED_STRUCT (line 99) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
function __PACKED_STRUCT (line 103) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
function __PACKED_STRUCT (line 107) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
function __PACKED_STRUCT (line 111) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }
function T_UINT32 (line 164) | struct __packed__ T_UINT32 { uint32_t v; }
function __PACKED_STRUCT (line 168) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
function __PACKED_STRUCT (line 172) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
function __PACKED_STRUCT (line 176) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
function __PACKED_STRUCT (line 180) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }
function packed (line 231) | packed struct T_UINT32 { uint32_t v; }
function __PACKED_STRUCT (line 235) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
function __PACKED_STRUCT (line 239) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
function __PACKED_STRUCT (line 243) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
function __PACKED_STRUCT (line 247) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }
FILE: examples/lib/st/CMSIS/Include/cmsis_gcc.h
type T_UINT32 (line 74) | struct __attribute__((packed)) T_UINT32 { uint32_t v; }
function __PACKED_STRUCT (line 82) | __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }
function __PACKED_STRUCT (line 90) | __PACKED_STRUCT T_UINT16_READ { uint16_t v; }
function __PACKED_STRUCT (line 98) | __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }
function __PACKED_STRUCT (line 106) | __PACKED_STRUCT T_UINT32_READ { uint32_t v; }
function __STATIC_FORCEINLINE (line 166) | __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
function __STATIC_FORCEINLINE (line 181) | __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
function __STATIC_FORCEINLINE (line 193) | __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
function __STATIC_FORCEINLINE (line 205) | __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
function __STATIC_FORCEINLINE (line 219) | __STATIC_FORCEINLINE uint32_t __get_APSR(void)
function __STATIC_FORCEINLINE (line 233) | __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
function __STATIC_FORCEINLINE (line 247) | __STATIC_FORCEINLINE uint32_t __get_PSP(void)
function __STATIC_FORCEINLINE (line 262) | __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
function __STATIC_FORCEINLINE (line 277) | __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
function __STATIC_FORCEINLINE (line 289) | __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
function __STATIC_FORCEINLINE (line 301) | __STATIC_FORCEINLINE uint32_t __get_MSP(void)
function __STATIC_FORCEINLINE (line 316) | __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
function __STATIC_FORCEINLINE (line 331) | __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
function __STATIC_FORCEINLINE (line 343) | __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
function __STATIC_FORCEINLINE (line 356) | __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
function __STATIC_FORCEINLINE (line 370) | __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
function __STATIC_FORCEINLINE (line 382) | __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
function __STATIC_FORCEINLINE (line 397) | __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
function __STATIC_FORCEINLINE (line 412) | __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
function __STATIC_FORCEINLINE (line 424) | __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
function __STATIC_FORCEINLINE (line 476) | __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
function __STATIC_FORCEINLINE (line 491) | __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
function __STATIC_FORCEINLINE (line 503) | __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
function __STATIC_FORCEINLINE (line 516) | __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
function __STATIC_FORCEINLINE (line 527) | __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
function __STATIC_FORCEINLINE (line 542) | __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
function __STATIC_FORCEINLINE (line 557) | __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
function __STATIC_FORCEINLINE (line 569) | __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
function __STATIC_FORCEINLINE (line 592) | __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
function __STATIC_FORCEINLINE (line 614) | __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
function __STATIC_FORCEINLINE (line 637) | __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
function __STATIC_FORCEINLINE (line 658) | __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
function __STATIC_FORCEINLINE (line 679) | __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
function __STATIC_FORCEINLINE (line 702) | __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
function __STATIC_FORCEINLINE (line 725) | __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
function __STATIC_FORCEINLINE (line 746) | __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
function __STATIC_FORCEINLINE (line 766) | __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
function __STATIC_FORCEINLINE (line 792) | __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
function __STATIC_FORCEINLINE (line 919) | __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
function __STATIC_FORCEINLINE (line 934) | __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
function __STATIC_FORCEINLINE (line 954) | __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 981) | __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
function __STATIC_FORCEINLINE (line 1024) | __STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr)
function __STATIC_FORCEINLINE (line 1046) | __STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr)
function __STATIC_FORCEINLINE (line 1068) | __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr)
function __STATIC_FORCEINLINE (line 1085) | __STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *...
function __STATIC_FORCEINLINE (line 1102) | __STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t...
function __STATIC_FORCEINLINE (line 1119) | __STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t...
function __STATIC_FORCEINLINE (line 1132) | __STATIC_FORCEINLINE void __CLREX(void)
function __STATIC_FORCEINLINE (line 1185) | __STATIC_FORCEINLINE uint32_t __RRX(uint32_t value)
function __STATIC_FORCEINLINE (line 1200) | __STATIC_FORCEINLINE uint8_t __LDRBT(volatile uint8_t *ptr)
function __STATIC_FORCEINLINE (line 1222) | __STATIC_FORCEINLINE uint16_t __LDRHT(volatile uint16_t *ptr)
function __STATIC_FORCEINLINE (line 1244) | __STATIC_FORCEINLINE uint32_t __LDRT(volatile uint32_t *ptr)
function __STATIC_FORCEINLINE (line 1259) | __STATIC_FORCEINLINE void __STRBT(uint8_t value, volatile uint8_t *ptr)
function __STATIC_FORCEINLINE (line 1271) | __STATIC_FORCEINLINE void __STRHT(uint16_t value, volatile uint16_t *ptr)
function __STATIC_FORCEINLINE (line 1283) | __STATIC_FORCEINLINE void __STRT(uint32_t value, volatile uint32_t *ptr)
function __STATIC_FORCEINLINE (line 1299) | __STATIC_FORCEINLINE int32_t __SSAT(int32_t val, uint32_t sat)
function __STATIC_FORCEINLINE (line 1324) | __STATIC_FORCEINLINE uint32_t __USAT(int32_t val, uint32_t sat)
function __STATIC_FORCEINLINE (line 1354) | __STATIC_FORCEINLINE uint8_t __LDAB(volatile uint8_t *ptr)
function __STATIC_FORCEINLINE (line 1369) | __STATIC_FORCEINLINE uint16_t __LDAH(volatile uint16_t *ptr)
function __STATIC_FORCEINLINE (line 1384) | __STATIC_FORCEINLINE uint32_t __LDA(volatile uint32_t *ptr)
function __STATIC_FORCEINLINE (line 1399) | __STATIC_FORCEINLINE void __STLB(uint8_t value, volatile uint8_t *ptr)
function __STATIC_FORCEINLINE (line 1411) | __STATIC_FORCEINLINE void __STLH(uint16_t value, volatile uint16_t *ptr)
function __STATIC_FORCEINLINE (line 1423) | __STATIC_FORCEINLINE void __STL(uint32_t value, volatile uint32_t *ptr)
function __STATIC_FORCEINLINE (line 1435) | __STATIC_FORCEINLINE uint8_t __LDAEXB(volatile uint8_t *ptr)
function __STATIC_FORCEINLINE (line 1450) | __STATIC_FORCEINLINE uint16_t __LDAEXH(volatile uint16_t *ptr)
function __STATIC_FORCEINLINE (line 1465) | __STATIC_FORCEINLINE uint32_t __LDAEX(volatile uint32_t *ptr)
function __STATIC_FORCEINLINE (line 1482) | __STATIC_FORCEINLINE uint32_t __STLEXB(uint8_t value, volatile uint8_t *...
function __STATIC_FORCEINLINE (line 1499) | __STATIC_FORCEINLINE uint32_t __STLEXH(uint16_t value, volatile uint16_t...
function __STATIC_FORCEINLINE (line 1516) | __STATIC_FORCEINLINE uint32_t __STLEX(uint32_t value, volatile uint32_t ...
function __STATIC_FORCEINLINE (line 1538) | __STATIC_FORCEINLINE uint32_t __SADD8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1546) | __STATIC_FORCEINLINE uint32_t __QADD8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1554) | __STATIC_FORCEINLINE uint32_t __SHADD8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1562) | __STATIC_FORCEINLINE uint32_t __UADD8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1570) | __STATIC_FORCEINLINE uint32_t __UQADD8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1578) | __STATIC_FORCEINLINE uint32_t __UHADD8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1587) | __STATIC_FORCEINLINE uint32_t __SSUB8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1595) | __STATIC_FORCEINLINE uint32_t __QSUB8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1603) | __STATIC_FORCEINLINE uint32_t __SHSUB8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1611) | __STATIC_FORCEINLINE uint32_t __USUB8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1619) | __STATIC_FORCEINLINE uint32_t __UQSUB8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1627) | __STATIC_FORCEINLINE uint32_t __UHSUB8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1636) | __STATIC_FORCEINLINE uint32_t __SADD16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1644) | __STATIC_FORCEINLINE uint32_t __QADD16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1652) | __STATIC_FORCEINLINE uint32_t __SHADD16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1660) | __STATIC_FORCEINLINE uint32_t __UADD16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1668) | __STATIC_FORCEINLINE uint32_t __UQADD16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1676) | __STATIC_FORCEINLINE uint32_t __UHADD16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1684) | __STATIC_FORCEINLINE uint32_t __SSUB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1692) | __STATIC_FORCEINLINE uint32_t __QSUB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1700) | __STATIC_FORCEINLINE uint32_t __SHSUB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1708) | __STATIC_FORCEINLINE uint32_t __USUB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1716) | __STATIC_FORCEINLINE uint32_t __UQSUB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1724) | __STATIC_FORCEINLINE uint32_t __UHSUB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1732) | __STATIC_FORCEINLINE uint32_t __SASX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1740) | __STATIC_FORCEINLINE uint32_t __QASX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1748) | __STATIC_FORCEINLINE uint32_t __SHASX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1756) | __STATIC_FORCEINLINE uint32_t __UASX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1764) | __STATIC_FORCEINLINE uint32_t __UQASX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1772) | __STATIC_FORCEINLINE uint32_t __UHASX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1780) | __STATIC_FORCEINLINE uint32_t __SSAX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1788) | __STATIC_FORCEINLINE uint32_t __QSAX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1796) | __STATIC_FORCEINLINE uint32_t __SHSAX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1804) | __STATIC_FORCEINLINE uint32_t __USAX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1812) | __STATIC_FORCEINLINE uint32_t __UQSAX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1820) | __STATIC_FORCEINLINE uint32_t __UHSAX(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1828) | __STATIC_FORCEINLINE uint32_t __USAD8(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1836) | __STATIC_FORCEINLINE uint32_t __USADA8(uint32_t op1, uint32_t op2, uint3...
function __STATIC_FORCEINLINE (line 1858) | __STATIC_FORCEINLINE uint32_t __UXTB16(uint32_t op1)
function __STATIC_FORCEINLINE (line 1866) | __STATIC_FORCEINLINE uint32_t __UXTAB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1874) | __STATIC_FORCEINLINE uint32_t __SXTB16(uint32_t op1)
function __STATIC_FORCEINLINE (line 1882) | __STATIC_FORCEINLINE uint32_t __SXTAB16(uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1890) | __STATIC_FORCEINLINE uint32_t __SMUAD (uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1898) | __STATIC_FORCEINLINE uint32_t __SMUADX (uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1906) | __STATIC_FORCEINLINE uint32_t __SMLAD (uint32_t op1, uint32_t op2, uint3...
function __STATIC_FORCEINLINE (line 1914) | __STATIC_FORCEINLINE uint32_t __SMLADX (uint32_t op1, uint32_t op2, uint...
function __STATIC_FORCEINLINE (line 1922) | __STATIC_FORCEINLINE uint64_t __SMLALD (uint32_t op1, uint32_t op2, uint...
function __STATIC_FORCEINLINE (line 1939) | __STATIC_FORCEINLINE uint64_t __SMLALDX (uint32_t op1, uint32_t op2, uin...
function __STATIC_FORCEINLINE (line 1956) | __STATIC_FORCEINLINE uint32_t __SMUSD (uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1964) | __STATIC_FORCEINLINE uint32_t __SMUSDX (uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 1972) | __STATIC_FORCEINLINE uint32_t __SMLSD (uint32_t op1, uint32_t op2, uint3...
function __STATIC_FORCEINLINE (line 1980) | __STATIC_FORCEINLINE uint32_t __SMLSDX (uint32_t op1, uint32_t op2, uint...
function __STATIC_FORCEINLINE (line 1988) | __STATIC_FORCEINLINE uint64_t __SMLSLD (uint32_t op1, uint32_t op2, uint...
function __STATIC_FORCEINLINE (line 2005) | __STATIC_FORCEINLINE uint64_t __SMLSLDX (uint32_t op1, uint32_t op2, uin...
function __STATIC_FORCEINLINE (line 2022) | __STATIC_FORCEINLINE uint32_t __SEL (uint32_t op1, uint32_t op2)
function __STATIC_FORCEINLINE (line 2030) | __STATIC_FORCEINLINE int32_t __QADD( int32_t op1, int32_t op2)
function __STATIC_FORCEINLINE (line 2038) | __STATIC_FORCEINLINE int32_t __QSUB( int32_t op1, int32_t op2)
function __STATIC_FORCEINLINE (line 2071) | __STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t ...
FILE: examples/lib/st/CMSIS/Include/cmsis_iccarm.h
function __IAR_FT (line 171) | __IAR_FT uint16_t __iar_uint16_read(void const *ptr)
function __IAR_FT (line 183) | __IAR_FT void __iar_uint16_write(void const *ptr, uint16_t val)
function __IAR_FT (line 194) | __IAR_FT uint32_t __iar_uint32_read(void const *ptr)
function __IAR_FT (line 205) | __IAR_FT void __iar_uint32_write(void const *ptr, uint32_t val)
function __packed (line 216) | __packed struct __iar_u32 { uint32_t v; }
function __IAR_FT (line 374) | __IAR_FT int16_t __REVSH(int16_t val)
function __STATIC_INLINE (line 496) | __STATIC_INLINE uint8_t __CLZ(uint32_t data)
function __STATIC_INLINE (line 511) | __STATIC_INLINE uint32_t __RBIT(uint32_t v)
function __STATIC_INLINE (line 524) | __STATIC_INLINE uint32_t __get_APSR(void)
function __IAR_FT (line 552) | __IAR_FT uint32_t __LDREXW(uint32_t volatile *ptr)
function __IAR_FT (line 557) | __IAR_FT uint32_t __STREXW(uint32_t value, uint32_t volatile *ptr)
function __IAR_FT (line 567) | __IAR_FT uint32_t __RRX(uint32_t value)
function __IAR_FT (line 574) | __IAR_FT void __set_BASEPRI_MAX(uint32_t value)
function __IAR_FT (line 586) | __IAR_FT uint32_t __ROR(uint32_t op1, uint32_t op2)
function __IAR_FT (line 594) | __IAR_FT uint32_t __get_MSPLIM(void)
function __IAR_FT (line 607) | __IAR_FT void __set_MSPLIM(uint32_t value)
function __IAR_FT (line 618) | __IAR_FT uint32_t __get_PSPLIM(void)
function __IAR_FT (line 631) | __IAR_FT void __set_PSPLIM(uint32_t value)
function __IAR_FT (line 642) | __IAR_FT uint32_t __TZ_get_CONTROL_NS(void)
function __IAR_FT (line 649) | __IAR_FT void __TZ_set_CONTROL_NS(uint32_t value)
function __IAR_FT (line 654) | __IAR_FT uint32_t __TZ_get_PSP_NS(void)
function __IAR_FT (line 661) | __IAR_FT void __TZ_set_PSP_NS(uint32_t value)
function __IAR_FT (line 666) | __IAR_FT uint32_t __TZ_get_MSP_NS(void)
function __IAR_FT (line 673) | __IAR_FT void __TZ_set_MSP_NS(uint32_t value)
function __IAR_FT (line 678) | __IAR_FT uint32_t __TZ_get_SP_NS(void)
function __IAR_FT (line 684) | __IAR_FT void __TZ_set_SP_NS(uint32_t value)
function __IAR_FT (line 689) | __IAR_FT uint32_t __TZ_get_PRIMASK_NS(void)
function __IAR_FT (line 696) | __IAR_FT void __TZ_set_PRIMASK_NS(uint32_t value)
function __IAR_FT (line 701) | __IAR_FT uint32_t __TZ_get_BASEPRI_NS(void)
function __IAR_FT (line 708) | __IAR_FT void __TZ_set_BASEPRI_NS(uint32_t value)
function __IAR_FT (line 713) | __IAR_FT uint32_t __TZ_get_FAULTMASK_NS(void)
function __IAR_FT (line 720) | __IAR_FT void __TZ_set_FAULTMASK_NS(uint32_t value)
function __IAR_FT (line 725) | __IAR_FT uint32_t __TZ_get_PSPLIM_NS(void)
function __IAR_FT (line 738) | __IAR_FT void __TZ_set_PSPLIM_NS(uint32_t value)
function __IAR_FT (line 749) | __IAR_FT uint32_t __TZ_get_MSPLIM_NS(void)
function __IAR_FT (line 756) | __IAR_FT void __TZ_set_MSPLIM_NS(uint32_t value)
function __STATIC_INLINE (line 768) | __STATIC_INLINE int32_t __SSAT(int32_t val, uint32_t sat)
function __STATIC_INLINE (line 786) | __STATIC_INLINE uint32_t __USAT(int32_t val, uint32_t sat)
function __IAR_FT (line 806) | __IAR_FT uint8_t __LDRBT(volatile uint8_t *addr)
function __IAR_FT (line 813) | __IAR_FT uint16_t __LDRHT(volatile uint16_t *addr)
function __IAR_FT (line 820) | __IAR_FT uint32_t __LDRT(volatile uint32_t *addr)
function __IAR_FT (line 827) | __IAR_FT void __STRBT(uint8_t value, volatile uint8_t *addr)
function __IAR_FT (line 832) | __IAR_FT void __STRHT(uint16_t value, volatile uint16_t *addr)
function __IAR_FT (line 837) | __IAR_FT void __STRT(uint32_t value, volatile uint32_t *addr)
function __IAR_FT (line 848) | __IAR_FT uint8_t __LDAB(volatile uint8_t *ptr)
function __IAR_FT (line 855) | __IAR_FT uint16_t __LDAH(volatile uint16_t *ptr)
function __IAR_FT (line 862) | __IAR_FT uint32_t __LDA(volatile uint32_t *ptr)
function __IAR_FT (line 869) | __IAR_FT void __STLB(uint8_t value, volatile uint8_t *ptr)
function __IAR_FT (line 874) | __IAR_FT void __STLH(uint16_t value, volatile uint16_t *ptr)
function __IAR_FT (line 879) | __IAR_FT void __STL(uint32_t value, volatile uint32_t *ptr)
function __IAR_FT (line 884) | __IAR_FT uint8_t __LDAEXB(volatile uint8_t *ptr)
function __IAR_FT (line 891) | __IAR_FT uint16_t __LDAEXH(volatile uint16_t *ptr)
function __IAR_FT (line 898) | __IAR_FT uint32_t __LDAEX(volatile uint32_t *ptr)
function __IAR_FT (line 905) | __IAR_FT uint32_t __STLEXB(uint8_t value, volatile uint8_t *ptr)
function __IAR_FT (line 912) | __IAR_FT uint32_t __STLEXH(uint16_t value, volatile uint16_t *ptr)
function __IAR_FT (line 919) | __IAR_FT uint32_t __STLEX(uint32_t value, volatile uint32_t *ptr)
FILE: examples/lib/st/CMSIS/Include/core_armv8mbl.h
type APSR_Type (line 233) | typedef union
type IPSR_Type (line 263) | typedef union
type xPSR_Type (line 281) | typedef union
type CONTROL_Type (line 320) | typedef union
type NVIC_Type (line 351) | typedef struct
type SCB_Type (line 381) | typedef struct
type SysTick_Type (line 558) | typedef struct
type DWT_Type (line 610) | typedef struct
type TPI_Type (line 725) | typedef struct
type MPU_Type (line 824) | typedef struct
type SAU_Type (line 931) | typedef struct
type CoreDebug_Type (line 988) | typedef struct
function __STATIC_INLINE (line 1252) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1269) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1288) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1307) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1326) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1341) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1358) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
function __STATIC_INLINE (line 1380) | __STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn)
function __STATIC_INLINE (line 1401) | __STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn)
function __STATIC_INLINE (line 1423) | __STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn)
function __STATIC_INLINE (line 1447) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
function __STATIC_INLINE (line 1471) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
function __STATIC_INLINE (line 1496) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
function __STATIC_INLINE (line 1523) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
function __STATIC_INLINE (line 1547) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
function __STATIC_INLINE (line 1566) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
function __NVIC_SystemReset (line 1581) | void __NVIC_SystemReset(void)
function __STATIC_INLINE (line 1602) | __STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1619) | __STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1638) | __STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1655) | __STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1674) | __STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1689) | __STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1706) | __STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1728) | __STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t pri...
function __STATIC_INLINE (line 1751) | __STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1791) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
function __STATIC_INLINE (line 1815) | __STATIC_INLINE void TZ_SAU_Enable(void)
function __STATIC_INLINE (line 1826) | __STATIC_INLINE void TZ_SAU_Disable(void)
function __STATIC_INLINE (line 1859) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
function __STATIC_INLINE (line 1888) | __STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks)
FILE: examples/lib/st/CMSIS/Include/core_armv8mml.h
type APSR_Type (line 314) | typedef union
type IPSR_Type (line 353) | typedef union
type xPSR_Type (line 371) | typedef union
type CONTROL_Type (line 422) | typedef union
type NVIC_Type (line 461) | typedef struct
type SCB_Type (line 497) | typedef struct
type SCnSCB_Type (line 1009) | typedef struct
type SysTick_Type (line 1034) | typedef struct
type DWT_Type (line 1201) | typedef struct
type TPI_Type (line 1387) | typedef struct
type MPU_Type (line 1486) | typedef struct
type SAU_Type (line 1599) | typedef struct
type FPU_Type (line 1685) | typedef struct
type CoreDebug_Type (line 1815) | typedef struct
function __STATIC_INLINE (line 2116) | __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
function __STATIC_INLINE (line 2135) | __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
function __STATIC_INLINE (line 2147) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 2164) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 2183) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 2202) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 2221) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 2236) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 2253) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
function __STATIC_INLINE (line 2275) | __STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn)
function __STATIC_INLINE (line 2296) | __STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn)
function __STATIC_INLINE (line 2318) | __STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn)
function __STATIC_INLINE (line 2342) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
function __STATIC_INLINE (line 2364) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
function __STATIC_INLINE (line 2389) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
function __STATIC_INLINE (line 2416) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
function __STATIC_INLINE (line 2439) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
function __STATIC_INLINE (line 2454) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
function __NVIC_SystemReset (line 2465) | void __NVIC_SystemReset(void)
function __STATIC_INLINE (line 2490) | __STATIC_INLINE void TZ_NVIC_SetPriorityGrouping_NS(uint32_t PriorityGroup)
function __STATIC_INLINE (line 2509) | __STATIC_INLINE uint32_t TZ_NVIC_GetPriorityGrouping_NS(void)
function __STATIC_INLINE (line 2521) | __STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2538) | __STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2557) | __STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2574) | __STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2593) | __STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2608) | __STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2625) | __STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2647) | __STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t pri...
function __STATIC_INLINE (line 2668) | __STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2708) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
function __STATIC_INLINE (line 2746) | __STATIC_INLINE void TZ_SAU_Enable(void)
function __STATIC_INLINE (line 2757) | __STATIC_INLINE void TZ_SAU_Disable(void)
function __STATIC_INLINE (line 2790) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
function __STATIC_INLINE (line 2819) | __STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks)
function __STATIC_INLINE (line 2862) | __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
function __STATIC_INLINE (line 2883) | __STATIC_INLINE int32_t ITM_ReceiveChar (void)
function __STATIC_INLINE (line 2903) | __STATIC_INLINE int32_t ITM_CheckChar (void)
FILE: examples/lib/st/CMSIS/Include/core_cm0.h
type APSR_Type (line 199) | typedef union
type IPSR_Type (line 229) | typedef union
type xPSR_Type (line 247) | typedef union
type CONTROL_Type (line 286) | typedef union
type NVIC_Type (line 314) | typedef struct
type SCB_Type (line 341) | typedef struct
type SysTick_Type (line 448) | typedef struct
function __STATIC_INLINE (line 623) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 640) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 659) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 678) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 697) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 712) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 730) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
function __STATIC_INLINE (line 754) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
function __STATIC_INLINE (line 779) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
function __STATIC_INLINE (line 806) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
function __STATIC_INLINE (line 830) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
function __STATIC_INLINE (line 845) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
function __NVIC_SystemReset (line 856) | void __NVIC_SystemReset(void)
function __STATIC_INLINE (line 889) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
function __STATIC_INLINE (line 920) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
FILE: examples/lib/st/CMSIS/Include/core_cm0plus.h
type APSR_Type (line 210) | typedef union
type IPSR_Type (line 240) | typedef union
type xPSR_Type (line 258) | typedef union
type CONTROL_Type (line 297) | typedef union
type NVIC_Type (line 328) | typedef struct
type SCB_Type (line 355) | typedef struct
type SysTick_Type (line 472) | typedef struct
type MPU_Type (line 524) | typedef struct
function __STATIC_INLINE (line 741) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 758) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 777) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 796) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 815) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 830) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 848) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
function __STATIC_INLINE (line 872) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
function __STATIC_INLINE (line 897) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
function __STATIC_INLINE (line 924) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
function __STATIC_INLINE (line 948) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
function __STATIC_INLINE (line 967) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
function __NVIC_SystemReset (line 983) | void __NVIC_SystemReset(void)
function __STATIC_INLINE (line 1023) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
function __STATIC_INLINE (line 1054) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
FILE: examples/lib/st/CMSIS/Include/core_cm1.h
type APSR_Type (line 199) | typedef union
type IPSR_Type (line 229) | typedef union
type xPSR_Type (line 247) | typedef union
type CONTROL_Type (line 286) | typedef union
type NVIC_Type (line 314) | typedef struct
type SCB_Type (line 341) | typedef struct
type SCnSCB_Type (line 448) | typedef struct
type SysTick_Type (line 474) | typedef struct
function __STATIC_INLINE (line 650) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 667) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 686) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 705) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 724) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 739) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 757) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
function __STATIC_INLINE (line 781) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
function __STATIC_INLINE (line 806) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
function __STATIC_INLINE (line 833) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
function __STATIC_INLINE (line 857) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
function __STATIC_INLINE (line 872) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
function __NVIC_SystemReset (line 883) | void __NVIC_SystemReset(void)
function __STATIC_INLINE (line 916) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
function __STATIC_INLINE (line 947) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
FILE: examples/lib/st/CMSIS/Include/core_cm23.h
type APSR_Type (line 233) | typedef union
type IPSR_Type (line 263) | typedef union
type xPSR_Type (line 281) | typedef union
type CONTROL_Type (line 320) | typedef union
type NVIC_Type (line 351) | typedef struct
type SCB_Type (line 381) | typedef struct
type SysTick_Type (line 558) | typedef struct
type DWT_Type (line 610) | typedef struct
type TPI_Type (line 725) | typedef struct
type MPU_Type (line 899) | typedef struct
type SAU_Type (line 1006) | typedef struct
type CoreDebug_Type (line 1063) | typedef struct
function __STATIC_INLINE (line 1327) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1344) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1363) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1382) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1401) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1416) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1433) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
function __STATIC_INLINE (line 1455) | __STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn)
function __STATIC_INLINE (line 1476) | __STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn)
function __STATIC_INLINE (line 1498) | __STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn)
function __STATIC_INLINE (line 1522) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
function __STATIC_INLINE (line 1546) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
function __STATIC_INLINE (line 1571) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
function __STATIC_INLINE (line 1598) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
function __STATIC_INLINE (line 1622) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
function __STATIC_INLINE (line 1641) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
function __NVIC_SystemReset (line 1656) | void __NVIC_SystemReset(void)
function __STATIC_INLINE (line 1677) | __STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1694) | __STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1713) | __STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1730) | __STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1749) | __STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1764) | __STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1781) | __STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1803) | __STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t pri...
function __STATIC_INLINE (line 1826) | __STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 1866) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
function __STATIC_INLINE (line 1890) | __STATIC_INLINE void TZ_SAU_Enable(void)
function __STATIC_INLINE (line 1901) | __STATIC_INLINE void TZ_SAU_Disable(void)
function __STATIC_INLINE (line 1934) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
function __STATIC_INLINE (line 1963) | __STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks)
FILE: examples/lib/st/CMSIS/Include/core_cm3.h
type APSR_Type (line 206) | typedef union
type IPSR_Type (line 240) | typedef union
type xPSR_Type (line 258) | typedef union
type CONTROL_Type (line 309) | typedef union
type NVIC_Type (line 340) | typedef struct
type SCB_Type (line 374) | typedef struct
type SCnSCB_Type (line 655) | typedef struct
type SysTick_Type (line 694) | typedef struct
type DWT_Type (line 849) | typedef struct
type TPI_Type (line 996) | typedef struct
type MPU_Type (line 1158) | typedef struct
type CoreDebug_Type (line 1254) | typedef struct
function __STATIC_INLINE (line 1480) | __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
function __STATIC_INLINE (line 1499) | __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
function __STATIC_INLINE (line 1511) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1528) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1547) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1566) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1585) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1600) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1617) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
function __STATIC_INLINE (line 1639) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
function __STATIC_INLINE (line 1661) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
function __STATIC_INLINE (line 1686) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
function __STATIC_INLINE (line 1713) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
function __STATIC_INLINE (line 1736) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
function __STATIC_INLINE (line 1751) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
function __NVIC_SystemReset (line 1762) | void __NVIC_SystemReset(void)
function __STATIC_INLINE (line 1803) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
function __STATIC_INLINE (line 1834) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
function __STATIC_INLINE (line 1876) | __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
function __STATIC_INLINE (line 1897) | __STATIC_INLINE int32_t ITM_ReceiveChar (void)
function __STATIC_INLINE (line 1917) | __STATIC_INLINE int32_t ITM_CheckChar (void)
FILE: examples/lib/st/CMSIS/Include/core_cm33.h
type APSR_Type (line 314) | typedef union
type IPSR_Type (line 353) | typedef union
type xPSR_Type (line 371) | typedef union
type CONTROL_Type (line 422) | typedef union
type NVIC_Type (line 461) | typedef struct
type SCB_Type (line 497) | typedef struct
type SCnSCB_Type (line 1009) | typedef struct
type SysTick_Type (line 1034) | typedef struct
type DWT_Type (line 1201) | typedef struct
type TPI_Type (line 1387) | typedef struct
type MPU_Type (line 1561) | typedef struct
type SAU_Type (line 1674) | typedef struct
type FPU_Type (line 1760) | typedef struct
type CoreDebug_Type (line 1890) | typedef struct
function __STATIC_INLINE (line 2191) | __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
function __STATIC_INLINE (line 2210) | __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
function __STATIC_INLINE (line 2222) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 2239) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 2258) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 2277) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 2296) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 2311) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 2328) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
function __STATIC_INLINE (line 2350) | __STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn)
function __STATIC_INLINE (line 2371) | __STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn)
function __STATIC_INLINE (line 2393) | __STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn)
function __STATIC_INLINE (line 2417) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
function __STATIC_INLINE (line 2439) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
function __STATIC_INLINE (line 2464) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
function __STATIC_INLINE (line 2491) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
function __STATIC_INLINE (line 2514) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
function __STATIC_INLINE (line 2529) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
function __NVIC_SystemReset (line 2540) | void __NVIC_SystemReset(void)
function __STATIC_INLINE (line 2565) | __STATIC_INLINE void TZ_NVIC_SetPriorityGrouping_NS(uint32_t PriorityGroup)
function __STATIC_INLINE (line 2584) | __STATIC_INLINE uint32_t TZ_NVIC_GetPriorityGrouping_NS(void)
function __STATIC_INLINE (line 2596) | __STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2613) | __STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2632) | __STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2649) | __STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2668) | __STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2683) | __STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2700) | __STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2722) | __STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t pri...
function __STATIC_INLINE (line 2743) | __STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn)
function __STATIC_INLINE (line 2783) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
function __STATIC_INLINE (line 2821) | __STATIC_INLINE void TZ_SAU_Enable(void)
function __STATIC_INLINE (line 2832) | __STATIC_INLINE void TZ_SAU_Disable(void)
function __STATIC_INLINE (line 2865) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
function __STATIC_INLINE (line 2894) | __STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks)
function __STATIC_INLINE (line 2937) | __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
function __STATIC_INLINE (line 2958) | __STATIC_INLINE int32_t ITM_ReceiveChar (void)
function __STATIC_INLINE (line 2978) | __STATIC_INLINE int32_t ITM_CheckChar (void)
FILE: examples/lib/st/CMSIS/Include/core_cm4.h
type APSR_Type (line 259) | typedef union
type IPSR_Type (line 298) | typedef union
type xPSR_Type (line 316) | typedef union
type CONTROL_Type (line 371) | typedef union
type NVIC_Type (line 406) | typedef struct
type SCB_Type (line 440) | typedef struct
type SCnSCB_Type (line 719) | typedef struct
type SysTick_Type (line 759) | typedef struct
type DWT_Type (line 914) | typedef struct
type TPI_Type (line 1061) | typedef struct
type MPU_Type (line 1223) | typedef struct
type FPU_Type (line 1319) | typedef struct
type CoreDebug_Type (line 1425) | typedef struct
function __STATIC_INLINE (line 1657) | __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
function __STATIC_INLINE (line 1676) | __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
function __STATIC_INLINE (line 1688) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1705) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1724) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1743) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1762) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1777) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1794) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
function __STATIC_INLINE (line 1816) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
function __STATIC_INLINE (line 1838) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
function __STATIC_INLINE (line 1863) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
function __STATIC_INLINE (line 1890) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
function __STATIC_INLINE (line 1913) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
function __STATIC_INLINE (line 1928) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
function __NVIC_SystemReset (line 1939) | void __NVIC_SystemReset(void)
function __STATIC_INLINE (line 1981) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
function __STATIC_INLINE (line 2022) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
function __STATIC_INLINE (line 2064) | __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
function __STATIC_INLINE (line 2085) | __STATIC_INLINE int32_t ITM_ReceiveChar (void)
function __STATIC_INLINE (line 2105) | __STATIC_INLINE int32_t ITM_CheckChar (void)
FILE: examples/lib/st/CMSIS/Include/core_cm7.h
type APSR_Type (line 274) | typedef union
type IPSR_Type (line 313) | typedef union
type xPSR_Type (line 331) | typedef union
type CONTROL_Type (line 386) | typedef union
type NVIC_Type (line 421) | typedef struct
type SCB_Type (line 455) | typedef struct
type SCnSCB_Type (line 921) | typedef struct
type SysTick_Type (line 961) | typedef struct
type DWT_Type (line 1116) | typedef struct
type TPI_Type (line 1266) | typedef struct
type MPU_Type (line 1428) | typedef struct
type FPU_Type (line 1524) | typedef struct
type CoreDebug_Type (line 1633) | typedef struct
function __STATIC_INLINE (line 1865) | __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
function __STATIC_INLINE (line 1884) | __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
function __STATIC_INLINE (line 1896) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1913) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1932) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1951) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1970) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1985) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 2002) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
function __STATIC_INLINE (line 2024) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
function __STATIC_INLINE (line 2046) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
function __STATIC_INLINE (line 2071) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
function __STATIC_INLINE (line 2098) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
function __STATIC_INLINE (line 2121) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
function __STATIC_INLINE (line 2136) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
function __NVIC_SystemReset (line 2147) | void __NVIC_SystemReset(void)
function __STATIC_INLINE (line 2188) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
function __STATIC_INLINE (line 2229) | __STATIC_INLINE void SCB_EnableICache (void)
function __STATIC_INLINE (line 2248) | __STATIC_INLINE void SCB_DisableICache (void)
function __STATIC_INLINE (line 2265) | __STATIC_INLINE void SCB_InvalidateICache (void)
function __STATIC_INLINE (line 2281) | __STATIC_INLINE void SCB_EnableDCache (void)
function __STATIC_INLINE (line 2319) | __STATIC_INLINE void SCB_DisableDCache (void)
function __STATIC_INLINE (line 2357) | __STATIC_INLINE void SCB_InvalidateDCache (void)
function __STATIC_INLINE (line 2392) | __STATIC_INLINE void SCB_CleanDCache (void)
function __STATIC_INLINE (line 2427) | __STATIC_INLINE void SCB_CleanInvalidateDCache (void)
function __STATIC_INLINE (line 2464) | __STATIC_INLINE void SCB_InvalidateDCache_by_Addr (uint32_t *addr, int32...
function __STATIC_INLINE (line 2491) | __STATIC_INLINE void SCB_CleanDCache_by_Addr (uint32_t *addr, int32_t ds...
function __STATIC_INLINE (line 2518) | __STATIC_INLINE void SCB_CleanInvalidateDCache_by_Addr (uint32_t *addr, ...
function __STATIC_INLINE (line 2564) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
function __STATIC_INLINE (line 2606) | __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
function __STATIC_INLINE (line 2627) | __STATIC_INLINE int32_t ITM_ReceiveChar (void)
function __STATIC_INLINE (line 2647) | __STATIC_INLINE int32_t ITM_CheckChar (void)
FILE: examples/lib/st/CMSIS/Include/core_sc000.h
type APSR_Type (line 205) | typedef union
type IPSR_Type (line 235) | typedef union
type xPSR_Type (line 253) | typedef union
type CONTROL_Type (line 292) | typedef union
type NVIC_Type (line 320) | typedef struct
type SCB_Type (line 347) | typedef struct
type SCnSCB_Type (line 460) | typedef struct
type SysTick_Type (line 483) | typedef struct
type MPU_Type (line 535) | typedef struct
function __STATIC_INLINE (line 749) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 766) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 785) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 804) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 823) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 838) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 856) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
function __STATIC_INLINE (line 880) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
function __STATIC_INLINE (line 903) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
function __STATIC_INLINE (line 918) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
function __NVIC_SystemReset (line 929) | void __NVIC_SystemReset(void)
function __STATIC_INLINE (line 962) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
function __STATIC_INLINE (line 993) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
FILE: examples/lib/st/CMSIS/Include/core_sc300.h
type APSR_Type (line 206) | typedef union
type IPSR_Type (line 240) | typedef union
type xPSR_Type (line 258) | typedef union
type CONTROL_Type (line 309) | typedef union
type NVIC_Type (line 340) | typedef struct
type SCB_Type (line 374) | typedef struct
type SCnSCB_Type (line 652) | typedef struct
type SysTick_Type (line 676) | typedef struct
type DWT_Type (line 831) | typedef struct
type TPI_Type (line 978) | typedef struct
type MPU_Type (line 1140) | typedef struct
type CoreDebug_Type (line 1234) | typedef struct
function __STATIC_INLINE (line 1461) | __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
function __STATIC_INLINE (line 1480) | __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
function __STATIC_INLINE (line 1492) | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1509) | __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1528) | __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1547) | __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1566) | __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1581) | __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
function __STATIC_INLINE (line 1598) | __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
function __STATIC_INLINE (line 1620) | __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
function __STATIC_INLINE (line 1642) | __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
function __STATIC_INLINE (line 1667) | __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, ui...
function __STATIC_INLINE (line 1694) | __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t Pr...
function __STATIC_INLINE (line 1717) | __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
function __STATIC_INLINE (line 1732) | __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
function __NVIC_SystemReset (line 1743) | void __NVIC_SystemReset(void)
function __STATIC_INLINE (line 1777) | __STATIC_INLINE uint32_t SCB_GetFPUType(void)
function __STATIC_INLINE (line 1808) | __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
function __STATIC_INLINE (line 1850) | __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
function __STATIC_INLINE (line 1871) | __STATIC_INLINE int32_t ITM_ReceiveChar (void)
function __STATIC_INLINE (line 1891) | __STATIC_INLINE int32_t ITM_CheckChar (void)
FILE: examples/lib/st/CMSIS/Include/mpu_armv7.h
type ARM_MPU_Region_t (line 180) | typedef struct {
function __STATIC_INLINE (line 188) | __STATIC_INLINE void ARM_MPU_Enable(uint32_t MPU_Control)
function __STATIC_INLINE (line 200) | __STATIC_INLINE void ARM_MPU_Disable(void)
function __STATIC_INLINE (line 213) | __STATIC_INLINE void ARM_MPU_ClrRegion(uint32_t rnr)
function __STATIC_INLINE (line 223) | __STATIC_INLINE void ARM_MPU_SetRegion(uint32_t rbar, uint32_t rasr)
function __STATIC_INLINE (line 234) | __STATIC_INLINE void ARM_MPU_SetRegionEx(uint32_t rnr, uint32_t rbar, ui...
function __STATIC_INLINE (line 246) | __STATIC_INLINE void orderedCpy(volatile uint32_t* dst, const uint32_t* ...
function __STATIC_INLINE (line 259) | __STATIC_INLINE void ARM_MPU_Load(ARM_MPU_Region_t const* table, uint32_...
FILE: examples/lib/st/CMSIS/Include/mpu_armv8.h
type ARM_MPU_Region_t (line 107) | typedef struct {
function __STATIC_INLINE (line 115) | __STATIC_INLINE void ARM_MPU_Enable(uint32_t MPU_Control)
function __STATIC_INLINE (line 127) | __STATIC_INLINE void ARM_MPU_Disable(void)
function __STATIC_INLINE (line 141) | __STATIC_INLINE void ARM_MPU_Enable_NS(uint32_t MPU_Control)
function __STATIC_INLINE (line 153) | __STATIC_INLINE void ARM_MPU_Disable_NS(void)
function __STATIC_INLINE (line 169) | __STATIC_INLINE void ARM_MPU_SetMemAttrEx(MPU_Type* mpu, uint8_t idx, ui...
function __STATIC_INLINE (line 186) | __STATIC_INLINE void ARM_MPU_SetMemAttr(uint8_t idx, uint8_t attr)
function __STATIC_INLINE (line 196) | __STATIC_INLINE void ARM_MPU_SetMemAttr_NS(uint8_t idx, uint8_t attr)
function __STATIC_INLINE (line 206) | __STATIC_INLINE void ARM_MPU_ClrRegionEx(MPU_Type* mpu, uint32_t rnr)
function __STATIC_INLINE (line 215) | __STATIC_INLINE void ARM_MPU_ClrRegion(uint32_t rnr)
function __STATIC_INLINE (line 224) | __STATIC_INLINE void ARM_MPU_ClrRegion_NS(uint32_t rnr)
function __STATIC_INLINE (line 236) | __STATIC_INLINE void ARM_MPU_SetRegionEx(MPU_Type* mpu, uint32_t rnr, ui...
function __STATIC_INLINE (line 248) | __STATIC_INLINE void ARM_MPU_SetRegion(uint32_t rnr, uint32_t rbar, uint...
function __STATIC_INLINE (line 259) | __STATIC_INLINE void ARM_MPU_SetRegion_NS(uint32_t rnr, uint32_t rbar, u...
function __STATIC_INLINE (line 270) | __STATIC_INLINE void orderedCpy(volatile uint32_t* dst, const uint32_t* ...
function __STATIC_INLINE (line 285) | __STATIC_INLINE void ARM_MPU_LoadEx(MPU_Type* mpu, uint32_t rnr, ARM_MPU...
function __STATIC_INLINE (line 315) | __STATIC_INLINE void ARM_MPU_Load(uint32_t rnr, ARM_MPU_Region_t const* ...
function __STATIC_INLINE (line 326) | __STATIC_INLINE void ARM_MPU_Load_NS(uint32_t rnr, ARM_MPU_Region_t cons...
FILE: examples/lib/st/CMSIS/Include/tz_context.h
type TZ_ModuleId_t (line 39) | typedef uint32_t TZ_ModuleId_t;
type TZ_MemoryId_t (line 43) | typedef uint32_t TZ_MemoryId_t;
FILE: examples/lib/st/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_bus.h
function __STATIC_INLINE (line 427) | __STATIC_INLINE void LL_AHB1_GRP1_EnableClock(uint32_t Periphs)
function __STATIC_INLINE (line 491) | __STATIC_INLINE uint32_t LL_AHB1_GRP1_IsEnabledClock(uint32_t Periphs)
function __STATIC_INLINE (line 551) | __STATIC_INLINE void LL_AHB1_GRP1_DisableClock(uint32_t Periphs)
function __STATIC_INLINE (line 600) | __STATIC_INLINE void LL_AHB1_GRP1_ForceReset(uint32_t Periphs)
function __STATIC_INLINE (line 649) | __STATIC_INLINE void LL_AHB1_GRP1_ReleaseReset(uint32_t Periphs)
function __STATIC_INLINE (line 716) | __STATIC_INLINE void LL_AHB1_GRP1_EnableClockLowPower(uint32_t Periphs)
function __STATIC_INLINE (line 787) | __STATIC_INLINE void LL_AHB1_GRP1_DisableClockLowPower(uint32_t Periphs)
function __STATIC_INLINE (line 820) | __STATIC_INLINE void LL_AHB2_GRP1_EnableClock(uint32_t Periphs)
function __STATIC_INLINE (line 848) | __STATIC_INLINE uint32_t LL_AHB2_GRP1_IsEnabledClock(uint32_t Periphs)
function __STATIC_INLINE (line 872) | __STATIC_INLINE void LL_AHB2_GRP1_DisableClock(uint32_t Periphs)
function __STATIC_INLINE (line 897) | __STATIC_INLINE void LL_AHB2_GRP1_ForceReset(uint32_t Periphs)
function __STATIC_INLINE (line 922) | __STATIC_INLINE void LL_AHB2_GRP1_ReleaseReset(uint32_t Periphs)
function __STATIC_INLINE (line 946) | __STATIC_INLINE void LL_AHB2_GRP1_EnableClockLowPower(uint32_t Periphs)
function __STATIC_INLINE (line 974) | __STATIC_INLINE void LL_AHB2_GRP1_DisableClockLowPower(uint32_t Periphs)
function __STATIC_INLINE (line 1002) | __STATIC_INLINE void LL_AHB3_GRP1_EnableClock(uint32_t Periphs)
function __STATIC_INLINE (line 1024) | __STATIC_INLINE uint32_t LL_AHB3_GRP1_IsEnabledClock(uint32_t Periphs)
function __STATIC_INLINE (line 1042) | __STATIC_INLINE void LL_AHB3_GRP1_DisableClock(uint32_t Periphs)
function __STATIC_INLINE (line 1061) | __STATIC_INLINE void LL_AHB3_GRP1_ForceReset(uint32_t Periphs)
function __STATIC_INLINE (line 1080) | __STATIC_INLINE void LL_AHB3_GRP1_ReleaseReset(uint32_t Periphs)
function __STATIC_INLINE (line 1098) | __STATIC_INLINE void LL_AHB3_GRP1_EnableClockLowPower(uint32_t Periphs)
function __STATIC_INLINE (line 1120) | __STATIC_INLINE void LL_AHB3_GRP1_DisableClockLowPower(uint32_t Periphs)
function __STATIC_INLINE (line 1203) | __STATIC_INLINE void LL_APB1_GRP1_EnableClock(uint32_t Periphs)
function __STATIC_INLINE (line 1281) | __STATIC_INLINE uint32_t LL_APB1_GRP1_IsEnabledClock(uint32_t Periphs)
function __STATIC_INLINE (line 1355) | __STATIC_INLINE void LL_APB1_GRP1_DisableClock(uint32_t Periphs)
function __STATIC_INLINE (line 1427) | __STATIC_INLINE void LL_APB1_GRP1_ForceReset(uint32_t Periphs)
function __STATIC_INLINE (line 1499) | __STATIC_INLINE void LL_APB1_GRP1_ReleaseReset(uint32_t Periphs)
function __STATIC_INLINE (line 1573) | __STATIC_INLINE void LL_APB1_GRP1_EnableClockLowPower(uint32_t Periphs)
function __STATIC_INLINE (line 1651) | __STATIC_INLINE void LL_APB1_GRP1_DisableClockLowPower(uint32_t Periphs)
function __STATIC_INLINE (line 1722) | __STATIC_INLINE void LL_APB2_GRP1_EnableClock(uint32_t Periphs)
function __STATIC_INLINE (line 1788) | __STATIC_INLINE uint32_t LL_APB2_GRP1_IsEnabledClock(uint32_t Periphs)
function __STATIC_INLINE (line 1850) | __STATIC_INLINE void LL_APB2_GRP1_DisableClock(uint32_t Periphs)
function __STATIC_INLINE (line 1907) | __STATIC_INLINE void LL_APB2_GRP1_ForceReset(uint32_t Periphs)
function __STATIC_INLINE (line 1965) | __STATIC_INLINE void LL_APB2_GRP1_ReleaseReset(uint32_t Periphs)
function __STATIC_INLINE (line 2028) | __STATIC_INLINE void LL_APB2_GRP1_EnableClockLowPower(uint32_t Periphs)
function __STATIC_INLINE (line 2095) | __STATIC_INLINE void LL_APB2_GRP1_DisableClockLowPower(uint32_t Periphs)
FILE: examples/lib/st/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_cortex.h
function __STATIC_INLINE (line 247) | __STATIC_INLINE uint32_t LL_SYSTICK_IsActiveCounterFlag(void)
function __STATIC_INLINE (line 260) | __STATIC_INLINE void LL_SYSTICK_SetClkSource(uint32_t Source)
function __STATIC_INLINE (line 279) | __STATIC_INLINE uint32_t LL_SYSTICK_GetClkSource(void)
function __STATIC_INLINE (line 289) | __STATIC_INLINE void LL_SYSTICK_EnableIT(void)
function __STATIC_INLINE (line 299) | __STATIC_INLINE void LL_SYSTICK_DisableIT(void)
function __STATIC_INLINE (line 309) | __STATIC_INLINE uint32_t LL_SYSTICK_IsEnabledIT(void)
function __STATIC_INLINE (line 327) | __STATIC_INLINE void LL_LPM_EnableSleep(void)
function __STATIC_INLINE (line 338) | __STATIC_INLINE void LL_LPM_EnableDeepSleep(void)
function __STATIC_INLINE (line 351) | __STATIC_INLINE void LL_LPM_EnableSleepOnExit(void)
function __STATIC_INLINE (line 362) | __STATIC_INLINE void LL_LPM_DisableSleepOnExit(void)
function __STATIC_INLINE (line 374) | __STATIC_INLINE void LL_LPM_EnableEventOnPend(void)
function __STATIC_INLINE (line 386) | __STATIC_INLINE void LL_LPM_DisableEventOnPend(void)
function __STATIC_INLINE (line 409) | __STATIC_INLINE void LL_HANDLER_EnableFault(uint32_t Fault)
function __STATIC_INLINE (line 424) | __STATIC_INLINE void LL_HANDLER_DisableFault(uint32_t Fault)
function __STATIC_INLINE (line 443) | __STATIC_INLINE uint32_t LL_CPUID_GetImplementer(void)
function __STATIC_INLINE (line 453) | __STATIC_INLINE uint32_t LL_CPUID_GetVariant(void)
function __STATIC_INLINE (line 463) | __STATIC_INLINE uint32_t LL_CPUID_GetConstant(void)
function __STATIC_INLINE (line 473) | __STATIC_INLINE uint32_t LL_CPUID_GetParNo(void)
function __STATIC_INLINE (line 483) | __STATIC_INLINE uint32_t LL_CPUID_GetRevision(void)
function __STATIC_INLINE (line 507) | __STATIC_INLINE void LL_MPU_Enable(uint32_t Options)
function __STATIC_INLINE (line 522) | __STATIC_INLINE void LL_MPU_Disable(void)
function __STATIC_INLINE (line 535) | __STATIC_INLINE uint32_t LL_MPU_IsEnabled(void)
function __STATIC_INLINE (line 554) | __STATIC_INLINE void LL_MPU_EnableRegion(uint32_t Region)
function __STATIC_INLINE (line 600) | __STATIC_INLINE void LL_MPU_ConfigRegion(uint32_t Region, uint32_t SubRe...
function __STATIC_INLINE (line 625) | __STATIC_INLINE void LL_MPU_DisableRegion(uint32_t Region)
FILE: examples/lib/st/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_dma.h
type LL_DMA_InitTypeDef (line 94) | typedef struct
function __STATIC_INLINE (line 501) | __STATIC_INLINE void LL_DMA_EnableStream(DMA_TypeDef *DMAx, uint32_t Str...
function __STATIC_INLINE (line 521) | __STATIC_INLINE void LL_DMA_DisableStream(DMA_TypeDef *DMAx, uint32_t St...
function __STATIC_INLINE (line 541) | __STATIC_INLINE uint32_t LL_DMA_IsEnabledStream(DMA_TypeDef *DMAx, uint3...
function __STATIC_INLINE (line 576) | __STATIC_INLINE void LL_DMA_ConfigTransfer(DMA_TypeDef *DMAx, uint32_t S...
function __STATIC_INLINE (line 602) | __STATIC_INLINE void LL_DMA_SetDataTransferDirection(DMA_TypeDef *DMAx, ...
function __STATIC_INLINE (line 625) | __STATIC_INLINE uint32_t LL_DMA_GetDataTransferDirection(DMA_TypeDef *DM...
function __STATIC_INLINE (line 650) | __STATIC_INLINE void LL_DMA_SetMode(DMA_TypeDef *DMAx, uint32_t Stream, ...
function __STATIC_INLINE (line 674) | __STATIC_INLINE uint32_t LL_DMA_GetMode(DMA_TypeDef *DMAx, uint32_t Stream)
function __STATIC_INLINE (line 697) | __STATIC_INLINE void LL_DMA_SetPeriphIncMode(DMA_TypeDef *DMAx, uint32_t...
function __STATIC_INLINE (line 719) | __STATIC_INLINE uint32_t LL_DMA_GetPeriphIncMode(DMA_TypeDef *DMAx, uint...
function __STATIC_INLINE (line 742) | __STATIC_INLINE void LL_DMA_SetMemoryIncMode(DMA_TypeDef *DMAx, uint32_t...
function __STATIC_INLINE (line 764) | __STATIC_INLINE uint32_t LL_DMA_GetMemoryIncMode(DMA_TypeDef *DMAx, uint...
function __STATIC_INLINE (line 788) | __STATIC_INLINE void LL_DMA_SetPeriphSize(DMA_TypeDef *DMAx, uint32_t St...
function __STATIC_INLINE (line 811) | __STATIC_INLINE uint32_t LL_DMA_GetPeriphSize(DMA_TypeDef *DMAx, uint32_...
function __STATIC_INLINE (line 835) | __STATIC_INLINE void LL_DMA_SetMemorySize(DMA_TypeDef *DMAx, uint32_t St...
function __STATIC_INLINE (line 858) | __STATIC_INLINE uint32_t LL_DMA_GetMemorySize(DMA_TypeDef *DMAx, uint32_...
function __STATIC_INLINE (line 881) | __STATIC_INLINE void LL_DMA_SetIncOffsetSize(DMA_TypeDef *DMAx, uint32_t...
function __STATIC_INLINE (line 903) | __STATIC_INLINE uint32_t LL_DMA_GetIncOffsetSize(DMA_TypeDef *DMAx, uint...
function __STATIC_INLINE (line 928) | __STATIC_INLINE void LL_DMA_SetStreamPriorityLevel(DMA_TypeDef *DMAx, ui...
function __STATIC_INLINE (line 952) | __STATIC_INLINE uint32_t LL_DMA_GetStreamPriorityLevel(DMA_TypeDef *DMAx...
function __STATIC_INLINE (line 975) | __STATIC_INLINE void LL_DMA_SetDataLength(DMA_TypeDef* DMAx, uint32_t St...
function __STATIC_INLINE (line 997) | __STATIC_INLINE uint32_t LL_DMA_GetDataLength(DMA_TypeDef* DMAx, uint32_...
function __STATIC_INLINE (line 1026) | __STATIC_INLINE void LL_DMA_SetChannelSelection(DMA_TypeDef *DMAx, uint3...
function __STATIC_INLINE (line 1054) | __STATIC_INLINE uint32_t LL_DMA_GetChannelSelection(DMA_TypeDef *DMAx, u...
function __STATIC_INLINE (line 1079) | __STATIC_INLINE void LL_DMA_SetMemoryBurstxfer(DMA_TypeDef *DMAx, uint32...
function __STATIC_INLINE (line 1103) | __STATIC_INLINE uint32_t LL_DMA_GetMemoryBurstxfer(DMA_TypeDef *DMAx, ui...
function __STATIC_INLINE (line 1128) | __STATIC_INLINE void LL_DMA_SetPeriphBurstxfer(DMA_TypeDef *DMAx, uint32...
function __STATIC_INLINE (line 1152) | __STATIC_INLINE uint32_t LL_DMA_GetPeriphBurstxfer(DMA_TypeDef *DMAx, ui...
function __STATIC_INLINE (line 1175) | __STATIC_INLINE void LL_DMA_SetCurrentTargetMem(DMA_TypeDef *DMAx, uint3...
function __STATIC_INLINE (line 1197) | __STATIC_INLINE uint32_t LL_DMA_GetCurrentTargetMem(DMA_TypeDef *DMAx, u...
function __STATIC_INLINE (line 1217) | __STATIC_INLINE void LL_DMA_EnableDoubleBufferMode(DMA_TypeDef *DMAx, ui...
function __STATIC_INLINE (line 1237) | __STATIC_INLINE void LL_DMA_DisableDoubleBufferMode(DMA_TypeDef *DMAx, u...
function __STATIC_INLINE (line 1263) | __STATIC_INLINE uint32_t LL_DMA_GetFIFOStatus(DMA_TypeDef *DMAx, uint32_...
function __STATIC_INLINE (line 1283) | __STATIC_INLINE void LL_DMA_DisableFifoMode(DMA_TypeDef *DMAx, uint32_t ...
function __STATIC_INLINE (line 1303) | __STATIC_INLINE void LL_DMA_EnableFifoMode(DMA_TypeDef *DMAx, uint32_t S...
function __STATIC_INLINE (line 1328) | __STATIC_INLINE void LL_DMA_SetFIFOThreshold(DMA_TypeDef *DMAx, uint32_t...
function __STATIC_INLINE (line 1352) | __STATIC_INLINE uint32_t LL_DMA_GetFIFOThreshold(DMA_TypeDef *DMAx, uint...
function __STATIC_INLINE (line 1381) | __STATIC_INLINE void LL_DMA_ConfigFifo(DMA_TypeDef *DMAx, uint32_t Strea...
function __STATIC_INLINE (line 1409) | __STATIC_INLINE void LL_DMA_ConfigAddresses(DMA_TypeDef* DMAx, uint32_t ...
function __STATIC_INLINE (line 1443) | __STATIC_INLINE void LL_DMA_SetMemoryAddress(DMA_TypeDef* DMAx, uint32_t...
function __STATIC_INLINE (line 1466) | __STATIC_INLINE void LL_DMA_SetPeriphAddress(DMA_TypeDef* DMAx, uint32_t...
function __STATIC_INLINE (line 1487) | __STATIC_INLINE uint32_t LL_DMA_GetMemoryAddress(DMA_TypeDef* DMAx, uint...
function __STATIC_INLINE (line 1508) | __STATIC_INLINE uint32_t LL_DMA_GetPeriphAddress(DMA_TypeDef* DMAx, uint...
function __STATIC_INLINE (line 1531) | __STATIC_INLINE void LL_DMA_SetM2MSrcAddress(DMA_TypeDef* DMAx, uint32_t...
function __STATIC_INLINE (line 1554) | __STATIC_INLINE void LL_DMA_SetM2MDstAddress(DMA_TypeDef* DMAx, uint32_t...
function __STATIC_INLINE (line 1575) | __STATIC_INLINE uint32_t LL_DMA_GetM2MSrcAddress(DMA_TypeDef* DMAx, uint...
function __STATIC_INLINE (line 1596) | __STATIC_INLINE uint32_t LL_DMA_GetM2MDstAddress(DMA_TypeDef* DMAx, uint...
function __STATIC_INLINE (line 1617) | __STATIC_INLINE void LL_DMA_SetMemory1Address(DMA_TypeDef *DMAx, uint32_...
function __STATIC_INLINE (line 1637) | __STATIC_INLINE uint32_t LL_DMA_GetMemory1Address(DMA_TypeDef *DMAx, uin...
function __STATIC_INLINE (line 1656) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT0(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1667) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT1(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1678) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT2(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1689) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT3(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1700) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT4(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1711) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT5(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1722) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT6(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1733) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT7(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1744) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC0(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1755) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC1(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1766) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC2(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1777) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC3(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1788) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC4(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1799) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC5(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1810) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC6(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1821) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC7(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1832) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE0(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1843) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE1(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1854) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE2(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1865) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE3(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1876) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE4(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1887) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE5(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1898) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE6(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1909) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE7(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1920) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_DME0(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1931) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_DME1(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1942) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_DME2(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1953) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_DME3(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1964) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_DME4(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1975) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_DME5(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1986) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_DME6(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 1997) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_DME7(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2008) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_FE0(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2019) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_FE1(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2030) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_FE2(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2041) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_FE3(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2052) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_FE4(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2063) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_FE5(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2074) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_FE6(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2085) | __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_FE7(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2096) | __STATIC_INLINE void LL_DMA_ClearFlag_HT0(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2107) | __STATIC_INLINE void LL_DMA_ClearFlag_HT1(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2118) | __STATIC_INLINE void LL_DMA_ClearFlag_HT2(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2129) | __STATIC_INLINE void LL_DMA_ClearFlag_HT3(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2140) | __STATIC_INLINE void LL_DMA_ClearFlag_HT4(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2151) | __STATIC_INLINE void LL_DMA_ClearFlag_HT5(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2162) | __STATIC_INLINE void LL_DMA_ClearFlag_HT6(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2173) | __STATIC_INLINE void LL_DMA_ClearFlag_HT7(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2184) | __STATIC_INLINE void LL_DMA_ClearFlag_TC0(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2195) | __STATIC_INLINE void LL_DMA_ClearFlag_TC1(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2206) | __STATIC_INLINE void LL_DMA_ClearFlag_TC2(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2217) | __STATIC_INLINE void LL_DMA_ClearFlag_TC3(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2228) | __STATIC_INLINE void LL_DMA_ClearFlag_TC4(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2239) | __STATIC_INLINE void LL_DMA_ClearFlag_TC5(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2250) | __STATIC_INLINE void LL_DMA_ClearFlag_TC6(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2261) | __STATIC_INLINE void LL_DMA_ClearFlag_TC7(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2272) | __STATIC_INLINE void LL_DMA_ClearFlag_TE0(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2283) | __STATIC_INLINE void LL_DMA_ClearFlag_TE1(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2294) | __STATIC_INLINE void LL_DMA_ClearFlag_TE2(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2305) | __STATIC_INLINE void LL_DMA_ClearFlag_TE3(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2316) | __STATIC_INLINE void LL_DMA_ClearFlag_TE4(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2327) | __STATIC_INLINE void LL_DMA_ClearFlag_TE5(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2338) | __STATIC_INLINE void LL_DMA_ClearFlag_TE6(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2349) | __STATIC_INLINE void LL_DMA_ClearFlag_TE7(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2360) | __STATIC_INLINE void LL_DMA_ClearFlag_DME0(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2371) | __STATIC_INLINE void LL_DMA_ClearFlag_DME1(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2382) | __STATIC_INLINE void LL_DMA_ClearFlag_DME2(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2393) | __STATIC_INLINE void LL_DMA_ClearFlag_DME3(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2404) | __STATIC_INLINE void LL_DMA_ClearFlag_DME4(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2415) | __STATIC_INLINE void LL_DMA_ClearFlag_DME5(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2426) | __STATIC_INLINE void LL_DMA_ClearFlag_DME6(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2437) | __STATIC_INLINE void LL_DMA_ClearFlag_DME7(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2448) | __STATIC_INLINE void LL_DMA_ClearFlag_FE0(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2459) | __STATIC_INLINE void LL_DMA_ClearFlag_FE1(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2470) | __STATIC_INLINE void LL_DMA_ClearFlag_FE2(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2481) | __STATIC_INLINE void LL_DMA_ClearFlag_FE3(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2492) | __STATIC_INLINE void LL_DMA_ClearFlag_FE4(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2503) | __STATIC_INLINE void LL_DMA_ClearFlag_FE5(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2514) | __STATIC_INLINE void LL_DMA_ClearFlag_FE6(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2525) | __STATIC_INLINE void LL_DMA_ClearFlag_FE7(DMA_TypeDef *DMAx)
function __STATIC_INLINE (line 2553) | __STATIC_INLINE void LL_DMA_EnableIT_HT(DMA_TypeDef *DMAx, uint32_t Stream)
function __STATIC_INLINE (line 2573) | __STATIC_INLINE void LL_DMA_EnableIT_TE(DMA_TypeDef *DMAx, uint32_t Stream)
function __STATIC_INLINE (line 2593) | __STATIC_INLINE void LL_DMA_EnableIT_TC(DMA_TypeDef *DMAx, uint32_t Stream)
function __STATIC_INLINE (line 2613) | __STATIC_INLINE void LL_DMA_EnableIT_DME(DMA_TypeDef *DMAx, uint32_t Str...
function __STATIC_INLINE (line 2633) | __STATIC_INLINE void LL_DMA_EnableIT_FE(DMA_TypeDef *DMAx, uint32_t Stream)
function __STATIC_INLINE (line 2653) | __STATIC_INLINE void LL_DMA_DisableIT_HT(DMA_TypeDef *DMAx, uint32_t Str...
function __STATIC_INLINE (line 2673) | __STATIC_INLINE void LL_DMA_DisableIT_TE(DMA_TypeDef *DMAx, uint32_t Str...
function __STATIC_INLINE (line 2693) | __STATIC_INLINE void LL_DMA_DisableIT_TC(DMA_TypeDef *DMAx, uint32_t Str...
function __STATIC_INLINE (line 2713) | __STATIC_INLINE void LL_DMA_DisableIT_DME(DMA_TypeDef *DMAx, uint32_t St...
function __STATIC_INLINE (line 2733) | __STATIC_INLINE void LL_DMA_DisableIT_FE(DMA_TypeDef *DMAx, uint32_t Str...
function __STATIC_INLINE (line 2753) | __STATIC_INLINE uint32_t LL_DMA_IsEnabledIT_HT(DMA_TypeDef *DMAx, uint32...
function __STATIC_INLINE (line 2773) | __STATIC_INLINE uint32_t LL_DMA_IsEnabledIT_TE(DMA_TypeDef *DMAx, uint32...
function __STATIC_INLINE (line 2793) | __STATIC_INLINE uint32_t LL_DMA_IsEnabledIT_TC(DMA_TypeDef *DMAx, uint32...
function __STATIC_INLINE (line 2813) | __STATIC_INLINE uint32_t LL_DMA_IsEnabledIT_DME(DMA_TypeDef *DMAx, uint3...
function __STATIC_INLINE (line 2833) | __STATIC_INLINE uint32_t LL_DMA_IsEnabledIT_FE(DMA_TypeDef *DMAx, uint32...
FILE: examples/lib/st/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_exti.h
type LL_EXTI_InitTypeDef (line 74) | typedef struct
function __STATIC_INLINE (line 285) | __STATIC_INLINE void LL_EXTI_EnableIT_0_31(uint32_t ExtiLine)
function __STATIC_INLINE (line 326) | __STATIC_INLINE void LL_EXTI_DisableIT_0_31(uint32_t ExtiLine)
function __STATIC_INLINE (line 368) | __STATIC_INLINE uint32_t LL_EXTI_IsEnabledIT_0_31(uint32_t ExtiLine)
function __STATIC_INLINE (line 415) | __STATIC_INLINE void LL_EXTI_EnableEvent_0_31(uint32_t ExtiLine)
function __STATIC_INLINE (line 455) | __STATIC_INLINE void LL_EXTI_DisableEvent_0_31(uint32_t ExtiLine)
function __STATIC_INLINE (line 494) | __STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_0_31(uint32_t ExtiLine)
function __STATIC_INLINE (line 546) | __STATIC_INLINE void LL_EXTI_EnableRisingTrig_0_31(uint32_t ExtiLine)
function __STATIC_INLINE (line 590) | __STATIC_INLINE void LL_EXTI_DisableRisingTrig_0_31(uint32_t ExtiLine)
function __STATIC_INLINE (line 627) | __STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_0_31(uint32_t ExtiL...
function __STATIC_INLINE (line 678) | __STATIC_INLINE void LL_EXTI_EnableFallingTrig_0_31(uint32_t ExtiLine)
function __STATIC_INLINE (line 720) | __STATIC_INLINE void LL_EXTI_DisableFallingTrig_0_31(uint32_t ExtiLine)
function __STATIC_INLINE (line 756) | __STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_0_31(uint32_t Exti...
function __STATIC_INLINE (line 805) | __STATIC_INLINE void LL_EXTI_GenerateSWI_0_31(uint32_t ExtiLine)
function __STATIC_INLINE (line 851) | __STATIC_INLINE uint32_t LL_EXTI_IsActiveFlag_0_31(uint32_t ExtiLine)
function __STATIC_INLINE (line 889) | __STATIC_INLINE uint32_t LL_EXTI_ReadFlag_0_31(uint32_t ExtiLine)
function __STATIC_INLINE (line 927) | __STATIC_INLINE void LL_EXTI_ClearFlag_0_31(uint32_t ExtiLine)
FILE: examples/lib/st/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_gpio.h
type LL_GPIO_InitTypeDef (line 80) | typedef struct
function __STATIC_INLINE (line 290) | __STATIC_INLINE void LL_GPIO_SetPinMode(GPIO_TypeDef *GPIOx, uint32_t Pi...
function __STATIC_INLINE (line 324) | __STATIC_INLINE uint32_t LL_GPIO_GetPinMode(GPIO_TypeDef *GPIOx, uint32_...
function __STATIC_INLINE (line 359) | __STATIC_INLINE void LL_GPIO_SetPinOutputType(GPIO_TypeDef *GPIOx, uint3...
function __STATIC_INLINE (line 393) | __STATIC_INLINE uint32_t LL_GPIO_GetPinOutputType(GPIO_TypeDef *GPIOx, u...
function __STATIC_INLINE (line 430) | __STATIC_INLINE void LL_GPIO_SetPinSpeed(GPIO_TypeDef *GPIOx, uint32_t P...
function __STATIC_INLINE (line 467) | __STATIC_INLINE uint32_t LL_GPIO_GetPinSpeed(GPIO_TypeDef *GPIOx, uint32...
function __STATIC_INLINE (line 501) | __STATIC_INLINE void LL_GPIO_SetPinPull(GPIO_TypeDef *GPIOx, uint32_t Pi...
function __STATIC_INLINE (line 533) | __STATIC_INLINE uint32_t LL_GPIO_GetPinPull(GPIO_TypeDef *GPIOx, uint32_...
function __STATIC_INLINE (line 573) | __STATIC_INLINE void LL_GPIO_SetAFPin_0_7(GPIO_TypeDef *GPIOx, uint32_t ...
function __STATIC_INLINE (line 610) | __STATIC_INLINE uint32_t LL_GPIO_GetAFPin_0_7(GPIO_TypeDef *GPIOx, uint3...
function __STATIC_INLINE (line 650) | __STATIC_INLINE void LL_GPIO_SetAFPin_8_15(GPIO_TypeDef *GPIOx, uint32_t...
function __STATIC_INLINE (line 688) | __STATIC_INLINE uint32_t LL_GPIO_GetAFPin_8_15(GPIO_TypeDef *GPIOx, uint...
function __STATIC_INLINE (line 724) | __STATIC_INLINE void LL_GPIO_LockPin(GPIO_TypeDef *GPIOx, uint32_t PinMask)
function __STATIC_INLINE (line 758) | __STATIC_INLINE uint32_t LL_GPIO_IsPinLocked(GPIO_TypeDef *GPIOx, uint32...
function __STATIC_INLINE (line 769) | __STATIC_INLINE uint32_t LL_GPIO_IsAnyPinLocked(GPIO_TypeDef *GPIOx)
function __STATIC_INLINE (line 788) | __STATIC_INLINE uint32_t LL_GPIO_ReadInputPort(GPIO_TypeDef *GPIOx)
function __STATIC_INLINE (line 817) | __STATIC_INLINE uint32_t LL_GPIO_IsInputPinSet(GPIO_TypeDef *GPIOx, uint...
function __STATIC_INLINE (line 829) | __STATIC_INLINE void LL_GPIO_WriteOutputPort(GPIO_TypeDef *GPIOx, uint32...
function __STATIC_INLINE (line 840) | __STATIC_INLINE uint32_t LL_GPIO_ReadOutputPort(GPIO_TypeDef *GPIOx)
function __STATIC_INLINE (line 869) | __STATIC_INLINE uint32_t LL_GPIO_IsOutputPinSet(GPIO_TypeDef *GPIOx, uin...
function __STATIC_INLINE (line 898) | __STATIC_INLINE void LL_GPIO_SetOutputPin(GPIO_TypeDef *GPIOx, uint32_t ...
function __STATIC_INLINE (line 927) | __STATIC_INLINE void LL_GPIO_ResetOutputPin(GPIO_TypeDef *GPIOx, uint32_...
function __STATIC_INLINE (line 956) | __STATIC_INLINE void LL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint32_t Pin...
FILE: examples/lib/st/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_pwr.h
function __STATIC_INLINE (line 226) | __STATIC_INLINE void LL_PWR_EnableFLASHInterfaceSTOP(void)
function __STATIC_INLINE (line 236) | __STATIC_INLINE void LL_PWR_DisableFLASHInterfaceSTOP(void)
function __STATIC_INLINE (line 246) | __STATIC_INLINE uint32_t LL_PWR_IsEnabledFLASHInterfaceSTOP(void)
function __STATIC_INLINE (line 259) | __STATIC_INLINE void LL_PWR_EnableFLASHMemorySTOP(void)
function __STATIC_INLINE (line 269) | __STATIC_INLINE void LL_PWR_DisableFLASHMemorySTOP(void)
function __STATIC_INLINE (line 279) | __STATIC_INLINE uint32_t LL_PWR_IsEnabledFLASHMemorySTOP(void)
function __STATIC_INLINE (line 298) | __STATIC_INLINE void LL_PWR_EnableUnderDriveMode(void)
function __STATIC_INLINE (line 308) | __STATIC_INLINE void LL_PWR_DisableUnderDriveMode(void)
function __STATIC_INLINE (line 318) | __STATIC_INLINE uint32_t LL_PWR_IsEnabledUnderDriveMode(void)
function __STATIC_INLINE (line 330) | __STATIC_INLINE void LL_PWR_EnableOverDriveSwitching(void)
function __STATIC_INLINE (line 340) | __STATIC_INLINE void LL_PWR_DisableOverDriveSwitching(void)
function __STATIC_INLINE (line 350) | __STATIC_INLINE uint32_t LL_PWR_IsEnabledOverDriveSwitching(void)
function __STATIC_INLINE (line 361) | __STATIC_INLINE void LL_PWR_EnableOverDriveMode(void)
function __STATIC_INLINE (line 371) | __STATIC_INLINE void LL_PWR_DisableOverDriveMode(void)
function __STATIC_INLINE (line 381) | __STATIC_INLINE uint32_t LL_PWR_IsEnabledOverDriveMode(void)
function __STATIC_INLINE (line 392) | __STATIC_INLINE void LL_PWR_EnableMainRegulatorDeepSleepUDMode(void)
function __STATIC_INLINE (line 402) | __STATIC_INLINE void LL_PWR_DisableMainRegulatorDeepSleepUDMode(void)
function __STATIC_INLINE (line 412) | __STATIC_INLINE uint32_t LL_PWR_IsEnabledMainRegulatorDeepSleepUDMode(void)
function __STATIC_INLINE (line 424) | __STATIC_INLINE void LL_PWR_EnableLowPowerRegulatorDeepSleepUDMode(void)
function __STATIC_INLINE (line 434) | __STATIC_INLINE void LL_PWR_DisableLowPowerRegulatorDeepSleepUDMode(void)
function __STATIC_INLINE (line 444) | __STATIC_INLINE uint32_t LL_PWR_IsEnabledLowPowerRegulatorDeepSleepUDMod...
function __STATIC_INLINE (line 456) | __STATIC_INLINE void LL_PWR_EnableMainRegulatorLowVoltageMode(void)
function __STATIC_INLINE (line 466) | __STATIC_INLINE void LL_PWR_DisableMainRegulatorLowVoltageMode(void)
function __STATIC_INLINE (line 476) | __STATIC_INLINE uint32_t LL_PWR_IsEnabledMainRegulatorLowVoltageMode(void)
function __STATIC_INLINE (line 488) | __STATIC_INLINE void LL_PWR_EnableLowPowerRegulatorLowVoltageMode(void)
function __STATIC_INLINE (line 498) | __STATIC_INLINE void LL_PWR_DisableLowPowerRegulatorLowVoltageMode(void)
function __STATIC_INLINE (line 508) | __STATIC_INLINE uint32_t LL_PWR_IsEnabledLowPowerRegulatorLowVoltageMode...
function __STATIC_INLINE (line 523) | __STATIC_INLINE void LL_PWR_SetRegulVoltageScaling(uint32_t VoltageScaling)
function __STATIC_INLINE (line 537) | __STATIC_INLINE uint32_t LL_PWR_GetRegulVoltageScaling(void)
function __STATIC_INLINE (line 546) | __STATIC_INLINE void LL_PWR_EnableFlashPowerDown(void)
function __STATIC_INLINE (line 556) | __STATIC_INLINE void LL_PWR_DisableFlashPowerDown(void)
function __STATIC_INLINE (line 566) | __STATIC_INLINE uint32_t LL_PWR_IsEnabledFlashPowerDown(void)
function __STATIC_INLINE (line 576) | __STATIC_INLINE void LL_PWR_EnableBkUpAccess(void)
function __STATIC_INLINE (line 586) | __STATIC_INLINE void LL_PWR_DisableBkUpAccess(void)
function __STATIC_INLINE (line 596) | __STATIC_INLINE uint32_t LL_PWR_IsEnabledBkUpAccess(void)
function __STATIC_INLINE (line 607) | __STATIC_INLINE void LL_PWR_EnableBkUpRegulator(void)
function __STATIC_INLINE (line 619) | __STATIC_INLINE void LL_PWR_DisableBkUpRegulator(void)
function __STATIC_INLINE (line 629) | __STATIC_INLINE uint32_t LL_PWR_IsEnabledBkUpRegulator(void)
function __STATIC_INLINE (line 642) | __STATIC_INLINE void LL_PWR_SetRegulModeDS(uint32_t RegulMode)
function __STATIC_INLINE (line 654) | __STATIC_INLINE uint32_t LL_PWR_GetRegulModeDS(void)
function __STATIC_INLINE (line 681) | __STATIC_INLINE void LL_PWR_SetPowerMode(uint32_t PDMode)
function __STATIC_INLINE (line 713) | __STATIC_INLINE uint32_t LL_PWR_GetPowerMode(void)
function __STATIC_INLINE (line 738) | __STATIC_INLINE void LL_PWR_SetPVDLevel(uint32_t PVDLevel)
function __STATIC_INLINE (line 756) | __STATIC_INLINE uint32_t LL_PWR_GetPVDLevel(void)
function __STATIC_INLINE (line 766) | __STATIC_INLINE void LL_PWR_EnablePVD(void)
function __STATIC_INLINE (line 776) | __STATIC_INLINE void LL_PWR_DisablePVD(void)
function __STATIC_INLINE (line 786) | __STATIC_INLINE uint32_t LL_PWR_IsEnabledPVD(void)
function __STATIC_INLINE (line 805) | __STATIC_INLINE void LL_PWR_EnableWakeUpPin(uint32_t WakeUpPin)
function __STATIC_INLINE (line 824) | __STATIC_INLINE void LL_PWR_DisableWakeUpPin(uint32_t WakeUpPin)
function __STATIC_INLINE (line 843) | __STATIC_INLINE uint32_t LL_PWR_IsEnabledWakeUpPin(uint32_t WakeUpPin)
function __STATIC_INLINE (line 862) | __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_WU(void)
function __STATIC_INLINE (line 872) | __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_SB(void)
function __STATIC_INLINE (line 882) | __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_BRR(void)
function __STATIC_INLINE (line 891) | __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_PVDO(void)
function __STATIC_INLINE (line 901) | __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_VOS(void)
function __STATIC_INLINE (line 911) | __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_OD(void)
function __STATIC_INLINE (line 923) | __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_ODSW(void)
function __STATIC_INLINE (line 935) | __STATIC_INLINE uint32_t LL_PWR_IsActiveFlag_UD(void)
function __STATIC_INLINE (line 945) | __STATIC_INLINE void LL_PWR_ClearFlag_SB(void)
function __STATIC_INLINE (line 955) | __STATIC_INLINE void LL_PWR_ClearFlag_WU(void)
function __STATIC_INLINE (line 965) | __STATIC_INLINE void LL_PWR_ClearFlag_UD(void)
FILE: examples/lib/st/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_rcc.h
type LL_RCC_ClocksTypeDef (line 93) | typedef struct
function __STATIC_INLINE (line 2937) | __STATIC_INLINE void LL_RCC_HSE_EnableCSS(void)
function __STATIC_INLINE (line 2947) | __STATIC_INLINE void LL_RCC_HSE_EnableBypass(void)
function __STATIC_INLINE (line 2957) | __STATIC_INLINE void LL_RCC_HSE_DisableBypass(void)
function __STATIC_INLINE (line 2967) | __STATIC_INLINE void LL_RCC_HSE_Enable(void)
function __STATIC_INLINE (line 2977) | __STATIC_INLINE void LL_RCC_HSE_Disable(void)
function __STATIC_INLINE (line 2987) | __STATIC_INLINE uint32_t LL_RCC_HSE_IsReady(void)
function __STATIC_INLINE (line 3005) | __STATIC_INLINE void LL_RCC_HSI_Enable(void)
function __STATIC_INLINE (line 3015) | __STATIC_INLINE void LL_RCC_HSI_Disable(void)
function __STATIC_INLINE (line 3025) | __STATIC_INLINE uint32_t LL_RCC_HSI_IsReady(void)
function __STATIC_INLINE (line 3037) | __STATIC_INLINE uint32_t LL_RCC_HSI_GetCalibration(void)
function __STATIC_INLINE (line 3051) | __STATIC_INLINE void LL_RCC_HSI_SetCalibTrimming(uint32_t Value)
function __STATIC_INLINE (line 3061) | __STATIC_INLINE uint32_t LL_RCC_HSI_GetCalibTrimming(void)
function __STATIC_INLINE (line 3079) | __STATIC_INLINE void LL_RCC_LSE_Enable(void)
function __STATIC_INLINE (line 3089) | __STATIC_INLINE void LL_RCC_LSE_Disable(void)
function __STATIC_INLINE (line 3099) | __STATIC_INLINE void LL_RCC_LSE_EnableBypass(void)
function __STATIC_INLINE (line 3109) | __STATIC_INLINE void LL_RCC_LSE_DisableBypass(void)
function __STATIC_INLINE (line 3119) | __STATIC_INLINE uint32_t LL_RCC_LSE_IsReady(void)
function __STATIC_INLINE (line 3131) | __STATIC_INLINE void LL_RCC_LSE_EnableHighDriveMode(void)
function __STATIC_INLINE (line 3142) | __STATIC_INLINE void LL_RCC_LSE_DisableHighDriveMode(void)
function __STATIC_INLINE (line 3161) | __STATIC_INLINE void LL_RCC_LSI_Enable(void)
function __STATIC_INLINE (line 3171) | __STATIC_INLINE void LL_RCC_LSI_Disable(void)
function __STATIC_INLINE (line 3181) | __STATIC_INLINE uint32_t LL_RCC_LSI_IsReady(void)
function __STATIC_INLINE (line 3206) | __STATIC_INLINE void LL_RCC_SetSysClkSource(uint32_t Source)
function __STATIC_INLINE (line 3222) | __STATIC_INLINE uint32_t LL_RCC_GetSysClkSource(void)
function __STATIC_INLINE (line 3242) | __STATIC_INLINE void LL_RCC_SetAHBPrescaler(uint32_t Prescaler)
function __STATIC_INLINE (line 3258) | __STATIC_INLINE void LL_RCC_SetAPB1Prescaler(uint32_t Prescaler)
function __STATIC_INLINE (line 3274) | __STATIC_INLINE void LL_RCC_SetAPB2Prescaler(uint32_t Prescaler)
function __STATIC_INLINE (line 3293) | __STATIC_INLINE uint32_t LL_RCC_GetAHBPrescaler(void)
function __STATIC_INLINE (line 3308) | __STATIC_INLINE uint32_t LL_RCC_GetAPB1Prescaler(void)
function __STATIC_INLINE (line 3323) | __STATIC_INLINE uint32_t LL_RCC_GetAPB2Prescaler(void)
function __STATIC_INLINE (line 3342) | __STATIC_INLINE void LL_RCC_MCO1_Enable(void)
function __STATIC_INLINE (line 3352) | __STATIC_INLINE void LL_RCC_MCO1_Disable(void)
function __STATIC_INLINE (line 3364) | __STATIC_INLINE void LL_RCC_MCO2_Enable(void)
function __STATIC_INLINE (line 3374) | __STATIC_INLINE void LL_RCC_MCO2_Disable(void)
function __STATIC_INLINE (line 3408) | __STATIC_INLINE void LL_RCC_ConfigMCO(uint32_t MCOxSource, uint32_t MCOx...
function __STATIC_INLINE (line 3430) | __STATIC_INLINE void LL_RCC_SetFMPI2CClockSource(uint32_t FMPI2CxSource)
function __STATIC_INLINE (line 3447) | __STATIC_INLINE void LL_RCC_SetLPTIMClockSource(uint32_t LPTIMxSource)
function __STATIC_INLINE (line 3483) | __STATIC_INLINE void LL_RCC_SetSAIClockSource(uint32_t SAIxSource)
function __STATIC_INLINE (line 3499) | __STATIC_INLINE void LL_RCC_SetSDIOClockSource(uint32_t SDIOxSource)
function __STATIC_INLINE (line 3522) | __STATIC_INLINE void LL_RCC_SetCK48MClockSource(uint32_t CK48MxSource)
function __STATIC_INLINE (line 3544) | __STATIC_INLINE void LL_RCC_SetRNGClockSource(uint32_t RNGxSource)
function __STATIC_INLINE (line 3567) | __STATIC_INLINE void LL_RCC_SetUSBClockSource(uint32_t USBxSource)
function __STATIC_INLINE (line 3587) | __STATIC_INLINE void LL_RCC_SetCECClockSource(uint32_t Source)
function __STATIC_INLINE (line 3612) | __STATIC_INLINE void LL_RCC_SetI2SClockSource(uint32_t Source)
function __STATIC_INLINE (line 3630) | __STATIC_INLINE void LL_RCC_SetDSIClockSource(uint32_t Source)
function __STAT
Copy disabled (too large)
Download .json
Condensed preview — 463 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (10,907K chars).
[
{
"path": ".clang-format",
"chars": 5429,
"preview": "# Language part removed. With clang-format >=20.1, the C and Cpp are separately handled,\n# so either there is no languag"
},
{
"path": ".gitattributes",
"chars": 375,
"preview": "# Auto detect text files and perform LF normalization\n* text=auto\n\n# Custom for Visual Studio\n*.cs \tdiff=csharp\n\n# Stand"
},
{
"path": ".github/FUNDING.yml",
"chars": 76,
"preview": "# These are supported funding model platforms\n\ncustom: ['paypal.me/tilz0R']\n"
},
{
"path": ".github/workflows/release.yml",
"chars": 1250,
"preview": "name: Release workflow\n\non:\n push:\n # Sequence of patterns matched against refs/tags\n tags:\n - 'v*' # Push e"
},
{
"path": ".gitignore",
"chars": 6214,
"preview": "#Build Keil files\n*.rar\n*.o\n*.d\n*.crf\n*.htm\n*.dep\n*.map\n*.bak\n*.axf\n*.lnp\n*.lst\n*.ini\n*.scvd\n*.iex\n*.sct\n*.MajerleT\n*.tj"
},
{
"path": ".gitmodules",
"chars": 0,
"preview": ""
},
{
"path": ".readthedocs.yaml",
"chars": 273,
"preview": "version: 2\nbuild:\n os: ubuntu-22.04\n tools:\n python: \"3.11\"\n\n# Build documentation in the docs/ directory with Sphi"
},
{
"path": ".vscode/c_cpp_properties.json",
"chars": 359,
"preview": "{\n \"version\": 4,\n \"configurations\": [\n {\n /*\n * Full configuration is provided by CM"
},
{
"path": ".vscode/extensions.json",
"chars": 119,
"preview": "{\n \"recommendations\": [\n \"ms-vscode.cpptools\",\n \"ms-vscode.cmake-tools\",\n \"twxs.cmake\",\n ]\n}"
},
{
"path": ".vscode/launch.json",
"chars": 422,
"preview": "{\n \"version\": \"0.2.0\",\n \"configurations\": [\n {\n /* GDB must in be in the PATH environment */\n "
},
{
"path": ".vscode/settings.json",
"chars": 1459,
"preview": "{\n \"files.associations\": {\n \"*.lcdjson\": \"json\",\n \"lwevt_types.h\": \"c\",\n \"lwevt_type.h\": \"c\",\n "
},
{
"path": ".vscode/tasks.json",
"chars": 2534,
"preview": "{\n\t\"version\": \"2.0.0\",\n\t\"tasks\": [\n {\n \"type\": \"cppbuild\",\n \"label\": \"Build project\",\n "
},
{
"path": "AUTHORS",
"chars": 500,
"preview": "Tilen Majerle <tilen.majerle@gmail.com>\nAdrian Carpenter <adrian.carpenter@me.com>\nMiha Cesnik <cesnik.91@gmail.com>\nEvg"
},
{
"path": "CHANGELOG.md",
"chars": 6507,
"preview": "# Changelog\n\n## Develop\n\n- Change license year to 2022\n- MQTT: Improve module implementation\n- MQTT: Add optional SSL co"
},
{
"path": "CMakeLists.txt",
"chars": 1646,
"preview": "cmake_minimum_required(VERSION 3.22)\n\n# Setup project\nproject(LwLibPROJECT)\n\nif(NOT PROJECT_IS_TOP_LEVEL)\n add_subdir"
},
{
"path": "CMakePresets.json",
"chars": 1077,
"preview": "{\n \"version\": 3,\n \"configurePresets\": [\n {\n \"name\": \"default\",\n \"hidden\": true,\n "
},
{
"path": "LICENSE",
"chars": 1070,
"preview": "MIT License\n\nCopyright (c) 2025 Tilen MAJERLE\n\nPermission is hereby granted, free of charge, to any person obtaining a c"
},
{
"path": "README.md",
"chars": 1901,
"preview": "# Lightweight ESP-AT parser\n\nLwESP is lightweight ESP AT commands parser library to communicate with ESP8266 or ESP32 Wi"
},
{
"path": "TODO.md",
"chars": 673,
"preview": "# TODO list\n\n- Implement `AT+CWSTATE` to query Wi-Fi state\n- Implement `AT+CIPSENDL` and `AT+CIPSENDLCFG` for long data "
},
{
"path": "certificates/client_ca_00.crt",
"chars": 1164,
"preview": "-----BEGIN CERTIFICATE-----\nMIIDLTCCAhWgAwIBAgIJAMQZBKBLTB95MA0GCSqGSIb3DQEBBQUAMDcxCzAJBgNV\nBAYTAlMxMQ8wDQYDVQQKDAZFU1A"
},
{
"path": "certificates/client_ca_generated_atpki.hex",
"chars": 7226,
"preview": "0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x42, 0x45, 0x47, 0x49, 0x4E, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41,\n"
},
{
"path": "certificates/client_cert_00.crt",
"chars": 1164,
"preview": "-----BEGIN CERTIFICATE-----\nMIIDLTCCAhWgAwIBAgIJAN6LrsW0Qt2FMA0GCSqGSIb3DQEBCwUAMDcxCzAJBgNV\nBAYTAkMxMQ8wDQYDVQQKDAZFU1A"
},
{
"path": "certificates/client_cert_generated_atpki.hex",
"chars": 7226,
"preview": "0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x42, 0x45, 0x47, 0x49, 0x4E, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41,\n"
},
{
"path": "certificates/client_key_00.key",
"chars": 1675,
"preview": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAtNg14AsNIEg0oWhyw5Wp0aaSoyKCdCVv/oA5IPI9TwjZuVsZ\nAMdwSLQTeoZycMJUOAzFgmV"
},
{
"path": "certificates/client_key_generated_atpki.HEX",
"chars": 10406,
"preview": "0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x42, 0x45, 0x47, 0x49, 0x4E, 0x20, 0x52, 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41,\n"
},
{
"path": "cmake/i686-w64-mingw32-gcc.cmake",
"chars": 241,
"preview": "set(CMAKE_SYSTEM_NAME Windows)\n\n# Some default GCC settings\nset(CMAKE_C_COMPILER i686-w64-m"
},
{
"path": "cmake/x86_64-w64-mingw32-gcc.cmake",
"chars": 245,
"preview": "set(CMAKE_SYSTEM_NAME Windows)\n\n# Some default GCC settings\nset(CMAKE_C_COMPILER x86_64-w64"
},
{
"path": "dev/lwesp_dev.sln",
"chars": 1405,
"preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 16\nVisualStudioVersion = 16.0.2880"
},
{
"path": "dev/lwesp_dev.vcxproj",
"chars": 10534,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.micros"
},
{
"path": "dev/lwesp_dev.vcxproj.filters",
"chars": 8272,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "dev/lwesp_opts.h",
"chars": 3901,
"preview": "/**\n * \\file lwesp_opts.h\n * \\brief ESP application options\n */\n\n/*\n * Copyright (c) 2024 Tilen MAJ"
},
{
"path": "dev/lwmem_opts.h",
"chars": 1755,
"preview": "/**\n * \\file lwmem_opts.h\n * \\brief LwMEM application options\n */\n\n/*\n * Copyright (c) 2024 Tilen M"
},
{
"path": "dev/main.c",
"chars": 19826,
"preview": "// lwesp_dev_os.cpp : Defines the entry point for the console application.\n//\n\n#include <string.h>\n#include \"examples_co"
},
{
"path": "docs/Makefile",
"chars": 634,
"preview": "# Minimal makefile for Sphinx documentation\n#\n\n# You can set these variables from the command line, and also\n# from the "
},
{
"path": "docs/api-reference/apps/cayenne_api.rst",
"chars": 100,
"preview": ".. _api_app_cayenne_api:\n\nCayenne MQTT API\n================\n\n.. doxygengroup:: LWESP_APP_CAYENNE_API"
},
{
"path": "docs/api-reference/apps/http_server.rst",
"chars": 137,
"preview": ".. _api_app_http_server:\n\nHTTP Server\n===========\n\n.. doxygengroup:: LWESP_APP_HTTP_SERVER\n.. doxygengroup:: LWESP_APP_H"
},
{
"path": "docs/api-reference/apps/index.rst",
"chars": 89,
"preview": ".. _api_apps:\n\nApplications\n============\n\n.. toctree::\n :maxdepth: 2\n :glob:\n\n *"
},
{
"path": "docs/api-reference/apps/mqtt_client.rst",
"chars": 346,
"preview": ".. _api_app_mqtt_client:\n\nMQTT Client\n===========\n\nMQTT client v3.1.1 implementation, based on callback (non-netconn) co"
},
{
"path": "docs/api-reference/apps/mqtt_client_api.rst",
"chars": 329,
"preview": ".. _api_app_mqtt_client_api:\n\nMQTT Client API\n===============\n\n*MQTT Client API* provides sequential API built on top of"
},
{
"path": "docs/api-reference/apps/netconn.rst",
"chars": 5335,
"preview": ".. _api_app_netconn:\n\nNetconn API\n===========\n\n*Netconn API* is addon on top of existing connection module and allows se"
},
{
"path": "docs/api-reference/cli/cli_input.rst",
"chars": 84,
"preview": ".. _api_cli_input:\n\nCLI Input module\n================\n\n.. doxygengroup:: CLI_INPUT\n\t"
},
{
"path": "docs/api-reference/cli/cli_opt.rst",
"chars": 92,
"preview": ".. _api_cli_opt:\n\nCLI Configuration\n=================\n\n.. doxygengroup:: CLI_CONFIG\n\t:inner:"
},
{
"path": "docs/api-reference/cli/index.rst",
"chars": 122,
"preview": ".. _api_cli:\n\nCommand line interface\n======================\n\n.. toctree::\n\t:maxdepth: 2\n\t:glob:\n\n\t*\n\n.. doxygengroup:: C"
},
{
"path": "docs/api-reference/index.rst",
"chars": 155,
"preview": ".. _api_reference:\n\nAPI reference\n=============\n\nList of all the modules:\n\n.. toctree::\n\t:maxdepth: 2\n\n\tlwesp/index\n\topt"
},
{
"path": "docs/api-reference/lwesp/ap.rst",
"chars": 72,
"preview": ".. _api_lwesp_ap:\n\nAccess point\n============\n\n.. doxygengroup:: LWESP_AP"
},
{
"path": "docs/api-reference/lwesp/ble.rst",
"chars": 90,
"preview": ".. _api_lwesp_ble:\n\nBluetooth Low Energy\n====================\n\n.. doxygengroup:: LWESP_BLE"
},
{
"path": "docs/api-reference/lwesp/bt.rst",
"chars": 82,
"preview": ".. _api_lwesp_bt:\n\nBluetooth Classic\n=================\n\n.. doxygengroup:: LWESP_BT"
},
{
"path": "docs/api-reference/lwesp/buff.rst",
"chars": 74,
"preview": ".. _api_lwesp_buff:\n\nRing buffer\n===========\n\n.. doxygengroup:: LWESP_BUFF"
},
{
"path": "docs/api-reference/lwesp/conn.rst",
"chars": 2891,
"preview": ".. _api_lwesp_conn:\n\nConnections\n===========\n\nConnections are essential feature of WiFi device and middleware.\nIt is dev"
},
{
"path": "docs/api-reference/lwesp/debug.rst",
"chars": 1399,
"preview": ".. _api_lwesp_debug:\n\nDebug support\n=============\n\nMiddleware has extended debugging capabilities.\nThese consist of diff"
},
{
"path": "docs/api-reference/lwesp/dhcp.rst",
"chars": 122,
"preview": ".. _api_lwesp_dhcp:\n\nDynamic Host Configuration Protocol\n===================================\n\n.. doxygengroup:: LWESP_DH"
},
{
"path": "docs/api-reference/lwesp/dns.rst",
"chars": 86,
"preview": ".. _api_lwesp_dns:\n\nDomain Name System\n==================\n\n.. doxygengroup:: LWESP_DNS"
},
{
"path": "docs/api-reference/lwesp/evt.rst",
"chars": 82,
"preview": ".. _api_lwesp_evt:\n\nEvent management\n================\n\n.. doxygengroup:: LWESP_EVT"
},
{
"path": "docs/api-reference/lwesp/flash.rst",
"chars": 72,
"preview": ".. _api_flash:\n\nSystem Flash\n============\n\n.. doxygengroup:: LWESP_FLASH"
},
{
"path": "docs/api-reference/lwesp/hostname.rst",
"chars": 76,
"preview": ".. _api_lwesp_hostname:\n\nHostname\n========\n\n.. doxygengroup:: LWESP_HOSTNAME"
},
{
"path": "docs/api-reference/lwesp/index.rst",
"chars": 92,
"preview": ".. _api_lwesp:\n\nLwESP\n=====\n\n.. toctree::\n\t:maxdepth: 2\n\t:glob:\n\n\t*\n\n.. doxygengroup:: LWESP"
},
{
"path": "docs/api-reference/lwesp/input.rst",
"chars": 1650,
"preview": ".. _api_lwesp_input:\n\nInput module\n============\n\nInput module is used to input received data from *ESP* device to *LwESP"
},
{
"path": "docs/api-reference/lwesp/mdns.rst",
"chars": 74,
"preview": ".. _api_lwesp_:\n\nMulticast DNS\n=============\n\n.. doxygengroup:: LWESP_MDNS"
},
{
"path": "docs/api-reference/lwesp/mem.rst",
"chars": 78,
"preview": ".. _api_lwesp_mem:\n\nMemory manager\n==============\n\n.. doxygengroup:: LWESP_MEM"
},
{
"path": "docs/api-reference/lwesp/pbuf.rst",
"chars": 7127,
"preview": ".. _api_lwesp_pbuf:\n\nPacket buffer\n=============\n\nPacket buffer (or *pbuf*) is buffer manager to handle received data fr"
},
{
"path": "docs/api-reference/lwesp/ping.rst",
"chars": 76,
"preview": ".. _api_lwesp_ping:\n\nPing support\n============\n\n.. doxygengroup:: LWESP_PING"
},
{
"path": "docs/api-reference/lwesp/server.rst",
"chars": 68,
"preview": ".. _api_lwesp_server:\n\nServer\n======\n\n.. doxygengroup:: LWESP_SERVER"
},
{
"path": "docs/api-reference/lwesp/smart.rst",
"chars": 78,
"preview": ".. _api_lwesp_smart:\n\nSmart config\n============\n\n.. doxygengroup:: LWESP_SMART"
},
{
"path": "docs/api-reference/lwesp/sntp.rst",
"chars": 391,
"preview": ".. _api_lwesp_sntp:\n\nSimple Network Time Protocol\n============================\n\nESP has built-in support for *Simple Net"
},
{
"path": "docs/api-reference/lwesp/sta.rst",
"chars": 531,
"preview": ".. _api_lwesp_sta:\n\nStation API\n===========\n\nStation API is used to work with *ESP* acting in station mode.\nIt allows to"
},
{
"path": "docs/api-reference/lwesp/timeout.rst",
"chars": 627,
"preview": ".. _api_lwesp_timeout:\n\nTimeout manager\n===============\n\nTimeout manager allows application to call specific function at"
},
{
"path": "docs/api-reference/lwesp/types.rst",
"chars": 108,
"preview": ".. _api_lwesp_types:\n\nStructures and enumerations\n===========================\n\n.. doxygengroup:: LWESP_TYPES"
},
{
"path": "docs/api-reference/lwesp/unicode.rst",
"chars": 261,
"preview": ".. _api_lwesp_unicode:\n\nUnicode\n=======\n\nUnicode decoder block. It can decode sequence of *UTF-8* characters,\nbetween ``"
},
{
"path": "docs/api-reference/lwesp/utils.rst",
"chars": 196,
"preview": ".. _api_lwesp_utils:\n\nUtilities\n=========\n\nUtility functions for various cases.\nThese function are used across entire mi"
},
{
"path": "docs/api-reference/lwesp/webserver.rst",
"chars": 416,
"preview": ".. _api_lwesp_webserver:\n\nWeb Server\n==========\n\nUse ESP-AT's built-in web server feature to help WiFi provisioning and/"
},
{
"path": "docs/api-reference/lwesp/wps.rst",
"chars": 92,
"preview": ".. _api_lwesp_wps:\n\nWi-Fi Protected Setup\n=====================\n\n.. doxygengroup:: LWESP_WPS"
},
{
"path": "docs/api-reference/opt.rst",
"chars": 356,
"preview": ".. _api_lwesp_opt:\n\nConfiguration\n=============\n\nThis is the default configuration of the middleware.\nWhen any of the se"
},
{
"path": "docs/api-reference/port/index.rst",
"chars": 122,
"preview": ".. _api_lwesp_port:\n\nPlatform specific\n=================\n\nList of all the modules:\n\n.. toctree::\n\t:maxdepth: 2\n\t:glob:\n\n"
},
{
"path": "docs/api-reference/port/ll.rst",
"chars": 285,
"preview": ".. _api_lwesp_ll:\n\nLow-Level functions\n===================\n\nLow-level module consists of callback-only functions, which "
},
{
"path": "docs/api-reference/port/sys.rst",
"chars": 670,
"preview": ".. _api_lwesp_sys:\n\nSystem functions\n================\n\nSystem functions are bridge between operating system system calls"
},
{
"path": "docs/authors/index.rst",
"chars": 113,
"preview": ".. _authors:\n\nAuthors\n=======\n\nList of authors and contributors to the library\n\n.. literalinclude:: ../../AUTHORS"
},
{
"path": "docs/changelog/index.rst",
"chars": 76,
"preview": ".. _changelof:\n\nChangelog\n=========\n\n.. literalinclude:: ../../CHANGELOG.md\n"
},
{
"path": "docs/conf.py",
"chars": 4771,
"preview": "# Configuration file for the Sphinx documentation builder.\n#\n# This file only contains a selection of the most common op"
},
{
"path": "docs/doxyfile.doxy",
"chars": 120543,
"preview": "# Doxyfile 1.9.4\n\n# This file describes the settings to be used by the documentation system\n# doxygen (www.doxygen.org) "
},
{
"path": "docs/examples/index.rst",
"chars": 7490,
"preview": ".. _examples:\n\nExamples and demos\n==================\n\nVarious examples are provided for fast library evaluation on embed"
},
{
"path": "docs/examples_src/command_blocking.c",
"chars": 428,
"preview": "char hostname[20];\n\n/* Somewhere in thread function */\n\n/* Get device hostname in blocking mode */\n/* Function returns a"
},
{
"path": "docs/examples_src/command_nonblocking.c",
"chars": 963,
"preview": "char hostname[20];\n\n/* Hostname event function, called when lwesp_hostname_get() function finishes */\nvoid\nhostname_fn(l"
},
{
"path": "docs/examples_src/command_nonblocking_bad.c",
"chars": 1171,
"preview": "char hostname[20];\n\n/* Hostname event function, called when lwesp_hostname_get() function finishes */\nvoid\nhostname_fn(l"
},
{
"path": "docs/examples_src/config.h",
"chars": 241,
"preview": "#ifndef LWESP_HDR_OPTS_H\n#define LWESP_HDR_OPTS_H\n\n/* Rename this file to \"lwesp_opts.h\" for your application */\n\n/* Inc"
},
{
"path": "docs/examples_src/conn_write.c",
"chars": 803,
"preview": "size_t rem_len;\nlwesp_conn_p conn;\nlwespr_t res;\n\n/* ... other tasks to make sure connection is established */\n\n/* We ar"
},
{
"path": "docs/examples_src/debug.c",
"chars": 369,
"preview": "#include \"lwesp/lwesp_debug.h\"\n\n/*\n * Print debug message to the screen\n * Trace message will be printed as it is enable"
},
{
"path": "docs/examples_src/debug_opts.h",
"chars": 418,
"preview": "/* Modifications of lwesp_opts.h file for configuration */\n\n/* Enable global debug */\n#define LWESP_CFG_DBG "
},
{
"path": "docs/examples_src/evt.c",
"chars": 524,
"preview": "/*\n * \\brief User defined callback function for ESP events\n * \\param[in] evt: Callback event data\n */\nlw"
},
{
"path": "docs/examples_src/mem.c",
"chars": 867,
"preview": "/*\n * This part should be done in ll initialization function only once on startup\n * Check LWESP_LL part of library for "
},
{
"path": "docs/examples_src/pbuf_cat.c",
"chars": 541,
"preview": "lwesp_pbuf_p a, b;\n\n/* Create 2 pbufs of different sizes */\na = lwesp_pbuf_new(10);\nb = lwesp_pbuf_new(20);\n\n/* Link the"
},
{
"path": "docs/examples_src/pbuf_chain.c",
"chars": 805,
"preview": "lwesp_pbuf_p a, b;\n\n/* Create 2 pbufs of different sizes */\na = lwesp_pbuf_new(10);\nb = lwesp_pbuf_new(20);\n\n/* Chain bo"
},
{
"path": "docs/examples_src/pbuf_extract.c",
"chars": 1348,
"preview": "const void* data;\nsize_t pos, len;\nlwesp_pbuf_p a, b, c;\n\nconst char str_a[] = \"This is one long\";\nconst char str_a[] = "
},
{
"path": "docs/examples_src/sntp_custom_server.c",
"chars": 184,
"preview": "/* Set custom NTP servers. You may apply up to 3 servers, all are optional */\nlwesp_sntp_set_config(1, 1, \"server1.myntp"
},
{
"path": "docs/examples_src/sta.c",
"chars": 265,
"preview": "size_t i, apf;\nlwesp_ap_t aps[100];\n\n/* Search for access points around ESP station */\nif (lwesp_sta_list_ap(NULL, aps, "
},
{
"path": "docs/firmware-update/index.rst",
"chars": 312,
"preview": ".. _firmware_update:\n\nUpdate ESP AT firmware\n======================\n\nLwESP is developed to match latest releases of offi"
},
{
"path": "docs/get-started/index.rst",
"chars": 5525,
"preview": ".. _getting_started:\n\nGetting started\n===============\n\nGetting started may be the most challenging part of every new lib"
},
{
"path": "docs/index.rst",
"chars": 3523,
"preview": "LwESP |version| documentation\n=============================\n\nWelcome to the documentation for version |version|.\n\nLwESP "
},
{
"path": "docs/make.bat",
"chars": 760,
"preview": "@ECHO OFF\n\npushd %~dp0\n\nREM Command file for Sphinx documentation\n\nif \"%SPHINXBUILD%\" == \"\" (\n\tset SPHINXBUILD=sphinx-bu"
},
{
"path": "docs/requirements.txt",
"chars": 166,
"preview": "sphinx>=3.5.1\nbreathe>=4.9.1\nurllib3==1.26.18\ndocutils==0.16\ncolorama\nsphinx_rtd_theme>=1.0.0\nsphinx-tabs\nsphinxcontrib-"
},
{
"path": "docs/static/css/common.css",
"chars": 1380,
"preview": "/* Center aligned text */\n.center {\n text-align: center;\n}\n\n/* Paragraph with main links on index page */\n.index-links "
},
{
"path": "docs/static/css/custom.css",
"chars": 0,
"preview": ""
},
{
"path": "docs/static/dark-light/common-dark-light.css",
"chars": 3095,
"preview": "/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * yo"
},
{
"path": "docs/static/dark-light/dark-mode-toggle.mjs",
"chars": 14092,
"preview": "/**\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not us"
},
{
"path": "docs/static/dark-light/dark.css",
"chars": 935,
"preview": "/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * yo"
},
{
"path": "docs/static/dark-light/light.css",
"chars": 839,
"preview": "/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * yo"
},
{
"path": "docs/static/images/example_app_arch.xml",
"chars": 1480,
"preview": "<mxfile modified=\"2019-09-06T14:37:05.458Z\" host=\"www.draw.io\" agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb"
},
{
"path": "docs/static/images/logo.drawio",
"chars": 767,
"preview": "<mxfile host=\"Electron\" modified=\"2020-12-05T00:14:13.494Z\" agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit"
},
{
"path": "docs/static/images/memory_manager_structure.xml",
"chars": 2147,
"preview": "<mxfile modified=\"2019-03-17T14:15:07.593Z\" host=\"www.draw.io\" agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb"
},
{
"path": "docs/static/images/memory_manager_structure_freeing.xml",
"chars": 2127,
"preview": "<mxfile modified=\"2019-03-17T14:15:32.143Z\" host=\"www.draw.io\" agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb"
},
{
"path": "docs/static/images/netconn_client.xml",
"chars": 1907,
"preview": "<mxfile modified=\"2019-12-22T21:08:42.619Z\" host=\"Electron\" agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit"
},
{
"path": "docs/static/images/netconn_server_1thread.xml",
"chars": 2231,
"preview": "<mxfile modified=\"2019-12-22T20:51:46.256Z\" host=\"Electron\" agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit"
},
{
"path": "docs/static/images/netconn_server_concurrency.xml",
"chars": 2431,
"preview": "<mxfile modified=\"2019-12-22T20:56:48.695Z\" host=\"Electron\" agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit"
},
{
"path": "docs/static/images/pbuf_block_diagram.xml",
"chars": 1555,
"preview": "<mxfile modified=\"2019-03-17T14:22:14.473Z\" host=\"www.draw.io\" agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb"
},
{
"path": "docs/static/images/pbuf_block_diagram_after_free.xml",
"chars": 1347,
"preview": "<mxfile modified=\"2019-03-17T14:20:43.366Z\" host=\"www.draw.io\" agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb"
},
{
"path": "docs/static/images/pbuf_cat_vs_chain_1.xml",
"chars": 1255,
"preview": "<mxfile modified=\"2019-03-17T14:23:41.745Z\" host=\"www.draw.io\" agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb"
},
{
"path": "docs/static/images/pbuf_cat_vs_chain_2.xml",
"chars": 1323,
"preview": "<mxfile modified=\"2019-03-17T14:25:03.824Z\" host=\"www.draw.io\" agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb"
},
{
"path": "docs/static/images/pbuf_cat_vs_chain_3.xml",
"chars": 1323,
"preview": "<mxfile modified=\"2019-03-17T14:26:00.479Z\" host=\"www.draw.io\" agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb"
},
{
"path": "docs/static/images/system_structure.xml",
"chars": 1031,
"preview": "<mxfile host=\"Electron\" modified=\"2019-12-09T20:45:43.579Z\" agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit"
},
{
"path": "docs/static/images/thread_communication.xml",
"chars": 3647,
"preview": "<mxfile modified=\"2019-12-14T11:20:01.702Z\" host=\"Electron\" agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit"
},
{
"path": "docs/user-manual/architecture.rst",
"chars": 2295,
"preview": ".. _um_arch:\n\nArchitecture\n============\n\nArchitecture of the library consists of ``4`` layers.\n\n.. figure:: ../static/im"
},
{
"path": "docs/user-manual/blocking-nonblocking.rst",
"chars": 2132,
"preview": ".. _um_blocking_nonblocking:\n\nBlocking or non-blocking API calls\n==================================\n\nAPI functions often"
},
{
"path": "docs/user-manual/events-cb-fn.rst",
"chars": 3985,
"preview": ".. _um_events_cb_fn:\n\nEvents and callback functions\n=============================\n\nLibrary uses events to notify applica"
},
{
"path": "docs/user-manual/index.rst",
"chars": 192,
"preview": ".. _um:\n\nUser manual\n===========\n\n.. toctree::\n :maxdepth: 2\n\n overview\n architecture\n inter-thread-comm\n "
},
{
"path": "docs/user-manual/inter-thread-comm.rst",
"chars": 3899,
"preview": ".. _um_inter_thread_comm:\n\nInter thread communication\n==========================\n\nESP-AT middleware is only available wi"
},
{
"path": "docs/user-manual/overview.rst",
"chars": 2404,
"preview": ".. _um_overview:\n\nOverview\n========\n\nWiFi devices (focus on *ESP8266* and *ESP32*) from *Espressif Systems* are low-cost"
},
{
"path": "docs/user-manual/porting-guide.rst",
"chars": 6002,
"preview": ".. _um_porting_guide:\n\nPorting guide\n=============\n\nHigh level of *ESP-AT* library is platform independent, written in C"
},
{
"path": "docs/user-manual/ssl-support.rst",
"chars": 3071,
"preview": ".. _um_ssl_support:\n\nTCP connection SSL support\n==========================\n\n.. warning:: \n SSL support is currently i"
},
{
"path": "examples/README.md",
"chars": 6526,
"preview": "# ESP examples\n\nExamples are split into different CPU architectures. Currently you can find examples for:\n\n- `Visual Stu"
},
{
"path": "examples/lib/FreeRTOS/CMSIS_RTOS/cmsis_os.c",
"chars": 51659,
"preview": "/* ----------------------------------------------------------------------\n * $Date: 5. February 2013\n * $Revision"
},
{
"path": "examples/lib/FreeRTOS/CMSIS_RTOS/cmsis_os.h",
"chars": 51993,
"preview": "/* ----------------------------------------------------------------------\n * $Date: 5. February 2013\n * $Revision"
},
{
"path": "examples/lib/FreeRTOS/CMSIS_RTOS/cpu_utils.c",
"chars": 4975,
"preview": "/**\n ******************************************************************************\n * @file cpu_utils.c\n * @autho"
},
{
"path": "examples/lib/FreeRTOS/CMSIS_RTOS/cpu_utils.h",
"chars": 2927,
"preview": "/**\n ******************************************************************************\n * @file cpu_utils.h\n * @autho"
},
{
"path": "examples/lib/FreeRTOS/CMSIS_RTOS_V2/cmsis_os.h",
"chars": 35728,
"preview": "/* --------------------------------------------------------------------------\n * Portions Copyright 2017 STMicroelectro"
},
{
"path": "examples/lib/FreeRTOS/CMSIS_RTOS_V2/cmsis_os2.c",
"chars": 42545,
"preview": "/* --------------------------------------------------------------------------\n * Portions Copyright © 2017 STMicroelectr"
},
{
"path": "examples/lib/FreeRTOS/CMSIS_RTOS_V2/cmsis_os2.h",
"chars": 35133,
"preview": "/* --------------------------------------------------------------------------\n * Portions Copyright © 2017 STMicroelectr"
},
{
"path": "examples/lib/FreeRTOS/croutine.c",
"chars": 12824,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/event_groups.c",
"chars": 26038,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/FreeRTOS.h",
"chars": 42138,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/FreeRTOSConfig_template.h",
"chars": 6961,
"preview": "/*\n * FreeRTOS Kernel V10.0.1\n * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/StackMacros.h",
"chars": 6083,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/croutine.h",
"chars": 25819,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/deprecated_definitions.h",
"chars": 7295,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/event_groups.h",
"chars": 29678,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/list.h",
"chars": 18178,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/message_buffer.h",
"chars": 37281,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/mpu_prototypes.h",
"chars": 13603,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/mpu_wrappers.h",
"chars": 9035,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/portable.h",
"chars": 6537,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/projdefs.h",
"chars": 5627,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/queue.h",
"chars": 60113,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/semphr.h",
"chars": 47151,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/stack_macros.h",
"chars": 5836,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/stdint.readme",
"chars": 823,
"preview": "\n#ifndef FREERTOS_STDINT\n#define FREERTOS_STDINT\n\n/*********************************************************************"
},
{
"path": "examples/lib/FreeRTOS/include/stream_buffer.h",
"chars": 37517,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/task.h",
"chars": 99800,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/include/timers.h",
"chars": 59578,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/list.c",
"chars": 8277,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/portable/Common/mpu_wrappers.c",
"chars": 45579,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/portable/GCC/ARM_CM4F/port.c",
"chars": 29441,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/portable/GCC/ARM_CM4F/portmacro.h",
"chars": 8263,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/portable/MemMang/ReadMe.url",
"chars": 119,
"preview": "[{000214A0-0000-0000-C000-000000000046}]\nProp3=19,2\n[InternetShortcut]\nURL=http://www.freertos.org/a00111.html\nIDList=\n"
},
{
"path": "examples/lib/FreeRTOS/portable/MemMang/heap_1.c",
"chars": 4859,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/portable/MemMang/heap_2.c",
"chars": 9778,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/portable/MemMang/heap_3.c",
"chars": 2819,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/portable/MemMang/heap_4.c",
"chars": 13927,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/portable/MemMang/heap_5.c",
"chars": 15722,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/queue.c",
"chars": 93378,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/stream_buffer.c",
"chars": 42465,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/tasks.c",
"chars": 169613,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/FreeRTOS/timers.c",
"chars": 39583,
"preview": "/*\n * FreeRTOS Kernel V10.2.1\n * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Perm"
},
{
"path": "examples/lib/st/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h",
"chars": 1458036,
"preview": "/**\n ******************************************************************************\n * @file stm32f429xx.h\n * @aut"
},
{
"path": "examples/lib/st/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h",
"chars": 10473,
"preview": "/**\n ******************************************************************************\n * @file stm32f4xx.h\n * @autho"
},
{
"path": "examples/lib/st/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h",
"chars": 3674,
"preview": "/**\n ******************************************************************************\n * @file system_stm32f4xx.h\n *"
},
{
"path": "examples/lib/st/CMSIS/Device/ST/STM32L4xx/Include/stm32l496xx.h",
"chars": 1515601,
"preview": "/**\n ******************************************************************************\n * @file stm32l496xx.h\n * @aut"
},
{
"path": "examples/lib/st/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h",
"chars": 8724,
"preview": "/**\n ******************************************************************************\n * @file stm32l4xx.h\n * @autho"
},
{
"path": "examples/lib/st/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h",
"chars": 3751,
"preview": "/**\n ******************************************************************************\n * @file system_stm32l4xx.h\n *"
},
{
"path": "examples/lib/st/CMSIS/Include/arm_common_tables.h",
"chars": 7129,
"preview": "/* ----------------------------------------------------------------------\n* Copyright (C) 2010-2014 ARM Limited. All rig"
},
{
"path": "examples/lib/st/CMSIS/Include/arm_const_structs.h",
"chars": 3863,
"preview": "/* ----------------------------------------------------------------------\n* Copyright (C) 2010-2014 ARM Limited. All rig"
},
{
"path": "examples/lib/st/CMSIS/Include/arm_math.h",
"chars": 245185,
"preview": "/* ----------------------------------------------------------------------\n* Copyright (C) 2010-2015 ARM Limited. All rig"
},
{
"path": "examples/lib/st/CMSIS/Include/cmsis_armcc.h",
"chars": 27343,
"preview": "/**************************************************************************//**\n * @file cmsis_armcc.h\n * @brief "
},
{
"path": "examples/lib/st/CMSIS/Include/cmsis_armcc_V6.h",
"chars": 53283,
"preview": "/**************************************************************************//**\n * @file cmsis_armcc_V6.h\n * @brief "
},
{
"path": "examples/lib/st/CMSIS/Include/cmsis_armclang.h",
"chars": 54628,
"preview": "/**************************************************************************//**\n * @file cmsis_armclang.h\n * @brief "
},
{
"path": "examples/lib/st/CMSIS/Include/cmsis_compiler.h",
"chars": 8748,
"preview": "/**************************************************************************//**\n * @file cmsis_compiler.h\n * @brief "
},
{
"path": "examples/lib/st/CMSIS/Include/cmsis_gcc.h",
"chars": 60259,
"preview": "/**************************************************************************//**\n * @file cmsis_gcc.h\n * @brief CM"
},
{
"path": "examples/lib/st/CMSIS/Include/cmsis_iccarm.h",
"chars": 27479,
"preview": "/**************************************************************************//**\n * @file cmsis_iccarm.h\n * @brief "
},
{
"path": "examples/lib/st/CMSIS/Include/cmsis_version.h",
"chars": 1677,
"preview": "/**************************************************************************//**\n * @file cmsis_version.h\n * @brief "
},
{
"path": "examples/lib/st/CMSIS/Include/core_armv8mbl.h",
"chars": 96077,
"preview": "/**************************************************************************//**\n * @file core_armv8mbl.h\n * @brief "
},
{
"path": "examples/lib/st/CMSIS/Include/core_armv8mml.h",
"chars": 165987,
"preview": "/**************************************************************************//**\n * @file core_armv8mml.h\n * @brief "
},
{
"path": "examples/lib/st/CMSIS/Include/core_cm0.h",
"chars": 41259,
"preview": "/**************************************************************************//**\n * @file core_cm0.h\n * @brief CMS"
},
{
"path": "examples/lib/st/CMSIS/Include/core_cm0plus.h",
"chars": 49381,
"preview": "/**************************************************************************//**\n * @file core_cm0plus.h\n * @brief "
},
{
"path": "examples/lib/st/CMSIS/Include/core_cm1.h",
"chars": 42480,
"preview": "/**************************************************************************//**\n * @file core_cm1.h\n * @brief CMS"
},
{
"path": "examples/lib/st/CMSIS/Include/core_cm23.h",
"chars": 102635,
"preview": "/**************************************************************************//**\n * @file core_cm23.h\n * @brief CM"
},
{
"path": "examples/lib/st/CMSIS/Include/core_cm3.h",
"chars": 109913,
"preview": "/**************************************************************************//**\n * @file core_cm3.h\n * @brief CMS"
},
{
"path": "examples/lib/st/CMSIS/Include/core_cm33.h",
"chars": 172598,
"preview": "/**************************************************************************//**\n * @file core_cm33.h\n * @brief CM"
},
{
"path": "examples/lib/st/CMSIS/Include/core_cm4.h",
"chars": 121478,
"preview": "/**************************************************************************//**\n * @file core_cm4.h\n * @brief CMS"
},
{
"path": "examples/lib/st/CMSIS/Include/core_cm7.h",
"chars": 145917,
"preview": "/**************************************************************************//**\n * @file core_cm7.h\n * @brief CMS"
},
{
"path": "examples/lib/st/CMSIS/Include/core_cmFunc.h",
"chars": 3533,
"preview": "/**************************************************************************//**\n * @file core_cmFunc.h\n * @brief "
},
{
"path": "examples/lib/st/CMSIS/Include/core_cmInstr.h",
"chars": 3549,
"preview": "/**************************************************************************//**\n * @file core_cmInstr.h\n * @brief "
},
{
"path": "examples/lib/st/CMSIS/Include/core_cmSimd.h",
"chars": 3566,
"preview": "/**************************************************************************//**\n * @file core_cmSimd.h\n * @brief "
},
{
"path": "examples/lib/st/CMSIS/Include/core_sc000.h",
"chars": 46227,
"preview": "/**************************************************************************//**\n * @file core_sc000.h\n * @brief C"
}
]
// ... and 263 more files (download for full content)
About this extraction
This page contains the full source code of the MaJerle/lwesp GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 463 files (10.1 MB), approximately 2.7M tokens, and a symbol index with 4704 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.